@inkline/inkline
Version:
Inkline is the Vue.js UI/UX Library built for creating your next design system
26 lines (22 loc) • 636 B
text/typescript
import { defineComponent } from 'vue';
import { memoize, markSearchString, MarkSearchStringPart } from '@inkline/inkline/helpers';
const memoizedMarkSearchString: typeof markSearchString = memoize(markSearchString) as any;
const componentName = 'IMark';
export default defineComponent({
name: componentName,
props: {
text: {
type: String,
default: ''
},
query: {
type: String,
default: ''
}
},
computed: {
parts (): MarkSearchStringPart[] {
return memoizedMarkSearchString(this.text, this.query);
}
}
});