
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
vue-highlightable-input
Advanced tools
Highlight and style specific words as you're typing.
npm install vue-highlightable-input --save
<highlightable-input
highlight-style="background-color:yellow"
:highlight-enabled="highlightEnabled"
:highlight="highlight"
v-model="msg"
/>
import HighlightableInput from "vue-highlightable-input"
export default {
name: 'HelloWorld',
components : {
HighlightableInput
},
data() {
return {
msg: '',
highlight: [
{text:'chicken', style:"background-color:#f37373"},
{text:'noodle', style:"background-color:#fca88f"},
{text:'soup', style:"background-color:#bbe4cb"},
{text:'so', style:"background-color:#fff05e"},
"whatever",
{start: 2, end: 5, style:"background-color:#f330ff"}
],
highlightEnabled: true
}
},
}
Name | Required | Type | Default | Description | Reactive |
---|---|---|---|---|---|
highlight | Yes | String or Array | null | The string or list of words to highlight. This can be a single string value, a RegExp or you can do an array of strings or RegExp or array of Highlight Objects or array of Range Objects. | Yes |
highlightEnabled | No | Boolean | true | If true, will highlight the text | Yes |
highlightStyle | No | String or Object | background-color:yellow | If no style is provided for text, this will act as the global styling for the highlight. Can also be a dictionary instead of string. | Yes |
highlightDelay | No | Number | 500 | Determines how long in milliseconds to wait before processing the highlights. Setting this to a low value is fine for small text but setting it higher may improve performance significantly for larger text | Yes |
caseSensitive | No | Boolean | false | If true, will treat highlight strings with case sensitivity. Can be overrided per highlight object. | Yes |
value | No | String | null | Raw text value. | Yes |
fireOn | No | String | keydown | The dom event on which the highlight event should be fired. This can be any event that the div content editable can handle. | No (only because the listener is being added in mounted) |
fireOnEnabled | No | Boolean | true | If true, will process the highlights on the specified (or default) event. | No (only because the value is used in the mounted function) |
{
text:'chicken', // Required
style:"background-color:#f37373" // Optional
caseSensitive: true // Optional defaults to False
}
{
start:1, // Required
end: 9, // Required
style:"background-color:#f37373" // Optional
}
End must be greater than start. The range end is exlusive in other words ==> [start, end)
Name | Description |
---|---|
@input | Just like a regular input html element you can use this to react to input events |
Note, that you can also use v-model
For the cool highlighter pen icon: Icons made by Freepik from Flaticon is licensed by Creative Commons BY 3.0
MIT
FAQs
A Vue.js component that highlights text as you type
We found that vue-highlightable-input demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.