@wirekyt/dom 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/anatomy-DMuSMbOP.d.cts +18 -0
- package/dist/anatomy-DMuSMbOP.d.ts +18 -0
- package/dist/anatomy.cjs +3 -0
- package/dist/anatomy.d.cts +2 -0
- package/dist/anatomy.d.ts +2 -0
- package/dist/anatomy.js +2 -0
- package/dist/angle-3hqP0Mp5.cjs +13 -0
- package/dist/angle-oNt8uGHQ.js +8 -0
- package/dist/aria-hidden-CEXexb2I.js +127 -0
- package/dist/aria-hidden-Y7iJHPMr.cjs +132 -0
- package/dist/aria-hidden.cjs +3 -0
- package/dist/aria-hidden.d.cts +10 -0
- package/dist/aria-hidden.d.ts +10 -0
- package/dist/aria-hidden.js +2 -0
- package/dist/array-BGtygd0o.cjs +198 -0
- package/dist/array-C4KbHsha.js +73 -0
- package/dist/auto-resize-5F5iiKZb.cjs +106 -0
- package/dist/auto-resize-KkNfCcBt.js +95 -0
- package/dist/auto-resize.cjs +4 -0
- package/dist/auto-resize.d.cts +7 -0
- package/dist/auto-resize.d.ts +7 -0
- package/dist/auto-resize.js +2 -0
- package/dist/caret-CHqaP4XG.cjs +30 -0
- package/dist/caret-aiDJ6mAS.js +19 -0
- package/dist/closest-Clo6ODcK.js +117 -0
- package/dist/closest-IiRz1GIJ.cjs +176 -0
- package/dist/collection-CJU0oDtX.js +1295 -0
- package/dist/collection-CwzUJwBJ.cjs +1342 -0
- package/dist/collection.cjs +15 -0
- package/dist/collection.d.cts +34 -0
- package/dist/collection.d.ts +34 -0
- package/dist/collection.js +3 -0
- package/dist/color-CsugZjq6.d.cts +60 -0
- package/dist/color-CsugZjq6.d.ts +60 -0
- package/dist/color-utils-DzeOVYlL.cjs +662 -0
- package/dist/color-utils-lDDg9FEh.js +639 -0
- package/dist/color-utils.cjs +6 -0
- package/dist/color-utils.d.cts +18 -0
- package/dist/color-utils.d.ts +18 -0
- package/dist/color-utils.js +2 -0
- package/dist/computed-style-B1MKlCoo.js +9 -0
- package/dist/computed-style-DLArEFNw.cjs +14 -0
- package/dist/controller-B8E8ZJCI.cjs +133 -0
- package/dist/controller-Dv7lWHDr.js +92 -0
- package/dist/core-BF6G2RiC.d.cts +1 -0
- package/dist/core-BNMw-JId.cjs +372 -0
- package/dist/core-BdeZuSX6.d.ts +1 -0
- package/dist/core-CJ0MZr3D.js +289 -0
- package/dist/core.cjs +19 -0
- package/dist/core.d.cts +3 -0
- package/dist/core.d.ts +3 -0
- package/dist/core.js +3 -0
- package/dist/create-anatomy-B2q3wiaw.js +22 -0
- package/dist/create-anatomy-BwDn25ph.cjs +27 -0
- package/dist/create-props-CgtcN_Qu.js +4 -0
- package/dist/create-props-CjLx2oS8.cjs +9 -0
- package/dist/data-url-C-Uk31Q9.cjs +42 -0
- package/dist/data-url-DHUHj7UF.js +37 -0
- package/dist/data-url-Gx_SWG-k.d.cts +10 -0
- package/dist/data-url-Gx_SWG-k.d.ts +10 -0
- package/dist/date-utils-D-JJHedx.cjs +868 -0
- package/dist/date-utils-D5zXW-Cs.js +569 -0
- package/dist/date-utils.cjs +52 -0
- package/dist/date-utils.d.cts +7 -0
- package/dist/date-utils.d.ts +7 -0
- package/dist/date-utils.js +2 -0
- package/dist/dismissable-C0bixtzl.cjs +348 -0
- package/dist/dismissable-KM1jPtNQ.js +337 -0
- package/dist/dismissable-layer-BTX5EvXw.d.ts +40 -0
- package/dist/dismissable-layer-Ch5niVaq.d.cts +40 -0
- package/dist/dismissable.cjs +4 -0
- package/dist/dismissable.d.cts +3 -0
- package/dist/dismissable.d.ts +3 -0
- package/dist/dismissable.js +2 -0
- package/dist/dom-query-CQzY93XU.cjs +488 -0
- package/dist/dom-query-e7fh0TEH.js +243 -0
- package/dist/dom-query.cjs +180 -0
- package/dist/dom-query.d.cts +142 -0
- package/dist/dom-query.d.ts +142 -0
- package/dist/dom-query.js +43 -0
- package/dist/equal-C927y7MN.cjs +30 -0
- package/dist/equal-DtrP8DPh.js +25 -0
- package/dist/event-DDz-mMhM.cjs +242 -0
- package/dist/event-bTItRgiw.js +117 -0
- package/dist/file-utils-6EXCdfHx.js +116 -0
- package/dist/file-utils-B7OJigQq.cjs +151 -0
- package/dist/file-utils.cjs +92 -0
- package/dist/file-utils.d.cts +40 -0
- package/dist/file-utils.d.ts +40 -0
- package/dist/file-utils.js +82 -0
- package/dist/focus-trap-89E5I9nm.js +487 -0
- package/dist/focus-trap-D7jKsfHW.cjs +498 -0
- package/dist/focus-trap.cjs +4 -0
- package/dist/focus-trap.d.cts +89 -0
- package/dist/focus-trap.d.ts +89 -0
- package/dist/focus-trap.js +2 -0
- package/dist/focus-visible-DWdQf__4.js +176 -0
- package/dist/focus-visible-G4cmlWqq.cjs +217 -0
- package/dist/focus-visible.cjs +9 -0
- package/dist/focus-visible.d.cts +32 -0
- package/dist/focus-visible.d.ts +32 -0
- package/dist/focus-visible.js +2 -0
- package/dist/form-B1DW_w_3.js +89 -0
- package/dist/form-CoupKpuP.cjs +130 -0
- package/dist/from-window-5ZhzSURC.js +68 -0
- package/dist/from-window-B9DKtaoR.cjs +115 -0
- package/dist/functions-isw5Ovcx.d.cts +16 -0
- package/dist/functions-isw5Ovcx.d.ts +16 -0
- package/dist/highlight-word.cjs +95 -0
- package/dist/highlight-word.d.cts +24 -0
- package/dist/highlight-word.d.ts +24 -0
- package/dist/highlight-word.js +94 -0
- package/dist/hotkeys.cjs +1183 -0
- package/dist/hotkeys.d.cts +199 -0
- package/dist/hotkeys.d.ts +199 -0
- package/dist/hotkeys.js +1173 -0
- package/dist/i18n-utils-BD4VtonY.cjs +345 -0
- package/dist/i18n-utils-C4FQZ39m.js +280 -0
- package/dist/i18n-utils.cjs +216 -0
- package/dist/i18n-utils.d.cts +71 -0
- package/dist/i18n-utils.d.ts +71 -0
- package/dist/i18n-utils.js +204 -0
- package/dist/index-3tNJficI.d.cts +117 -0
- package/dist/index-3tNJficI.d.ts +117 -0
- package/dist/index-BEfvdGE2.d.cts +116 -0
- package/dist/index-BEfvdGE2.d.ts +116 -0
- package/dist/index-BF6G2RiC.d.cts +1 -0
- package/dist/index-BKgxIVbE.d.cts +285 -0
- package/dist/index-BMtpmaRD.d.cts +16 -0
- package/dist/index-BMtpmaRD.d.ts +16 -0
- package/dist/index-BWiYePx8.d.cts +216 -0
- package/dist/index-BXfunVyD.d.cts +1342 -0
- package/dist/index-BXfunVyD.d.ts +1342 -0
- package/dist/index-BdeZuSX6.d.ts +1 -0
- package/dist/index-C2865AJq.d.cts +25 -0
- package/dist/index-C2865AJq.d.ts +25 -0
- package/dist/index-CFoN0L3C.d.ts +285 -0
- package/dist/index-vPrqYDHu.d.ts +216 -0
- package/dist/index.cjs +19 -0
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/initial-focus-BQxRRFPa.cjs +37 -0
- package/dist/initial-focus-BrN5tT2X.js +26 -0
- package/dist/interact-outside-BjqIunFx.js +211 -0
- package/dist/interact-outside-Dphjr2Zh.cjs +216 -0
- package/dist/interact-outside.cjs +3 -0
- package/dist/interact-outside.d.cts +2 -0
- package/dist/interact-outside.d.ts +2 -0
- package/dist/interact-outside.js +2 -0
- package/dist/json-tree-utils.cjs +1518 -0
- package/dist/json-tree-utils.d.cts +117 -0
- package/dist/json-tree-utils.d.ts +117 -0
- package/dist/json-tree-utils.js +1469 -0
- package/dist/list-collection-D_eNKrot.d.cts +60 -0
- package/dist/list-collection-RqYEWHb4.d.ts +60 -0
- package/dist/live-region-BD0OgmrH.cjs +68 -0
- package/dist/live-region-F8YMmbrY.js +63 -0
- package/dist/live-region.cjs +3 -0
- package/dist/live-region.d.cts +2 -0
- package/dist/live-region.d.ts +2 -0
- package/dist/live-region.js +2 -0
- package/dist/machines/accordion/index.cjs +328 -0
- package/dist/machines/accordion/index.d.cts +83 -0
- package/dist/machines/accordion/index.d.ts +83 -0
- package/dist/machines/accordion/index.js +321 -0
- package/dist/machines/angle-slider/index.cjs +420 -0
- package/dist/machines/angle-slider/index.d.cts +84 -0
- package/dist/machines/angle-slider/index.d.ts +84 -0
- package/dist/machines/angle-slider/index.js +415 -0
- package/dist/machines/async-list/index.cjs +310 -0
- package/dist/machines/async-list/index.d.cts +90 -0
- package/dist/machines/async-list/index.d.ts +90 -0
- package/dist/machines/async-list/index.js +308 -0
- package/dist/machines/avatar/index.cjs +165 -0
- package/dist/machines/avatar/index.d.cts +63 -0
- package/dist/machines/avatar/index.d.ts +63 -0
- package/dist/machines/avatar/index.js +160 -0
- package/dist/machines/carousel/index.cjs +929 -0
- package/dist/machines/carousel/index.d.cts +146 -0
- package/dist/machines/carousel/index.d.ts +146 -0
- package/dist/machines/carousel/index.js +920 -0
- package/dist/machines/cascade-select/index.cjs +1426 -0
- package/dist/machines/cascade-select/index.d.cts +167 -0
- package/dist/machines/cascade-select/index.d.ts +167 -0
- package/dist/machines/cascade-select/index.js +1419 -0
- package/dist/machines/checkbox/index.cjs +316 -0
- package/dist/machines/checkbox/index.d.cts +81 -0
- package/dist/machines/checkbox/index.d.ts +81 -0
- package/dist/machines/checkbox/index.js +311 -0
- package/dist/machines/clipboard/index.cjs +228 -0
- package/dist/machines/clipboard/index.d.cts +72 -0
- package/dist/machines/clipboard/index.d.ts +72 -0
- package/dist/machines/clipboard/index.js +221 -0
- package/dist/machines/collapsible/index.cjs +363 -0
- package/dist/machines/collapsible/index.d.cts +82 -0
- package/dist/machines/collapsible/index.d.ts +82 -0
- package/dist/machines/collapsible/index.js +358 -0
- package/dist/machines/color-picker/index.cjs +1534 -0
- package/dist/machines/color-picker/index.d.cts +207 -0
- package/dist/machines/color-picker/index.d.ts +207 -0
- package/dist/machines/color-picker/index.js +1518 -0
- package/dist/machines/combobox/index.cjs +1554 -0
- package/dist/machines/combobox/index.d.cts +219 -0
- package/dist/machines/combobox/index.d.ts +219 -0
- package/dist/machines/combobox/index.js +1542 -0
- package/dist/machines/date-input/index.cjs +1974 -0
- package/dist/machines/date-input/index.d.cts +230 -0
- package/dist/machines/date-input/index.d.ts +230 -0
- package/dist/machines/date-input/index.js +1958 -0
- package/dist/machines/date-picker/index.cjs +2424 -0
- package/dist/machines/date-picker/index.d.cts +378 -0
- package/dist/machines/date-picker/index.d.ts +378 -0
- package/dist/machines/date-picker/index.js +2408 -0
- package/dist/machines/dialog/index.cjs +378 -0
- package/dist/machines/dialog/index.d.cts +94 -0
- package/dist/machines/dialog/index.d.ts +94 -0
- package/dist/machines/dialog/index.js +373 -0
- package/dist/machines/drawer/index.cjs +2066 -0
- package/dist/machines/drawer/index.d.cts +334 -0
- package/dist/machines/drawer/index.d.ts +334 -0
- package/dist/machines/drawer/index.js +2059 -0
- package/dist/machines/editable/index.cjs +550 -0
- package/dist/machines/editable/index.d.cts +114 -0
- package/dist/machines/editable/index.d.ts +114 -0
- package/dist/machines/editable/index.js +545 -0
- package/dist/machines/file-upload/index.cjs +648 -0
- package/dist/machines/file-upload/index.d.cts +150 -0
- package/dist/machines/file-upload/index.d.ts +150 -0
- package/dist/machines/file-upload/index.js +641 -0
- package/dist/machines/floating-panel/index.cjs +1020 -0
- package/dist/machines/floating-panel/index.d.cts +149 -0
- package/dist/machines/floating-panel/index.d.ts +149 -0
- package/dist/machines/floating-panel/index.js +1012 -0
- package/dist/machines/hover-card/index.cjs +441 -0
- package/dist/machines/hover-card/index.d.cts +82 -0
- package/dist/machines/hover-card/index.d.ts +82 -0
- package/dist/machines/hover-card/index.js +436 -0
- package/dist/machines/image-cropper/index.cjs +2082 -0
- package/dist/machines/image-cropper/index.d.cts +182 -0
- package/dist/machines/image-cropper/index.d.ts +182 -0
- package/dist/machines/image-cropper/index.js +2076 -0
- package/dist/machines/listbox/index.cjs +873 -0
- package/dist/machines/listbox/index.d.cts +175 -0
- package/dist/machines/listbox/index.d.ts +175 -0
- package/dist/machines/listbox/index.js +860 -0
- package/dist/machines/marquee/index.cjs +387 -0
- package/dist/machines/marquee/index.d.cts +102 -0
- package/dist/machines/marquee/index.d.ts +102 -0
- package/dist/machines/marquee/index.js +382 -0
- package/dist/machines/menu/index.cjs +1562 -0
- package/dist/machines/menu/index.d.cts +188 -0
- package/dist/machines/menu/index.d.ts +188 -0
- package/dist/machines/menu/index.js +1549 -0
- package/dist/machines/navigation-menu/index.cjs +860 -0
- package/dist/machines/navigation-menu/index.d.cts +131 -0
- package/dist/machines/navigation-menu/index.d.ts +131 -0
- package/dist/machines/navigation-menu/index.js +855 -0
- package/dist/machines/number-input/index.cjs +1014 -0
- package/dist/machines/number-input/index.d.cts +136 -0
- package/dist/machines/number-input/index.d.ts +136 -0
- package/dist/machines/number-input/index.js +1009 -0
- package/dist/machines/pagination/index.cjs +413 -0
- package/dist/machines/pagination/index.d.cts +139 -0
- package/dist/machines/pagination/index.d.ts +139 -0
- package/dist/machines/pagination/index.js +404 -0
- package/dist/machines/password-input/index.cjs +224 -0
- package/dist/machines/password-input/index.d.cts +71 -0
- package/dist/machines/password-input/index.d.ts +71 -0
- package/dist/machines/password-input/index.js +219 -0
- package/dist/machines/pin-input/index.cjs +595 -0
- package/dist/machines/pin-input/index.d.cts +107 -0
- package/dist/machines/pin-input/index.d.ts +107 -0
- package/dist/machines/pin-input/index.js +590 -0
- package/dist/machines/popover/index.cjs +516 -0
- package/dist/machines/popover/index.d.cts +107 -0
- package/dist/machines/popover/index.d.ts +107 -0
- package/dist/machines/popover/index.js +511 -0
- package/dist/machines/presence/index.cjs +193 -0
- package/dist/machines/presence/index.d.cts +44 -0
- package/dist/machines/presence/index.d.ts +44 -0
- package/dist/machines/presence/index.js +190 -0
- package/dist/machines/progress/index.cjs +282 -0
- package/dist/machines/progress/index.d.cts +96 -0
- package/dist/machines/progress/index.d.ts +96 -0
- package/dist/machines/progress/index.js +277 -0
- package/dist/machines/qr-code/index.cjs +167 -0
- package/dist/machines/qr-code/index.d.cts +71 -0
- package/dist/machines/qr-code/index.d.ts +71 -0
- package/dist/machines/qr-code/index.js +162 -0
- package/dist/machines/radio-group/index.cjs +465 -0
- package/dist/machines/radio-group/index.d.cts +218 -0
- package/dist/machines/radio-group/index.d.ts +218 -0
- package/dist/machines/radio-group/index.js +458 -0
- package/dist/machines/rating-group/index.cjs +405 -0
- package/dist/machines/rating-group/index.d.cts +101 -0
- package/dist/machines/rating-group/index.d.ts +101 -0
- package/dist/machines/rating-group/index.js +398 -0
- package/dist/machines/scroll-area/index.cjs +865 -0
- package/dist/machines/scroll-area/index.d.cts +126 -0
- package/dist/machines/scroll-area/index.d.ts +126 -0
- package/dist/machines/scroll-area/index.js +860 -0
- package/dist/machines/select/index.cjs +1226 -0
- package/dist/machines/select/index.d.cts +190 -0
- package/dist/machines/select/index.d.ts +190 -0
- package/dist/machines/select/index.js +1214 -0
- package/dist/machines/signature-pad/index.cjs +337 -0
- package/dist/machines/signature-pad/index.d.cts +108 -0
- package/dist/machines/signature-pad/index.d.ts +108 -0
- package/dist/machines/signature-pad/index.js +330 -0
- package/dist/machines/slider/index.cjs +1103 -0
- package/dist/machines/slider/index.d.cts +154 -0
- package/dist/machines/slider/index.d.ts +154 -0
- package/dist/machines/slider/index.js +1094 -0
- package/dist/machines/splitter/index.cjs +1686 -0
- package/dist/machines/splitter/index.d.cts +282 -0
- package/dist/machines/splitter/index.d.ts +282 -0
- package/dist/machines/splitter/index.js +1675 -0
- package/dist/machines/steps/index.cjs +330 -0
- package/dist/machines/steps/index.d.cts +109 -0
- package/dist/machines/steps/index.d.ts +109 -0
- package/dist/machines/steps/index.js +325 -0
- package/dist/machines/switch/index.cjs +307 -0
- package/dist/machines/switch/index.d.cts +80 -0
- package/dist/machines/switch/index.d.ts +80 -0
- package/dist/machines/switch/index.js +302 -0
- package/dist/machines/tabs/index.cjs +542 -0
- package/dist/machines/tabs/index.d.cts +113 -0
- package/dist/machines/tabs/index.d.ts +113 -0
- package/dist/machines/tabs/index.js +533 -0
- package/dist/machines/tags-input/index.cjs +1151 -0
- package/dist/machines/tags-input/index.d.cts +182 -0
- package/dist/machines/tags-input/index.d.ts +182 -0
- package/dist/machines/tags-input/index.js +1144 -0
- package/dist/machines/timer/index.cjs +329 -0
- package/dist/machines/timer/index.d.cts +102 -0
- package/dist/machines/timer/index.d.ts +102 -0
- package/dist/machines/timer/index.js +323 -0
- package/dist/machines/toast/index.cjs +1185 -0
- package/dist/machines/toast/index.d.cts +204 -0
- package/dist/machines/toast/index.d.ts +204 -0
- package/dist/machines/toast/index.js +1180 -0
- package/dist/machines/toc/index.cjs +358 -0
- package/dist/machines/toc/index.d.cts +98 -0
- package/dist/machines/toc/index.d.ts +98 -0
- package/dist/machines/toc/index.js +351 -0
- package/dist/machines/toggle/index.cjs +99 -0
- package/dist/machines/toggle/index.d.cts +46 -0
- package/dist/machines/toggle/index.d.ts +46 -0
- package/dist/machines/toggle/index.js +94 -0
- package/dist/machines/toggle-group/index.cjs +329 -0
- package/dist/machines/toggle-group/index.d.cts +81 -0
- package/dist/machines/toggle-group/index.d.ts +81 -0
- package/dist/machines/toggle-group/index.js +322 -0
- package/dist/machines/tooltip/index.cjs +638 -0
- package/dist/machines/tooltip/index.d.cts +84 -0
- package/dist/machines/tooltip/index.d.ts +84 -0
- package/dist/machines/tooltip/index.js +633 -0
- package/dist/machines/tour/index.cjs +1123 -0
- package/dist/machines/tour/index.d.cts +207 -0
- package/dist/machines/tour/index.d.ts +207 -0
- package/dist/machines/tour/index.js +1115 -0
- package/dist/machines/tree-view/index.cjs +1288 -0
- package/dist/machines/tree-view/index.d.cts +221 -0
- package/dist/machines/tree-view/index.d.ts +221 -0
- package/dist/machines/tree-view/index.js +1279 -0
- package/dist/mutation-observer-_LbwtN3W.cjs +61 -0
- package/dist/mutation-observer-qObPUo3D.js +50 -0
- package/dist/navigate-CJOaL3vx.js +31 -0
- package/dist/navigate-uJG-006f.cjs +42 -0
- package/dist/overflow-BBihfMxX.cjs +67 -0
- package/dist/overflow-C-zO1CWA.js +44 -0
- package/dist/platform-BDB0wXUk.js +26 -0
- package/dist/platform-BZS-dkZN.cjs +109 -0
- package/dist/point-C9A4dk1i.js +27 -0
- package/dist/point-DxnCrJBy.cjs +32 -0
- package/dist/pointer-lock-BvfSjt_s.cjs +31 -0
- package/dist/pointer-lock-WezxTqu-.js +26 -0
- package/dist/pointer-move-CGzan38r.cjs +42 -0
- package/dist/pointer-move-Tijb8Ptk.js +37 -0
- package/dist/polygon-BvdwYRBw.js +76 -0
- package/dist/polygon-CTR1kEoU.cjs +93 -0
- package/dist/popper-DkAAS9VE.cjs +487 -0
- package/dist/popper-DzBZzAe4.js +464 -0
- package/dist/popper.cjs +6 -0
- package/dist/popper.d.cts +2 -0
- package/dist/popper.d.ts +2 -0
- package/dist/popper.js +2 -0
- package/dist/press-B7XLrLGR.js +65 -0
- package/dist/press-BdD5suLQ.cjs +70 -0
- package/dist/proxy-tab-focus-DWMXvAfO.js +54 -0
- package/dist/proxy-tab-focus-NthYgHdY.cjs +59 -0
- package/dist/raf-BSDcY4UD.cjs +85 -0
- package/dist/raf-DgINgykK.d.cts +15 -0
- package/dist/raf-DgINgykK.d.ts +15 -0
- package/dist/raf-Dhvm7f1e.js +62 -0
- package/dist/rect-utils-DiT4k3jS.cjs +548 -0
- package/dist/rect-utils-d_3gZVsc.js +459 -0
- package/dist/rect-utils.cjs +165 -0
- package/dist/rect-utils.d.cts +197 -0
- package/dist/rect-utils.d.ts +197 -0
- package/dist/rect-utils.js +116 -0
- package/dist/remove-scroll-DTVA5f4w.cjs +86 -0
- package/dist/remove-scroll-WEheFCiq.js +81 -0
- package/dist/remove-scroll.cjs +3 -0
- package/dist/remove-scroll.d.cts +4 -0
- package/dist/remove-scroll.d.ts +4 -0
- package/dist/remove-scroll.js +2 -0
- package/dist/rolldown-runtime-D6vf50IK.cjs +28 -0
- package/dist/scale-C5BBHVgH.js +17 -0
- package/dist/scale-C7iiUGhS.cjs +22 -0
- package/dist/scope-CysKlKe9.cjs +28 -0
- package/dist/scope-D1873Mzi.js +23 -0
- package/dist/scroll-CVJ40w2e.js +46 -0
- package/dist/scroll-Dyd1QLrc.cjs +63 -0
- package/dist/scroll-snap-Cuaqdevf.cjs +224 -0
- package/dist/scroll-snap-DqMiFASa.js +201 -0
- package/dist/scroll-snap.cjs +6 -0
- package/dist/scroll-snap.d.cts +14 -0
- package/dist/scroll-snap.d.ts +14 -0
- package/dist/scroll-snap.js +2 -0
- package/dist/selection-ClKhnWit.d.cts +49 -0
- package/dist/selection-DzLiSVkg.d.ts +49 -0
- package/dist/selection-map-962WvX2k.js +45 -0
- package/dist/selection-map-BwlZr1LH.cjs +68 -0
- package/dist/set-CFNGOW5W.js +50 -0
- package/dist/set-DrtWCLFb.cjs +73 -0
- package/dist/store-BLpJlMxz.js +257 -0
- package/dist/store-Btfrm2bs.cjs +47 -0
- package/dist/store-C5HvdLyc.js +42 -0
- package/dist/store-Wg8KVwNv.cjs +298 -0
- package/dist/store.cjs +9 -0
- package/dist/store.d.cts +26 -0
- package/dist/store.d.ts +26 -0
- package/dist/store.js +2 -0
- package/dist/stringify-state.cjs +48 -0
- package/dist/stringify-state.d.cts +8 -0
- package/dist/stringify-state.d.ts +8 -0
- package/dist/stringify-state.js +44 -0
- package/dist/tabbable-Bz1-1GAY.cjs +206 -0
- package/dist/tabbable-CDA1YMjZ.js +147 -0
- package/dist/text-selection-B3OQpQGy.cjs +75 -0
- package/dist/text-selection-DXvWvm6k.js +64 -0
- package/dist/timers-BRyPrXIX.js +82 -0
- package/dist/timers-Beu4SfAj.cjs +99 -0
- package/dist/tree-collection-3QX3EIhq.d.ts +77 -0
- package/dist/tree-collection-C6oDQGUJ.d.cts +77 -0
- package/dist/typeahead-DremEgML.d.cts +45 -0
- package/dist/typeahead-DremEgML.d.ts +45 -0
- package/dist/types-BFuHIo7S.js +10 -0
- package/dist/types-CczqoQLL.d.cts +57 -0
- package/dist/types-CczqoQLL.d.ts +57 -0
- package/dist/types-CjocssbC.d.cts +13 -0
- package/dist/types-CjocssbC.d.ts +13 -0
- package/dist/types-D7oF7eWh.d.cts +54 -0
- package/dist/types-D7oF7eWh.d.ts +54 -0
- package/dist/types-HCvp3Bhv.cjs +21 -0
- package/dist/types.cjs +14 -0
- package/dist/types.d.cts +6 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.js +12 -0
- package/dist/utils-BH-oBBz2.cjs +614 -0
- package/dist/utils-Cht5XaHf.js +267 -0
- package/dist/utils.cjs +95 -0
- package/dist/utils.d.cts +144 -0
- package/dist/utils.d.ts +144 -0
- package/dist/utils.js +7 -0
- package/dist/visually-hidden-BgSCFLz_.cjs +29 -0
- package/dist/visually-hidden-yDJ517KZ.js +18 -0
- package/dist/wait-for-3n85JcCU.d.cts +15 -0
- package/dist/wait-for-3n85JcCU.d.ts +15 -0
- package/dist/wait-for-CI5Ye-Lo.js +69 -0
- package/dist/wait-for-Db73VpZQ.cjs +86 -0
- package/dist/warning-CrzBpWT1.js +19 -0
- package/dist/warning-HAmFXLHm.cjs +42 -0
- package/package.json +349 -6
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { c as createRect } from "./rect-utils-d_3gZVsc.js";
|
|
2
|
+
//#region src/common/rect-utils/clamp.ts
|
|
3
|
+
const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
|
|
4
|
+
const clampPoint = (position, size, boundaryRect) => {
|
|
5
|
+
return {
|
|
6
|
+
x: clamp(position.x, boundaryRect.x, boundaryRect.x + boundaryRect.width - size.width),
|
|
7
|
+
y: clamp(position.y, boundaryRect.y, boundaryRect.y + boundaryRect.height - size.height)
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
const defaultMinSize = {
|
|
11
|
+
width: 0,
|
|
12
|
+
height: 0
|
|
13
|
+
};
|
|
14
|
+
const defaultMaxSize = {
|
|
15
|
+
width: Infinity,
|
|
16
|
+
height: Infinity
|
|
17
|
+
};
|
|
18
|
+
const clampSize = (size, minSize = defaultMinSize, maxSize = defaultMaxSize) => {
|
|
19
|
+
return {
|
|
20
|
+
width: Math.min(Math.max(size.width, minSize.width), maxSize.width),
|
|
21
|
+
height: Math.min(Math.max(size.height, minSize.height), maxSize.height)
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/common/rect-utils/constrain.ts
|
|
26
|
+
const constrainRect = (rect, boundary) => {
|
|
27
|
+
return {
|
|
28
|
+
x: Math.max(boundary.x, Math.min(rect.x, boundary.x + boundary.width - rect.width)),
|
|
29
|
+
y: Math.max(boundary.y, Math.min(rect.y, boundary.y + boundary.height - rect.height)),
|
|
30
|
+
width: Math.min(rect.width, boundary.width),
|
|
31
|
+
height: Math.min(rect.height, boundary.height)
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/common/rect-utils/equality.ts
|
|
36
|
+
const isSizeEqual = (a, b) => {
|
|
37
|
+
return a.width === b?.width && a.height === b?.height;
|
|
38
|
+
};
|
|
39
|
+
const isPointEqual = (a, b) => {
|
|
40
|
+
return a.x === b?.x && a.y === b?.y;
|
|
41
|
+
};
|
|
42
|
+
const isRectEqual = (a, b) => {
|
|
43
|
+
return isPointEqual(a, b) && isSizeEqual(a, b);
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/common/rect-utils/from-window.ts
|
|
47
|
+
function getWindowRect(win, opts = {}) {
|
|
48
|
+
return createRect(getViewportRect(win, opts));
|
|
49
|
+
}
|
|
50
|
+
function getViewportRect(win, opts) {
|
|
51
|
+
const { excludeScrollbar = false } = opts;
|
|
52
|
+
const { innerWidth, innerHeight, document: doc, visualViewport } = win;
|
|
53
|
+
const rect = {
|
|
54
|
+
x: 0,
|
|
55
|
+
y: 0,
|
|
56
|
+
width: visualViewport?.width || innerWidth,
|
|
57
|
+
height: visualViewport?.height || innerHeight
|
|
58
|
+
};
|
|
59
|
+
if (excludeScrollbar) {
|
|
60
|
+
const scrollbarWidth = innerWidth - doc.documentElement.clientWidth;
|
|
61
|
+
const scrollbarHeight = innerHeight - doc.documentElement.clientHeight;
|
|
62
|
+
rect.width -= scrollbarWidth;
|
|
63
|
+
rect.height -= scrollbarHeight;
|
|
64
|
+
}
|
|
65
|
+
return rect;
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
export { isSizeEqual as a, clampSize as c, isRectEqual as i, getWindowRect as n, constrainRect as o, isPointEqual as r, clampPoint as s, getViewportRect as t };
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
const require_rect_utils = require("./rect-utils-DiT4k3jS.cjs");
|
|
2
|
+
//#region src/common/rect-utils/clamp.ts
|
|
3
|
+
const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
|
|
4
|
+
const clampPoint = (position, size, boundaryRect) => {
|
|
5
|
+
return {
|
|
6
|
+
x: clamp(position.x, boundaryRect.x, boundaryRect.x + boundaryRect.width - size.width),
|
|
7
|
+
y: clamp(position.y, boundaryRect.y, boundaryRect.y + boundaryRect.height - size.height)
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
const defaultMinSize = {
|
|
11
|
+
width: 0,
|
|
12
|
+
height: 0
|
|
13
|
+
};
|
|
14
|
+
const defaultMaxSize = {
|
|
15
|
+
width: Infinity,
|
|
16
|
+
height: Infinity
|
|
17
|
+
};
|
|
18
|
+
const clampSize = (size, minSize = defaultMinSize, maxSize = defaultMaxSize) => {
|
|
19
|
+
return {
|
|
20
|
+
width: Math.min(Math.max(size.width, minSize.width), maxSize.width),
|
|
21
|
+
height: Math.min(Math.max(size.height, minSize.height), maxSize.height)
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/common/rect-utils/constrain.ts
|
|
26
|
+
const constrainRect = (rect, boundary) => {
|
|
27
|
+
return {
|
|
28
|
+
x: Math.max(boundary.x, Math.min(rect.x, boundary.x + boundary.width - rect.width)),
|
|
29
|
+
y: Math.max(boundary.y, Math.min(rect.y, boundary.y + boundary.height - rect.height)),
|
|
30
|
+
width: Math.min(rect.width, boundary.width),
|
|
31
|
+
height: Math.min(rect.height, boundary.height)
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/common/rect-utils/equality.ts
|
|
36
|
+
const isSizeEqual = (a, b) => {
|
|
37
|
+
return a.width === b?.width && a.height === b?.height;
|
|
38
|
+
};
|
|
39
|
+
const isPointEqual = (a, b) => {
|
|
40
|
+
return a.x === b?.x && a.y === b?.y;
|
|
41
|
+
};
|
|
42
|
+
const isRectEqual = (a, b) => {
|
|
43
|
+
return isPointEqual(a, b) && isSizeEqual(a, b);
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/common/rect-utils/from-window.ts
|
|
47
|
+
function getWindowRect(win, opts = {}) {
|
|
48
|
+
return require_rect_utils.createRect(getViewportRect(win, opts));
|
|
49
|
+
}
|
|
50
|
+
function getViewportRect(win, opts) {
|
|
51
|
+
const { excludeScrollbar = false } = opts;
|
|
52
|
+
const { innerWidth, innerHeight, document: doc, visualViewport } = win;
|
|
53
|
+
const rect = {
|
|
54
|
+
x: 0,
|
|
55
|
+
y: 0,
|
|
56
|
+
width: visualViewport?.width || innerWidth,
|
|
57
|
+
height: visualViewport?.height || innerHeight
|
|
58
|
+
};
|
|
59
|
+
if (excludeScrollbar) {
|
|
60
|
+
const scrollbarWidth = innerWidth - doc.documentElement.clientWidth;
|
|
61
|
+
const scrollbarHeight = innerHeight - doc.documentElement.clientHeight;
|
|
62
|
+
rect.width -= scrollbarWidth;
|
|
63
|
+
rect.height -= scrollbarHeight;
|
|
64
|
+
}
|
|
65
|
+
return rect;
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
Object.defineProperty(exports, "clampPoint", {
|
|
69
|
+
enumerable: true,
|
|
70
|
+
get: function() {
|
|
71
|
+
return clampPoint;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
Object.defineProperty(exports, "clampSize", {
|
|
75
|
+
enumerable: true,
|
|
76
|
+
get: function() {
|
|
77
|
+
return clampSize;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(exports, "constrainRect", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function() {
|
|
83
|
+
return constrainRect;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
Object.defineProperty(exports, "getViewportRect", {
|
|
87
|
+
enumerable: true,
|
|
88
|
+
get: function() {
|
|
89
|
+
return getViewportRect;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
Object.defineProperty(exports, "getWindowRect", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function() {
|
|
95
|
+
return getWindowRect;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(exports, "isPointEqual", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function() {
|
|
101
|
+
return isPointEqual;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(exports, "isRectEqual", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: function() {
|
|
107
|
+
return isRectEqual;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(exports, "isSizeEqual", {
|
|
111
|
+
enumerable: true,
|
|
112
|
+
get: function() {
|
|
113
|
+
return isSizeEqual;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/common/utils/functions.d.ts
|
|
2
|
+
type MaybeFunction<T> = T | (() => T);
|
|
3
|
+
type Nullable<T> = T | null | undefined;
|
|
4
|
+
declare const runIfFn: <T>(v: T | undefined, ...a: T extends ((...a: any[]) => void) ? Parameters<T> : never) => T extends ((...a: any[]) => void) ? NonNullable<ReturnType<T>> : NonNullable<T>;
|
|
5
|
+
declare const cast: <T>(v: unknown) => T;
|
|
6
|
+
declare const identity: (v: VoidFunction) => void;
|
|
7
|
+
declare const noop: () => void;
|
|
8
|
+
declare const callAll: <T extends (...a: any[]) => void>(...fns: (T | null | undefined)[]) => (...a: Parameters<T>) => void;
|
|
9
|
+
declare const uuid: () => string;
|
|
10
|
+
declare function match<V extends string | number = string, R = unknown>(key: V, record: Record<V, R | ((...args: any[]) => R)>, ...args: any[]): R;
|
|
11
|
+
declare const tryCatch: <R>(fn: () => R, fallback: () => R) => R;
|
|
12
|
+
declare function throttle<T extends (...args: any[]) => void>(fn: T, wait?: number): T;
|
|
13
|
+
declare function debounce<T extends (...args: any[]) => void>(fn: T, wait?: number): T;
|
|
14
|
+
declare const hash: (value: string) => string;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { debounce as a, match as c, throttle as d, tryCatch as f, cast as i, noop as l, Nullable as n, hash as o, uuid as p, callAll as r, identity as s, MaybeFunction as t, runIfFn as u };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/common/utils/functions.d.ts
|
|
2
|
+
type MaybeFunction<T> = T | (() => T);
|
|
3
|
+
type Nullable<T> = T | null | undefined;
|
|
4
|
+
declare const runIfFn: <T>(v: T | undefined, ...a: T extends ((...a: any[]) => void) ? Parameters<T> : never) => T extends ((...a: any[]) => void) ? NonNullable<ReturnType<T>> : NonNullable<T>;
|
|
5
|
+
declare const cast: <T>(v: unknown) => T;
|
|
6
|
+
declare const identity: (v: VoidFunction) => void;
|
|
7
|
+
declare const noop: () => void;
|
|
8
|
+
declare const callAll: <T extends (...a: any[]) => void>(...fns: (T | null | undefined)[]) => (...a: Parameters<T>) => void;
|
|
9
|
+
declare const uuid: () => string;
|
|
10
|
+
declare function match<V extends string | number = string, R = unknown>(key: V, record: Record<V, R | ((...args: any[]) => R)>, ...args: any[]): R;
|
|
11
|
+
declare const tryCatch: <R>(fn: () => R, fallback: () => R) => R;
|
|
12
|
+
declare function throttle<T extends (...args: any[]) => void>(fn: T, wait?: number): T;
|
|
13
|
+
declare function debounce<T extends (...args: any[]) => void>(fn: T, wait?: number): T;
|
|
14
|
+
declare const hash: (value: string) => string;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { debounce as a, match as c, throttle as d, tryCatch as f, cast as i, noop as l, Nullable as n, hash as o, uuid as p, callAll as r, identity as s, MaybeFunction as t, runIfFn as u };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/common/highlight-word/escape-regex.ts
|
|
3
|
+
const escapeRegex = (term) => term.replace(/[|\\{}()[\]^$+*?.-]/g, (char) => `\\${char}`);
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/common/highlight-word/normalize-span.ts
|
|
6
|
+
const normalizeSpan = (spans, len) => {
|
|
7
|
+
const result = [];
|
|
8
|
+
const append = (start, end, match) => {
|
|
9
|
+
if (end - start > 0) result.push({
|
|
10
|
+
start,
|
|
11
|
+
end,
|
|
12
|
+
match
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
if (spans.length === 0) append(0, len, false);
|
|
16
|
+
else {
|
|
17
|
+
let lastIndex = 0;
|
|
18
|
+
for (const chunk of spans) {
|
|
19
|
+
append(lastIndex, chunk.start, false);
|
|
20
|
+
append(chunk.start, chunk.end, true);
|
|
21
|
+
lastIndex = chunk.end;
|
|
22
|
+
}
|
|
23
|
+
append(lastIndex, len, false);
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/common/highlight-word/highlight-first.ts
|
|
29
|
+
function highlightFirst(props) {
|
|
30
|
+
const { text, query, ignoreCase, exactMatch } = props;
|
|
31
|
+
if (exactMatch) {
|
|
32
|
+
const escapedQuery = escapeRegex(query);
|
|
33
|
+
const regex = new RegExp(`\\b(${escapedQuery})\\b`, ignoreCase ? "i" : "");
|
|
34
|
+
const match = text.match(regex);
|
|
35
|
+
if (!match || match.index === void 0) return [{
|
|
36
|
+
text,
|
|
37
|
+
match: false
|
|
38
|
+
}];
|
|
39
|
+
const start = match.index;
|
|
40
|
+
return normalizeSpan([{
|
|
41
|
+
start,
|
|
42
|
+
end: start + match[0].length
|
|
43
|
+
}], text.length).map((chunk) => ({
|
|
44
|
+
text: text.slice(chunk.start, chunk.end),
|
|
45
|
+
match: !!chunk.match
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
const searchText = ignoreCase ? text.toLowerCase() : text;
|
|
49
|
+
const searchQuery = ignoreCase ? typeof query === "string" ? query.toLowerCase() : query : query;
|
|
50
|
+
const start = typeof searchText === "string" ? searchText.indexOf(searchQuery) : -1;
|
|
51
|
+
if (start === -1) return [{
|
|
52
|
+
text,
|
|
53
|
+
match: false
|
|
54
|
+
}];
|
|
55
|
+
return normalizeSpan([{
|
|
56
|
+
start,
|
|
57
|
+
end: start + searchQuery.length
|
|
58
|
+
}], text.length).map((chunk) => ({
|
|
59
|
+
text: text.slice(chunk.start, chunk.end),
|
|
60
|
+
match: !!chunk.match
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/common/highlight-word/highlight-multiple.ts
|
|
65
|
+
const buildRegex = (queryProp, flags, exactMatch) => {
|
|
66
|
+
const query = queryProp.filter(Boolean).map((text) => escapeRegex(text));
|
|
67
|
+
const pattern = exactMatch ? `\\b(${query.join("|")})\\b` : `(${query.join("|")})`;
|
|
68
|
+
return new RegExp(pattern, flags);
|
|
69
|
+
};
|
|
70
|
+
const getRegexFlags = (ignoreCase, matchAll = true) => `${ignoreCase ? "i" : ""}${matchAll ? "g" : ""}`;
|
|
71
|
+
function highlightMultiple(props) {
|
|
72
|
+
const { text, query, ignoreCase, matchAll, exactMatch } = props;
|
|
73
|
+
if (query.length === 0) return [{
|
|
74
|
+
text,
|
|
75
|
+
match: false
|
|
76
|
+
}];
|
|
77
|
+
const flags = getRegexFlags(ignoreCase, matchAll);
|
|
78
|
+
const regex = buildRegex(Array.isArray(query) ? query : [query], flags, exactMatch);
|
|
79
|
+
return normalizeSpan([...text.matchAll(regex)].map((match) => ({
|
|
80
|
+
start: match.index || 0,
|
|
81
|
+
end: (match.index || 0) + match[0].length
|
|
82
|
+
})), props.text.length).map((chunk) => ({
|
|
83
|
+
text: props.text.slice(chunk.start, chunk.end),
|
|
84
|
+
match: !!chunk.match
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region src/common/highlight-word/highlight.ts
|
|
89
|
+
const highlightWord = (props) => {
|
|
90
|
+
if (props.matchAll == null) props.matchAll = Array.isArray(props.query);
|
|
91
|
+
if (!props.matchAll && Array.isArray(props.query)) throw new Error("matchAll must be true when using multiple queries");
|
|
92
|
+
return props.matchAll ? highlightMultiple(props) : highlightFirst(props);
|
|
93
|
+
};
|
|
94
|
+
//#endregion
|
|
95
|
+
exports.highlightWord = highlightWord;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/common/highlight-word/types.d.ts
|
|
2
|
+
interface HighlightRegexOptions {
|
|
3
|
+
ignoreCase?: boolean | undefined;
|
|
4
|
+
matchAll?: boolean | undefined;
|
|
5
|
+
exactMatch?: boolean | undefined;
|
|
6
|
+
}
|
|
7
|
+
interface HighlightWordProps extends HighlightRegexOptions {
|
|
8
|
+
text: string;
|
|
9
|
+
query: string | string[];
|
|
10
|
+
}
|
|
11
|
+
interface HighlightChunk {
|
|
12
|
+
text: string;
|
|
13
|
+
match: boolean;
|
|
14
|
+
}
|
|
15
|
+
interface HighlightSpan {
|
|
16
|
+
start: number;
|
|
17
|
+
end: number;
|
|
18
|
+
match?: boolean | undefined;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/common/highlight-word/highlight.d.ts
|
|
22
|
+
declare const highlightWord: (props: HighlightWordProps) => HighlightChunk[];
|
|
23
|
+
//#endregion
|
|
24
|
+
export { type HighlightChunk, type HighlightSpan, type HighlightWordProps, highlightWord };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/common/highlight-word/types.d.ts
|
|
2
|
+
interface HighlightRegexOptions {
|
|
3
|
+
ignoreCase?: boolean | undefined;
|
|
4
|
+
matchAll?: boolean | undefined;
|
|
5
|
+
exactMatch?: boolean | undefined;
|
|
6
|
+
}
|
|
7
|
+
interface HighlightWordProps extends HighlightRegexOptions {
|
|
8
|
+
text: string;
|
|
9
|
+
query: string | string[];
|
|
10
|
+
}
|
|
11
|
+
interface HighlightChunk {
|
|
12
|
+
text: string;
|
|
13
|
+
match: boolean;
|
|
14
|
+
}
|
|
15
|
+
interface HighlightSpan {
|
|
16
|
+
start: number;
|
|
17
|
+
end: number;
|
|
18
|
+
match?: boolean | undefined;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/common/highlight-word/highlight.d.ts
|
|
22
|
+
declare const highlightWord: (props: HighlightWordProps) => HighlightChunk[];
|
|
23
|
+
//#endregion
|
|
24
|
+
export { type HighlightChunk, type HighlightSpan, type HighlightWordProps, highlightWord };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
//#region src/common/highlight-word/escape-regex.ts
|
|
2
|
+
const escapeRegex = (term) => term.replace(/[|\\{}()[\]^$+*?.-]/g, (char) => `\\${char}`);
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region src/common/highlight-word/normalize-span.ts
|
|
5
|
+
const normalizeSpan = (spans, len) => {
|
|
6
|
+
const result = [];
|
|
7
|
+
const append = (start, end, match) => {
|
|
8
|
+
if (end - start > 0) result.push({
|
|
9
|
+
start,
|
|
10
|
+
end,
|
|
11
|
+
match
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
if (spans.length === 0) append(0, len, false);
|
|
15
|
+
else {
|
|
16
|
+
let lastIndex = 0;
|
|
17
|
+
for (const chunk of spans) {
|
|
18
|
+
append(lastIndex, chunk.start, false);
|
|
19
|
+
append(chunk.start, chunk.end, true);
|
|
20
|
+
lastIndex = chunk.end;
|
|
21
|
+
}
|
|
22
|
+
append(lastIndex, len, false);
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/common/highlight-word/highlight-first.ts
|
|
28
|
+
function highlightFirst(props) {
|
|
29
|
+
const { text, query, ignoreCase, exactMatch } = props;
|
|
30
|
+
if (exactMatch) {
|
|
31
|
+
const escapedQuery = escapeRegex(query);
|
|
32
|
+
const regex = new RegExp(`\\b(${escapedQuery})\\b`, ignoreCase ? "i" : "");
|
|
33
|
+
const match = text.match(regex);
|
|
34
|
+
if (!match || match.index === void 0) return [{
|
|
35
|
+
text,
|
|
36
|
+
match: false
|
|
37
|
+
}];
|
|
38
|
+
const start = match.index;
|
|
39
|
+
return normalizeSpan([{
|
|
40
|
+
start,
|
|
41
|
+
end: start + match[0].length
|
|
42
|
+
}], text.length).map((chunk) => ({
|
|
43
|
+
text: text.slice(chunk.start, chunk.end),
|
|
44
|
+
match: !!chunk.match
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
const searchText = ignoreCase ? text.toLowerCase() : text;
|
|
48
|
+
const searchQuery = ignoreCase ? typeof query === "string" ? query.toLowerCase() : query : query;
|
|
49
|
+
const start = typeof searchText === "string" ? searchText.indexOf(searchQuery) : -1;
|
|
50
|
+
if (start === -1) return [{
|
|
51
|
+
text,
|
|
52
|
+
match: false
|
|
53
|
+
}];
|
|
54
|
+
return normalizeSpan([{
|
|
55
|
+
start,
|
|
56
|
+
end: start + searchQuery.length
|
|
57
|
+
}], text.length).map((chunk) => ({
|
|
58
|
+
text: text.slice(chunk.start, chunk.end),
|
|
59
|
+
match: !!chunk.match
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region src/common/highlight-word/highlight-multiple.ts
|
|
64
|
+
const buildRegex = (queryProp, flags, exactMatch) => {
|
|
65
|
+
const query = queryProp.filter(Boolean).map((text) => escapeRegex(text));
|
|
66
|
+
const pattern = exactMatch ? `\\b(${query.join("|")})\\b` : `(${query.join("|")})`;
|
|
67
|
+
return new RegExp(pattern, flags);
|
|
68
|
+
};
|
|
69
|
+
const getRegexFlags = (ignoreCase, matchAll = true) => `${ignoreCase ? "i" : ""}${matchAll ? "g" : ""}`;
|
|
70
|
+
function highlightMultiple(props) {
|
|
71
|
+
const { text, query, ignoreCase, matchAll, exactMatch } = props;
|
|
72
|
+
if (query.length === 0) return [{
|
|
73
|
+
text,
|
|
74
|
+
match: false
|
|
75
|
+
}];
|
|
76
|
+
const flags = getRegexFlags(ignoreCase, matchAll);
|
|
77
|
+
const regex = buildRegex(Array.isArray(query) ? query : [query], flags, exactMatch);
|
|
78
|
+
return normalizeSpan([...text.matchAll(regex)].map((match) => ({
|
|
79
|
+
start: match.index || 0,
|
|
80
|
+
end: (match.index || 0) + match[0].length
|
|
81
|
+
})), props.text.length).map((chunk) => ({
|
|
82
|
+
text: props.text.slice(chunk.start, chunk.end),
|
|
83
|
+
match: !!chunk.match
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/common/highlight-word/highlight.ts
|
|
88
|
+
const highlightWord = (props) => {
|
|
89
|
+
if (props.matchAll == null) props.matchAll = Array.isArray(props.query);
|
|
90
|
+
if (!props.matchAll && Array.isArray(props.query)) throw new Error("matchAll must be true when using multiple queries");
|
|
91
|
+
return props.matchAll ? highlightMultiple(props) : highlightFirst(props);
|
|
92
|
+
};
|
|
93
|
+
//#endregion
|
|
94
|
+
export { highlightWord };
|