Unlocking the Power of Vue: A Customizable Component for Highlighting Input Content Using Regex Patterns

vue input highlighter banner

Vue Input Highlighter

Component that allows content highlighting within an input field based on specified regular expressions (regexes).

It enhances user experience by providing visual feedback about specified patterns recognized and improves the interaction the user have with the input.

vue input highlighter banner

Installation

Using npm :

$ npm i vue-input-highlighter

Using yarn :

$ yarn add vue-input-highlighter

Imports

Register the component globally :

inside main.(js/ts)

import InputHighlighter from 'vue-input-highlighter';
import 'vue-input-highlighter/style.css';

const app = createApp(App)

app.component("InputHighlighter", InputHighlighter);

app.mount('#app')

Import within the scope of a component

Script Setup

<script setup>

    import InputHighlighter from 'vue-input-highlighter';
    import 'vue-input-highlighter/style.css';

    import { ref } from 'vue';

    const inputValue = ref('');

</script>

<template>

    <input-highlighter
        v-model="inputValue"
    />

</template>

Option Api

<script>
    import InputHighlighter from 'vue-input-highlighter';
    import 'vue-input-highlighter/style.css';

    export default {
        data() {
            return {
                inputValue: ''
        },
        components: {
            InputHighlighter
        }
    }
</script>

<template>

    <input-highlighter
        v-model="inputValue"
    />

</template>

Usage example

Please refer to the following link content as usage example : codesandbox

vue input highlighter banner

How it works

The component is based on a ‘content editable’ div that replicates the behavior of an input tag.

As the user inputs content, the component evaluates the div’s text and analyzes it using regular expressions (regex).


Any fragment that matches the regex is encapsulated within an HTML tag, with the default being <strong> (or as specified) for which the relevant styles are then applied.

Use Cases

Use cases example :

  • Highlight search operators (example : and, or, not, “) inside a search bar
  • Highlight id like entries (ex: company number, salesforce id, random code)
  • Highlight business specific keyword
  • Protocols : http/https
  • Language syntax : select, from, where
  • Auth methods : Basic, Bearer

Props

List of component props :

PropsDescriptionmodelValueallow v-model behavior for the componentrulesarray of rules as composed object defined in more details in the next tableplaceholderstring value displayed when input is empty as a placeholder for explanation

List of component “rules” props sub-elements :

Sub-elementDescriptionregexpattern to be matchedstylestring value to be mapped inside the style attribute of the matched element tagclassstring value to be mapped inside the class attribute of the matched element tagtagtag used when wrapping the matched element

Events

List of component custom events

EventsDescriptionhighlightfires whenever one or multiple highlights are matched. return list of newly matched text.highlightsfires at each input. return list of all matched text by the input.

Contribution

Every improvement of the package is welcome, just fork the project make the necessary changes and create a pull request.

If you want to contact me (@GAliNor) here is a link to my linkedin profile

Acknowledgments

Many thanks to :

for the reviews and advice

GitHub

View Github

Related Posts

Recent Posts

ഇടുക്കിയിലെ മലയോര മേഖലകളിൽ രാത്രിയാത്ര നിരോധിച്ചു. രാത്രി ഏഴു മുതൽ രാവിലെ ആറു വരെയാണ് നിരോധനം

ഏന്തയാർ ഈസ്റ്റിൽ പ്രളയത്തിൽ തകർന്ന പാലത്തിന് പകരം പുതിയ പാലം നിർമ്മിക്കുവാൻ താത്ക്കാലിക പാലം പൊളിച്ച് നീക്കി

Explore the Investment Opportunities: A Comprehensive Guide to Different Types of Mutual Funds

Title: Understanding Mutual Funds: A Beginner's Guide to Investing

തീവ്രമഴ മുന്നറിയിപ്പിന്റെ പശ്ചാതലത്തിൽ സംസ്ഥാനം ജാഗ്രതയിൽ

250,000 അപേക്ഷകൾ വർദ്ധിച്ചതിനാൽ ട്രാൻസ്‌പോർട്ട് കമ്മീഷണർ പരിശോധന പുനരാരംഭിക്കും

ഏലക്കയിൽ കീടനാശിനി സാന്നിധ്യം; ആറര ലക്ഷത്തിലധികം ടിൻ അരവണ നശിപ്പിക്കാൻ ടെൻഡർ ക്ഷണിച്ച് ദേവസ്വം ബോർഡ്‌

ഭീമൻ പാറക്കഷണങ്ങൾ അടർന്ന് ദേശീയ പാതയിലേക്ക് വീഴുന്നത് പതിവാകുന്നു. കുട്ടിക്കാനത്തിനും മുണ്ടക്കയത്തിനുമിടയിൽ നിലനിൽക്കുന്നത് വൻ അപകട ഭീഷണി

ചക്രവാതച്ചുഴി:അതിശക്തമായ മഴ വരുന്നു

പ്ലസ് വൺ പ്രവേശനം. അക്ഷയയിൽ തിക്കി തിരക്കേണ്ട, നെറ്റിവിറ്റി/ജാതി തെളിയിക്കാൻ പത്താംതരം സർട്ടിഫിക്കറ്റ് മതി