ivt 0.3.2 → 0.3.4
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/accordion/index.mjs +19 -1
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/alert/index.mjs +43 -1
- package/dist/alert/index.mjs.map +1 -1
- package/dist/alert-dialog/index.mjs +260 -1
- package/dist/alert-dialog/index.mjs.map +1 -1
- package/dist/avatar/index.mjs +164 -1
- package/dist/avatar/index.mjs.map +1 -1
- package/dist/badge/index.mjs +6 -1
- package/dist/badge/index.mjs.map +1 -1
- package/dist/base/index.mjs +760 -1
- package/dist/base/index.mjs.map +1 -1
- package/dist/button/index.mjs +6 -1
- package/dist/button/index.mjs.map +1 -1
- package/dist/calendar/index.mjs +11 -1
- package/dist/calendar/index.mjs.map +1 -1
- package/dist/card/index.mjs +55 -1
- package/dist/card/index.mjs.map +1 -1
- package/dist/chart/index.mjs +17042 -1
- package/dist/chart/index.mjs.map +1 -1
- package/dist/checkbox/index.mjs +223 -1
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chunks/_commonjsHelpers-DqEvkrE1.mjs +6 -0
- package/dist/chunks/_commonjsHelpers-DqEvkrE1.mjs.map +1 -0
- package/dist/chunks/accordion-BMP2PSSC.mjs +455 -0
- package/dist/chunks/{accordion-CdshDFZC.mjs.map → accordion-BMP2PSSC.mjs.map} +1 -1
- package/dist/chunks/badge-DxuZhgBF.mjs +57 -0
- package/dist/chunks/{badge-BYqshEmA.mjs.map → badge-DxuZhgBF.mjs.map} +1 -1
- package/dist/chunks/bundle-mjs-tFg__FnT.mjs +4491 -0
- package/dist/chunks/{bundle-mjs-9BXytT_r.mjs.map → bundle-mjs-tFg__FnT.mjs.map} +1 -1
- package/dist/chunks/button-CX0htulo.mjs +47 -0
- package/dist/chunks/{button-DrFZXJ7z.mjs.map → button-CX0htulo.mjs.map} +1 -1
- package/dist/chunks/calendar-B4IV5RyM.mjs +7106 -0
- package/dist/chunks/calendar-B4IV5RyM.mjs.map +1 -0
- package/dist/chunks/check-B7209s3e.mjs +15 -0
- package/dist/chunks/{check-CimnOyD7.mjs.map → check-B7209s3e.mjs.map} +1 -1
- package/dist/chunks/chevron-down-D84DRJBv.mjs +15 -0
- package/dist/chunks/{chevron-down-D3fvbjxE.mjs.map → chevron-down-D84DRJBv.mjs.map} +1 -1
- package/dist/chunks/chevron-left-DtL1t1DJ.mjs +15 -0
- package/dist/chunks/{chevron-left-CrN7DlXg.mjs.map → chevron-left-DtL1t1DJ.mjs.map} +1 -1
- package/dist/chunks/chevron-right-Cdxg1JSQ.mjs +15 -0
- package/dist/chunks/{chevron-right-BMSCuDGK.mjs.map → chevron-right-Cdxg1JSQ.mjs.map} +1 -1
- package/dist/chunks/chevrons-up-down-DtBUG1i8.mjs +22 -0
- package/dist/chunks/{chevrons-up-down-DBgvRkZm.mjs.map → chevrons-up-down-DtBUG1i8.mjs.map} +1 -1
- package/dist/chunks/circle-BLWMZ9yp.mjs +17 -0
- package/dist/chunks/{circle-CGqt18Bd.mjs.map → circle-BLWMZ9yp.mjs.map} +1 -1
- package/dist/chunks/command-C8cVzg-x.mjs +611 -0
- package/dist/chunks/command-C8cVzg-x.mjs.map +1 -0
- package/dist/chunks/createLucideIcon-Ba0IWqsz.mjs +60 -0
- package/dist/chunks/{createLucideIcon-L-tld2uc.mjs.map → createLucideIcon-Ba0IWqsz.mjs.map} +1 -1
- package/dist/chunks/dialog-D9vbxUuQ.mjs +80 -0
- package/dist/chunks/{dialog-36eqHzT3.mjs.map → dialog-D9vbxUuQ.mjs.map} +1 -1
- package/dist/chunks/hover-card-idvDPXrI.mjs +274 -0
- package/dist/chunks/{hover-card-Cnd58du6.mjs.map → hover-card-idvDPXrI.mjs.map} +1 -1
- package/dist/chunks/index-6JUj2Tld.mjs +18 -0
- package/dist/chunks/{index-CRxQlsb9.mjs.map → index-6JUj2Tld.mjs.map} +1 -1
- package/dist/chunks/index-B0IElWB4.mjs +51 -0
- package/dist/chunks/{index-vmPXTidH.mjs.map → index-B0IElWB4.mjs.map} +1 -1
- package/dist/chunks/index-B4VRyyD1.mjs +40 -0
- package/dist/chunks/index-B4VRyyD1.mjs.map +1 -0
- package/dist/chunks/index-BE-_q4IW.mjs +266 -0
- package/dist/chunks/index-BE-_q4IW.mjs.map +1 -0
- package/dist/chunks/index-BNxaLFA6.mjs +216 -0
- package/dist/chunks/{index-LvOFIVGz.mjs.map → index-BNxaLFA6.mjs.map} +1 -1
- package/dist/chunks/index-BZUrHhU8.mjs +7 -0
- package/dist/chunks/{index-CLtWFQL5.mjs.map → index-BZUrHhU8.mjs.map} +1 -1
- package/dist/chunks/index-B_FsTtnF.mjs +110 -0
- package/dist/chunks/{index-CCcl327A.mjs.map → index-B_FsTtnF.mjs.map} +1 -1
- package/dist/chunks/index-CAg47KJ6.mjs +13 -0
- package/dist/chunks/{index-CXszXOf_.mjs.map → index-CAg47KJ6.mjs.map} +1 -1
- package/dist/chunks/index-CXuEm8w1.mjs +12 -0
- package/dist/chunks/{index-CU_y1XAz.mjs.map → index-CXuEm8w1.mjs.map} +1 -1
- package/dist/chunks/index-C_jFwfR_.mjs +77 -0
- package/dist/chunks/{index-CybgQKpz.mjs.map → index-C_jFwfR_.mjs.map} +1 -1
- package/dist/chunks/index-CglX-DNW.mjs +21 -0
- package/dist/chunks/index-CglX-DNW.mjs.map +1 -0
- package/dist/chunks/index-CyMuypYR.mjs +324 -0
- package/dist/chunks/{index-DUNcuWJE.mjs.map → index-CyMuypYR.mjs.map} +1 -1
- package/dist/chunks/index-D0S6rRRE.mjs +50 -0
- package/dist/chunks/{index-w9bxia3O.mjs.map → index-D0S6rRRE.mjs.map} +1 -1
- package/dist/chunks/index-D23BhVQG.mjs +859 -0
- package/dist/chunks/{index-DZHMFdr0.mjs.map → index-D23BhVQG.mjs.map} +1 -1
- package/dist/chunks/index-D2wfJaZh.mjs +145 -0
- package/dist/chunks/index-D2wfJaZh.mjs.map +1 -0
- package/dist/chunks/index-DNvm9MP3.mjs +34 -0
- package/dist/chunks/{index-D2sZp5OP.mjs.map → index-DNvm9MP3.mjs.map} +1 -1
- package/dist/chunks/index-Dm4_czlz.mjs +12 -0
- package/dist/chunks/index-Dm4_czlz.mjs.map +1 -0
- package/dist/chunks/index-PaJVyocC.mjs +151 -0
- package/dist/chunks/index-PaJVyocC.mjs.map +1 -0
- package/dist/chunks/index-kr6_v_F8.mjs +2370 -0
- package/dist/chunks/index-kr6_v_F8.mjs.map +1 -0
- package/dist/chunks/index-sz_BcBbA.mjs +1210 -0
- package/dist/chunks/index-sz_BcBbA.mjs.map +1 -0
- package/dist/chunks/input-DK1slFF1.mjs +14 -0
- package/dist/chunks/{input-85UFztMJ.mjs.map → input-DK1slFF1.mjs.map} +1 -1
- package/dist/chunks/label-D7ONQdHc.mjs +32 -0
- package/dist/chunks/{label-CICFzZIt.mjs.map → label-D7ONQdHc.mjs.map} +1 -1
- package/dist/chunks/pagination-BM_IQ6Qk.mjs +106 -0
- package/dist/chunks/{pagination-CReDQes6.mjs.map → pagination-BM_IQ6Qk.mjs.map} +1 -1
- package/dist/chunks/popover-D3F326FR.mjs +308 -0
- package/dist/chunks/{popover-Cn2ZTvKd.mjs.map → popover-D3F326FR.mjs.map} +1 -1
- package/dist/chunks/progress-BCl5yD5Q.mjs +99 -0
- package/dist/chunks/{progress-CSxQH6-f.mjs.map → progress-BCl5yD5Q.mjs.map} +1 -1
- package/dist/chunks/scroll-area-DB3eUx8V.mjs +791 -0
- package/dist/chunks/scroll-area-DB3eUx8V.mjs.map +1 -0
- package/dist/chunks/select-Cw81y8pT.mjs +104 -0
- package/dist/chunks/{select-BR6_N_Yo.mjs.map → select-Cw81y8pT.mjs.map} +1 -1
- package/dist/chunks/separator-2k1C7RSn.mjs +48 -0
- package/dist/chunks/{separator-BB6-E9Z1.mjs.map → separator-2k1C7RSn.mjs.map} +1 -1
- package/dist/chunks/skeleton-qx8-vr62.mjs +13 -0
- package/dist/chunks/{skeleton-XPWWiaac.mjs.map → skeleton-qx8-vr62.mjs.map} +1 -1
- package/dist/chunks/sortable-D8ayoe_b.mjs +4221 -0
- package/dist/chunks/sortable-D8ayoe_b.mjs.map +1 -0
- package/dist/chunks/table-BDNUhtz-.mjs +62 -0
- package/dist/chunks/{table-LQIHzPHi.mjs.map → table-BDNUhtz-.mjs.map} +1 -1
- package/dist/chunks/toggle-CE2ycSdL.mjs +65 -0
- package/dist/chunks/{toggle-Co72WXGd.mjs.map → toggle-CE2ycSdL.mjs.map} +1 -1
- package/dist/chunks/tooltip-DLD0ycR4.mjs +596 -0
- package/dist/chunks/{tooltip-qX2HjdJP.mjs.map → tooltip-DLD0ycR4.mjs.map} +1 -1
- package/dist/chunks/tslib.es6-BgHLrbno.mjs +61 -0
- package/dist/chunks/{tslib.es6-cMGqxriw.mjs.map → tslib.es6-BgHLrbno.mjs.map} +1 -1
- package/dist/chunks/utils-BUelq9Ro.mjs +42 -0
- package/dist/chunks/utils-BUelq9Ro.mjs.map +1 -0
- package/dist/chunks/x-Bjz0Vo6R.mjs +22 -0
- package/dist/chunks/{x-BNLl0E-E.mjs.map → x-Bjz0Vo6R.mjs.map} +1 -1
- package/dist/combobox/index.mjs +65 -1
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/command/index.mjs +23 -1
- package/dist/command/index.mjs.map +1 -1
- package/dist/data-table/index.mjs +673 -1
- package/dist/data-table/index.mjs.map +1 -1
- package/dist/dialog/index.mjs +22 -1
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/dropdown-menu/index.mjs +438 -1
- package/dist/dropdown-menu/index.mjs.map +1 -1
- package/dist/dropzone/index.mjs +7839 -1
- package/dist/dropzone/index.mjs.map +1 -1
- package/dist/form/index.mjs +649 -1
- package/dist/form/index.mjs.map +1 -1
- package/dist/hover-card/index.mjs +18 -1
- package/dist/hover-card/index.mjs.map +1 -1
- package/dist/icon/index.mjs +317 -1
- package/dist/icon/index.mjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/input/index.mjs +4 -1
- package/dist/input/index.mjs.map +1 -1
- package/dist/ivt.css +1 -1
- package/dist/label/index.mjs +8 -1
- package/dist/label/index.mjs.map +1 -1
- package/dist/menubar/index.mjs +583 -1
- package/dist/menubar/index.mjs.map +1 -1
- package/dist/multi-select/index.mjs +297 -1
- package/dist/multi-select/index.mjs.map +1 -1
- package/dist/pagination/index.mjs +10 -1
- package/dist/pagination/index.mjs.map +1 -1
- package/dist/popover/index.mjs +21 -1
- package/dist/popover/index.mjs.map +1 -1
- package/dist/progress/index.mjs +9 -1
- package/dist/progress/index.mjs.map +1 -1
- package/dist/radio-group/index.mjs +267 -1
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/scroll-area/index.mjs +15 -1
- package/dist/scroll-area/index.mjs.map +1 -1
- package/dist/select/index.mjs +8 -1
- package/dist/select/index.mjs.map +1 -1
- package/dist/separator/index.mjs +8 -1
- package/dist/separator/index.mjs.map +1 -1
- package/dist/sheet/index.mjs +96 -1
- package/dist/sheet/index.mjs.map +1 -1
- package/dist/skeleton/index.mjs +4 -1
- package/dist/skeleton/index.mjs.map +1 -1
- package/dist/sonner/index.mjs +1140 -1
- package/dist/sonner/index.mjs.map +1 -1
- package/dist/sortable/index.mjs +8 -1
- package/dist/sortable/index.mjs.map +1 -1
- package/dist/table/index.mjs +4 -1
- package/dist/table/index.mjs.map +1 -1
- package/dist/tabs/index.mjs +193 -1
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/textarea/index.mjs +13 -1
- package/dist/textarea/index.mjs.map +1 -1
- package/dist/toast/index.mjs +705 -1
- package/dist/toast/index.mjs.map +1 -1
- package/dist/toggle/index.mjs +12 -1
- package/dist/toggle/index.mjs.map +1 -1
- package/dist/toggle-group/index.mjs +219 -1
- package/dist/toggle-group/index.mjs.map +1 -1
- package/dist/tooltip/index.mjs +20 -1
- package/dist/tooltip/index.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/chunks/_commonjsHelpers-6qLFzZa5.mjs +0 -2
- package/dist/chunks/_commonjsHelpers-6qLFzZa5.mjs.map +0 -1
- package/dist/chunks/accordion-CdshDFZC.mjs +0 -2
- package/dist/chunks/badge-BYqshEmA.mjs +0 -2
- package/dist/chunks/bundle-mjs-9BXytT_r.mjs +0 -2
- package/dist/chunks/button-DrFZXJ7z.mjs +0 -2
- package/dist/chunks/calendar-BY6t8wdJ.mjs +0 -2
- package/dist/chunks/calendar-BY6t8wdJ.mjs.map +0 -1
- package/dist/chunks/check-CimnOyD7.mjs +0 -2
- package/dist/chunks/chevron-down-D3fvbjxE.mjs +0 -2
- package/dist/chunks/chevron-left-CrN7DlXg.mjs +0 -2
- package/dist/chunks/chevron-right-BMSCuDGK.mjs +0 -2
- package/dist/chunks/chevrons-up-down-DBgvRkZm.mjs +0 -2
- package/dist/chunks/circle-CGqt18Bd.mjs +0 -2
- package/dist/chunks/command-C6ON-ciq.mjs +0 -2
- package/dist/chunks/command-C6ON-ciq.mjs.map +0 -1
- package/dist/chunks/createLucideIcon-L-tld2uc.mjs +0 -2
- package/dist/chunks/dialog-36eqHzT3.mjs +0 -2
- package/dist/chunks/hover-card-Cnd58du6.mjs +0 -2
- package/dist/chunks/index-B4QsDzeM.mjs +0 -2
- package/dist/chunks/index-B4QsDzeM.mjs.map +0 -1
- package/dist/chunks/index-BdpYc58_.mjs +0 -2
- package/dist/chunks/index-BdpYc58_.mjs.map +0 -1
- package/dist/chunks/index-CCcl327A.mjs +0 -2
- package/dist/chunks/index-CLtWFQL5.mjs +0 -2
- package/dist/chunks/index-COvW87ew.mjs +0 -2
- package/dist/chunks/index-COvW87ew.mjs.map +0 -1
- package/dist/chunks/index-CRxQlsb9.mjs +0 -2
- package/dist/chunks/index-CU_y1XAz.mjs +0 -2
- package/dist/chunks/index-CXszXOf_.mjs +0 -2
- package/dist/chunks/index-CdJCOoFA.mjs +0 -2
- package/dist/chunks/index-CdJCOoFA.mjs.map +0 -1
- package/dist/chunks/index-Cpq7N5Ej.mjs +0 -2
- package/dist/chunks/index-Cpq7N5Ej.mjs.map +0 -1
- package/dist/chunks/index-CybgQKpz.mjs +0 -2
- package/dist/chunks/index-D2sZp5OP.mjs +0 -2
- package/dist/chunks/index-DOyt-JEx.mjs +0 -2
- package/dist/chunks/index-DOyt-JEx.mjs.map +0 -1
- package/dist/chunks/index-DUNcuWJE.mjs +0 -2
- package/dist/chunks/index-DZHMFdr0.mjs +0 -2
- package/dist/chunks/index-LvOFIVGz.mjs +0 -2
- package/dist/chunks/index-lvPXnk5F.mjs +0 -2
- package/dist/chunks/index-lvPXnk5F.mjs.map +0 -1
- package/dist/chunks/index-vmPXTidH.mjs +0 -2
- package/dist/chunks/index-w9bxia3O.mjs +0 -2
- package/dist/chunks/index-xew3kygQ.mjs +0 -2
- package/dist/chunks/index-xew3kygQ.mjs.map +0 -1
- package/dist/chunks/input-85UFztMJ.mjs +0 -2
- package/dist/chunks/label-CICFzZIt.mjs +0 -2
- package/dist/chunks/pagination-CReDQes6.mjs +0 -2
- package/dist/chunks/popover-Cn2ZTvKd.mjs +0 -2
- package/dist/chunks/progress-CSxQH6-f.mjs +0 -2
- package/dist/chunks/scroll-area-CvCz7cL_.mjs +0 -2
- package/dist/chunks/scroll-area-CvCz7cL_.mjs.map +0 -1
- package/dist/chunks/select-BR6_N_Yo.mjs +0 -2
- package/dist/chunks/separator-BB6-E9Z1.mjs +0 -2
- package/dist/chunks/skeleton-XPWWiaac.mjs +0 -2
- package/dist/chunks/sortable-CqPFGn8Q.mjs +0 -2
- package/dist/chunks/sortable-CqPFGn8Q.mjs.map +0 -1
- package/dist/chunks/table-LQIHzPHi.mjs +0 -2
- package/dist/chunks/toggle-Co72WXGd.mjs +0 -2
- package/dist/chunks/tooltip-qX2HjdJP.mjs +0 -2
- package/dist/chunks/tslib.es6-cMGqxriw.mjs +0 -2
- package/dist/chunks/utils-BctauAA9.mjs +0 -2
- package/dist/chunks/utils-BctauAA9.mjs.map +0 -1
- package/dist/chunks/x-BNLl0E-E.mjs +0 -2
@@ -0,0 +1,216 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { c as composeEventHandlers } from './index-Dm4_czlz.mjs';
|
3
|
+
import { createCollection } from '@radix-ui/react-collection';
|
4
|
+
import { u as useComposedRefs } from './index-B4VRyyD1.mjs';
|
5
|
+
import { c as createContextScope } from './index-B_FsTtnF.mjs';
|
6
|
+
import { u as useId } from './index-6JUj2Tld.mjs';
|
7
|
+
import { P as Primitive } from './index-D0S6rRRE.mjs';
|
8
|
+
import { u as useCallbackRef } from './index-CAg47KJ6.mjs';
|
9
|
+
import { u as useControllableState } from './index-C_jFwfR_.mjs';
|
10
|
+
import { u as useDirection } from './index-CXuEm8w1.mjs';
|
11
|
+
import { jsx } from 'react/jsx-runtime';
|
12
|
+
|
13
|
+
var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
|
14
|
+
var EVENT_OPTIONS = {
|
15
|
+
bubbles: false,
|
16
|
+
cancelable: true
|
17
|
+
};
|
18
|
+
var GROUP_NAME = "RovingFocusGroup";
|
19
|
+
var [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);
|
20
|
+
var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(GROUP_NAME, [
|
21
|
+
createCollectionScope
|
22
|
+
]);
|
23
|
+
var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);
|
24
|
+
var RovingFocusGroup = React.forwardRef((props, forwardedRef)=>{
|
25
|
+
return /* @__PURE__ */ jsx(Collection.Provider, {
|
26
|
+
scope: props.__scopeRovingFocusGroup,
|
27
|
+
children: /* @__PURE__ */ jsx(Collection.Slot, {
|
28
|
+
scope: props.__scopeRovingFocusGroup,
|
29
|
+
children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, {
|
30
|
+
...props,
|
31
|
+
ref: forwardedRef
|
32
|
+
})
|
33
|
+
})
|
34
|
+
});
|
35
|
+
});
|
36
|
+
RovingFocusGroup.displayName = GROUP_NAME;
|
37
|
+
var RovingFocusGroupImpl = React.forwardRef((props, forwardedRef)=>{
|
38
|
+
const { __scopeRovingFocusGroup, orientation, loop = false, dir, currentTabStopId: currentTabStopIdProp, defaultCurrentTabStopId, onCurrentTabStopIdChange, onEntryFocus, preventScrollOnEntryFocus = false, ...groupProps } = props;
|
39
|
+
const ref = React.useRef(null);
|
40
|
+
const composedRefs = useComposedRefs(forwardedRef, ref);
|
41
|
+
const direction = useDirection(dir);
|
42
|
+
const [currentTabStopId, setCurrentTabStopId] = useControllableState({
|
43
|
+
prop: currentTabStopIdProp,
|
44
|
+
defaultProp: defaultCurrentTabStopId ?? null,
|
45
|
+
onChange: onCurrentTabStopIdChange,
|
46
|
+
caller: GROUP_NAME
|
47
|
+
});
|
48
|
+
const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);
|
49
|
+
const handleEntryFocus = useCallbackRef(onEntryFocus);
|
50
|
+
const getItems = useCollection(__scopeRovingFocusGroup);
|
51
|
+
const isClickFocusRef = React.useRef(false);
|
52
|
+
const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);
|
53
|
+
React.useEffect(()=>{
|
54
|
+
const node = ref.current;
|
55
|
+
if (node) {
|
56
|
+
node.addEventListener(ENTRY_FOCUS, handleEntryFocus);
|
57
|
+
return ()=>node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
|
58
|
+
}
|
59
|
+
}, [
|
60
|
+
handleEntryFocus
|
61
|
+
]);
|
62
|
+
return /* @__PURE__ */ jsx(RovingFocusProvider, {
|
63
|
+
scope: __scopeRovingFocusGroup,
|
64
|
+
orientation,
|
65
|
+
dir: direction,
|
66
|
+
loop,
|
67
|
+
currentTabStopId,
|
68
|
+
onItemFocus: React.useCallback((tabStopId)=>setCurrentTabStopId(tabStopId), [
|
69
|
+
setCurrentTabStopId
|
70
|
+
]),
|
71
|
+
onItemShiftTab: React.useCallback(()=>setIsTabbingBackOut(true), []),
|
72
|
+
onFocusableItemAdd: React.useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount + 1), []),
|
73
|
+
onFocusableItemRemove: React.useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount - 1), []),
|
74
|
+
children: /* @__PURE__ */ jsx(Primitive.div, {
|
75
|
+
tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
|
76
|
+
"data-orientation": orientation,
|
77
|
+
...groupProps,
|
78
|
+
ref: composedRefs,
|
79
|
+
style: {
|
80
|
+
outline: "none",
|
81
|
+
...props.style
|
82
|
+
},
|
83
|
+
onMouseDown: composeEventHandlers(props.onMouseDown, ()=>{
|
84
|
+
isClickFocusRef.current = true;
|
85
|
+
}),
|
86
|
+
onFocus: composeEventHandlers(props.onFocus, (event)=>{
|
87
|
+
const isKeyboardFocus = !isClickFocusRef.current;
|
88
|
+
if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
|
89
|
+
const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);
|
90
|
+
event.currentTarget.dispatchEvent(entryFocusEvent);
|
91
|
+
if (!entryFocusEvent.defaultPrevented) {
|
92
|
+
const items = getItems().filter((item)=>item.focusable);
|
93
|
+
const activeItem = items.find((item)=>item.active);
|
94
|
+
const currentItem = items.find((item)=>item.id === currentTabStopId);
|
95
|
+
const candidateItems = [
|
96
|
+
activeItem,
|
97
|
+
currentItem,
|
98
|
+
...items
|
99
|
+
].filter(Boolean);
|
100
|
+
const candidateNodes = candidateItems.map((item)=>item.ref.current);
|
101
|
+
focusFirst(candidateNodes, preventScrollOnEntryFocus);
|
102
|
+
}
|
103
|
+
}
|
104
|
+
isClickFocusRef.current = false;
|
105
|
+
}),
|
106
|
+
onBlur: composeEventHandlers(props.onBlur, ()=>setIsTabbingBackOut(false))
|
107
|
+
})
|
108
|
+
});
|
109
|
+
});
|
110
|
+
var ITEM_NAME = "RovingFocusGroupItem";
|
111
|
+
var RovingFocusGroupItem = React.forwardRef((props, forwardedRef)=>{
|
112
|
+
const { __scopeRovingFocusGroup, focusable = true, active = false, tabStopId, children, ...itemProps } = props;
|
113
|
+
const autoId = useId();
|
114
|
+
const id = tabStopId || autoId;
|
115
|
+
const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);
|
116
|
+
const isCurrentTabStop = context.currentTabStopId === id;
|
117
|
+
const getItems = useCollection(__scopeRovingFocusGroup);
|
118
|
+
const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;
|
119
|
+
React.useEffect(()=>{
|
120
|
+
if (focusable) {
|
121
|
+
onFocusableItemAdd();
|
122
|
+
return ()=>onFocusableItemRemove();
|
123
|
+
}
|
124
|
+
}, [
|
125
|
+
focusable,
|
126
|
+
onFocusableItemAdd,
|
127
|
+
onFocusableItemRemove
|
128
|
+
]);
|
129
|
+
return /* @__PURE__ */ jsx(Collection.ItemSlot, {
|
130
|
+
scope: __scopeRovingFocusGroup,
|
131
|
+
id,
|
132
|
+
focusable,
|
133
|
+
active,
|
134
|
+
children: /* @__PURE__ */ jsx(Primitive.span, {
|
135
|
+
tabIndex: isCurrentTabStop ? 0 : -1,
|
136
|
+
"data-orientation": context.orientation,
|
137
|
+
...itemProps,
|
138
|
+
ref: forwardedRef,
|
139
|
+
onMouseDown: composeEventHandlers(props.onMouseDown, (event)=>{
|
140
|
+
if (!focusable) event.preventDefault();
|
141
|
+
else context.onItemFocus(id);
|
142
|
+
}),
|
143
|
+
onFocus: composeEventHandlers(props.onFocus, ()=>context.onItemFocus(id)),
|
144
|
+
onKeyDown: composeEventHandlers(props.onKeyDown, (event)=>{
|
145
|
+
if (event.key === "Tab" && event.shiftKey) {
|
146
|
+
context.onItemShiftTab();
|
147
|
+
return;
|
148
|
+
}
|
149
|
+
if (event.target !== event.currentTarget) return;
|
150
|
+
const focusIntent = getFocusIntent(event, context.orientation, context.dir);
|
151
|
+
if (focusIntent !== void 0) {
|
152
|
+
if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;
|
153
|
+
event.preventDefault();
|
154
|
+
const items = getItems().filter((item)=>item.focusable);
|
155
|
+
let candidateNodes = items.map((item)=>item.ref.current);
|
156
|
+
if (focusIntent === "last") candidateNodes.reverse();
|
157
|
+
else if (focusIntent === "prev" || focusIntent === "next") {
|
158
|
+
if (focusIntent === "prev") candidateNodes.reverse();
|
159
|
+
const currentIndex = candidateNodes.indexOf(event.currentTarget);
|
160
|
+
candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
|
161
|
+
}
|
162
|
+
setTimeout(()=>focusFirst(candidateNodes));
|
163
|
+
}
|
164
|
+
}),
|
165
|
+
children: typeof children === "function" ? children({
|
166
|
+
isCurrentTabStop,
|
167
|
+
hasTabStop: currentTabStopId != null
|
168
|
+
}) : children
|
169
|
+
})
|
170
|
+
});
|
171
|
+
});
|
172
|
+
RovingFocusGroupItem.displayName = ITEM_NAME;
|
173
|
+
var MAP_KEY_TO_FOCUS_INTENT = {
|
174
|
+
ArrowLeft: "prev",
|
175
|
+
ArrowUp: "prev",
|
176
|
+
ArrowRight: "next",
|
177
|
+
ArrowDown: "next",
|
178
|
+
PageUp: "first",
|
179
|
+
Home: "first",
|
180
|
+
PageDown: "last",
|
181
|
+
End: "last"
|
182
|
+
};
|
183
|
+
function getDirectionAwareKey(key, dir) {
|
184
|
+
if (dir !== "rtl") return key;
|
185
|
+
return key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
|
186
|
+
}
|
187
|
+
function getFocusIntent(event, orientation, dir) {
|
188
|
+
const key = getDirectionAwareKey(event.key, dir);
|
189
|
+
if (orientation === "vertical" && [
|
190
|
+
"ArrowLeft",
|
191
|
+
"ArrowRight"
|
192
|
+
].includes(key)) return void 0;
|
193
|
+
if (orientation === "horizontal" && [
|
194
|
+
"ArrowUp",
|
195
|
+
"ArrowDown"
|
196
|
+
].includes(key)) return void 0;
|
197
|
+
return MAP_KEY_TO_FOCUS_INTENT[key];
|
198
|
+
}
|
199
|
+
function focusFirst(candidates, preventScroll = false) {
|
200
|
+
const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
|
201
|
+
for (const candidate of candidates){
|
202
|
+
if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
|
203
|
+
candidate.focus({
|
204
|
+
preventScroll
|
205
|
+
});
|
206
|
+
if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
|
207
|
+
}
|
208
|
+
}
|
209
|
+
function wrapArray(array, startIndex) {
|
210
|
+
return array.map((_, index)=>array[(startIndex + index) % array.length]);
|
211
|
+
}
|
212
|
+
var Root = RovingFocusGroup;
|
213
|
+
var Item = RovingFocusGroupItem;
|
214
|
+
|
215
|
+
export { Item as I, Root as R, createRovingFocusGroupScope as c };
|
216
|
+
//# sourceMappingURL=index-BNxaLFA6.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-LvOFIVGz.mjs","sources":["../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["ENTRY_FOCUS","EVENT_OPTIONS","bubbles","cancelable","GROUP_NAME","Collection","useCollection","createCollectionScope","createCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","createContextScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","React","forwardRef","props","forwardedRef","jsx","Provider","scope","__scopeRovingFocusGroup","children","Slot","RovingFocusGroupImpl","ref","displayName","orientation","loop","dir","currentTabStopId","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","useRef","composedRefs","useComposedRefs","direction","useDirection","setCurrentTabStopId","useControllableState","prop","defaultProp","onChange","caller","isTabbingBackOut","setIsTabbingBackOut","useState","handleEntryFocus","useCallbackRef","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","useEffect","node","current","addEventListener","removeEventListener","onItemFocus","useCallback","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","Primitive","div","tabIndex","style","outline","onMouseDown","composeEventHandlers","onFocus","event","isKeyboardFocus","target","currentTarget","entryFocusEvent","CustomEvent","dispatchEvent","defaultPrevented","items","filter","item","focusable","focusFirst","find","active","id","Boolean","map","onBlur","ITEM_NAME","RovingFocusGroupItem","itemProps","autoId","useId","context","isCurrentTabStop","ItemSlot","span","preventDefault","onKeyDown","key","shiftKey","focusIntent","getDirectionAwareKey","includes","MAP_KEY_TO_FOCUS_INTENT","getFocusIntent","metaKey","ctrlKey","altKey","candidateNodes","reverse","currentIndex","indexOf","startIndex","array","_","index","length","slice","setTimeout","hasTabStop","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","document","activeElement","candidate","focus","Root","Item"],"mappings":"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","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"index-BNxaLFA6.mjs","sources":["../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":[],"mappings":";;;;;;;;;;;;AAaA,IAAM,WAAA,GAAc,+BAAA;AACpB,IAAM,aAAA,GAAgB;IAAE,OAAA,EAAS,KAAA;IAAO,UAAA,EAAY;AAAK,CAAA;AAMzD,IAAM,UAAA,GAAa,kBAAA;AAGnB,IAAM,CAAC,UAAA,EAAY,aAAA,EAAe,qBAAqB,CAAA,GAAI,iBAGzD,UAAU,CAAA;AAGZ,IAAM,CAAC,6BAAA,EAA+B,2BAA2B,CAAA,GAAI,mBACnE,UAAA,EACA;IAAC;AAAqB,CAAA;AA+BxB,IAAM,CAAC,mBAAA,EAAqB,qBAAqB,CAAA,GAC/C,8BAAkD,UAAU,CAAA;AAK9D,IAAM,mBAAyB,KAAA,CAAA,UAAA,CAC7B,CAAC,OAA2C,YAAA,GAAA;AAC1C,IAAA,uBACE,GAAA,CAAC,UAAA,CAAW,QAAA,EAAX;AAAoB,QAAA,KAAA,EAAO,MAAM,uBAAA;AAChC,QAAA,QAAA,kBAAA,GAAA,CAAC,UAAA,CAAW,IAAA,EAAX;AAAgB,YAAA,KAAA,EAAO,MAAM,uBAAA;YAC5B,QAAA,kBAAA,GAAA,CAAC,oBAAA,EAAA;AAAsB,gBAAA,GAAG,KAAA;gBAAO,GAAA,EAAK;aAAc;SACtD;KACF,CAAA;AAEJ,CAAA,CAAA;AAGF,gBAAA,CAAiB,WAAA,GAAc,UAAA;AAgB/B,IAAM,uBAA6B,KAAA,CAAA,UAAA,CAGjC,CAAC,OAA+C,YAAA,GAAA;IAChD,MAAM,EACJ,uBAAA,EACA,WAAA,EACA,OAAO,KAAA,EACP,GAAA,EACA,gBAAA,EAAkB,oBAAA,EAClB,uBAAA,EACA,wBAAA,EACA,YAAA,EACA,4BAA4B,KAAA,EAC5B,GAAG,UAAA,EACL,GAAI,KAAA;AACJ,IAAA,MAAM,GAAA,GAAY,KAAA,CAAA,MAAA,CAAoC,IAAI,CAAA;IAC1D,MAAM,YAAA,GAAe,eAAA,CAAgB,YAAA,EAAc,GAAG,CAAA;IACtD,MAAM,SAAA,GAAY,aAAa,GAAG,CAAA;AAClC,IAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,oBAAA,CAAqB;QACnE,IAAA,EAAM,oBAAA;AACN,QAAA,WAAA,EAAa,uBAAA,IAA2B,IAAA;QACxC,QAAA,EAAU,wBAAA;QACV,MAAA,EAAQ;KACT,CAAA;IACD,MAAM,CAAC,kBAAkB,mBAAmB,CAAA,GAAU,KAAA,CAAA,QAAA,CAAS,KAAK,CAAA;IACpE,MAAM,gBAAA,GAAmB,eAAe,YAAY,CAAA;IACpD,MAAM,QAAA,GAAW,cAAc,uBAAuB,CAAA;AACtD,IAAA,MAAM,eAAA,GAAwB,KAAA,CAAA,MAAA,CAAO,KAAK,CAAA;IAC1C,MAAM,CAAC,qBAAqB,sBAAsB,CAAA,GAAU,KAAA,CAAA,QAAA,CAAS,CAAC,CAAA;IAEhE,KAAA,CAAA,SAAA,CAAU,IAAA;QACd,MAAM,IAAA,GAAO,IAAI,OAAA;AACjB,QAAA,IAAI,IAAA,EAAM;YACR,IAAA,CAAK,gBAAA,CAAiB,WAAA,EAAa,gBAAgB,CAAA;AACnD,YAAA,OAAO,IAAM,IAAA,CAAK,mBAAA,CAAoB,aAAa,gBAAgB,CAAA;AACrE,QAAA;IACF,CAAA,EAAG;QAAC;AAAiB,KAAA,CAAA;IAErB,uBACE,GAAA,CAAC,mBAAA,EAAA;QACC,KAAA,EAAO,uBAAA;AACP,QAAA,WAAA;QACA,GAAA,EAAK,SAAA;AACL,QAAA,IAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA,EAAmB,MAAA,WAAA,CACjB,CAAC,SAAA,GAAc,mBAAA,CAAoB,SAAS,CAAA,EAC5C;YAAC;AAAmB,SAAA,CAAA;QAEtB,cAAA,EAAsB,KAAA,CAAA,WAAA,CAAY,IAAM,oBAAoB,IAAI,CAAA,EAAG,EAAE,CAAA;QACrE,kBAAA,EAA0B,KAAA,CAAA,WAAA,CACxB,IAAM,sBAAA,CAAuB,CAAC,SAAA,GAAc,SAAA,GAAY,CAAC,CAAA,EACzD,EAAC,CAAA;QAEH,qBAAA,EAA6B,KAAA,CAAA,WAAA,CAC3B,IAAM,sBAAA,CAAuB,CAAC,SAAA,GAAc,SAAA,GAAY,CAAC,CAAA,EACzD,EAAC,CAAA;AAGH,QAAA,QAAA,kBAAA,GAAA,CAAC,SAAA,CAAU,GAAA,EAAV;AACC,YAAA,QAAA,EAAU,gBAAA,IAAoB,mBAAA,KAAwB,CAAA,GAAI,EAAA,GAAK,CAAA;YAC/D,kBAAA,EAAkB,WAAA;AACjB,YAAA,GAAG,UAAA;YACJ,GAAA,EAAK,YAAA;YACL,KAAA,EAAO;gBAAE,OAAA,EAAS,MAAA;AAAQ,gBAAA,GAAG,MAAM;AAAM,aAAA;AACzC,YAAA,WAAA,EAAa,oBAAA,CAAqB,KAAA,CAAM,WAAA,EAAa,IAAA;AACnD,gBAAA,eAAA,CAAgB,OAAA,GAAU,IAAA;YAC5B,CAAC,CAAA;AACD,YAAA,OAAA,EAAS,oBAAA,CAAqB,KAAA,CAAM,OAAA,EAAS,CAAC,KAAA,GAAA;gBAK5C,MAAM,eAAA,GAAkB,CAAC,eAAA,CAAgB,OAAA;gBAEzC,IAAI,KAAA,CAAM,MAAA,KAAW,KAAA,CAAM,aAAA,IAAiB,eAAA,IAAmB,CAAC,gBAAA,EAAkB;AAChF,oBAAA,MAAM,eAAA,GAAkB,IAAI,WAAA,CAAY,WAAA,EAAa,aAAa,CAAA;AAClE,oBAAA,KAAA,CAAM,aAAA,CAAc,aAAA,CAAc,eAAe,CAAA;oBAEjD,IAAI,CAAC,eAAA,CAAgB,gBAAA,EAAkB;wBACrC,MAAM,KAAA,GAAQ,UAAS,CAAE,MAAA,CAAO,CAAC,IAAA,GAAS,KAAK,SAAS,CAAA;AACxD,wBAAA,MAAM,aAAa,KAAA,CAAM,IAAA,CAAK,CAAC,IAAA,GAAS,KAAK,MAAM,CAAA;wBACnD,MAAM,WAAA,GAAc,MAAM,IAAA,CAAK,CAAC,IAAA,GAAS,IAAA,CAAK,EAAA,KAAO,gBAAgB,CAAA;AACrE,wBAAA,MAAM,cAAA,GAAiB;AAAC,4BAAA,UAAA;4BAAY,WAAA;+BAAgB;AAAK,yBAAA,CAAE,MAAA,CACzD,OAAA,CAAA;wBAEF,MAAM,cAAA,GAAiB,eAAe,GAAA,CAAI,CAAC,IAAA,GAAS,IAAA,CAAK,GAAA,CAAI,OAAQ,CAAA;AACrE,wBAAA,UAAA,CAAW,gBAAgB,yBAAyB,CAAA;AACtD,oBAAA;AACF,gBAAA;AAEA,gBAAA,eAAA,CAAgB,OAAA,GAAU,KAAA;YAC5B,CAAC,CAAA;AACD,YAAA,MAAA,EAAQ,qBAAqB,KAAA,CAAM,MAAA,EAAQ,IAAM,mBAAA,CAAoB,KAAK,CAAC;AAAA,SAAA;AAC7E,KAAA,CAAA;AAGN,CAAC,CAAA;AAMD,IAAM,SAAA,GAAY,sBAAA;AAalB,IAAM,uBAA6B,KAAA,CAAA,UAAA,CACjC,CAAC,OAA0C,YAAA,GAAA;AACzC,IAAA,MAAM,EACJ,uBAAA,EACA,SAAA,GAAY,IAAA,EACZ,MAAA,GAAS,KAAA,EACT,SAAA,EACA,QAAA,EACA,GAAG,WACL,GAAI,KAAA;AACJ,IAAA,MAAM,SAAS,KAAA,EAAM;AACrB,IAAA,MAAM,KAAK,SAAA,IAAa,MAAA;IACxB,MAAM,OAAA,GAAU,qBAAA,CAAsB,SAAA,EAAW,uBAAuB,CAAA;IACxE,MAAM,gBAAA,GAAmB,OAAA,CAAQ,gBAAA,KAAqB,EAAA;IACtD,MAAM,QAAA,GAAW,cAAc,uBAAuB,CAAA;IAEtD,MAAM,EAAE,kBAAA,EAAoB,qBAAA,EAAuB,gBAAA,EAAiB,GAAI,OAAA;IAElE,KAAA,CAAA,SAAA,CAAU,IAAA;AACd,QAAA,IAAI,SAAA,EAAW;YACb,kBAAA,EAAmB;AACnB,YAAA,OAAO,IAAM,qBAAA,EAAsB;AACrC,QAAA;IACF,CAAA,EAAG;AAAC,QAAA,SAAA;AAAW,QAAA,kBAAA;QAAoB;AAAsB,KAAA,CAAA;AAEzD,IAAA,uBACE,GAAA,CAAC,UAAA,CAAW,QAAA,EAAX;QACC,KAAA,EAAO,uBAAA;AACP,QAAA,EAAA;AACA,QAAA,SAAA;AACA,QAAA,MAAA;AAEA,QAAA,QAAA,kBAAA,GAAA,CAAC,SAAA,CAAU,IAAA,EAAV;YACC,QAAA,EAAU,gBAAA,GAAmB,IAAI,EAAA;AACjC,YAAA,kBAAA,EAAkB,QAAQ,WAAA;AACzB,YAAA,GAAG,SAAA;YACJ,GAAA,EAAK,YAAA;AACL,YAAA,WAAA,EAAa,oBAAA,CAAqB,KAAA,CAAM,WAAA,EAAa,CAAC,KAAA,GAAA;AAGpD,gBAAA,IAAI,CAAC,SAAA,EAAW,KAAA,CAAM,cAAA,EAAe;qBAEhC,OAAA,CAAQ,WAAA,CAAY,EAAE,CAAA;YAC7B,CAAC,CAAA;YACD,OAAA,EAAS,oBAAA,CAAqB,MAAM,OAAA,EAAS,IAAM,OAAA,CAAQ,WAAA,CAAY,EAAE,CAAC,CAAA;AAC1E,YAAA,SAAA,EAAW,oBAAA,CAAqB,KAAA,CAAM,SAAA,EAAW,CAAC,KAAA,GAAA;AAChD,gBAAA,IAAI,MAAM,GAAA,KAAQ,KAAA,IAAS,KAAA,CAAM,QAAA,EAAU;AACzC,oBAAA,OAAA,CAAQ,cAAA,EAAe;AACvB,oBAAA;AACF,gBAAA;AAEA,gBAAA,IAAI,MAAM,MAAA,KAAW,KAAA,CAAM,aAAA,EAAe;AAE1C,gBAAA,MAAM,cAAc,cAAA,CAAe,KAAA,EAAO,QAAQ,WAAA,EAAa,QAAQ,GAAG,CAAA;gBAE1E,IAAI,WAAA,KAAgB,MAAA,EAAW;AAC7B,oBAAA,IAAI,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,MAAA,IAAU,KAAA,CAAM,QAAA,EAAU;AACtE,oBAAA,KAAA,CAAM,cAAA,EAAe;oBACrB,MAAM,KAAA,GAAQ,UAAS,CAAE,MAAA,CAAO,CAAC,IAAA,GAAS,KAAK,SAAS,CAAA;oBACxD,IAAI,cAAA,GAAiB,MAAM,GAAA,CAAI,CAAC,IAAA,GAAS,IAAA,CAAK,GAAA,CAAI,OAAQ,CAAA;AAE1D,oBAAA,IAAI,WAAA,KAAgB,MAAA,EAAQ,cAAA,CAAe,OAAA,EAAQ;yBAAA,IAC1C,WAAA,KAAgB,MAAA,IAAU,WAAA,KAAgB,MAAA,EAAQ;AACzD,wBAAA,IAAI,WAAA,KAAgB,MAAA,EAAQ,cAAA,CAAe,OAAA,EAAQ;AACnD,wBAAA,MAAM,YAAA,GAAe,cAAA,CAAe,OAAA,CAAQ,MAAM,aAAa,CAAA;AAC/D,wBAAA,cAAA,GAAiB,OAAA,CAAQ,IAAA,GACrB,SAAA,CAAU,cAAA,EAAgB,YAAA,GAAe,CAAC,CAAA,GAC1C,cAAA,CAAe,KAAA,CAAM,YAAA,GAAe,CAAC,CAAA;AAC3C,oBAAA;oBAMA,UAAA,CAAW,IAAM,UAAA,CAAW,cAAc,CAAC,CAAA;AAC7C,gBAAA;YACF,CAAC,CAAA;YAEA,QAAA,EAAA,OAAO,QAAA,KAAa,UAAA,GACjB,QAAA,CAAS;AAAE,gBAAA,gBAAA;AAAkB,gBAAA,UAAA,EAAY,gBAAA,IAAoB;AAAK,aAAC,CAAA,GACnE;AAAA,SAAA;AACN,KAAA,CAAA;AAGN,CAAA,CAAA;AAGF,oBAAA,CAAqB,WAAA,GAAc,SAAA;AAKnC,IAAM,uBAAA,GAAuD;IAC3D,SAAA,EAAW,MAAA;IAAQ,OAAA,EAAS,MAAA;IAC5B,UAAA,EAAY,MAAA;IAAQ,SAAA,EAAW,MAAA;IAC/B,MAAA,EAAQ,OAAA;IAAS,IAAA,EAAM,OAAA;IACvB,QAAA,EAAU,MAAA;IAAQ,GAAA,EAAK;AACzB,CAAA;AAEA,SAAS,oBAAA,CAAqB,GAAA,EAAa,GAAA,EAAiB;IAC1D,IAAI,GAAA,KAAQ,KAAA,EAAO,OAAO,GAAA;AAC1B,IAAA,OAAO,GAAA,KAAQ,WAAA,GAAc,YAAA,GAAe,GAAA,KAAQ,eAAe,WAAA,GAAc,GAAA;AACnF;AAIA,SAAS,eAAe,KAAA,EAA4B,WAAA,EAA2B,GAAA,EAAiB;AAC9F,IAAA,MAAM,GAAA,GAAM,oBAAA,CAAqB,KAAA,CAAM,GAAA,EAAK,GAAG,CAAA;AAC/C,IAAA,IAAI,gBAAgB,UAAA,IAAc;AAAC,QAAA,WAAA;QAAa;AAAY,KAAA,CAAE,QAAA,CAAS,GAAG,CAAA,EAAG,OAAO,MAAA;AACpF,IAAA,IAAI,gBAAgB,YAAA,IAAgB;AAAC,QAAA,SAAA;QAAW;AAAW,KAAA,CAAE,QAAA,CAAS,GAAG,CAAA,EAAG,OAAO,MAAA;IACnF,OAAO,uBAAA,CAAwB,GAAG,CAAA;AACpC;AAEA,SAAS,UAAA,CAAW,UAAA,EAA2B,aAAA,GAAgB,KAAA,EAAO;IACpE,MAAM,0BAAA,GAA6B,SAAS,aAAA;IAC5C,KAAA,MAAW,aAAa,UAAA,CAAY;QAElC,IAAI,SAAA,KAAc,4BAA4B;AAC9C,QAAA,SAAA,CAAU,KAAA,CAAM;AAAE,YAAA;SAAe,CAAA;AACjC,QAAA,IAAI,QAAA,CAAS,aAAA,KAAkB,0BAAA,EAA4B;AAC7D,IAAA;AACF;AAMA,SAAS,SAAA,CAAa,KAAA,EAAY,UAAA,EAAoB;AACpD,IAAA,OAAO,KAAA,CAAM,GAAA,CAAO,CAAC,GAAG,KAAA,GAAU,KAAA,CAAA,CAAO,UAAA,GAAa,KAAA,IAAS,KAAA,CAAM,MAAM,CAAE,CAAA;AAC/E;AAEA,IAAM,IAAA,GAAO;AACb,IAAM,IAAA,GAAO;;;;","x_google_ignoreList":[0]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-
|
1
|
+
{"version":3,"file":"index-BZUrHhU8.mjs","sources":["../../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs"],"sourcesContent":["// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useLayoutEffect"],"mappings":";;;AASA,IAAMA,mBAAkB,UAAA,EAAY,QAAA,GAAiB,MAAA,eAAA,GAAkB,KAAO;;;;","x_google_ignoreList":[0]}
|
@@ -0,0 +1,110 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
3
|
+
|
4
|
+
// packages/react/context/src/create-context.tsx
|
5
|
+
function createContext2(rootComponentName, defaultContext) {
|
6
|
+
const Context = React.createContext(defaultContext);
|
7
|
+
const Provider = (props)=>{
|
8
|
+
const { children, ...context } = props;
|
9
|
+
const value = React.useMemo(()=>context, Object.values(context));
|
10
|
+
return /* @__PURE__ */ jsx(Context.Provider, {
|
11
|
+
value,
|
12
|
+
children
|
13
|
+
});
|
14
|
+
};
|
15
|
+
Provider.displayName = rootComponentName + "Provider";
|
16
|
+
function useContext2(consumerName) {
|
17
|
+
const context = React.useContext(Context);
|
18
|
+
if (context) return context;
|
19
|
+
if (defaultContext !== void 0) return defaultContext;
|
20
|
+
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
21
|
+
}
|
22
|
+
return [
|
23
|
+
Provider,
|
24
|
+
useContext2
|
25
|
+
];
|
26
|
+
}
|
27
|
+
function createContextScope(scopeName, createContextScopeDeps = []) {
|
28
|
+
let defaultContexts = [];
|
29
|
+
function createContext3(rootComponentName, defaultContext) {
|
30
|
+
const BaseContext = React.createContext(defaultContext);
|
31
|
+
const index = defaultContexts.length;
|
32
|
+
defaultContexts = [
|
33
|
+
...defaultContexts,
|
34
|
+
defaultContext
|
35
|
+
];
|
36
|
+
const Provider = (props)=>{
|
37
|
+
const { scope, children, ...context } = props;
|
38
|
+
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
39
|
+
const value = React.useMemo(()=>context, Object.values(context));
|
40
|
+
return /* @__PURE__ */ jsx(Context.Provider, {
|
41
|
+
value,
|
42
|
+
children
|
43
|
+
});
|
44
|
+
};
|
45
|
+
Provider.displayName = rootComponentName + "Provider";
|
46
|
+
function useContext2(consumerName, scope) {
|
47
|
+
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
48
|
+
const context = React.useContext(Context);
|
49
|
+
if (context) return context;
|
50
|
+
if (defaultContext !== void 0) return defaultContext;
|
51
|
+
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
52
|
+
}
|
53
|
+
return [
|
54
|
+
Provider,
|
55
|
+
useContext2
|
56
|
+
];
|
57
|
+
}
|
58
|
+
const createScope = ()=>{
|
59
|
+
const scopeContexts = defaultContexts.map((defaultContext)=>{
|
60
|
+
return React.createContext(defaultContext);
|
61
|
+
});
|
62
|
+
return function useScope(scope) {
|
63
|
+
const contexts = scope?.[scopeName] || scopeContexts;
|
64
|
+
return React.useMemo(()=>({
|
65
|
+
[`__scope${scopeName}`]: {
|
66
|
+
...scope,
|
67
|
+
[scopeName]: contexts
|
68
|
+
}
|
69
|
+
}), [
|
70
|
+
scope,
|
71
|
+
contexts
|
72
|
+
]);
|
73
|
+
};
|
74
|
+
};
|
75
|
+
createScope.scopeName = scopeName;
|
76
|
+
return [
|
77
|
+
createContext3,
|
78
|
+
composeContextScopes(createScope, ...createContextScopeDeps)
|
79
|
+
];
|
80
|
+
}
|
81
|
+
function composeContextScopes(...scopes) {
|
82
|
+
const baseScope = scopes[0];
|
83
|
+
if (scopes.length === 1) return baseScope;
|
84
|
+
const createScope = ()=>{
|
85
|
+
const scopeHooks = scopes.map((createScope2)=>({
|
86
|
+
useScope: createScope2(),
|
87
|
+
scopeName: createScope2.scopeName
|
88
|
+
}));
|
89
|
+
return function useComposedScopes(overrideScopes) {
|
90
|
+
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName })=>{
|
91
|
+
const scopeProps = useScope(overrideScopes);
|
92
|
+
const currentScope = scopeProps[`__scope${scopeName}`];
|
93
|
+
return {
|
94
|
+
...nextScopes2,
|
95
|
+
...currentScope
|
96
|
+
};
|
97
|
+
}, {});
|
98
|
+
return React.useMemo(()=>({
|
99
|
+
[`__scope${baseScope.scopeName}`]: nextScopes
|
100
|
+
}), [
|
101
|
+
nextScopes
|
102
|
+
]);
|
103
|
+
};
|
104
|
+
};
|
105
|
+
createScope.scopeName = baseScope.scopeName;
|
106
|
+
return createScope;
|
107
|
+
}
|
108
|
+
|
109
|
+
export { createContext2 as a, createContextScope as c };
|
110
|
+
//# sourceMappingURL=index-B_FsTtnF.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-
|
1
|
+
{"version":3,"file":"index-B_FsTtnF.mjs","sources":["../../node_modules/@radix-ui/react-context/dist/index.mjs"],"sourcesContent":["// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createContext","useContext","createScope","nextScopes"],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
|
3
|
+
// packages/react/use-callback-ref/src/use-callback-ref.tsx
|
4
|
+
function useCallbackRef(callback) {
|
5
|
+
const callbackRef = React.useRef(callback);
|
6
|
+
React.useEffect(()=>{
|
7
|
+
callbackRef.current = callback;
|
8
|
+
});
|
9
|
+
return React.useMemo(()=>(...args)=>callbackRef.current?.(...args), []);
|
10
|
+
}
|
11
|
+
|
12
|
+
export { useCallbackRef as u };
|
13
|
+
//# sourceMappingURL=index-CAg47KJ6.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-
|
1
|
+
{"version":3,"file":"index-CAg47KJ6.mjs","sources":["../../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs"],"sourcesContent":["// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":[],"mappings":";;;AAMA,SAAS,cAAA,CAAkD,QAAA,EAA4B;AACrF,IAAA,MAAM,WAAA,GAAoB,KAAA,CAAA,MAAA,CAAO,QAAQ,CAAA;IAEnC,KAAA,CAAA,SAAA,CAAU,IAAA;AACd,QAAA,WAAA,CAAY,OAAA,GAAU,QAAA;IACxB,CAAC,CAAA;AAGD,IAAA,OAAa,KAAA,CAAA,OAAA,CAAQ,IAAO,CAAA,GAAI,IAAA,GAAS,WAAA,CAAY,OAAA,GAAU,GAAG,IAAI,CAAA,EAAS,EAAE,CAAA;AACnF;;;;","x_google_ignoreList":[0]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import 'react/jsx-runtime';
|
3
|
+
|
4
|
+
// packages/react/direction/src/direction.tsx
|
5
|
+
var DirectionContext = React.createContext(void 0);
|
6
|
+
function useDirection(localDir) {
|
7
|
+
const globalDir = React.useContext(DirectionContext);
|
8
|
+
return localDir || globalDir || "ltr";
|
9
|
+
}
|
10
|
+
|
11
|
+
export { useDirection as u };
|
12
|
+
//# sourceMappingURL=index-CXuEm8w1.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-
|
1
|
+
{"version":3,"file":"index-CXuEm8w1.mjs","sources":["../../node_modules/@radix-ui/react-direction/dist/index.mjs"],"sourcesContent":["// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":[],"mappings":";;;;AAGA,IAAM,gBAAA,GAAyB,KAAA,CAAA,aAAA,CAAqC,MAAS,CAAA;AAiB7E,SAAS,YAAA,CAAa,QAAA,EAAsB;AAC1C,IAAA,MAAM,SAAA,GAAkB,KAAA,CAAA,UAAA,CAAW,gBAAgB,CAAA;AACnD,IAAA,OAAO,YAAY,SAAA,IAAa,KAAA;AAClC;;;;","x_google_ignoreList":[0]}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { u as useLayoutEffect2 } from './index-BZUrHhU8.mjs';
|
3
|
+
|
4
|
+
// src/use-controllable-state.tsx
|
5
|
+
var useInsertionEffect = React[" useInsertionEffect ".trim().toString()] || useLayoutEffect2;
|
6
|
+
function useControllableState({ prop, defaultProp, onChange = ()=>{}, caller }) {
|
7
|
+
const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({
|
8
|
+
defaultProp,
|
9
|
+
onChange
|
10
|
+
});
|
11
|
+
const isControlled = prop !== void 0;
|
12
|
+
const value = isControlled ? prop : uncontrolledProp;
|
13
|
+
{
|
14
|
+
const isControlledRef = React.useRef(prop !== void 0);
|
15
|
+
React.useEffect(()=>{
|
16
|
+
const wasControlled = isControlledRef.current;
|
17
|
+
if (wasControlled !== isControlled) {
|
18
|
+
const from = wasControlled ? "controlled" : "uncontrolled";
|
19
|
+
const to = isControlled ? "controlled" : "uncontrolled";
|
20
|
+
console.warn(`${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`);
|
21
|
+
}
|
22
|
+
isControlledRef.current = isControlled;
|
23
|
+
}, [
|
24
|
+
isControlled,
|
25
|
+
caller
|
26
|
+
]);
|
27
|
+
}
|
28
|
+
const setValue = React.useCallback((nextValue)=>{
|
29
|
+
if (isControlled) {
|
30
|
+
const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
|
31
|
+
if (value2 !== prop) {
|
32
|
+
onChangeRef.current?.(value2);
|
33
|
+
}
|
34
|
+
} else {
|
35
|
+
setUncontrolledProp(nextValue);
|
36
|
+
}
|
37
|
+
}, [
|
38
|
+
isControlled,
|
39
|
+
prop,
|
40
|
+
setUncontrolledProp,
|
41
|
+
onChangeRef
|
42
|
+
]);
|
43
|
+
return [
|
44
|
+
value,
|
45
|
+
setValue
|
46
|
+
];
|
47
|
+
}
|
48
|
+
function useUncontrolledState({ defaultProp, onChange }) {
|
49
|
+
const [value, setValue] = React.useState(defaultProp);
|
50
|
+
const prevValueRef = React.useRef(value);
|
51
|
+
const onChangeRef = React.useRef(onChange);
|
52
|
+
useInsertionEffect(()=>{
|
53
|
+
onChangeRef.current = onChange;
|
54
|
+
}, [
|
55
|
+
onChange
|
56
|
+
]);
|
57
|
+
React.useEffect(()=>{
|
58
|
+
if (prevValueRef.current !== value) {
|
59
|
+
onChangeRef.current?.(value);
|
60
|
+
prevValueRef.current = value;
|
61
|
+
}
|
62
|
+
}, [
|
63
|
+
value,
|
64
|
+
prevValueRef
|
65
|
+
]);
|
66
|
+
return [
|
67
|
+
value,
|
68
|
+
setValue,
|
69
|
+
onChangeRef
|
70
|
+
];
|
71
|
+
}
|
72
|
+
function isFunction(value) {
|
73
|
+
return typeof value === "function";
|
74
|
+
}
|
75
|
+
|
76
|
+
export { useControllableState as u };
|
77
|
+
//# sourceMappingURL=index-C_jFwfR_.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-
|
1
|
+
{"version":3,"file":"index-C_jFwfR_.mjs","sources":["../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs"],"sourcesContent":["// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useLayoutEffect","value"],"mappings":";;;;AAIA,IAAM,kBAAA,GACH,KAAA,CAAc,sBAAA,CAAuB,IAAA,EAAK,CAAE,QAAA,EAAU,CAAA,IAAKA,gBAAA;AAYvD,SAAS,oBAAA,CAAwB,EACtC,IAAA,EACA,WAAA,EACA,QAAA,GAAW,IAAA,CAAO,CAAD,EACjB,MAAA,EACF,EAAsD;AACpD,IAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAA,EAAqB,WAAW,CAAA,GAAI,oBAAA,CAAqB;AAChF,QAAA,WAAA;AACA,QAAA;KACD,CAAA;IACD,MAAM,YAAA,GAAe,SAAS,MAAA;IAC9B,MAAM,KAAA,GAAQ,eAAe,IAAA,GAAO,gBAAA;AAMpC,IAA2C;AACzC,QAAA,MAAM,kBAAwB,KAAA,CAAA,MAAA,CAAO,IAAA,KAAS,MAAS,CAAA;QACjD,KAAA,CAAA,SAAA,CAAU,IAAA;YACd,MAAM,aAAA,GAAgB,gBAAgB,OAAA;AACtC,YAAA,IAAI,kBAAkB,YAAA,EAAc;gBAClC,MAAM,IAAA,GAAO,gBAAgB,YAAA,GAAe,cAAA;gBAC5C,MAAM,EAAA,GAAK,eAAe,YAAA,GAAe,cAAA;AACzC,gBAAA,OAAA,CAAQ,IAAA,CACN,CAAA,EAAG,MAAM,CAAA,kBAAA,EAAqB,IAAI,CAAA,IAAA,EAAO,EAAE,CAAA,0KAAA,CAAA,CAAA;AAE/C,YAAA;AACA,YAAA,eAAA,CAAgB,OAAA,GAAU,YAAA;QAC5B,CAAA,EAAG;AAAC,YAAA,YAAA;YAAc;AAAO,SAAA,CAAA;AAC3B,IAAA;AAGA,IAAA,MAAM,QAAA,GAAiB,KAAA,CAAA,WAAA,CACrB,CAAC,SAAA,GAAA;AACC,QAAA,IAAI,YAAA,EAAc;AAChB,YAAA,MAAMC,SAAQ,UAAA,CAAW,SAAS,CAAA,GAAI,SAAA,CAAU,IAAI,CAAA,GAAI,SAAA;AACxD,YAAA,IAAIA,WAAU,IAAA,EAAM;gBAClB,WAAA,CAAY,OAAA,GAAUA,MAAK,CAAA;AAC7B,YAAA;QACF,CAAA,MAAO;AACL,YAAA,mBAAA,CAAoB,SAAS,CAAA;AAC/B,QAAA;IACF,CAAA,EACA;AAAC,QAAA,YAAA;AAAc,QAAA,IAAA;AAAM,QAAA,mBAAA;QAAqB;AAAW,KAAA,CAAA;IAGvD,OAAO;AAAC,QAAA,KAAA;QAAO;AAAQ,KAAA;AACzB;AAEA,SAAS,qBAAwB,EAC/B,WAAA,EACA,QAAA,EACF,EAIE;IACA,MAAM,CAAC,OAAO,QAAQ,CAAA,GAAU,KAAA,CAAA,QAAA,CAAS,WAAW,CAAA;AACpD,IAAA,MAAM,YAAA,GAAqB,KAAA,CAAA,MAAA,CAAO,KAAK,CAAA;AAEvC,IAAA,MAAM,WAAA,GAAoB,KAAA,CAAA,MAAA,CAAO,QAAQ,CAAA;AACzC,IAAA,kBAAA,CAAmB,IAAA;AACjB,QAAA,WAAA,CAAY,OAAA,GAAU,QAAA;IACxB,CAAA,EAAG;QAAC;AAAS,KAAA,CAAA;IAEP,KAAA,CAAA,SAAA,CAAU,IAAA;QACd,IAAI,YAAA,CAAa,OAAA,KAAY,KAAA,EAAO;YAClC,WAAA,CAAY,OAAA,GAAU,KAAK,CAAA;AAC3B,YAAA,YAAA,CAAa,OAAA,GAAU,KAAA;AACzB,QAAA;IACF,CAAA,EAAG;AAAC,QAAA,KAAA;QAAO;AAAa,KAAA,CAAA;IAExB,OAAO;AAAC,QAAA,KAAA;AAAO,QAAA,QAAA;QAAU;AAAW,KAAA;AACtC;AAEA,SAAS,UAAA,CAAW,KAAA,EAAkD;AACpE,IAAA,OAAO,OAAO,KAAA,KAAU,UAAA;AAC1B;;;;","x_google_ignoreList":[0]}
|