@moxb/react-html
Advanced tools
Comparing version 0.3.78 to 0.3.79
import * as React from 'react'; | ||
import type { NormalizerOptions } from '@moxb/moxb'; | ||
export interface HighlightOptions { | ||
/** | ||
* Options for identifying the matches | ||
*/ | ||
findOptions?: NormalizerOptions; | ||
/** | ||
* Which class to use for highlighting? | ||
@@ -5,0 +10,0 @@ * |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.highlightSearchResult = void 0; | ||
var moxb_1 = require("@moxb/moxb"); | ||
var util_1 = require("../util"); | ||
/** | ||
* Identify pattern matches within a corpus | ||
*/ | ||
var findMatch = function (inValue, search) { | ||
var matchStart; | ||
var value = (inValue || '').toLowerCase(); | ||
var matches = search | ||
.filter(function (s) { return !!s && s.toLowerCase; }) | ||
.map(function (s) { | ||
matchStart = value.indexOf(s.toLowerCase()); | ||
return matchStart !== -1 | ||
? { | ||
searchText: s, | ||
startPos: matchStart, | ||
} | ||
: undefined; | ||
}) | ||
.filter(function (m) { return !!m; }) | ||
.map(function (m) { return m; }); // This last line is only here to make TS happy | ||
return matches[0]; | ||
}; | ||
/** | ||
* Highlight search results within a string using HTML spans | ||
*/ | ||
var highlightSearchResult = function (value, searchText, options) { | ||
var match = findMatch(value, [searchText]); | ||
var match = (0, moxb_1.findTextMatch)(value, [searchText]); | ||
var className = options.className, style = options.style; | ||
@@ -35,3 +15,3 @@ var begin = className ? "<span class=\"".concat(className, "\" >") : "<span style=\"".concat((0, util_1.styleToString)(style), "\">"); | ||
if (match) { | ||
return value.replace(RegExp(match.searchText, 'i'), function (text) { return "".concat(begin).concat(text).concat(end); }); | ||
return "".concat(value.substring(0, match.startPos)).concat(begin).concat(value.substring(match.startPos, match.startPos + match.searchText.length)).concat(end).concat(value.substring(match.startPos + match.searchText.length)); | ||
} | ||
@@ -43,2 +23,2 @@ else { | ||
exports.highlightSearchResult = highlightSearchResult; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGlnaGxpZ2h0ZXIvaGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsZ0NBQXdDO0FBMEJ4Qzs7R0FFRztBQUNILElBQU0sU0FBUyxHQUFHLFVBQUMsT0FBa0MsRUFBRSxNQUE4QjtJQUNqRixJQUFJLFVBQWtCLENBQUM7SUFDdkIsSUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUMsSUFBTSxPQUFPLEdBQWdCLE1BQU07U0FDOUIsTUFBTSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFwQixDQUFvQixDQUFDO1NBQ25DLEdBQUcsQ0FBQyxVQUFDLENBQUM7UUFDSCxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3QyxPQUFPLFVBQVUsS0FBSyxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDO2dCQUNJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLFFBQVEsRUFBRSxVQUFVO2FBQ3ZCO1lBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNwQixDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFILENBQUcsQ0FBQztTQUNsQixHQUFHLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFjLEVBQWQsQ0FBYyxDQUFDLENBQUMsQ0FBQywrQ0FBK0M7SUFDaEYsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxJQUFNLHFCQUFxQixHQUFHLFVBQ2pDLEtBQWEsRUFDYixVQUE4QixFQUM5QixPQUF5QjtJQUV6QixJQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyQyxJQUFBLFNBQVMsR0FBWSxPQUFPLFVBQW5CLEVBQUUsS0FBSyxHQUFLLE9BQU8sTUFBWixDQUFhO0lBQ3JDLElBQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsd0JBQWdCLFNBQVMsU0FBSyxDQUFDLENBQUMsQ0FBQyx3QkFBZ0IsSUFBQSxvQkFBYSxFQUFDLEtBQU0sQ0FBQyxRQUFJLENBQUM7SUFDckcsSUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDO0lBQ3RCLElBQUksS0FBSyxFQUFFO1FBQ1AsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUFFLFVBQUMsSUFBSSxJQUFLLE9BQUEsVUFBRyxLQUFLLFNBQUcsSUFBSSxTQUFHLEdBQUcsQ0FBRSxFQUF2QixDQUF1QixDQUFDLENBQUM7S0FDMUY7U0FBTTtRQUNILE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0wsQ0FBQyxDQUFDO0FBZFcsUUFBQSxxQkFBcUIseUJBY2hDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGlnaGxpZ2h0ZXIvaGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbUNBQTJDO0FBRzNDLGdDQUF3QztBQXVCeEM7O0dBRUc7QUFDSSxJQUFNLHFCQUFxQixHQUFHLFVBQ2pDLEtBQWEsRUFDYixVQUE4QixFQUM5QixPQUF5QjtJQUV6QixJQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFhLEVBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN6QyxJQUFBLFNBQVMsR0FBWSxPQUFPLFVBQW5CLEVBQUUsS0FBSyxHQUFLLE9BQU8sTUFBWixDQUFhO0lBQ3JDLElBQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsd0JBQWdCLFNBQVMsU0FBSyxDQUFDLENBQUMsQ0FBQyx3QkFBZ0IsSUFBQSxvQkFBYSxFQUFDLEtBQU0sQ0FBQyxRQUFJLENBQUM7SUFDckcsSUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDO0lBQ3RCLElBQUksS0FBSyxFQUFFO1FBQ1AsT0FBTyxVQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBRyxLQUFLLFNBQUcsS0FBSyxDQUFDLFNBQVMsQ0FDbEUsS0FBSyxDQUFDLFFBQVEsRUFDZCxLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUMzQyxTQUFHLEdBQUcsU0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFDO0tBQ3pFO1NBQU07UUFDSCxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNMLENBQUMsQ0FBQztBQWpCVyxRQUFBLHFCQUFxQix5QkFpQmhDIn0= |
{ | ||
"name": "@moxb/react-html", | ||
"version": "0.3.78", | ||
"version": "0.3.79", | ||
"description": "moxb React bindings", | ||
@@ -55,3 +55,3 @@ "scripts": { | ||
"dependencies": { | ||
"@moxb/moxb": "^0.3.78" | ||
"@moxb/moxb": "^0.3.79" | ||
}, | ||
@@ -75,3 +75,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "059217377e9325262b5f4e6bcfd6de4ce4fc6dac" | ||
"gitHead": "10beacc33689e81e1286632aad4041b95be1ba73" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
62689
945
Updated@moxb/moxb@^0.3.79