@sprawlify/primitives 0.0.1
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.cjs +3 -0
- package/dist/anatomy.d.cts +2 -0
- package/dist/anatomy.d.mts +2 -0
- package/dist/anatomy.mjs +3 -0
- package/dist/aria-hidden-DqYx0f_y.mjs +177 -0
- package/dist/aria-hidden-DtLU6hSU.cjs +182 -0
- package/dist/aria-hidden.cjs +4 -0
- package/dist/aria-hidden.d.cts +16 -0
- package/dist/aria-hidden.d.mts +16 -0
- package/dist/aria-hidden.mjs +4 -0
- package/dist/auto-resize-D3qHtFy1.mjs +114 -0
- package/dist/auto-resize-xzlPFDyD.cjs +125 -0
- package/dist/auto-resize.cjs +5 -0
- package/dist/auto-resize.d.cts +17 -0
- package/dist/auto-resize.d.mts +17 -0
- package/dist/auto-resize.mjs +4 -0
- package/dist/chunk-CbDLau6x.cjs +34 -0
- package/dist/collection-8XqaNHs_.mjs +1279 -0
- package/dist/collection-DIoIDISa.cjs +1326 -0
- package/dist/collection.cjs +11 -0
- package/dist/collection.d.cts +5 -0
- package/dist/collection.d.mts +5 -0
- package/dist/collection.mjs +4 -0
- package/dist/color-BkAP1Tkd.d.mts +60 -0
- package/dist/color-VKewNv2e.d.cts +60 -0
- package/dist/color-utils-Cc5GVXZh.mjs +657 -0
- package/dist/color-utils-LER_6Zwu.cjs +680 -0
- package/dist/color-utils.cjs +7 -0
- package/dist/color-utils.d.cts +19 -0
- package/dist/color-utils.d.mts +19 -0
- package/dist/color-utils.mjs +4 -0
- package/dist/core-30pJjyC2.d.mts +49 -0
- package/dist/core-CQFbMdTl.cjs +176 -0
- package/dist/core-CefBjbst.d.cts +49 -0
- package/dist/core-DCFNMTZF.mjs +129 -0
- package/dist/core.cjs +12 -0
- package/dist/core.d.cts +3 -0
- package/dist/core.d.mts +3 -0
- package/dist/core.mjs +5 -0
- package/dist/create-anatomy-B3XYc-qG.d.mts +70 -0
- package/dist/create-anatomy-BGQ8pv8J.d.cts +70 -0
- package/dist/create-anatomy-BbDZbHpC.mjs +39 -0
- package/dist/create-anatomy-CDsIFUXg.cjs +45 -0
- package/dist/create-props-BnF_vl-E.mjs +5 -0
- package/dist/create-props-YKy7JIKj.cjs +11 -0
- package/dist/data-url-C3ITPVRX.d.cts +10 -0
- package/dist/data-url-DLwZ9M77.d.mts +10 -0
- package/dist/date-utils-D2xPHa_I.cjs +738 -0
- package/dist/date-utils-wEa1hhpc.mjs +474 -0
- package/dist/date-utils.cjs +46 -0
- package/dist/date-utils.d.cts +101 -0
- package/dist/date-utils.d.mts +2 -0
- package/dist/date-utils.mjs +3 -0
- package/dist/defineProperty-BoUOT9Ie.cjs +49 -0
- package/dist/defineProperty-DrXfyjd4.mjs +43 -0
- package/dist/dismissable-CTfKZ4OG.cjs +282 -0
- package/dist/dismissable-DDrx0xnH.mjs +271 -0
- package/dist/dismissable-layer-C7pZU2wi.d.cts +39 -0
- package/dist/dismissable-layer-t_b0fk-p.d.mts +39 -0
- package/dist/dismissable.cjs +7 -0
- package/dist/dismissable.d.cts +3 -0
- package/dist/dismissable.d.mts +3 -0
- package/dist/dismissable.mjs +6 -0
- package/dist/dom-query-CWZdWUGp.cjs +2141 -0
- package/dist/dom-query-DFCRhyj1.mjs +1374 -0
- package/dist/dom-query.cjs +130 -0
- package/dist/dom-query.d.cts +307 -0
- package/dist/dom-query.d.mts +307 -0
- package/dist/dom-query.mjs +3 -0
- package/dist/file-utils.cjs +220 -0
- package/dist/file-utils.d.cts +51 -0
- package/dist/file-utils.d.mts +51 -0
- package/dist/file-utils.mjs +210 -0
- package/dist/focus-trap-D-bypQEJ.mjs +485 -0
- package/dist/focus-trap-D4i52S9A.cjs +496 -0
- package/dist/focus-trap.cjs +5 -0
- package/dist/focus-trap.d.cts +88 -0
- package/dist/focus-trap.d.mts +88 -0
- package/dist/focus-trap.mjs +4 -0
- package/dist/focus-visible-DYTWdWpa.cjs +210 -0
- package/dist/focus-visible-irppYatv.mjs +175 -0
- package/dist/focus-visible.cjs +9 -0
- package/dist/focus-visible.d.cts +31 -0
- package/dist/focus-visible.d.mts +31 -0
- package/dist/focus-visible.mjs +4 -0
- package/dist/functions-BOkTDEFM.d.cts +15 -0
- package/dist/functions-IZtWcC8Q.d.mts +15 -0
- package/dist/highlight-word.cjs +100 -0
- package/dist/highlight-word.d.cts +24 -0
- package/dist/highlight-word.d.mts +24 -0
- package/dist/highlight-word.mjs +99 -0
- package/dist/hotkeys.cjs +758 -0
- package/dist/hotkeys.d.cts +130 -0
- package/dist/hotkeys.d.mts +130 -0
- package/dist/hotkeys.mjs +754 -0
- package/dist/i18n-utils.cjs +450 -0
- package/dist/i18n-utils.d.cts +61 -0
- package/dist/i18n-utils.d.mts +61 -0
- package/dist/i18n-utils.mjs +440 -0
- package/dist/index-BkzYij2j.d.mts +25 -0
- package/dist/index-Bqw3r34-.d.cts +1383 -0
- package/dist/index-C0MKXQmE.d.mts +1383 -0
- package/dist/index-C9-feK5c.d.cts +25 -0
- package/dist/index-CD5FN7kY.d.mts +114 -0
- package/dist/index-CJji6wHl.d.cts +15 -0
- package/dist/index-CNi5FkPe.d.mts +15 -0
- package/dist/index-D96rs8B0.d.mts +115 -0
- package/dist/index.cjs +0 -0
- package/dist/index.d.cts +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +1 -0
- package/dist/interact-outside-BplxR9cR.mjs +200 -0
- package/dist/interact-outside-C8-oFBpB.cjs +205 -0
- package/dist/interact-outside.cjs +5 -0
- package/dist/interact-outside.d.cts +2 -0
- package/dist/interact-outside.d.mts +2 -0
- package/dist/interact-outside.mjs +5 -0
- package/dist/json-tree-utils.cjs +1512 -0
- package/dist/json-tree-utils.d.cts +117 -0
- package/dist/json-tree-utils.d.mts +117 -0
- package/dist/json-tree-utils.mjs +1463 -0
- package/dist/list-collection-BIMJGQjn.d.cts +61 -0
- package/dist/list-collection-Db3eixRU.d.mts +61 -0
- package/dist/live-region-CcZPGo89.cjs +52 -0
- package/dist/live-region-CnPh21WH.mjs +46 -0
- package/dist/live-region.cjs +3 -0
- package/dist/live-region.d.cts +2 -0
- package/dist/live-region.d.mts +2 -0
- package/dist/live-region.mjs +3 -0
- package/dist/machines/accordion/index.cjs +328 -0
- package/dist/machines/accordion/index.d.cts +83 -0
- package/dist/machines/accordion/index.d.mts +83 -0
- package/dist/machines/accordion/index.mjs +322 -0
- package/dist/machines/async-list/index.cjs +311 -0
- package/dist/machines/async-list/index.d.cts +89 -0
- package/dist/machines/async-list/index.d.mts +89 -0
- package/dist/machines/async-list/index.mjs +310 -0
- package/dist/machines/avatar/index.cjs +169 -0
- package/dist/machines/avatar/index.d.cts +63 -0
- package/dist/machines/avatar/index.d.mts +63 -0
- package/dist/machines/avatar/index.mjs +165 -0
- package/dist/machines/bottom-sheet/index.cjs +676 -0
- package/dist/machines/bottom-sheet/index.d.cts +239 -0
- package/dist/machines/bottom-sheet/index.d.mts +239 -0
- package/dist/machines/bottom-sheet/index.mjs +672 -0
- package/dist/machines/carousel/index.cjs +859 -0
- package/dist/machines/carousel/index.d.cts +146 -0
- package/dist/machines/carousel/index.d.mts +146 -0
- package/dist/machines/carousel/index.mjs +851 -0
- package/dist/machines/checkbox/index.cjs +316 -0
- package/dist/machines/checkbox/index.d.cts +81 -0
- package/dist/machines/checkbox/index.d.mts +81 -0
- package/dist/machines/checkbox/index.mjs +312 -0
- package/dist/machines/clipboard/index.cjs +225 -0
- package/dist/machines/clipboard/index.d.cts +68 -0
- package/dist/machines/clipboard/index.d.mts +68 -0
- package/dist/machines/clipboard/index.mjs +219 -0
- package/dist/machines/collapsible/index.cjs +362 -0
- package/dist/machines/collapsible/index.d.cts +82 -0
- package/dist/machines/collapsible/index.d.mts +82 -0
- package/dist/machines/collapsible/index.mjs +358 -0
- package/dist/machines/color-picker/index.cjs +1529 -0
- package/dist/machines/color-picker/index.d.cts +205 -0
- package/dist/machines/color-picker/index.d.mts +205 -0
- package/dist/machines/color-picker/index.mjs +1514 -0
- package/dist/machines/combobox/index.cjs +1593 -0
- package/dist/machines/combobox/index.d.cts +214 -0
- package/dist/machines/combobox/index.d.mts +214 -0
- package/dist/machines/combobox/index.mjs +1582 -0
- package/dist/machines/date-picker/index.cjs +2177 -0
- package/dist/machines/date-picker/index.d.cts +350 -0
- package/dist/machines/date-picker/index.d.mts +350 -0
- package/dist/machines/date-picker/index.mjs +2161 -0
- package/dist/machines/dialog/index.cjs +325 -0
- package/dist/machines/dialog/index.d.cts +80 -0
- package/dist/machines/dialog/index.d.mts +80 -0
- package/dist/machines/dialog/index.mjs +321 -0
- package/dist/machines/editable/index.cjs +551 -0
- package/dist/machines/editable/index.d.cts +114 -0
- package/dist/machines/editable/index.d.mts +114 -0
- package/dist/machines/editable/index.mjs +547 -0
- package/dist/machines/floating-panel/index.cjs +995 -0
- package/dist/machines/floating-panel/index.d.cts +147 -0
- package/dist/machines/floating-panel/index.d.mts +147 -0
- package/dist/machines/floating-panel/index.mjs +988 -0
- package/dist/machines/hover-card/index.cjs +383 -0
- package/dist/machines/hover-card/index.d.cts +69 -0
- package/dist/machines/hover-card/index.d.mts +69 -0
- package/dist/machines/hover-card/index.mjs +379 -0
- package/dist/machines/image-cropper/index.cjs +1995 -0
- package/dist/machines/image-cropper/index.d.cts +182 -0
- package/dist/machines/image-cropper/index.d.mts +182 -0
- package/dist/machines/image-cropper/index.mjs +1990 -0
- package/dist/machines/listbox/index.cjs +794 -0
- package/dist/machines/listbox/index.d.cts +168 -0
- package/dist/machines/listbox/index.d.mts +168 -0
- package/dist/machines/listbox/index.mjs +782 -0
- package/dist/machines/marquee/index.cjs +395 -0
- package/dist/machines/marquee/index.d.cts +102 -0
- package/dist/machines/marquee/index.d.mts +102 -0
- package/dist/machines/marquee/index.mjs +391 -0
- package/dist/machines/menu/index.cjs +1298 -0
- package/dist/machines/menu/index.d.cts +175 -0
- package/dist/machines/menu/index.d.mts +175 -0
- package/dist/machines/menu/index.mjs +1286 -0
- package/dist/machines/navigation-menu/index.cjs +861 -0
- package/dist/machines/navigation-menu/index.d.cts +127 -0
- package/dist/machines/navigation-menu/index.d.mts +127 -0
- package/dist/machines/navigation-menu/index.mjs +857 -0
- package/dist/machines/number-input/index.cjs +996 -0
- package/dist/machines/number-input/index.d.cts +134 -0
- package/dist/machines/number-input/index.d.mts +134 -0
- package/dist/machines/number-input/index.mjs +991 -0
- package/dist/machines/pagination/index.cjs +419 -0
- package/dist/machines/pagination/index.d.cts +139 -0
- package/dist/machines/pagination/index.d.mts +139 -0
- package/dist/machines/pagination/index.mjs +411 -0
- package/dist/machines/password-input/index.cjs +228 -0
- package/dist/machines/password-input/index.d.cts +71 -0
- package/dist/machines/password-input/index.d.mts +71 -0
- package/dist/machines/password-input/index.mjs +224 -0
- package/dist/machines/pin-input/index.cjs +523 -0
- package/dist/machines/pin-input/index.d.cts +105 -0
- package/dist/machines/pin-input/index.d.mts +105 -0
- package/dist/machines/pin-input/index.mjs +519 -0
- package/dist/machines/popover/index.cjs +430 -0
- package/dist/machines/popover/index.d.cts +88 -0
- package/dist/machines/popover/index.d.mts +88 -0
- package/dist/machines/popover/index.mjs +426 -0
- package/dist/machines/presence/index.cjs +192 -0
- package/dist/machines/presence/index.d.cts +44 -0
- package/dist/machines/presence/index.d.mts +44 -0
- package/dist/machines/presence/index.mjs +190 -0
- package/dist/machines/progress/index.cjs +288 -0
- package/dist/machines/progress/index.d.cts +96 -0
- package/dist/machines/progress/index.d.mts +96 -0
- package/dist/machines/progress/index.mjs +284 -0
- package/dist/machines/qr-code/index.cjs +172 -0
- package/dist/machines/qr-code/index.d.cts +70 -0
- package/dist/machines/qr-code/index.d.mts +70 -0
- package/dist/machines/qr-code/index.mjs +167 -0
- package/dist/machines/radio-group/index.cjs +436 -0
- package/dist/machines/radio-group/index.d.cts +106 -0
- package/dist/machines/radio-group/index.d.mts +106 -0
- package/dist/machines/radio-group/index.mjs +430 -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.mts +101 -0
- package/dist/machines/rating-group/index.mjs +399 -0
- package/dist/machines/scroll-area/index.cjs +857 -0
- package/dist/machines/scroll-area/index.d.cts +159 -0
- package/dist/machines/scroll-area/index.d.mts +159 -0
- package/dist/machines/scroll-area/index.mjs +853 -0
- package/dist/machines/select/index.cjs +1165 -0
- package/dist/machines/select/index.d.cts +183 -0
- package/dist/machines/select/index.d.mts +183 -0
- package/dist/machines/select/index.mjs +1154 -0
- package/dist/machines/signature-pad/index.cjs +334 -0
- package/dist/machines/signature-pad/index.d.cts +108 -0
- package/dist/machines/signature-pad/index.d.mts +108 -0
- package/dist/machines/signature-pad/index.mjs +328 -0
- package/dist/machines/slider/index.cjs +957 -0
- package/dist/machines/slider/index.d.cts +149 -0
- package/dist/machines/slider/index.d.mts +149 -0
- package/dist/machines/slider/index.mjs +949 -0
- package/dist/machines/splitter/index.cjs +1112 -0
- package/dist/machines/splitter/index.d.cts +155 -0
- package/dist/machines/splitter/index.d.mts +155 -0
- package/dist/machines/splitter/index.mjs +1103 -0
- package/dist/machines/steps/index.cjs +289 -0
- package/dist/machines/steps/index.d.cts +97 -0
- package/dist/machines/steps/index.d.mts +97 -0
- package/dist/machines/steps/index.mjs +285 -0
- package/dist/machines/switch/index.cjs +305 -0
- package/dist/machines/switch/index.d.cts +80 -0
- package/dist/machines/switch/index.d.mts +80 -0
- package/dist/machines/switch/index.mjs +301 -0
- package/dist/machines/tabs/index.cjs +508 -0
- package/dist/machines/tabs/index.d.cts +111 -0
- package/dist/machines/tabs/index.d.mts +111 -0
- package/dist/machines/tabs/index.mjs +500 -0
- package/dist/machines/tags-input/index.cjs +1127 -0
- package/dist/machines/tags-input/index.d.cts +179 -0
- package/dist/machines/tags-input/index.d.mts +179 -0
- package/dist/machines/tags-input/index.mjs +1121 -0
- package/dist/machines/timer/index.cjs +329 -0
- package/dist/machines/timer/index.d.cts +98 -0
- package/dist/machines/timer/index.d.mts +98 -0
- package/dist/machines/timer/index.mjs +324 -0
- package/dist/machines/toast/index.cjs +1155 -0
- package/dist/machines/toast/index.d.cts +195 -0
- package/dist/machines/toast/index.d.mts +195 -0
- package/dist/machines/toast/index.mjs +1151 -0
- package/dist/machines/toggle/index.cjs +103 -0
- package/dist/machines/toggle/index.d.cts +46 -0
- package/dist/machines/toggle/index.d.mts +46 -0
- package/dist/machines/toggle/index.mjs +99 -0
- package/dist/machines/toggle-group/index.cjs +328 -0
- package/dist/machines/toggle-group/index.d.cts +81 -0
- package/dist/machines/toggle-group/index.d.mts +81 -0
- package/dist/machines/toggle-group/index.mjs +322 -0
- package/dist/machines/tooltip/index.cjs +516 -0
- package/dist/machines/tooltip/index.d.cts +71 -0
- package/dist/machines/tooltip/index.d.mts +71 -0
- package/dist/machines/tooltip/index.mjs +512 -0
- package/dist/machines/tour/index.cjs +1108 -0
- package/dist/machines/tour/index.d.cts +206 -0
- package/dist/machines/tour/index.d.mts +206 -0
- package/dist/machines/tour/index.mjs +1101 -0
- package/dist/machines/tree-view/index.cjs +1271 -0
- package/dist/machines/tree-view/index.d.cts +215 -0
- package/dist/machines/tree-view/index.d.mts +215 -0
- package/dist/machines/tree-view/index.mjs +1263 -0
- package/dist/node-BctU8GXk.d.mts +24 -0
- package/dist/node-CSsuPZVZ.d.cts +24 -0
- package/dist/popper-BPJeAtcA.mjs +349 -0
- package/dist/popper-D0FAW_p7.cjs +373 -0
- package/dist/popper.cjs +8 -0
- package/dist/popper.d.cts +74 -0
- package/dist/popper.d.mts +2 -0
- package/dist/popper.mjs +5 -0
- package/dist/raf-BnlYUlDi.d.mts +15 -0
- package/dist/raf-Cd2FGy0z.d.cts +15 -0
- package/dist/rect-utils-0ellN0a_.mjs +854 -0
- package/dist/rect-utils-DKLRhP8G.cjs +1147 -0
- package/dist/rect-utils.cjs +51 -0
- package/dist/rect-utils.d.cts +198 -0
- package/dist/rect-utils.d.mts +198 -0
- package/dist/rect-utils.mjs +3 -0
- package/dist/remove-scroll-Lrfv79X_.mjs +58 -0
- package/dist/remove-scroll-Uvzg1L9r.cjs +63 -0
- package/dist/remove-scroll.cjs +0 -0
- package/dist/remove-scroll.d.cts +1 -0
- package/dist/remove-scroll.d.mts +1 -0
- package/dist/remove-scroll.mjs +1 -0
- package/dist/scroll-snap-CrTmQRzA.mjs +152 -0
- package/dist/scroll-snap-zyiZLv7W.cjs +175 -0
- package/dist/scroll-snap.cjs +7 -0
- package/dist/scroll-snap.d.cts +14 -0
- package/dist/scroll-snap.d.mts +14 -0
- package/dist/scroll-snap.mjs +4 -0
- package/dist/selection-BIhSzkF7.d.mts +50 -0
- package/dist/selection-CS1GBp8e.d.cts +50 -0
- package/dist/store-BZcXv49B.cjs +305 -0
- package/dist/store-DEojWy9H.mjs +263 -0
- package/dist/store.cjs +9 -0
- package/dist/store.d.cts +26 -0
- package/dist/store.d.mts +26 -0
- package/dist/store.mjs +3 -0
- package/dist/stringify-state.cjs +49 -0
- package/dist/stringify-state.d.cts +8 -0
- package/dist/stringify-state.d.mts +8 -0
- package/dist/stringify-state.mjs +46 -0
- package/dist/tree-collection-BwU5WhGQ.d.mts +78 -0
- package/dist/tree-collection-DP_eznnI.d.cts +78 -0
- package/dist/typeahead-BdNwVP09.d.cts +45 -0
- package/dist/typeahead-XN6lZ7G9.d.mts +45 -0
- package/dist/types-BivBkYg9.d.cts +57 -0
- package/dist/types-Bl_6JtPQ.d.mts +57 -0
- package/dist/types-CPUMVt7c.d.mts +54 -0
- package/dist/types-CT_W6HWr.d.cts +54 -0
- package/dist/types-DDTcG99l.d.mts +201 -0
- package/dist/types-DejIu60O.d.cts +201 -0
- package/dist/types-DiIdKZ3K.d.cts +45 -0
- package/dist/types-GxLIgJib.d.cts +17 -0
- package/dist/types.cjs +15 -0
- package/dist/types.d.cts +2 -0
- package/dist/types.d.mts +2 -0
- package/dist/types.mjs +14 -0
- package/dist/utils-BZyrxWWR.mjs +525 -0
- package/dist/utils-_6frwjgJ.cjs +1040 -0
- package/dist/utils.cjs +88 -0
- package/dist/utils.d.cts +144 -0
- package/dist/utils.d.mts +144 -0
- package/dist/utils.mjs +3 -0
- package/dist/wait-for-CMjPsqWk.d.cts +10 -0
- package/dist/wait-for-D2nkdD4z.d.mts +10 -0
- package/package.json +399 -0
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
import { t as _defineProperty } from "./defineProperty-DrXfyjd4.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/shared/utils/array.ts
|
|
4
|
+
function toArray(v) {
|
|
5
|
+
if (v == null) return [];
|
|
6
|
+
return Array.isArray(v) ? v : [v];
|
|
7
|
+
}
|
|
8
|
+
const fromLength = (length) => Array.from(Array(length).keys());
|
|
9
|
+
const first = (v) => v[0];
|
|
10
|
+
const last = (v) => v[v.length - 1];
|
|
11
|
+
const isEmpty = (v) => v.length === 0;
|
|
12
|
+
const has = (v, t) => v.indexOf(t) !== -1;
|
|
13
|
+
const add = (v, ...items) => v.concat(items);
|
|
14
|
+
const remove = (v, ...items) => v.filter((t) => !items.includes(t));
|
|
15
|
+
const removeAt = (v, i) => v.filter((_, idx) => idx !== i);
|
|
16
|
+
const insertAt = (v, i, ...items) => [
|
|
17
|
+
...v.slice(0, i),
|
|
18
|
+
...items,
|
|
19
|
+
...v.slice(i)
|
|
20
|
+
];
|
|
21
|
+
const uniq = (v) => Array.from(new Set(v));
|
|
22
|
+
const diff = (a, b) => {
|
|
23
|
+
const set = new Set(b);
|
|
24
|
+
return a.filter((t) => !set.has(t));
|
|
25
|
+
};
|
|
26
|
+
const addOrRemove = (v, item) => has(v, item) ? remove(v, item) : add(v, item);
|
|
27
|
+
function clear(v) {
|
|
28
|
+
while (v.length > 0) v.pop();
|
|
29
|
+
return v;
|
|
30
|
+
}
|
|
31
|
+
function nextIndex(v, idx, opts = {}) {
|
|
32
|
+
const { step = 1, loop = true } = opts;
|
|
33
|
+
const next$1 = idx + step;
|
|
34
|
+
const len = v.length;
|
|
35
|
+
const last$1 = len - 1;
|
|
36
|
+
if (idx === -1) return step > 0 ? 0 : last$1;
|
|
37
|
+
if (next$1 < 0) return loop ? last$1 : 0;
|
|
38
|
+
if (next$1 >= len) return loop ? 0 : idx > len ? len : idx;
|
|
39
|
+
return next$1;
|
|
40
|
+
}
|
|
41
|
+
function next(v, idx, opts = {}) {
|
|
42
|
+
return v[nextIndex(v, idx, opts)];
|
|
43
|
+
}
|
|
44
|
+
function prevIndex(v, idx, opts = {}) {
|
|
45
|
+
const { step = 1, loop = true } = opts;
|
|
46
|
+
return nextIndex(v, idx, {
|
|
47
|
+
step: -step,
|
|
48
|
+
loop
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function prev(v, index, opts = {}) {
|
|
52
|
+
return v[prevIndex(v, index, opts)];
|
|
53
|
+
}
|
|
54
|
+
function chunk(v, size) {
|
|
55
|
+
return v.reduce((rows, value, index) => {
|
|
56
|
+
if (index % size === 0) rows.push([value]);
|
|
57
|
+
else last(rows)?.push(value);
|
|
58
|
+
return rows;
|
|
59
|
+
}, []);
|
|
60
|
+
}
|
|
61
|
+
function flatArray(arr) {
|
|
62
|
+
return arr.reduce((flat, item) => {
|
|
63
|
+
if (Array.isArray(item)) return flat.concat(flatArray(item));
|
|
64
|
+
return flat.concat(item);
|
|
65
|
+
}, []);
|
|
66
|
+
}
|
|
67
|
+
function partition(arr, fn) {
|
|
68
|
+
return arr.reduce(([pass, fail], value) => {
|
|
69
|
+
if (fn(value)) pass.push(value);
|
|
70
|
+
else fail.push(value);
|
|
71
|
+
return [pass, fail];
|
|
72
|
+
}, [[], []]);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/shared/utils/equal.ts
|
|
77
|
+
const isArrayLike = (value) => value?.constructor.name === "Array";
|
|
78
|
+
const isArrayEqual = (a, b) => {
|
|
79
|
+
if (a.length !== b.length) return false;
|
|
80
|
+
for (let i = 0; i < a.length; i++) if (!isEqual(a[i], b[i])) return false;
|
|
81
|
+
return true;
|
|
82
|
+
};
|
|
83
|
+
const isEqual = (a, b) => {
|
|
84
|
+
if (Object.is(a, b)) return true;
|
|
85
|
+
if (a == null && b != null || a != null && b == null) return false;
|
|
86
|
+
if (typeof a?.isEqual === "function" && typeof b?.isEqual === "function") return a.isEqual(b);
|
|
87
|
+
if (typeof a === "function" && typeof b === "function") return a.toString() === b.toString();
|
|
88
|
+
if (isArrayLike(a) && isArrayLike(b)) return isArrayEqual(Array.from(a), Array.from(b));
|
|
89
|
+
if (!(typeof a === "object") || !(typeof b === "object")) return false;
|
|
90
|
+
const keys = Object.keys(b ?? Object.create(null));
|
|
91
|
+
const length = keys.length;
|
|
92
|
+
for (let i = 0; i < length; i++) if (!Reflect.has(a, keys[i])) return false;
|
|
93
|
+
for (let i = 0; i < length; i++) {
|
|
94
|
+
const key = keys[i];
|
|
95
|
+
if (!isEqual(a[key], b[key])) return false;
|
|
96
|
+
}
|
|
97
|
+
return true;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
//#endregion
|
|
101
|
+
//#region src/shared/utils/guard.ts
|
|
102
|
+
const isDev = () => process.env.NODE_ENV !== "production";
|
|
103
|
+
const isArray = (v) => Array.isArray(v);
|
|
104
|
+
const isBoolean = (v) => v === true || v === false;
|
|
105
|
+
const isObjectLike = (v) => v != null && typeof v === "object";
|
|
106
|
+
const isObject = (v) => isObjectLike(v) && !isArray(v);
|
|
107
|
+
const isNumber = (v) => typeof v === "number" && !Number.isNaN(v);
|
|
108
|
+
const isString = (v) => typeof v === "string";
|
|
109
|
+
const isFunction = (v) => typeof v === "function";
|
|
110
|
+
const isNull = (v) => v == null;
|
|
111
|
+
const hasProp = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
|
|
112
|
+
const baseGetTag = (v) => Object.prototype.toString.call(v);
|
|
113
|
+
const fnToString = Function.prototype.toString;
|
|
114
|
+
const objectCtorString = fnToString.call(Object);
|
|
115
|
+
const isPlainObject = (v) => {
|
|
116
|
+
if (!isObjectLike(v) || baseGetTag(v) != "[object Object]" || isFrameworkElement(v)) return false;
|
|
117
|
+
const proto = Object.getPrototypeOf(v);
|
|
118
|
+
if (proto === null) return true;
|
|
119
|
+
const Ctor = hasProp(proto, "constructor") && proto.constructor;
|
|
120
|
+
return typeof Ctor == "function" && Ctor instanceof Ctor && fnToString.call(Ctor) == objectCtorString;
|
|
121
|
+
};
|
|
122
|
+
const isReactElement = (x) => typeof x === "object" && x !== null && "$$typeof" in x && "props" in x;
|
|
123
|
+
const isVueElement = (x) => typeof x === "object" && x !== null && "__v_isVNode" in x;
|
|
124
|
+
const isFrameworkElement = (x) => isReactElement(x) || isVueElement(x);
|
|
125
|
+
|
|
126
|
+
//#endregion
|
|
127
|
+
//#region src/shared/utils/functions.ts
|
|
128
|
+
const runIfFn = (v, ...a) => {
|
|
129
|
+
return (typeof v === "function" ? v(...a) : v) ?? void 0;
|
|
130
|
+
};
|
|
131
|
+
const cast = (v) => v;
|
|
132
|
+
const identity = (v) => v();
|
|
133
|
+
const noop = () => {};
|
|
134
|
+
const callAll = (...fns) => (...a) => {
|
|
135
|
+
fns.forEach(function(fn) {
|
|
136
|
+
fn?.(...a);
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
const uuid = (() => {
|
|
140
|
+
let id = 0;
|
|
141
|
+
return () => {
|
|
142
|
+
id++;
|
|
143
|
+
return id.toString(36);
|
|
144
|
+
};
|
|
145
|
+
})();
|
|
146
|
+
function match(key, record, ...args) {
|
|
147
|
+
if (key in record) {
|
|
148
|
+
const fn = record[key];
|
|
149
|
+
return isFunction(fn) ? fn(...args) : fn;
|
|
150
|
+
}
|
|
151
|
+
const error = /* @__PURE__ */ new Error(`No matching key: ${JSON.stringify(key)} in ${JSON.stringify(Object.keys(record))}`);
|
|
152
|
+
Error.captureStackTrace?.(error, match);
|
|
153
|
+
throw error;
|
|
154
|
+
}
|
|
155
|
+
const tryCatch = (fn, fallback) => {
|
|
156
|
+
try {
|
|
157
|
+
return fn();
|
|
158
|
+
} catch (error) {
|
|
159
|
+
if (error instanceof Error) Error.captureStackTrace?.(error, tryCatch);
|
|
160
|
+
return fallback?.();
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
function throttle(fn, wait = 0) {
|
|
164
|
+
let lastCall = 0;
|
|
165
|
+
let timeout = null;
|
|
166
|
+
return ((...args) => {
|
|
167
|
+
const now = Date.now();
|
|
168
|
+
const timeSinceLastCall = now - lastCall;
|
|
169
|
+
if (timeSinceLastCall >= wait) {
|
|
170
|
+
if (timeout) {
|
|
171
|
+
clearTimeout(timeout);
|
|
172
|
+
timeout = null;
|
|
173
|
+
}
|
|
174
|
+
fn(...args);
|
|
175
|
+
lastCall = now;
|
|
176
|
+
} else if (!timeout) timeout = setTimeout(() => {
|
|
177
|
+
fn(...args);
|
|
178
|
+
lastCall = Date.now();
|
|
179
|
+
timeout = null;
|
|
180
|
+
}, wait - timeSinceLastCall);
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
function debounce(fn, wait = 0) {
|
|
184
|
+
let timeout = null;
|
|
185
|
+
return ((...args) => {
|
|
186
|
+
if (timeout) {
|
|
187
|
+
clearTimeout(timeout);
|
|
188
|
+
timeout = null;
|
|
189
|
+
}
|
|
190
|
+
timeout = setTimeout(() => {
|
|
191
|
+
fn(...args);
|
|
192
|
+
}, wait);
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
//#endregion
|
|
197
|
+
//#region src/shared/utils/number.ts
|
|
198
|
+
const { floor, abs, round, min, max, pow, sign } = Math;
|
|
199
|
+
const isNaN = (v) => Number.isNaN(v);
|
|
200
|
+
const nan = (v) => isNaN(v) ? 0 : v;
|
|
201
|
+
const mod = (v, m) => (v % m + m) % m;
|
|
202
|
+
const wrap = (v, vmax) => (v % vmax + vmax) % vmax;
|
|
203
|
+
const getMinValueAtIndex = (i, v, vmin) => i === 0 ? vmin : v[i - 1];
|
|
204
|
+
const getMaxValueAtIndex = (i, v, vmax) => i === v.length - 1 ? vmax : v[i + 1];
|
|
205
|
+
const isValueAtMax = (v, vmax) => nan(v) >= vmax;
|
|
206
|
+
const isValueAtMin = (v, vmin) => nan(v) <= vmin;
|
|
207
|
+
const isValueWithinRange = (v, vmin, vmax) => {
|
|
208
|
+
const value = nan(v);
|
|
209
|
+
return (vmin == null || value >= vmin) && (vmax == null || value <= vmax);
|
|
210
|
+
};
|
|
211
|
+
const roundValue = (v, vmin, step) => round((nan(v) - vmin) / step) * step + vmin;
|
|
212
|
+
const clampValue = (v, vmin, vmax) => min(max(nan(v), vmin), vmax);
|
|
213
|
+
const clampPercent = (v) => clampValue(v, 0, 1);
|
|
214
|
+
const getValuePercent = (v, vmin, vmax) => (nan(v) - vmin) / (vmax - vmin);
|
|
215
|
+
const getPercentValue = (p, vmin, vmax, step) => clampValue(roundValue(p * (vmax - vmin) + vmin, vmin, step), vmin, vmax);
|
|
216
|
+
const roundToStepPrecision = (v, step) => {
|
|
217
|
+
let rv = v;
|
|
218
|
+
let ss = step.toString();
|
|
219
|
+
let pi = ss.indexOf(".");
|
|
220
|
+
let p = pi >= 0 ? ss.length - pi : 0;
|
|
221
|
+
if (p > 0) {
|
|
222
|
+
let pw = pow(10, p);
|
|
223
|
+
rv = round(rv * pw) / pw;
|
|
224
|
+
}
|
|
225
|
+
return rv;
|
|
226
|
+
};
|
|
227
|
+
const roundToDpr = (v, dpr) => typeof dpr === "number" ? floor(v * dpr + .5) / dpr : round(v);
|
|
228
|
+
const snapValueToStep = (v, vmin, vmax, step) => {
|
|
229
|
+
const min$1 = vmin != null ? Number(vmin) : 0;
|
|
230
|
+
const max$1 = Number(vmax);
|
|
231
|
+
const remainder = (v - min$1) % step;
|
|
232
|
+
let snapped = abs(remainder) * 2 >= step ? v + sign(remainder) * (step - abs(remainder)) : v - remainder;
|
|
233
|
+
snapped = roundToStepPrecision(snapped, step);
|
|
234
|
+
if (!isNaN(min$1) && snapped < min$1) snapped = min$1;
|
|
235
|
+
else if (!isNaN(max$1) && snapped > max$1) {
|
|
236
|
+
const stepsInRange = floor((max$1 - min$1) / step);
|
|
237
|
+
const largestValidStep = min$1 + stepsInRange * step;
|
|
238
|
+
snapped = stepsInRange <= 0 || largestValidStep < min$1 ? max$1 : largestValidStep;
|
|
239
|
+
}
|
|
240
|
+
return roundToStepPrecision(snapped, step);
|
|
241
|
+
};
|
|
242
|
+
const setValueAtIndex = (vs, i, v) => {
|
|
243
|
+
if (vs[i] === v) return vs;
|
|
244
|
+
return [
|
|
245
|
+
...vs.slice(0, i),
|
|
246
|
+
v,
|
|
247
|
+
...vs.slice(i + 1)
|
|
248
|
+
];
|
|
249
|
+
};
|
|
250
|
+
function getValueSetterAtIndex(index, ctx) {
|
|
251
|
+
const minValueAtIndex = getMinValueAtIndex(index, ctx.values, ctx.min);
|
|
252
|
+
const maxValueAtIndex = getMaxValueAtIndex(index, ctx.values, ctx.max);
|
|
253
|
+
let nextValues = ctx.values.slice();
|
|
254
|
+
return function setValue(value) {
|
|
255
|
+
let nextValue = snapValueToStep(value, minValueAtIndex, maxValueAtIndex, ctx.step);
|
|
256
|
+
nextValues = setValueAtIndex(nextValues, index, value);
|
|
257
|
+
nextValues[index] = nextValue;
|
|
258
|
+
return nextValues;
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
function getNextStepValue(index, ctx) {
|
|
262
|
+
const nextValue = ctx.values[index] + ctx.step;
|
|
263
|
+
return getValueSetterAtIndex(index, ctx)(nextValue);
|
|
264
|
+
}
|
|
265
|
+
function getPreviousStepValue(index, ctx) {
|
|
266
|
+
const nextValue = ctx.values[index] - ctx.step;
|
|
267
|
+
return getValueSetterAtIndex(index, ctx)(nextValue);
|
|
268
|
+
}
|
|
269
|
+
const getClosestValueIndex = (vs, t) => {
|
|
270
|
+
let i = vs.findIndex((v) => t - v < 0);
|
|
271
|
+
if (i === 0) return i;
|
|
272
|
+
if (i === -1) return vs.length - 1;
|
|
273
|
+
let vLeft = vs[i - 1];
|
|
274
|
+
let vRight = vs[i];
|
|
275
|
+
if (abs(vLeft - t) < abs(vRight - t)) return i - 1;
|
|
276
|
+
return i;
|
|
277
|
+
};
|
|
278
|
+
const getClosestValue = (vs, t) => vs[getClosestValueIndex(vs, t)];
|
|
279
|
+
const getValueRanges = (vs, vmin, vmax, gap) => vs.map((v, i) => ({
|
|
280
|
+
min: i === 0 ? vmin : vs[i - 1] + gap,
|
|
281
|
+
max: i === vs.length - 1 ? vmax : vs[i + 1] - gap,
|
|
282
|
+
value: v
|
|
283
|
+
}));
|
|
284
|
+
const getValueTransformer = (va, vb) => {
|
|
285
|
+
const [a, b] = va;
|
|
286
|
+
const [c, d] = vb;
|
|
287
|
+
return (v) => a === b || c === d ? c : c + (d - c) / (b - a) * (v - a);
|
|
288
|
+
};
|
|
289
|
+
const toFixedNumber = (v, d = 0, b = 10) => {
|
|
290
|
+
const pow$1 = Math.pow(b, d);
|
|
291
|
+
return round(v * pow$1) / pow$1;
|
|
292
|
+
};
|
|
293
|
+
const countDecimals = (value) => {
|
|
294
|
+
if (!Number.isFinite(value)) return 0;
|
|
295
|
+
let e = 1, p = 0;
|
|
296
|
+
while (Math.round(value * e) / e !== value) {
|
|
297
|
+
e *= 10;
|
|
298
|
+
p += 1;
|
|
299
|
+
}
|
|
300
|
+
return p;
|
|
301
|
+
};
|
|
302
|
+
const decimalOp = (a, op, b) => {
|
|
303
|
+
let result = op === "+" ? a + b : a - b;
|
|
304
|
+
if (a % 1 !== 0 || b % 1 !== 0) {
|
|
305
|
+
const multiplier = 10 ** Math.max(countDecimals(a), countDecimals(b));
|
|
306
|
+
a = Math.round(a * multiplier);
|
|
307
|
+
b = Math.round(b * multiplier);
|
|
308
|
+
result = op === "+" ? a + b : a - b;
|
|
309
|
+
result /= multiplier;
|
|
310
|
+
}
|
|
311
|
+
return result;
|
|
312
|
+
};
|
|
313
|
+
const incrementValue = (v, s) => decimalOp(nan(v), "+", s);
|
|
314
|
+
const decrementValue = (v, s) => decimalOp(nan(v), "-", s);
|
|
315
|
+
const toPx = (v) => typeof v === "number" ? `${v}px` : v;
|
|
316
|
+
|
|
317
|
+
//#endregion
|
|
318
|
+
//#region src/shared/utils/object.ts
|
|
319
|
+
function compact(obj) {
|
|
320
|
+
if (!isPlainObject(obj) || obj === void 0) return obj;
|
|
321
|
+
const keys = Reflect.ownKeys(obj).filter((key) => typeof key === "string");
|
|
322
|
+
const filtered = {};
|
|
323
|
+
for (const key of keys) {
|
|
324
|
+
const value = obj[key];
|
|
325
|
+
if (value !== void 0) filtered[key] = compact(value);
|
|
326
|
+
}
|
|
327
|
+
return filtered;
|
|
328
|
+
}
|
|
329
|
+
const json = (v) => JSON.parse(JSON.stringify(v));
|
|
330
|
+
function pick(obj, keys) {
|
|
331
|
+
const filtered = {};
|
|
332
|
+
for (const key of keys) {
|
|
333
|
+
const value = obj[key];
|
|
334
|
+
if (value !== void 0) filtered[key] = value;
|
|
335
|
+
}
|
|
336
|
+
return filtered;
|
|
337
|
+
}
|
|
338
|
+
function splitProps(props, keys) {
|
|
339
|
+
const rest = {};
|
|
340
|
+
const result = {};
|
|
341
|
+
const keySet = new Set(keys);
|
|
342
|
+
const ownKeys = Reflect.ownKeys(props);
|
|
343
|
+
for (const key of ownKeys) if (keySet.has(key)) result[key] = props[key];
|
|
344
|
+
else rest[key] = props[key];
|
|
345
|
+
return [result, rest];
|
|
346
|
+
}
|
|
347
|
+
const createSplitProps = (keys) => {
|
|
348
|
+
return function split(props) {
|
|
349
|
+
return splitProps(props, keys);
|
|
350
|
+
};
|
|
351
|
+
};
|
|
352
|
+
function omit(obj, keys) {
|
|
353
|
+
return createSplitProps(keys)(obj)[1];
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
//#endregion
|
|
357
|
+
//#region src/shared/utils/store.ts
|
|
358
|
+
function createStore(initialState, compare = Object.is) {
|
|
359
|
+
let state = { ...initialState };
|
|
360
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
361
|
+
const subscribe = (listener) => {
|
|
362
|
+
listeners.add(listener);
|
|
363
|
+
return () => listeners.delete(listener);
|
|
364
|
+
};
|
|
365
|
+
const publish = () => {
|
|
366
|
+
listeners.forEach((listener) => listener());
|
|
367
|
+
};
|
|
368
|
+
const get = (key) => {
|
|
369
|
+
return state[key];
|
|
370
|
+
};
|
|
371
|
+
const set = (key, value) => {
|
|
372
|
+
if (!compare(state[key], value)) {
|
|
373
|
+
state[key] = value;
|
|
374
|
+
publish();
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
const update = (updates) => {
|
|
378
|
+
let hasChanges = false;
|
|
379
|
+
for (const key in updates) {
|
|
380
|
+
const value = updates[key];
|
|
381
|
+
if (value !== void 0 && !compare(state[key], value)) {
|
|
382
|
+
state[key] = value;
|
|
383
|
+
hasChanges = true;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
if (hasChanges) publish();
|
|
387
|
+
};
|
|
388
|
+
const snapshot = () => ({ ...state });
|
|
389
|
+
return {
|
|
390
|
+
subscribe,
|
|
391
|
+
get,
|
|
392
|
+
set,
|
|
393
|
+
update,
|
|
394
|
+
snapshot
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
//#endregion
|
|
399
|
+
//#region \0@oxc-project+runtime@0.101.0/helpers/checkPrivateRedeclaration.js
|
|
400
|
+
function _checkPrivateRedeclaration(e, t) {
|
|
401
|
+
if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
//#endregion
|
|
405
|
+
//#region \0@oxc-project+runtime@0.101.0/helpers/classPrivateFieldInitSpec.js
|
|
406
|
+
function _classPrivateFieldInitSpec(e, t, a) {
|
|
407
|
+
_checkPrivateRedeclaration(e, t), t.set(e, a);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
//#endregion
|
|
411
|
+
//#region \0@oxc-project+runtime@0.101.0/helpers/assertClassBrand.js
|
|
412
|
+
function _assertClassBrand(e, t, n) {
|
|
413
|
+
if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
|
|
414
|
+
throw new TypeError("Private element is not present on this object");
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
//#endregion
|
|
418
|
+
//#region \0@oxc-project+runtime@0.101.0/helpers/classPrivateFieldGet2.js
|
|
419
|
+
function _classPrivateFieldGet2(s, a) {
|
|
420
|
+
return s.get(_assertClassBrand(s, a));
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
//#endregion
|
|
424
|
+
//#region src/shared/utils/timers.ts
|
|
425
|
+
const currentTime = () => performance.now();
|
|
426
|
+
var _tick = /* @__PURE__ */ new WeakMap();
|
|
427
|
+
var Timer = class {
|
|
428
|
+
constructor(onTick) {
|
|
429
|
+
this.onTick = onTick;
|
|
430
|
+
_defineProperty(this, "frameId", null);
|
|
431
|
+
_defineProperty(this, "pausedAtMs", null);
|
|
432
|
+
_defineProperty(this, "context", void 0);
|
|
433
|
+
_defineProperty(this, "cancelFrame", () => {
|
|
434
|
+
if (this.frameId === null) return;
|
|
435
|
+
cancelAnimationFrame(this.frameId);
|
|
436
|
+
this.frameId = null;
|
|
437
|
+
});
|
|
438
|
+
_defineProperty(this, "setStartMs", (startMs) => {
|
|
439
|
+
this.context.startMs = startMs;
|
|
440
|
+
});
|
|
441
|
+
_defineProperty(this, "start", () => {
|
|
442
|
+
if (this.frameId !== null) return;
|
|
443
|
+
const now = currentTime();
|
|
444
|
+
if (this.pausedAtMs !== null) {
|
|
445
|
+
this.context.startMs += now - this.pausedAtMs;
|
|
446
|
+
this.pausedAtMs = null;
|
|
447
|
+
} else this.context.startMs = now;
|
|
448
|
+
this.frameId = requestAnimationFrame(_classPrivateFieldGet2(_tick, this));
|
|
449
|
+
});
|
|
450
|
+
_defineProperty(this, "pause", () => {
|
|
451
|
+
if (this.frameId === null) return;
|
|
452
|
+
this.cancelFrame();
|
|
453
|
+
this.pausedAtMs = currentTime();
|
|
454
|
+
});
|
|
455
|
+
_defineProperty(this, "stop", () => {
|
|
456
|
+
if (this.frameId === null) return;
|
|
457
|
+
this.cancelFrame();
|
|
458
|
+
this.pausedAtMs = null;
|
|
459
|
+
});
|
|
460
|
+
_classPrivateFieldInitSpec(this, _tick, (now) => {
|
|
461
|
+
this.context.now = now;
|
|
462
|
+
this.context.deltaMs = now - this.context.startMs;
|
|
463
|
+
if (this.onTick(this.context) === false) {
|
|
464
|
+
this.stop();
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
this.frameId = requestAnimationFrame(_classPrivateFieldGet2(_tick, this));
|
|
468
|
+
});
|
|
469
|
+
this.context = {
|
|
470
|
+
now: 0,
|
|
471
|
+
startMs: currentTime(),
|
|
472
|
+
deltaMs: 0
|
|
473
|
+
};
|
|
474
|
+
}
|
|
475
|
+
get elapsedMs() {
|
|
476
|
+
if (this.pausedAtMs !== null) return this.pausedAtMs - this.context.startMs;
|
|
477
|
+
return currentTime() - this.context.startMs;
|
|
478
|
+
}
|
|
479
|
+
};
|
|
480
|
+
function setRafInterval(fn, intervalMs) {
|
|
481
|
+
const timer = new Timer(({ now, deltaMs }) => {
|
|
482
|
+
if (deltaMs >= intervalMs) {
|
|
483
|
+
const startMs = intervalMs > 0 ? now - deltaMs % intervalMs : now;
|
|
484
|
+
timer.setStartMs(startMs);
|
|
485
|
+
fn({
|
|
486
|
+
startMs,
|
|
487
|
+
deltaMs
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
});
|
|
491
|
+
timer.start();
|
|
492
|
+
return () => timer.stop();
|
|
493
|
+
}
|
|
494
|
+
function setRafTimeout(fn, delayMs) {
|
|
495
|
+
const timer = new Timer(({ deltaMs }) => {
|
|
496
|
+
if (deltaMs >= delayMs) {
|
|
497
|
+
fn();
|
|
498
|
+
return false;
|
|
499
|
+
}
|
|
500
|
+
});
|
|
501
|
+
timer.start();
|
|
502
|
+
return () => timer.stop();
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
//#endregion
|
|
506
|
+
//#region src/shared/utils/warning.ts
|
|
507
|
+
function warn(...a) {
|
|
508
|
+
const m = a.length === 1 ? a[0] : a[1];
|
|
509
|
+
if ((a.length === 2 ? a[0] : true) && process.env.NODE_ENV !== "production") console.warn(m);
|
|
510
|
+
}
|
|
511
|
+
function invariant(...a) {
|
|
512
|
+
const m = a.length === 1 ? a[0] : a[1];
|
|
513
|
+
if ((a.length === 2 ? a[0] : true) && process.env.NODE_ENV !== "production") throw new Error(m);
|
|
514
|
+
}
|
|
515
|
+
function ensure(c, m) {
|
|
516
|
+
if (c == null) throw new Error(m());
|
|
517
|
+
}
|
|
518
|
+
function ensureProps(props, keys, scope) {
|
|
519
|
+
let missingKeys = [];
|
|
520
|
+
for (const key of keys) if (props[key] == null) missingKeys.push(key);
|
|
521
|
+
if (missingKeys.length > 0) throw new Error(`[sprawlify-js${scope ? ` > ${scope}` : ""}] missing required props: ${missingKeys.join(", ")}`);
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
//#endregion
|
|
525
|
+
export { uuid as $, isNaN as A, removeAt as At, snapValueToStep as B, getPercentValue as C, last as Ct, getValueSetterAtIndex as D, prev as Dt, getValueRanges as E, partition as Et, nan as F, cast as G, toPx as H, roundToDpr as I, match as J, debounce as K, roundToStepPrecision as L, isValueAtMin as M, uniq as Mt, isValueWithinRange as N, getValueTransformer as O, prevIndex as Ot, mod as P, tryCatch as Q, roundValue as R, getNextStepValue as S, isEmpty as St, getValuePercent as T, nextIndex as Tt, wrap as U, toFixedNumber as V, callAll as W, runIfFn as X, noop as Y, throttle as Z, decrementValue as _, first as _t, Timer as a, isNull as at, getMaxValueAtIndex as b, has as bt, createStore as c, isObjectLike as ct, json as d, isEqual as dt, hasProp as et, omit as f, add as ft, clampValue as g, diff as gt, clampPercent as h, clear as ht, warn as i, isFunction as it, isValueAtMax as j, toArray as jt, incrementValue as k, remove as kt, compact as l, isPlainObject as lt, splitProps as m, chunk as mt, ensureProps as n, isBoolean as nt, setRafInterval as o, isNumber as ot, pick as p, addOrRemove as pt, identity as q, invariant as r, isDev as rt, setRafTimeout as s, isObject as st, ensure as t, isArray as tt, createSplitProps as u, isString as ut, getClosestValue as v, flatArray as vt, getPreviousStepValue as w, next as wt, getMinValueAtIndex as x, insertAt as xt, getClosestValueIndex as y, fromLength as yt, setValueAtIndex as z };
|