@televet/kibble-ui 4.0.0-beta.71 → 4.0.0-beta.72
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/chunks/{buttonGroup.component-B6Z97Z5w.js → buttonGroup.component-CbB8oLRV.js} +2 -2
- package/dist/chunks/{buttonGroup.component-B6Z97Z5w.js.map → buttonGroup.component-CbB8oLRV.js.map} +1 -1
- package/dist/chunks/{checkbox.component-PJondNuh.js → checkbox.component-6ixdtKi3.js} +2 -2
- package/dist/chunks/{checkbox.component-PJondNuh.js.map → checkbox.component-6ixdtKi3.js.map} +1 -1
- package/dist/chunks/{checkbox.records-BtZVOsgd.js → checkbox.records-BG_mi0eO.js} +9 -9
- package/dist/chunks/{checkbox.records-BtZVOsgd.js.map → checkbox.records-BG_mi0eO.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-DUlVhjLO.js → checkboxGroup.component-c1CQjpqj.js} +2 -2
- package/dist/chunks/{checkboxGroup.component-DUlVhjLO.js.map → checkboxGroup.component-c1CQjpqj.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-CYnBgT3a.js → conversationCard.component-DvHrB_24.js} +2 -2
- package/dist/chunks/{conversationCard.component-CYnBgT3a.js.map → conversationCard.component-DvHrB_24.js.map} +1 -1
- package/dist/chunks/{datePicker.component-Cu0sCxMB.js → datePicker.component-CE_sp7uO.js} +2 -2
- package/dist/chunks/{datePicker.component-Cu0sCxMB.js.map → datePicker.component-CE_sp7uO.js.map} +1 -1
- package/dist/chunks/{index-z-FFv-gK.js → index-Bjkz87I7.js} +9 -9
- package/dist/chunks/{index-z-FFv-gK.js.map → index-Bjkz87I7.js.map} +1 -1
- package/dist/chunks/{index-DcJZ8q0f.js → index-Bmqy6-jf.js} +8 -8
- package/dist/chunks/{index-DcJZ8q0f.js.map → index-Bmqy6-jf.js.map} +1 -1
- package/dist/chunks/{index-S1uNQPZj.js → index-OFP_PZ3y.js} +6 -6
- package/dist/chunks/{index-S1uNQPZj.js.map → index-OFP_PZ3y.js.map} +1 -1
- package/dist/chunks/{menu.component-DaWlH0RE.js → menu.component-2IRirCTG.js} +2 -2
- package/dist/chunks/{menu.component-DaWlH0RE.js.map → menu.component-2IRirCTG.js.map} +1 -1
- package/dist/chunks/{pinInput.types-HUZl_UUD.js → pinInput.types-D0M2Lot4.js} +2 -2
- package/dist/chunks/{pinInput.types-HUZl_UUD.js.map → pinInput.types-D0M2Lot4.js.map} +1 -1
- package/dist/chunks/{radio.records-DzITb4sg.js → radio.records-CDuz84qP.js} +8 -8
- package/dist/chunks/{radio.records-DzITb4sg.js.map → radio.records-CDuz84qP.js.map} +1 -1
- package/dist/chunks/{radioGroup.component-PdVYD3bp.js → radioGroup.component-cQRj9o48.js} +3 -3
- package/dist/chunks/{radioGroup.component-PdVYD3bp.js.map → radioGroup.component-cQRj9o48.js.map} +1 -1
- package/dist/chunks/{select.component-DHP33P1O.js → select.component-B-98Qic5.js} +2 -2
- package/dist/chunks/{select.component-DHP33P1O.js.map → select.component-B-98Qic5.js.map} +1 -1
- package/dist/chunks/{switch.component-CbZlg5Iz.js → switch.component-Bsn6yqT1.js} +2 -2
- package/dist/chunks/{switch.component-CbZlg5Iz.js.map → switch.component-Bsn6yqT1.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-C6cfZb0d.js → tagBlock.component-CYmPDQlq.js} +2 -2
- package/dist/chunks/{tagBlock.component-C6cfZb0d.js.map → tagBlock.component-CYmPDQlq.js.map} +1 -1
- package/dist/chunks/{theme.provider-BK05OKFS.js → theme.provider-2Kdf3RF1.js} +574 -576
- package/dist/chunks/{theme.provider-BK05OKFS.js.map → theme.provider-2Kdf3RF1.js.map} +1 -1
- package/dist/chunks/{theme.provider-DNwKSEWO.js → theme.provider-DpipTk0L.js} +5 -5
- package/dist/chunks/{theme.provider-DNwKSEWO.js.map → theme.provider-DpipTk0L.js.map} +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/theme/index.cjs +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/Checkbox/index.js +1 -1
- package/dist/esm/components/CheckboxGroup/index.js +1 -1
- package/dist/esm/components/ConversationCard/index.js +1 -1
- package/dist/esm/components/DatePicker/index.js +1 -1
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/PinInput/index.js +1 -1
- package/dist/esm/components/RadioGroup/index.js +1 -1
- package/dist/esm/components/Select/index.js +1 -1
- package/dist/esm/components/Switch/index.js +1 -1
- package/dist/esm/components/TagBlock/index.js +1 -1
- package/dist/esm/components/index.js +11 -11
- package/dist/esm/index.js +12 -12
- package/dist/esm/theme/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { s as N, r as m, f as T, h as
|
|
1
|
+
import { s as N, b as U, r as m, f as T, h as S, j as R, d as r, k as O, l as w, m as _, n as $, q as B, t as k, u as D, v as M, w as q, x as H } from "./index-CYk-7wwG.js";
|
|
2
2
|
import { b as K } from "./use-locale-context-D-agiW5E.js";
|
|
3
|
-
var G =
|
|
3
|
+
var G = U("pinInput").parts("root", "label", "input", "control"), y = G.build(), v = (e) => e.ids?.root ?? `pin-input:${e.id}`, j = (e, t) => e.ids?.input?.(t) ?? `pin-input:${e.id}:${t}`, C = (e) => e.ids?.hiddenInput ?? `pin-input:${e.id}:hidden`, W = (e) => e.ids?.label ?? `pin-input:${e.id}:label`, Z = (e) => e.ids?.control ?? `pin-input:${e.id}:control`, X = (e) => e.getById(v(e)), x = (e) => {
|
|
4
4
|
const a = `input[data-ownedby=${CSS.escape(v(e))}]`;
|
|
5
5
|
return H(X(e), a);
|
|
6
6
|
}, g = (e, t) => x(e)[t], z = (e) => x(e)[0], L = (e) => e.getById(C(e)), F = (e, t) => {
|
|
@@ -99,7 +99,7 @@ function ue(e, t) {
|
|
|
99
99
|
"data-ownedby": v(l),
|
|
100
100
|
"aria-label": E?.inputLabel?.(d, o("valueLength")),
|
|
101
101
|
inputMode: n("otp") || n("type") === "numeric" ? "numeric" : "text",
|
|
102
|
-
"aria-invalid":
|
|
102
|
+
"aria-invalid": O(I),
|
|
103
103
|
"data-invalid": r(I),
|
|
104
104
|
type: n("mask") ? "password" : b,
|
|
105
105
|
defaultValue: u.get("value")[d] || "",
|
|
@@ -183,7 +183,7 @@ var { choose: ee, createMachine: te } = N(), se = te({
|
|
|
183
183
|
value: t(() => ({
|
|
184
184
|
value: e("value"),
|
|
185
185
|
defaultValue: e("defaultValue"),
|
|
186
|
-
isEqual:
|
|
186
|
+
isEqual: R,
|
|
187
187
|
onChange(a) {
|
|
188
188
|
e("onValueChange")?.({ value: a, valueAsString: a.join("") });
|
|
189
189
|
}
|
|
@@ -297,7 +297,7 @@ var { choose: ee, createMachine: te } = N(), se = te({
|
|
|
297
297
|
actions: {
|
|
298
298
|
dispatchInputEvent({ computed: e, scope: t }) {
|
|
299
299
|
const a = L(t);
|
|
300
|
-
|
|
300
|
+
S(a, { value: e("valueAsString") });
|
|
301
301
|
},
|
|
302
302
|
setInputCount({ scope: e, context: t, prop: a }) {
|
|
303
303
|
if (a("count")) return;
|
|
@@ -441,4 +441,4 @@ export {
|
|
|
441
441
|
ue as c,
|
|
442
442
|
se as m
|
|
443
443
|
};
|
|
444
|
-
//# sourceMappingURL=index-
|
|
444
|
+
//# sourceMappingURL=index-OFP_PZ3y.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-S1uNQPZj.js","sources":["../../node_modules/@zag-js/pin-input/dist/index.mjs"],"sourcesContent":["import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, dispatchInputValueEvent, queryAll, dataAttr, ariaAttr, isHTMLElement, isComposingEvent, isModifierKey, getEventKey, getNativeEvent, getBeforeInputValue, visuallyHiddenStyle } from '@zag-js/dom-query';\nimport { setValueAtIndex, isEqual, createSplitProps, invariant } from '@zag-js/utils';\nimport { setup } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/pin-input.anatomy.ts\nvar anatomy = createAnatomy(\"pinInput\").parts(\"root\", \"label\", \"input\", \"control\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `pin-input:${ctx.id}`;\nvar getInputId = (ctx, id) => ctx.ids?.input?.(id) ?? `pin-input:${ctx.id}:${id}`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `pin-input:${ctx.id}:hidden`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `pin-input:${ctx.id}:label`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `pin-input:${ctx.id}:control`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getInputEls = (ctx) => {\n const ownerId = CSS.escape(getRootId(ctx));\n const selector = `input[data-ownedby=${ownerId}]`;\n return queryAll(getRootEl(ctx), selector);\n};\nvar getInputElAtIndex = (ctx, index) => getInputEls(ctx)[index];\nvar getFirstInputEl = (ctx) => getInputEls(ctx)[0];\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar setInputValue = (inputEl, value) => {\n inputEl.value = value;\n inputEl.setAttribute(\"value\", value);\n};\n\n// src/pin-input.utils.ts\nvar REGEX = {\n numeric: /^[0-9]+$/,\n alphabetic: /^[A-Za-z]+$/,\n alphanumeric: /^[a-zA-Z0-9]+$/i\n};\nfunction isValidType(type, value) {\n if (!type) return true;\n return !!REGEX[type]?.test(value);\n}\nfunction isValidValue(value, type, pattern) {\n if (!pattern) return isValidType(type, value);\n const regex = new RegExp(pattern, \"g\");\n return regex.test(value);\n}\n\n// src/pin-input.connect.ts\nfunction connect(service, normalize) {\n const { send, context, computed, prop, scope } = service;\n const complete = computed(\"isValueComplete\");\n const invalid = prop(\"invalid\");\n const translations = prop(\"translations\");\n const focusedIndex = context.get(\"focusedIndex\");\n function focus() {\n getFirstInputEl(scope)?.focus();\n }\n return {\n focus,\n count: context.get(\"count\"),\n items: Array.from({ length: context.get(\"count\") }).map((_, i) => i),\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\"),\n complete,\n setValue(value) {\n if (!Array.isArray(value)) {\n invariant(\"[pin-input/setValue] value must be an array\");\n }\n send({ type: \"VALUE.SET\", value });\n },\n clearValue() {\n send({ type: \"VALUE.CLEAR\" });\n },\n setValueAtIndex(index, value) {\n send({ type: \"VALUE.SET\", value, index });\n },\n getRootProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.root.attrs,\n id: getRootId(scope),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n \"data-readonly\": dataAttr(prop(\"readOnly\"))\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n htmlFor: getHiddenInputId(scope),\n id: getLabelId(scope),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n onClick(event) {\n event.preventDefault();\n focus();\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n \"aria-hidden\": true,\n type: \"text\",\n tabIndex: -1,\n id: getHiddenInputId(scope),\n readOnly: prop(\"readOnly\"),\n disabled: prop(\"disabled\"),\n required: prop(\"required\"),\n name: prop(\"name\"),\n form: prop(\"form\"),\n style: visuallyHiddenStyle,\n maxLength: computed(\"valueLength\"),\n defaultValue: computed(\"valueAsString\")\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n id: getControlId(scope)\n });\n },\n getInputProps(props2) {\n const { index } = props2;\n const inputType = prop(\"type\") === \"numeric\" ? \"tel\" : \"text\";\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n disabled: prop(\"disabled\"),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n id: getInputId(scope, index.toString()),\n \"data-index\": index,\n \"data-ownedby\": getRootId(scope),\n \"aria-label\": translations?.inputLabel?.(index, computed(\"valueLength\")),\n inputMode: prop(\"otp\") || prop(\"type\") === \"numeric\" ? \"numeric\" : \"text\",\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n type: prop(\"mask\") ? \"password\" : inputType,\n defaultValue: context.get(\"value\")[index] || \"\",\n readOnly: prop(\"readOnly\"),\n autoCapitalize: \"none\",\n autoComplete: prop(\"otp\") ? \"one-time-code\" : \"off\",\n placeholder: focusedIndex === index ? \"\" : prop(\"placeholder\"),\n onBeforeInput(event) {\n try {\n const value = getBeforeInputValue(event);\n const isValid = isValidValue(value, prop(\"type\"), prop(\"pattern\"));\n if (!isValid) {\n send({ type: \"VALUE.INVALID\", value });\n event.preventDefault();\n }\n if (value.length > 2) {\n event.currentTarget.setSelectionRange(0, 1, \"forward\");\n }\n } catch {\n }\n },\n onChange(event) {\n const evt = getNativeEvent(event);\n const { value } = event.currentTarget;\n if (evt.inputType === \"insertFromPaste\" || value.length > 2) {\n send({ type: \"INPUT.PASTE\", value });\n event.currentTarget.value = value[0];\n event.preventDefault();\n return;\n }\n if (evt.inputType === \"deleteContentBackward\") {\n send({ type: \"INPUT.BACKSPACE\" });\n return;\n }\n send({ type: \"INPUT.CHANGE\", value, index });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (isComposingEvent(event)) return;\n if (isModifierKey(event)) return;\n const keyMap = {\n Backspace() {\n send({ type: \"INPUT.BACKSPACE\" });\n },\n Delete() {\n send({ type: \"INPUT.DELETE\" });\n },\n ArrowLeft() {\n send({ type: \"INPUT.ARROW_LEFT\" });\n },\n ArrowRight() {\n send({ type: \"INPUT.ARROW_RIGHT\" });\n },\n Enter() {\n send({ type: \"INPUT.ENTER\" });\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: \"horizontal\"\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n },\n onFocus() {\n send({ type: \"INPUT.FOCUS\", index });\n },\n onBlur(event) {\n const target = event.relatedTarget;\n if (isHTMLElement(target) && target.dataset.ownedby === getRootId(scope)) return;\n send({ type: \"INPUT.BLUR\", index });\n }\n });\n }\n };\n}\nvar { choose, createMachine } = setup();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n placeholder: \"\\u25CB\",\n otp: false,\n type: \"numeric\",\n defaultValue: props2.count ? fill([], props2.count) : [],\n ...props2,\n translations: {\n inputLabel: (index, length) => `pin code ${index + 1} of ${length}`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n value: prop(\"value\"),\n defaultValue: prop(\"defaultValue\"),\n isEqual,\n onChange(value) {\n prop(\"onValueChange\")?.({ value, valueAsString: value.join(\"\") });\n }\n })),\n focusedIndex: bindable(() => ({\n sync: true,\n defaultValue: -1\n })),\n // TODO: Move this to `props` in next major version\n count: bindable(() => ({\n defaultValue: prop(\"count\")\n }))\n };\n },\n computed: {\n _value: ({ context }) => fill(context.get(\"value\"), context.get(\"count\")),\n valueLength: ({ computed }) => computed(\"_value\").length,\n filledValueLength: ({ computed }) => computed(\"_value\").filter((v) => v?.trim() !== \"\").length,\n isValueComplete: ({ computed }) => computed(\"valueLength\") === computed(\"filledValueLength\"),\n valueAsString: ({ computed }) => computed(\"_value\").join(\"\"),\n focusedValue: ({ computed, context }) => computed(\"_value\")[context.get(\"focusedIndex\")] || \"\"\n },\n entry: choose([\n {\n guard: \"autoFocus\",\n actions: [\"setInputCount\", \"setFocusIndexToFirst\"]\n },\n { actions: [\"setInputCount\"] }\n ]),\n watch({ action, track, context, computed }) {\n track([() => context.get(\"focusedIndex\")], () => {\n action([\"focusInput\", \"selectInputIfNeeded\"]);\n });\n track([() => context.get(\"value\").join(\",\")], () => {\n action([\"syncInputElements\", \"dispatchInputEvent\"]);\n });\n track([() => computed(\"isValueComplete\")], () => {\n action([\"invokeOnComplete\", \"blurFocusedInputIfNeeded\"]);\n });\n },\n on: {\n \"VALUE.SET\": [\n {\n guard: \"hasIndex\",\n actions: [\"setValueAtIndex\"]\n },\n { actions: [\"setValue\"] }\n ],\n \"VALUE.CLEAR\": {\n actions: [\"clearValue\", \"setFocusIndexToFirst\"]\n }\n },\n states: {\n idle: {\n on: {\n \"INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"setFocusedIndex\"]\n }\n }\n },\n focused: {\n on: {\n \"INPUT.CHANGE\": {\n actions: [\"setFocusedValue\", \"syncInputValue\", \"setNextFocusedIndex\"]\n },\n \"INPUT.PASTE\": {\n actions: [\"setPastedValue\", \"setLastValueFocusIndex\"]\n },\n \"INPUT.FOCUS\": {\n actions: [\"setFocusedIndex\"]\n },\n \"INPUT.BLUR\": {\n target: \"idle\",\n actions: [\"clearFocusedIndex\"]\n },\n \"INPUT.DELETE\": {\n guard: \"hasValue\",\n actions: [\"clearFocusedValue\"]\n },\n \"INPUT.ARROW_LEFT\": {\n actions: [\"setPrevFocusedIndex\"]\n },\n \"INPUT.ARROW_RIGHT\": {\n actions: [\"setNextFocusedIndex\"]\n },\n \"INPUT.BACKSPACE\": [\n {\n guard: \"hasValue\",\n actions: [\"clearFocusedValue\"]\n },\n {\n actions: [\"setPrevFocusedIndex\", \"clearFocusedValue\"]\n }\n ],\n \"INPUT.ENTER\": {\n guard: \"isValueComplete\",\n actions: [\"requestFormSubmit\"]\n },\n \"VALUE.INVALID\": {\n actions: [\"invokeOnInvalid\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n autoFocus: ({ prop }) => !!prop(\"autoFocus\"),\n hasValue: ({ context }) => context.get(\"value\")[context.get(\"focusedIndex\")] !== \"\",\n isValueComplete: ({ computed }) => computed(\"isValueComplete\"),\n hasIndex: ({ event }) => event.index !== void 0\n },\n actions: {\n dispatchInputEvent({ computed, scope }) {\n const inputEl = getHiddenInputEl(scope);\n dispatchInputValueEvent(inputEl, { value: computed(\"valueAsString\") });\n },\n setInputCount({ scope, context, prop }) {\n if (prop(\"count\")) return;\n const inputEls = getInputEls(scope);\n context.set(\"count\", inputEls.length);\n },\n focusInput({ context, scope }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (focusedIndex === -1) return;\n getInputElAtIndex(scope, focusedIndex)?.focus({ preventScroll: true });\n },\n selectInputIfNeeded({ context, prop, scope }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (!prop(\"selectOnFocus\") || focusedIndex === -1) return;\n raf(() => {\n getInputElAtIndex(scope, focusedIndex)?.select();\n });\n },\n invokeOnComplete({ computed, prop }) {\n if (!computed(\"isValueComplete\")) return;\n prop(\"onValueComplete\")?.({\n value: computed(\"_value\"),\n valueAsString: computed(\"valueAsString\")\n });\n },\n invokeOnInvalid({ context, event, prop }) {\n prop(\"onValueInvalid\")?.({\n value: event.value,\n index: context.get(\"focusedIndex\")\n });\n },\n clearFocusedIndex({ context }) {\n context.set(\"focusedIndex\", -1);\n },\n setFocusedIndex({ context, event }) {\n context.set(\"focusedIndex\", event.index);\n },\n setValue({ context, event }) {\n const value = fill(event.value, context.get(\"count\"));\n context.set(\"value\", value);\n },\n setFocusedValue({ context, event, computed, flush }) {\n const focusedValue = computed(\"focusedValue\");\n const focusedIndex = context.get(\"focusedIndex\");\n const value = getNextValue(focusedValue, event.value);\n flush(() => {\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), focusedIndex, value));\n });\n },\n revertInputValue({ context, computed, scope }) {\n const inputEl = getInputElAtIndex(scope, context.get(\"focusedIndex\"));\n setInputValue(inputEl, computed(\"focusedValue\"));\n },\n syncInputValue({ context, event, scope }) {\n const value = context.get(\"value\");\n const inputEl = getInputElAtIndex(scope, event.index);\n setInputValue(inputEl, value[event.index]);\n },\n syncInputElements({ context, scope }) {\n const inputEls = getInputEls(scope);\n const value = context.get(\"value\");\n inputEls.forEach((inputEl, index) => {\n setInputValue(inputEl, value[index]);\n });\n },\n setPastedValue({ context, event, computed, flush }) {\n raf(() => {\n const valueAsString = computed(\"valueAsString\");\n const focusedIndex = context.get(\"focusedIndex\");\n const valueLength = computed(\"valueLength\");\n const filledValueLength = computed(\"filledValueLength\");\n const startIndex = Math.min(focusedIndex, filledValueLength);\n const left = startIndex > 0 ? valueAsString.substring(0, focusedIndex) : \"\";\n const right = event.value.substring(0, valueLength - startIndex);\n const value = fill(`${left}${right}`.split(\"\"), valueLength);\n flush(() => {\n context.set(\"value\", value);\n });\n });\n },\n setValueAtIndex({ context, event, computed }) {\n const nextValue = getNextValue(computed(\"focusedValue\"), event.value);\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), event.index, nextValue));\n },\n clearValue({ context }) {\n const nextValue = Array.from({ length: context.get(\"count\") }).fill(\"\");\n context.set(\"value\", nextValue);\n },\n clearFocusedValue({ context, computed }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (focusedIndex === -1) return;\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), focusedIndex, \"\"));\n },\n setFocusIndexToFirst({ context }) {\n context.set(\"focusedIndex\", 0);\n },\n setNextFocusedIndex({ context, computed }) {\n context.set(\"focusedIndex\", Math.min(context.get(\"focusedIndex\") + 1, computed(\"valueLength\") - 1));\n },\n setPrevFocusedIndex({ context }) {\n context.set(\"focusedIndex\", Math.max(context.get(\"focusedIndex\") - 1, 0));\n },\n setLastValueFocusIndex({ context, computed }) {\n raf(() => {\n context.set(\"focusedIndex\", Math.min(computed(\"filledValueLength\"), computed(\"valueLength\") - 1));\n });\n },\n blurFocusedInputIfNeeded({ context, prop, scope }) {\n if (!prop(\"blurOnComplete\")) return;\n raf(() => {\n getInputElAtIndex(scope, context.get(\"focusedIndex\"))?.blur();\n });\n },\n requestFormSubmit({ computed, prop, scope }) {\n if (!prop(\"name\") || !computed(\"isValueComplete\")) return;\n const inputEl = getHiddenInputEl(scope);\n inputEl?.form?.requestSubmit();\n }\n }\n }\n});\nfunction getNextValue(current, next) {\n let nextValue = next;\n if (current[0] === next[0]) nextValue = next[1];\n else if (current[0] === next[1]) nextValue = next[0];\n return nextValue.split(\"\")[nextValue.length - 1];\n}\nfunction fill(value, count) {\n return Array.from({ length: count }).fill(\"\").map((v, i) => value[i] || v);\n}\nvar props = createProps()([\n \"autoFocus\",\n \"blurOnComplete\",\n \"count\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"mask\",\n \"name\",\n \"onValueChange\",\n \"onValueComplete\",\n \"onValueInvalid\",\n \"otp\",\n \"pattern\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"translations\",\n \"type\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n"],"names":["anatomy","createAnatomy","parts","getRootId","ctx","getInputId","id","getHiddenInputId","getLabelId","getControlId","getRootEl","getInputEls","selector","queryAll","getInputElAtIndex","index","getFirstInputEl","getHiddenInputEl","setInputValue","inputEl","value","REGEX","isValidType","type","isValidValue","pattern","connect","service","normalize","send","context","computed","prop","scope","complete","invalid","translations","focusedIndex","focus","_","i","invariant","dataAttr","event","visuallyHiddenStyle","props2","inputType","ariaAttr","getBeforeInputValue","evt","getNativeEvent","isComposingEvent","isModifierKey","exec","getEventKey","target","isHTMLElement","choose","createMachine","setup","machine","fill","length","bindable","isEqual","v","action","track","dispatchInputValueEvent","inputEls","raf","flush","focusedValue","getNextValue","setValueAtIndex","valueAsString","valueLength","filledValueLength","startIndex","left","right","nextValue","current","next","count","createProps"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index-OFP_PZ3y.js","sources":["../../node_modules/@zag-js/pin-input/dist/index.mjs"],"sourcesContent":["import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, dispatchInputValueEvent, queryAll, dataAttr, ariaAttr, isHTMLElement, isComposingEvent, isModifierKey, getEventKey, getNativeEvent, getBeforeInputValue, visuallyHiddenStyle } from '@zag-js/dom-query';\nimport { setValueAtIndex, isEqual, createSplitProps, invariant } from '@zag-js/utils';\nimport { setup } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/pin-input.anatomy.ts\nvar anatomy = createAnatomy(\"pinInput\").parts(\"root\", \"label\", \"input\", \"control\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `pin-input:${ctx.id}`;\nvar getInputId = (ctx, id) => ctx.ids?.input?.(id) ?? `pin-input:${ctx.id}:${id}`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `pin-input:${ctx.id}:hidden`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `pin-input:${ctx.id}:label`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `pin-input:${ctx.id}:control`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getInputEls = (ctx) => {\n const ownerId = CSS.escape(getRootId(ctx));\n const selector = `input[data-ownedby=${ownerId}]`;\n return queryAll(getRootEl(ctx), selector);\n};\nvar getInputElAtIndex = (ctx, index) => getInputEls(ctx)[index];\nvar getFirstInputEl = (ctx) => getInputEls(ctx)[0];\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar setInputValue = (inputEl, value) => {\n inputEl.value = value;\n inputEl.setAttribute(\"value\", value);\n};\n\n// src/pin-input.utils.ts\nvar REGEX = {\n numeric: /^[0-9]+$/,\n alphabetic: /^[A-Za-z]+$/,\n alphanumeric: /^[a-zA-Z0-9]+$/i\n};\nfunction isValidType(type, value) {\n if (!type) return true;\n return !!REGEX[type]?.test(value);\n}\nfunction isValidValue(value, type, pattern) {\n if (!pattern) return isValidType(type, value);\n const regex = new RegExp(pattern, \"g\");\n return regex.test(value);\n}\n\n// src/pin-input.connect.ts\nfunction connect(service, normalize) {\n const { send, context, computed, prop, scope } = service;\n const complete = computed(\"isValueComplete\");\n const invalid = prop(\"invalid\");\n const translations = prop(\"translations\");\n const focusedIndex = context.get(\"focusedIndex\");\n function focus() {\n getFirstInputEl(scope)?.focus();\n }\n return {\n focus,\n count: context.get(\"count\"),\n items: Array.from({ length: context.get(\"count\") }).map((_, i) => i),\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\"),\n complete,\n setValue(value) {\n if (!Array.isArray(value)) {\n invariant(\"[pin-input/setValue] value must be an array\");\n }\n send({ type: \"VALUE.SET\", value });\n },\n clearValue() {\n send({ type: \"VALUE.CLEAR\" });\n },\n setValueAtIndex(index, value) {\n send({ type: \"VALUE.SET\", value, index });\n },\n getRootProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.root.attrs,\n id: getRootId(scope),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n \"data-readonly\": dataAttr(prop(\"readOnly\"))\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n htmlFor: getHiddenInputId(scope),\n id: getLabelId(scope),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n onClick(event) {\n event.preventDefault();\n focus();\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n \"aria-hidden\": true,\n type: \"text\",\n tabIndex: -1,\n id: getHiddenInputId(scope),\n readOnly: prop(\"readOnly\"),\n disabled: prop(\"disabled\"),\n required: prop(\"required\"),\n name: prop(\"name\"),\n form: prop(\"form\"),\n style: visuallyHiddenStyle,\n maxLength: computed(\"valueLength\"),\n defaultValue: computed(\"valueAsString\")\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n id: getControlId(scope)\n });\n },\n getInputProps(props2) {\n const { index } = props2;\n const inputType = prop(\"type\") === \"numeric\" ? \"tel\" : \"text\";\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n disabled: prop(\"disabled\"),\n \"data-disabled\": dataAttr(prop(\"disabled\")),\n \"data-complete\": dataAttr(complete),\n id: getInputId(scope, index.toString()),\n \"data-index\": index,\n \"data-ownedby\": getRootId(scope),\n \"aria-label\": translations?.inputLabel?.(index, computed(\"valueLength\")),\n inputMode: prop(\"otp\") || prop(\"type\") === \"numeric\" ? \"numeric\" : \"text\",\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n type: prop(\"mask\") ? \"password\" : inputType,\n defaultValue: context.get(\"value\")[index] || \"\",\n readOnly: prop(\"readOnly\"),\n autoCapitalize: \"none\",\n autoComplete: prop(\"otp\") ? \"one-time-code\" : \"off\",\n placeholder: focusedIndex === index ? \"\" : prop(\"placeholder\"),\n onBeforeInput(event) {\n try {\n const value = getBeforeInputValue(event);\n const isValid = isValidValue(value, prop(\"type\"), prop(\"pattern\"));\n if (!isValid) {\n send({ type: \"VALUE.INVALID\", value });\n event.preventDefault();\n }\n if (value.length > 2) {\n event.currentTarget.setSelectionRange(0, 1, \"forward\");\n }\n } catch {\n }\n },\n onChange(event) {\n const evt = getNativeEvent(event);\n const { value } = event.currentTarget;\n if (evt.inputType === \"insertFromPaste\" || value.length > 2) {\n send({ type: \"INPUT.PASTE\", value });\n event.currentTarget.value = value[0];\n event.preventDefault();\n return;\n }\n if (evt.inputType === \"deleteContentBackward\") {\n send({ type: \"INPUT.BACKSPACE\" });\n return;\n }\n send({ type: \"INPUT.CHANGE\", value, index });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (isComposingEvent(event)) return;\n if (isModifierKey(event)) return;\n const keyMap = {\n Backspace() {\n send({ type: \"INPUT.BACKSPACE\" });\n },\n Delete() {\n send({ type: \"INPUT.DELETE\" });\n },\n ArrowLeft() {\n send({ type: \"INPUT.ARROW_LEFT\" });\n },\n ArrowRight() {\n send({ type: \"INPUT.ARROW_RIGHT\" });\n },\n Enter() {\n send({ type: \"INPUT.ENTER\" });\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: \"horizontal\"\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n },\n onFocus() {\n send({ type: \"INPUT.FOCUS\", index });\n },\n onBlur(event) {\n const target = event.relatedTarget;\n if (isHTMLElement(target) && target.dataset.ownedby === getRootId(scope)) return;\n send({ type: \"INPUT.BLUR\", index });\n }\n });\n }\n };\n}\nvar { choose, createMachine } = setup();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n placeholder: \"\\u25CB\",\n otp: false,\n type: \"numeric\",\n defaultValue: props2.count ? fill([], props2.count) : [],\n ...props2,\n translations: {\n inputLabel: (index, length) => `pin code ${index + 1} of ${length}`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n value: prop(\"value\"),\n defaultValue: prop(\"defaultValue\"),\n isEqual,\n onChange(value) {\n prop(\"onValueChange\")?.({ value, valueAsString: value.join(\"\") });\n }\n })),\n focusedIndex: bindable(() => ({\n sync: true,\n defaultValue: -1\n })),\n // TODO: Move this to `props` in next major version\n count: bindable(() => ({\n defaultValue: prop(\"count\")\n }))\n };\n },\n computed: {\n _value: ({ context }) => fill(context.get(\"value\"), context.get(\"count\")),\n valueLength: ({ computed }) => computed(\"_value\").length,\n filledValueLength: ({ computed }) => computed(\"_value\").filter((v) => v?.trim() !== \"\").length,\n isValueComplete: ({ computed }) => computed(\"valueLength\") === computed(\"filledValueLength\"),\n valueAsString: ({ computed }) => computed(\"_value\").join(\"\"),\n focusedValue: ({ computed, context }) => computed(\"_value\")[context.get(\"focusedIndex\")] || \"\"\n },\n entry: choose([\n {\n guard: \"autoFocus\",\n actions: [\"setInputCount\", \"setFocusIndexToFirst\"]\n },\n { actions: [\"setInputCount\"] }\n ]),\n watch({ action, track, context, computed }) {\n track([() => context.get(\"focusedIndex\")], () => {\n action([\"focusInput\", \"selectInputIfNeeded\"]);\n });\n track([() => context.get(\"value\").join(\",\")], () => {\n action([\"syncInputElements\", \"dispatchInputEvent\"]);\n });\n track([() => computed(\"isValueComplete\")], () => {\n action([\"invokeOnComplete\", \"blurFocusedInputIfNeeded\"]);\n });\n },\n on: {\n \"VALUE.SET\": [\n {\n guard: \"hasIndex\",\n actions: [\"setValueAtIndex\"]\n },\n { actions: [\"setValue\"] }\n ],\n \"VALUE.CLEAR\": {\n actions: [\"clearValue\", \"setFocusIndexToFirst\"]\n }\n },\n states: {\n idle: {\n on: {\n \"INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"setFocusedIndex\"]\n }\n }\n },\n focused: {\n on: {\n \"INPUT.CHANGE\": {\n actions: [\"setFocusedValue\", \"syncInputValue\", \"setNextFocusedIndex\"]\n },\n \"INPUT.PASTE\": {\n actions: [\"setPastedValue\", \"setLastValueFocusIndex\"]\n },\n \"INPUT.FOCUS\": {\n actions: [\"setFocusedIndex\"]\n },\n \"INPUT.BLUR\": {\n target: \"idle\",\n actions: [\"clearFocusedIndex\"]\n },\n \"INPUT.DELETE\": {\n guard: \"hasValue\",\n actions: [\"clearFocusedValue\"]\n },\n \"INPUT.ARROW_LEFT\": {\n actions: [\"setPrevFocusedIndex\"]\n },\n \"INPUT.ARROW_RIGHT\": {\n actions: [\"setNextFocusedIndex\"]\n },\n \"INPUT.BACKSPACE\": [\n {\n guard: \"hasValue\",\n actions: [\"clearFocusedValue\"]\n },\n {\n actions: [\"setPrevFocusedIndex\", \"clearFocusedValue\"]\n }\n ],\n \"INPUT.ENTER\": {\n guard: \"isValueComplete\",\n actions: [\"requestFormSubmit\"]\n },\n \"VALUE.INVALID\": {\n actions: [\"invokeOnInvalid\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n autoFocus: ({ prop }) => !!prop(\"autoFocus\"),\n hasValue: ({ context }) => context.get(\"value\")[context.get(\"focusedIndex\")] !== \"\",\n isValueComplete: ({ computed }) => computed(\"isValueComplete\"),\n hasIndex: ({ event }) => event.index !== void 0\n },\n actions: {\n dispatchInputEvent({ computed, scope }) {\n const inputEl = getHiddenInputEl(scope);\n dispatchInputValueEvent(inputEl, { value: computed(\"valueAsString\") });\n },\n setInputCount({ scope, context, prop }) {\n if (prop(\"count\")) return;\n const inputEls = getInputEls(scope);\n context.set(\"count\", inputEls.length);\n },\n focusInput({ context, scope }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (focusedIndex === -1) return;\n getInputElAtIndex(scope, focusedIndex)?.focus({ preventScroll: true });\n },\n selectInputIfNeeded({ context, prop, scope }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (!prop(\"selectOnFocus\") || focusedIndex === -1) return;\n raf(() => {\n getInputElAtIndex(scope, focusedIndex)?.select();\n });\n },\n invokeOnComplete({ computed, prop }) {\n if (!computed(\"isValueComplete\")) return;\n prop(\"onValueComplete\")?.({\n value: computed(\"_value\"),\n valueAsString: computed(\"valueAsString\")\n });\n },\n invokeOnInvalid({ context, event, prop }) {\n prop(\"onValueInvalid\")?.({\n value: event.value,\n index: context.get(\"focusedIndex\")\n });\n },\n clearFocusedIndex({ context }) {\n context.set(\"focusedIndex\", -1);\n },\n setFocusedIndex({ context, event }) {\n context.set(\"focusedIndex\", event.index);\n },\n setValue({ context, event }) {\n const value = fill(event.value, context.get(\"count\"));\n context.set(\"value\", value);\n },\n setFocusedValue({ context, event, computed, flush }) {\n const focusedValue = computed(\"focusedValue\");\n const focusedIndex = context.get(\"focusedIndex\");\n const value = getNextValue(focusedValue, event.value);\n flush(() => {\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), focusedIndex, value));\n });\n },\n revertInputValue({ context, computed, scope }) {\n const inputEl = getInputElAtIndex(scope, context.get(\"focusedIndex\"));\n setInputValue(inputEl, computed(\"focusedValue\"));\n },\n syncInputValue({ context, event, scope }) {\n const value = context.get(\"value\");\n const inputEl = getInputElAtIndex(scope, event.index);\n setInputValue(inputEl, value[event.index]);\n },\n syncInputElements({ context, scope }) {\n const inputEls = getInputEls(scope);\n const value = context.get(\"value\");\n inputEls.forEach((inputEl, index) => {\n setInputValue(inputEl, value[index]);\n });\n },\n setPastedValue({ context, event, computed, flush }) {\n raf(() => {\n const valueAsString = computed(\"valueAsString\");\n const focusedIndex = context.get(\"focusedIndex\");\n const valueLength = computed(\"valueLength\");\n const filledValueLength = computed(\"filledValueLength\");\n const startIndex = Math.min(focusedIndex, filledValueLength);\n const left = startIndex > 0 ? valueAsString.substring(0, focusedIndex) : \"\";\n const right = event.value.substring(0, valueLength - startIndex);\n const value = fill(`${left}${right}`.split(\"\"), valueLength);\n flush(() => {\n context.set(\"value\", value);\n });\n });\n },\n setValueAtIndex({ context, event, computed }) {\n const nextValue = getNextValue(computed(\"focusedValue\"), event.value);\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), event.index, nextValue));\n },\n clearValue({ context }) {\n const nextValue = Array.from({ length: context.get(\"count\") }).fill(\"\");\n context.set(\"value\", nextValue);\n },\n clearFocusedValue({ context, computed }) {\n const focusedIndex = context.get(\"focusedIndex\");\n if (focusedIndex === -1) return;\n context.set(\"value\", setValueAtIndex(computed(\"_value\"), focusedIndex, \"\"));\n },\n setFocusIndexToFirst({ context }) {\n context.set(\"focusedIndex\", 0);\n },\n setNextFocusedIndex({ context, computed }) {\n context.set(\"focusedIndex\", Math.min(context.get(\"focusedIndex\") + 1, computed(\"valueLength\") - 1));\n },\n setPrevFocusedIndex({ context }) {\n context.set(\"focusedIndex\", Math.max(context.get(\"focusedIndex\") - 1, 0));\n },\n setLastValueFocusIndex({ context, computed }) {\n raf(() => {\n context.set(\"focusedIndex\", Math.min(computed(\"filledValueLength\"), computed(\"valueLength\") - 1));\n });\n },\n blurFocusedInputIfNeeded({ context, prop, scope }) {\n if (!prop(\"blurOnComplete\")) return;\n raf(() => {\n getInputElAtIndex(scope, context.get(\"focusedIndex\"))?.blur();\n });\n },\n requestFormSubmit({ computed, prop, scope }) {\n if (!prop(\"name\") || !computed(\"isValueComplete\")) return;\n const inputEl = getHiddenInputEl(scope);\n inputEl?.form?.requestSubmit();\n }\n }\n }\n});\nfunction getNextValue(current, next) {\n let nextValue = next;\n if (current[0] === next[0]) nextValue = next[1];\n else if (current[0] === next[1]) nextValue = next[0];\n return nextValue.split(\"\")[nextValue.length - 1];\n}\nfunction fill(value, count) {\n return Array.from({ length: count }).fill(\"\").map((v, i) => value[i] || v);\n}\nvar props = createProps()([\n \"autoFocus\",\n \"blurOnComplete\",\n \"count\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"mask\",\n \"name\",\n \"onValueChange\",\n \"onValueComplete\",\n \"onValueInvalid\",\n \"otp\",\n \"pattern\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"translations\",\n \"type\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n"],"names":["anatomy","createAnatomy","parts","getRootId","ctx","getInputId","id","getHiddenInputId","getLabelId","getControlId","getRootEl","getInputEls","selector","queryAll","getInputElAtIndex","index","getFirstInputEl","getHiddenInputEl","setInputValue","inputEl","value","REGEX","isValidType","type","isValidValue","pattern","connect","service","normalize","send","context","computed","prop","scope","complete","invalid","translations","focusedIndex","focus","_","i","invariant","dataAttr","event","visuallyHiddenStyle","props2","inputType","ariaAttr","getBeforeInputValue","evt","getNativeEvent","isComposingEvent","isModifierKey","exec","getEventKey","target","isHTMLElement","choose","createMachine","setup","machine","fill","length","bindable","isEqual","v","action","track","dispatchInputValueEvent","inputEls","raf","flush","focusedValue","getNextValue","setValueAtIndex","valueAsString","valueLength","filledValueLength","startIndex","left","right","nextValue","current","next","count","createProps"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -8,7 +8,7 @@ import { W as Ye } from "./textInput.component-kSJAjj78.js";
|
|
|
8
8
|
import { S as qe } from "./spinner.component-BnWQ5OjN.js";
|
|
9
9
|
import { B as O } from "./box-Ck9I7FYv.js";
|
|
10
10
|
import { u as Je } from "./tooltip.component-G-RF87Zw.js";
|
|
11
|
-
import { W as Qe, u as Ue } from "./checkbox.component-
|
|
11
|
+
import { W as Qe, u as Ue } from "./checkbox.component-6ixdtKi3.js";
|
|
12
12
|
import { c as N, f as g, a as w, u as W, h as Xe, i as Ze, j as et, k as tt, n as nt, s as re, l as se, m as ae, P as ot } from "./use-locale-context-D-agiW5E.js";
|
|
13
13
|
import { c as rt } from "./create-slot-recipe-context-BJmsuxih.js";
|
|
14
14
|
import { b as st } from "./icons-BXxdrBrf.js";
|
|
@@ -675,4 +675,4 @@ const Ct = ({
|
|
|
675
675
|
export {
|
|
676
676
|
bt as M
|
|
677
677
|
};
|
|
678
|
-
//# sourceMappingURL=menu.component-
|
|
678
|
+
//# sourceMappingURL=menu.component-2IRirCTG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.component-DaWlH0RE.js","sources":["../../node_modules/@ark-ui/react/dist/components/menu/use-menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-checkbox-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-content.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-group-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-text.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-positioner.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item-group.js","../../node_modules/@ark-ui/react/dist/utils/use-effect-once.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-machine-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-trigger-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root-provider.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-separator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger-item.js","../../node_modules/@chakra-ui/react/dist/esm/components/menu/menu.js","../../src/components/Menu/components/MenuButton/menuButton.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuProvider, useMenuContext] = createContext({\n name: \"MenuContext\",\n hookName: \"useMenuContext\",\n providerName: \"<MenuProvider />\",\n strict: false\n});\n\nexport { MenuProvider, useMenuContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrow = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrow.displayName = \"MenuArrow\";\n\nexport { MenuArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrowTip = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrowTip.displayName = \"MenuArrowTip\";\n\nexport { MenuArrowTip };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemProvider, useMenuItemContext] = createContext({\n name: \"MenuItemContext\",\n hookName: \"useMenuItemContext\",\n providerName: \"<MenuItemProvider />\"\n});\n\nexport { MenuItemProvider, useMenuItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuOptionItemPropsProvider, useMenuOptionItemPropsContext] = createContext({\n name: \"MenuOptionItemPropsContext\",\n hookName: \"useMenuOptionItemPropsContext\",\n providerName: \"<MenuOptionItemPropsProvider />\"\n});\n\nexport { MenuOptionItemPropsProvider, useMenuOptionItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuCheckboxItem = forwardRef((props, ref) => {\n const [partialOptionItemProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"closeOnSelect\",\n \"disabled\",\n \"onCheckedChange\",\n \"value\",\n \"valueText\"\n ]);\n const optionItemProps = {\n ...partialOptionItemProps,\n type: \"checkbox\"\n };\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport { MenuCheckboxItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContent = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(menu.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nMenuContent.displayName = \"MenuContent\";\n\nexport { MenuContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContextTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getContextTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\n\nexport { MenuContextTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuIndicator.displayName = \"MenuIndicator\";\n\nexport { MenuIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useEffect } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\n\nconst MenuItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\",\n \"onSelect\"\n ]);\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getItemProps(itemProps), localProps);\n const itemState = menu.getItemState(itemProps);\n useEffect(() => {\n return menu.addItemListener({ id: itemState.id, onSelect: itemProps.onSelect });\n }, [itemState.id, itemProps.onSelect]);\n return /* @__PURE__ */ jsx(MenuItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItem.displayName = \"MenuItem\";\n\nexport { MenuItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemGroupProvider, useMenuItemGroupContext] = createContext({\n name: \"MenuItemGroupContext\",\n hookName: \"useMenuItemGroupContext\",\n providerName: \"<MenuItemGroupProvider />\"\n});\n\nexport { MenuItemGroupProvider, useMenuItemGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\"id\"]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps(itemGroupProps), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport { MenuItemGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\n\nconst MenuItemGroupLabel = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const mergedProps = mergeProps(menu.getItemGroupLabelProps({ htmlFor: itemGroup.id }), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemGroupLabel.displayName = \"MenuItemGroupLabel\";\n\nexport { MenuItemGroupLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemIndicator.displayName = \"MenuItemIndicator\";\n\nexport { MenuItemIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemText.displayName = \"MenuItemText\";\n\nexport { MenuItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuPositioner = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuPositioner.displayName = \"MenuPositioner\";\n\nexport { MenuPositioner };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuRadioItem = forwardRef((props, ref) => {\n const [partialItemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\"\n ]);\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const optionItemProps = {\n ...partialItemProps,\n checked: itemGroup.value === partialItemProps.value,\n type: \"radio\",\n onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })\n };\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport { MenuRadioItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuRadioItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"onValueChange\",\n \"value\"\n ]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps({ id: itemGroupProps.id }), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\n\nexport { MenuRadioItemGroup };\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nconst useEffectOnce = (cb) => {\n const savedCallback = useRef(cb);\n const effectGuard = useRef(false);\n useEffect(() => {\n savedCallback.current = cb;\n });\n useEffect(() => {\n if (effectGuard.current !== true) {\n effectGuard.current = true;\n savedCallback.current();\n }\n }, []);\n};\n\nexport { useEffectOnce };\n","'use client';\nimport * as menu from '@zag-js/menu';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useMenu = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(menu.machine, machineProps);\n const api = menu.connect(service, normalizeProps);\n return { api, service };\n};\n\nexport { useMenu };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuMachineProvider, useMenuMachineContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuMachineProvider, useMenuMachineContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuTriggerItemProvider, useMenuTriggerItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenu } from './use-menu.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRoot = (props) => {\n const [presenceProps, menuProps] = splitPresenceProps(props);\n const [useMenuProps, localProps] = createSplitProps()(menuProps, [\n \"anchorPoint\",\n \"aria-label\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\"\n ]);\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const { api, service } = useMenu(useMenuProps);\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, ...localProps }) }) }) });\n};\n\nexport { MenuRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRootProvider = (props) => {\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const [presenceProps, { value: menu, children }] = splitPresenceProps(props);\n const { api, service } = menu;\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }) });\n};\n\nexport { MenuRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuSeparator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getSeparatorProps(), props);\n return /* @__PURE__ */ jsx(ark.hr, { ...mergedProps, ref });\n});\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport { MenuSeparator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...menu.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : menu.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuTrigger.displayName = \"MenuTrigger\";\n\nexport { MenuTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuTriggerItemContext } from './use-menu-trigger-item-context.js';\n\nconst MenuTriggerItem = forwardRef((props, ref) => {\n const getTriggerItemProps = useMenuTriggerItemContext();\n const mergedProps = mergeProps(getTriggerItemProps?.() ?? {}, props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport { MenuTriggerItem };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Menu } from '@ark-ui/react/menu';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { CheckIcon } from '../icons.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useMenuStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"menu\" });\nconst MenuRootProvider = withRootProvider(\n Menu.RootProvider\n);\nconst MenuRoot = withRootProvider(Menu.Root, {\n defaultProps: { lazyMount: true, unmountOnExit: true }\n});\nconst MenuPropsProvider = PropsProvider;\nconst MenuTrigger = withContext(\n Menu.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst MenuContextTrigger = withContext(Menu.ContextTrigger, \"contextTrigger\", { forwardAsChild: true });\nconst MenuPositioner = withContext(\n Menu.Positioner,\n \"positioner\",\n { forwardAsChild: true }\n);\nconst MenuSeparator = withContext(\n Menu.Separator,\n \"separator\",\n { forwardAsChild: true }\n);\nconst MenuContent = withContext(\n Menu.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst MenuArrowTip = withContext(\n Menu.ArrowTip,\n \"arrowTip\",\n { forwardAsChild: true }\n);\nconst MenuArrow = withContext(\n Menu.Arrow,\n \"arrow\",\n { forwardAsChild: true, defaultProps: { children: /* @__PURE__ */ jsx(MenuArrowTip, {}) } }\n);\nconst MenuIndicator = withContext(\n Menu.Indicator,\n \"indicator\",\n { forwardAsChild: true }\n);\nconst MenuItemGroup = withContext(\n Menu.ItemGroup,\n \"itemGroup\",\n { forwardAsChild: true }\n);\nconst MenuItemGroupLabel = withContext(Menu.ItemGroupLabel, \"itemGroupLabel\", { forwardAsChild: true });\nconst MenuItem = withContext(\n Menu.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuTriggerItem = withContext(Menu.TriggerItem, \"item\", { forwardAsChild: true });\nconst MenuItemText = withContext(\n Menu.ItemText,\n \"itemText\",\n { forwardAsChild: true }\n);\nconst MenuItemCommand = withContext(\n \"kbd\",\n \"itemCommand\"\n);\nconst MenuItemIndicator = withContext(Menu.ItemIndicator, \"itemIndicator\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckIcon, { boxSize: \"4\" }) }\n});\nconst MenuCheckboxItem = withContext(Menu.CheckboxItem, \"item\", { forwardAsChild: true });\nconst MenuRadioItemGroup = withContext(Menu.RadioItemGroup, \"itemGroup\", { forwardAsChild: true });\nconst MenuRadioItem = withContext(\n Menu.RadioItem,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuContext = Menu.Context;\nconst MenuItemContext = Menu.ItemContext;\n\nexport { MenuArrow, MenuArrowTip, MenuCheckboxItem, MenuContent, MenuContext, MenuContextTrigger, MenuIndicator, MenuItem, MenuItemCommand, MenuItemContext, MenuItemGroup, MenuItemGroupLabel, MenuItemIndicator, MenuItemText, MenuPositioner, MenuPropsProvider, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuRootProvider, MenuSeparator, MenuTrigger, MenuTriggerItem, useMenuStyles };\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuListProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps {\n type: \"submenu\";\n valueText?: string;\n listProps?: MenuListProps;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n const { valueText, listProps } = rest as Omit<SubmenuMenuItemProps, \"type\">;\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n aria-valuetext={valueText}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n portalled={true}\n listProps={listProps}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, closeOnSelect, ...checkboxRest } =\n rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" fullWidth={false} />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const {\n selected = false,\n value,\n ...defaultRest\n } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\n {...(selected && { bgColor: \"background.secondaryAlpha.hover\" })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? \"info\" : variant}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === \"string\" ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n};\n","import { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\ninterface MenuToggleButtonsProps {\n hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Text } from \"components/Text/text.component\";\nimport { TextInput } from \"components/TextInput/textInput.component\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { MenuToggleButtons } from \"./components/MenuToggleButtons/menuToggleButtons\";\nimport { useModalContentRef } from \"components/Modal/context/modal.context\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps\n extends Omit<CMenu.RootProps, \"children\" | \"onSelect\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const { contentRef: modalContentRef } = useModalContentRef();\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || \"default\";\n // Default and submenu items are grouped under \"default\"\n const type = item.type === \"checkbox\" ? \"checkbox\" : \"default\";\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const filterOptions = useCallback(\n (searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === \"\" || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n },\n [],\n );\n\n useEffect(() => {\n if (onSearch) {\n setFilteredMenuItems(menuItems);\n } else {\n setFilteredMenuItems(filterOptions(searchText, menuItems));\n }\n }, [searchText, onSearch, filterOptions, menuItems]);\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n }\n },\n [onSearch],\n );\n\n const clearSearch = useCallback(() => {\n setSearchText(\"\");\n\n if (onSearch) {\n onSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }, [onSearch]);\n\n // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled} container={modalContentRef || undefined}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={clearSearch}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-list\">\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === \"default\";\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuProvider","useMenuContext","createContext","MenuArrow","forwardRef","props","ref","menu","mergedProps","mergeProps","jsx","ark","MenuArrowTip","MenuItemProvider","useMenuItemContext","MenuOptionItemPropsProvider","useMenuOptionItemPropsContext","MenuCheckboxItem","partialOptionItemProps","localProps","createSplitProps","optionItemProps","optionItemState","MenuContent","presence","usePresenceContext","composeRefs","MenuContextTrigger","MenuIndicator","MenuItem","itemProps","itemState","useEffect","MenuItemGroupProvider","useMenuItemGroupContext","MenuItemGroup","optionalItemGroupProps","itemGroupProps","useId","MenuItemGroupLabel","itemGroup","MenuItemIndicator","MenuItemText","MenuPositioner","MenuRadioItem","partialItemProps","MenuRadioItemGroup","useEffectOnce","cb","savedCallback","useRef","effectGuard","useMenu","id","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","menu.machine","menu.connect","normalizeProps","MenuMachineProvider","useMenuMachineContext","MenuTriggerItemProvider","useMenuTriggerItemContext","MenuRoot","presenceProps","menuProps","splitPresenceProps","useMenuProps","parentApi","parentMachine","api","usePresence","triggerItemContext","useCallback","PresenceProvider","MenuRootProvider","children","MenuSeparator","MenuTrigger","MenuTriggerItem","getTriggerItemProps","withRootProvider","withContext","createSlotRecipeContext","Menu.RootProvider","Menu.Root","Menu.Trigger","Menu.ContextTrigger","Menu.Positioner","Menu.Separator","Menu.Content","Menu.ArrowTip","Menu.Arrow","Menu.Indicator","Menu.ItemGroup","Menu.ItemGroupLabel","Menu.Item","Menu.TriggerItem","Menu.ItemText","Menu.ItemIndicator","CheckIcon","Menu.CheckboxItem","Menu.RadioItemGroup","Menu.RadioItem","MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","Text","Flex","Icon","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","valueText","listProps","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","closeOnSelect","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","portalled","submenuTrigger","modalContentRef","useModalContentRef","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","filterOptions","searchInput","itemsToFilter","handleSearch","e","clearSearch","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":";;;;;;;;;;;;;;;;AAGA,MAAM,CAACA,IAAcC,CAAc,IAAIC,EAAc;AAAA,EACnD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,QAAQ;AACV,CAAC,GCDKC,KAAYC,EAAW,CAACC,GAAOC,MAAQ;AAC3C,QAAMC,IAAON,EAAgB,GACvBO,IAAcC,EAAWF,EAAK,cAAa,GAAIF,CAAK;AAC1D,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACDH,GAAU,cAAc;ACLxB,MAAMS,KAAeR,EAAW,CAACC,GAAOC,MAAQ;AAC9C,QAAMC,IAAON,EAAgB,GACvBO,IAAcC,EAAWF,EAAK,iBAAgB,GAAIF,CAAK;AAC7D,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACDM,GAAa,cAAc;ACT3B,MAAM,CAACC,GAAkBC,EAAkB,IAAIZ,EAAc;AAAA,EAC3D,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAChB,CAAC,GCJK,CAACa,IAA6BC,EAA6B,IAAId,EAAc;AAAA,EACjF,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAChB,CAAC,GCGKe,KAAmBb,EAAW,CAACC,GAAOC,MAAQ;AAClD,QAAM,CAACY,GAAwBC,CAAU,IAAIC,EAAgB,EAAGf,GAAO;AAAA,IACrE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG,GACKgB,IAAkB;AAAA,IACtB,GAAGH;AAAA,IACH,MAAM;AAAA,EACP,GACKX,IAAON,EAAgB,GACvBO,IAAcC,EAAWF,EAAK,mBAAmBc,CAAe,GAAGF,CAAU,GAC7EG,IAAkBf,EAAK,mBAAmBc,CAAe;AAC/D,SAAuBX,gBAAAA,EAAG,IAACK,IAA6B,EAAE,OAAOM,GAAiB,UAA0BX,gBAAAA,EAAAA,IAAIG,GAAkB,EAAE,OAAOS,GAAiB,UAA0BZ,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,EAAG,CAAE,EAAG,CAAA,GAAG;AAClO,CAAC;AACDW,GAAiB,cAAc;ACnB/B,MAAMM,KAAcnB,EAAW,CAACC,GAAOC,MAAQ;AAC7C,QAAMC,IAAON,EAAgB,GACvBuB,IAAWC,EAAoB,GAC/BjB,IAAcC,EAAWF,EAAK,gBAAiB,GAAEiB,EAAS,iBAAkB,GAAEnB,CAAK;AACzF,SAAImB,EAAS,YACJ,OAEcd,gBAAAA,MAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAKkB,GAAYF,EAAS,KAAKlB,CAAG,EAAC,CAAE;AAC7F,CAAC;AACDiB,GAAY,cAAc;ACX1B,MAAMI,KAAqBvB,EAAW,CAACC,GAAOC,MAAQ;AACpD,QAAMC,IAAON,EAAgB,GACvBO,IAAcC,EAAWF,EAAK,uBAAsB,GAAIF,CAAK;AACnE,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,QAAQ,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAChE,CAAC;AACDqB,GAAmB,cAAc;ACLjC,MAAMC,KAAgBxB,EAAW,CAACC,GAAOC,MAAQ;AAC/C,QAAMC,IAAON,EAAgB,GACvBO,IAAcC,EAAWF,EAAK,kBAAiB,GAAIF,CAAK;AAC9D,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACDsB,GAAc,cAAc;ACH5B,MAAMC,KAAWzB,EAAW,CAACC,GAAOC,MAAQ;AAC1C,QAAM,CAACwB,GAAWX,CAAU,IAAIC,EAAgB,EAAGf,GAAO;AAAA,IACxD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG,GACKE,IAAON,EAAgB,GACvBO,IAAcC,EAAWF,EAAK,aAAauB,CAAS,GAAGX,CAAU,GACjEY,IAAYxB,EAAK,aAAauB,CAAS;AAC7C,SAAAE,EAAU,MACDzB,EAAK,gBAAgB,EAAE,IAAIwB,EAAU,IAAI,UAAUD,EAAU,UAAU,GAC7E,CAACC,EAAU,IAAID,EAAU,QAAQ,CAAC,GACdpB,gBAAAA,EAAG,IAACG,GAAkB,EAAE,OAAOkB,GAAW,UAA0BrB,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,EAAG,CAAE,EAAC,CAAE;AACpI,CAAC;AACDuB,GAAS,cAAc;ACtBvB,MAAM,CAACI,IAAuBC,EAAuB,IAAIhC,EAAc;AAAA,EACrE,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAChB,CAAC,GCEKiC,KAAgB/B,EAAW,CAACC,GAAOC,MAAQ;AAC/C,QAAM,CAAC8B,GAAwBjB,CAAU,IAAIC,EAAgB,EAAGf,GAAO,CAAC,IAAI,CAAC,GACvEE,IAAON,EAAgB,GAEvBoC,IAAiB,EAAE,IADdC,EAAO,GACW,GAAGF,EAAwB,GAClD5B,IAAcC,EAAWF,EAAK,kBAAkB8B,CAAc,GAAGlB,CAAU;AACjF,SAAuBT,gBAAAA,EAAG,IAACuB,IAAuB,EAAE,OAAOI,GAAgB,UAA0B3B,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,EAAG,CAAE,EAAC,CAAE;AAC9I,CAAC;AACD6B,GAAc,cAAc;ACT5B,MAAMI,KAAqBnC,EAAW,CAACC,GAAOC,MAAQ;AACpD,QAAMC,IAAON,EAAgB,GACvBuC,IAAYN,GAAyB,GACrC1B,IAAcC,EAAWF,EAAK,uBAAuB,EAAE,SAASiC,EAAU,IAAI,GAAGnC,CAAK;AAC5F,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACDiC,GAAmB,cAAc;ACNjC,MAAME,KAAoBrC,EAAW,CAACC,GAAOC,MAAQ;AACnD,QAAMC,IAAON,EAAgB,GACvBoB,IAAkBL,GAA+B,GACjDR,IAAcC,EAAWF,EAAK,sBAAsBc,CAAe,GAAGhB,CAAK;AACjF,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACDmC,GAAkB,cAAc;ACNhC,MAAMC,KAAetC,EAAW,CAACC,GAAOC,MAAQ;AAC9C,QAAMC,IAAON,EAAgB,GACvBoB,IAAkBL,GAA+B,GACjDR,IAAcC,EAAWF,EAAK,iBAAiBc,CAAe,GAAGhB,CAAK;AAC5E,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACDoC,GAAa,cAAc;ACN3B,MAAMC,KAAiBvC,EAAW,CAACC,GAAOC,MAAQ;AAChD,QAAMC,IAAON,EAAgB,GACvBO,IAAcC,EAAWF,EAAK,mBAAkB,GAAIF,CAAK;AAE/D,SADiBoB,EAAoB,EACxB,YACJ,OAEcf,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACDqC,GAAe,cAAc;ACN7B,MAAMC,KAAgBxC,EAAW,CAACC,GAAOC,MAAQ;AAC/C,QAAM,CAACuC,GAAkB1B,CAAU,IAAIC,EAAgB,EAAGf,GAAO;AAAA,IAC/D;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG,GACKE,IAAON,EAAgB,GACvBuC,IAAYN,GAAyB,GACrCb,IAAkB;AAAA,IACtB,GAAGwB;AAAA,IACH,SAASL,EAAU,UAAUK,EAAiB;AAAA,IAC9C,MAAM;AAAA,IACN,iBAAiB,MAAML,EAAU,gBAAgB,EAAE,OAAOK,EAAiB,MAAO,CAAA;AAAA,EACnF,GACKrC,IAAcC,EAAWF,EAAK,mBAAmBc,CAAe,GAAGF,CAAU,GAC7EG,IAAkBf,EAAK,mBAAmBc,CAAe;AAC/D,SAAuBX,gBAAAA,EAAG,IAACK,IAA6B,EAAE,OAAOM,GAAiB,UAA0BX,gBAAAA,EAAAA,IAAIG,GAAkB,EAAE,OAAOS,GAAiB,UAA0BZ,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,EAAG,CAAE,EAAG,CAAA,GAAG;AAClO,CAAC;AACDsC,GAAc,cAAc;ACrB5B,MAAME,KAAqB1C,EAAW,CAACC,GAAOC,MAAQ;AACpD,QAAM,CAAC8B,GAAwBjB,CAAU,IAAIC,EAAgB,EAAGf,GAAO;AAAA,IACrE;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG,GACKE,IAAON,EAAgB,GAEvBoC,IAAiB,EAAE,IADdC,EAAO,GACW,GAAGF,EAAwB,GAClD5B,IAAcC,EAAWF,EAAK,kBAAkB,EAAE,IAAI8B,EAAe,IAAI,GAAGlB,CAAU;AAC5F,SAAuBT,gBAAAA,EAAG,IAACuB,IAAuB,EAAE,OAAOI,GAAgB,UAA0B3B,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,EAAG,CAAE,EAAC,CAAE;AAC9I,CAAC;AACDwC,GAAmB,cAAc;AClBjC,MAAMC,KAAgB,CAACC,MAAO;AAC5B,QAAMC,IAAgBC,EAAOF,CAAE,GACzBG,IAAcD,EAAO,EAAK;AAChC,EAAAlB,EAAU,MAAM;AACd,IAAAiB,EAAc,UAAUD;AAAA,EAC5B,CAAG,GACDhB,EAAU,MAAM;AACd,IAAImB,EAAY,YAAY,OAC1BA,EAAY,UAAU,IACtBF,EAAc,QAAS;AAAA,EAE1B,GAAE,EAAE;AACP,GCRMG,KAAU,CAAC/C,MAAU;AACzB,QAAMgD,IAAKf,EAAO,GACZ,EAAE,aAAAgB,EAAa,IAAGC,GAAuB,GACzC,EAAE,KAAAC,EAAK,IAAGC,GAAkB,GAC5BC,IAAe;AAAA,IACnB,IAAAL;AAAA,IACA,KAAAG;AAAA,IACA,aAAAF;AAAA,IACA,GAAGjD;AAAA,EACJ,GACKsD,IAAUC,GAAWC,IAAcH,CAAY;AAErD,SAAO,EAAE,KADGI,GAAaH,GAASI,EAAc,GAClC,SAAAJ,EAAS;AACzB,GCjBM,CAACK,IAAqBC,EAAqB,IAAI/D,EAAc;AAAA,EACjE,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,QAAQ;AACV,CAAC,GCLK,CAACgE,IAAyBC,EAAyB,IAAIjE,EAAc;AAAA,EACzE,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,QAAQ;AACV,CAAC,GCMKkE,KAAW,CAAC/D,MAAU;AAC1B,QAAM,CAACgE,GAAeC,CAAS,IAAIC,GAAmBlE,CAAK,GACrD,CAACmE,GAAcrD,CAAU,IAAIC,EAAgB,EAAGkD,GAAW;AAAA,IAC/D;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG,GACKG,IAAYxE,EAAgB,GAC5ByE,IAAgBT,GAAuB,GACvC,EAAE,KAAAU,GAAK,SAAAhB,MAAYP,GAAQoB,CAAY,GACvChD,IAAWoD,GAAYnE,EAAW,EAAE,SAASkE,EAAI,QAAQN,CAAa,CAAC;AAC7E,EAAAtB,GAAc,MAAM;AAClB,IAAK2B,KACAD,MACLA,EAAU,SAASd,CAAO,GAC1BgB,EAAI,UAAUD,CAAa;AAAA,EAC/B,CAAG;AACD,QAAMG,IAAqBC,EAAY,MAAML,GAAW,oBAAoBE,CAAG,GAAG,CAACA,GAAKF,CAAS,CAAC;AAClG,SAAuB/D,gBAAAA,EAAG,IAACwD,IAAyB,EAAE,OAAOW,GAAoB,UAA0BnE,gBAAAA,MAAIsD,IAAqB,EAAE,OAAOL,GAAS,UAA0BjD,gBAAAA,EAAAA,IAAIV,IAAc,EAAE,OAAO2E,GAAK,UAA0BjE,gBAAAA,EAAG,IAACqE,IAAkB,EAAE,OAAOvD,GAAU,GAAGL,EAAY,CAAA,GAAG,EAAC,CAAE,EAAC,CAAE;AAC7S,GCvCM6D,KAAmB,CAAC3E,MAAU;AAClC,QAAMoE,IAAYxE,EAAgB,GAC5ByE,IAAgBT,GAAuB,GACvC,CAACI,GAAe,EAAE,OAAO9D,GAAM,UAAA0E,GAAU,IAAIV,GAAmBlE,CAAK,GACrE,EAAE,KAAAsE,GAAK,SAAAhB,EAAO,IAAKpD,GACnBiB,IAAWoD,GAAYnE,EAAW,EAAE,SAASkE,EAAI,QAAQN,CAAa,CAAC;AAC7E,EAAAtB,GAAc,MAAM;AAClB,IAAK2B,KACAD,MACLA,EAAU,SAASd,CAAO,GAC1BgB,EAAI,UAAUD,CAAa;AAAA,EAC/B,CAAG;AACD,QAAMG,IAAqBC,EAAY,MAAML,GAAW,oBAAoBE,CAAG,GAAG,CAACA,GAAKF,CAAS,CAAC;AAClG,SAAuB/D,gBAAAA,MAAIwD,IAAyB,EAAE,OAAOW,GAAoB,UAA0BnE,gBAAAA,EAAG,IAACsD,IAAqB,EAAE,OAAOL,GAAS,UAA0BjD,gBAAAA,EAAG,IAACV,IAAc,EAAE,OAAO2E,GAAK,UAA0BjE,gBAAAA,EAAAA,IAAIqE,IAAkB,EAAE,OAAOvD,GAAU,UAAAyD,EAAU,CAAA,GAAG,EAAC,CAAE,EAAC,CAAE;AACxS,GCnBMC,KAAgB9E,EAAW,CAACC,GAAOC,MAAQ;AAC/C,QAAMC,IAAON,EAAgB,GACvBO,IAAcC,EAAWF,EAAK,kBAAiB,GAAIF,CAAK;AAC9D,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,IAAI,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC5D,CAAC;AACD4E,GAAc,cAAc;ACJ5B,MAAMC,KAAc/E,EAAW,CAACC,GAAOC,MAAQ;AAC7C,QAAMC,IAAON,EAAgB,GACvBuB,IAAWC,EAAoB,GAC/BjB,IAAcC;AAAA,IAClB;AAAA,MACE,GAAGF,EAAK,gBAAiB;AAAA,MACzB,iBAAiBiB,EAAS,YAAY,SAASjB,EAAK,gBAAe,EAAG,eAAe;AAAA,IACtF;AAAA,IACDF;AAAA,EACD;AACD,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,QAAQ,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAChE,CAAC;AACD6E,GAAY,cAAc;ACb1B,MAAMC,KAAkBhF,EAAW,CAACC,GAAOC,MAAQ;AACjD,QAAM+E,IAAsBlB,GAA2B,GACjD3D,IAAcC,EAAW4E,IAAmB,KAAQ,CAAA,GAAIhF,CAAK;AACnE,SAAuBK,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACD8E,GAAgB,cAAc;ACL9B,MAAM;AAAA,EACJ,kBAAAE;AAAA,EACA,aAAAC;AAGF,IAAIC,GAAwB,EAAE,KAAK,OAAM,CAAE;AAClBF;AAAA,EACvBG;AACF;AACA,MAAMrB,KAAWkB,GAAiBI,IAAW;AAAA,EAC3C,cAAc,EAAE,WAAW,IAAM,eAAe,GAAI;AACtD,CAAC,GAEKP,KAAcI;AAAA,EAClBI;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AAC2BJ,EAAYK,IAAqB,kBAAkB,EAAE,gBAAgB,GAAM,CAAA;AACtG,MAAMjD,KAAiB4C;AAAA,EACrBM;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AACsBN;AAAA,EACpBO;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AACA,MAAMvE,KAAcgE;AAAA,EAClBQ;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB,GACMnF,KAAe2E;AAAA,EACnBS;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AACkBT;AAAA,EAChBU;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,IAAM,cAAc,EAAE,UAA0BvF,gBAAAA,MAAIE,IAAc,CAAA,CAAE,EAAG,EAAA;AAC3F;AACsB2E;AAAA,EACpBW;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AACA,MAAM/D,KAAgBoD;AAAA,EACpBY;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB,GACM5D,KAAqBgD,EAAYa,IAAqB,kBAAkB,EAAE,gBAAgB,IAAM,GAChGvE,KAAW0D;AAAA,EACfc;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB,GACMjB,KAAkBG,EAAYe,IAAkB,QAAQ,EAAE,gBAAgB,IAAM;AACjEf;AAAA,EACnBgB;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AACwBhB;AAAA,EACtB;AAAA,EACA;AACF;AAC0BA,EAAYiB,IAAoB,iBAAiB;AAAA,EACzE,gBAAgB;AAAA,EAChB,cAAc,EAAE,UAA0B9F,gBAAAA,EAAG,IAAC+F,IAAW,EAAE,SAAS,KAAK,EAAC;AAC5E,CAAC;AACD,MAAMxF,KAAmBsE,EAAYmB,IAAmB,QAAQ,EAAE,gBAAgB,IAAM;AAC7DnB,EAAYoB,IAAqB,aAAa,EAAE,gBAAgB,GAAM,CAAA;AAC3EpB;AAAA,EACpBqB;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AC3EO,MAAMC,KAAa,CAAC;AAAA,EACzB,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,MAEIC,gBAAAA,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAY;AAAA,IACZ,MAAAN;AAAA,IACA,SAAAG;AAAA,IACC,GAAGC;AAAA,IACH,GAAI,CAACH,KAAQF,KAAa,EAAE,eAAe,GAAG,cAAc,EAAE;AAAA,IAE9D,UAAA;AAAA,MACCE,KAAAtG,gBAAAA,EAAA;AAAA,QAAC4G;AAAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,YAAW;AAAA,UACX,MAAAP;AAAA,UACA,OAAOG,IAAU,YAAYD,GAAW,SAAS;AAAA,UACjD,UAAQ;AAAA,UACP,GAAGA;AAAA,UAEH,UAAAD;AAAA,QAAA;AAAA,MACH;AAAA,MAED,CAACF,KACApG,gBAAAA,EAAA;AAAA,QAAC6G;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UAEZ,UAAA7G,gBAAAA,EAAA,IAAC8G,MAAK,MAAK,eAAc,MAAMT,MAAS,OAAO,OAAO,KAAM,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC9D;AAAA,EAAA;AAEJ,GCTSlF,KAAW,CAAC;AAAA,EACvB,OAAA4F;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,SAAAX;AAAA,EACA,GAAGC;AACL,MAAwC;AAChC,QAAAW,IAAiBhD,EAAY,MAAM;AACvC,IAAI6C,KACFA,EAASR,EAAK,KAAK;AAAA,EAEpB,GAAA,CAACQ,GAAUR,EAAK,KAAK,CAAC;AAEzB,MAAIU,MAAS,WAAW;AAChB,UAAA,EAAE,WAAAE,GAAW,WAAAC,EAAA,IAAcb;AAE/B,WAAAzG,gBAAAA,EAAA;AAAA,MAACuH;AAAA,MAAA;AAAA,QACC,gBACEb,gBAAAA,EAAA;AAAA,UAACc;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,gBAAe;AAAA,YACf,kBAAgBH;AAAA,YAEhB,UAAA;AAAA,cAAArH,gBAAAA,EAAA;AAAA,gBAACyH;AAAA,gBAAA;AAAA,kBACC,OAAAV;AAAA,kBACA,aAAAC;AAAA,kBACA,oBAAAE;AAAA,kBACA,SAAAV;AAAA,gBAAA;AAAA,cACF;AAAA,cACCxG,gBAAAA,EAAA,IAAA8G,IAAA,EAAK,MAAK,gBAAe,MAAK,KAAK,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACtC;AAAA,QAEF,WAAW;AAAA,QACX,WAAAQ;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAIJ,MAAIH,MAAS,YAAY;AACvB,UAAM,EAAE,SAAAO,GAAS,OAAAC,GAAO,eAAAC,GAAe,GAAGC,EACxC,IAAApB;AAEA,WAAAC,gBAAAA,EAAA;AAAA,MAACoB;AAAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,OAAAH;AAAA,QACA,SAAS,CAAC,CAACD;AAAA,QACX,iBAAiBN;AAAA,QACjB,eAAeQ,KAAiB;AAAA,QAChC,KAAK;AAAA,QACJ,GAAGC;AAAA,QAEJ,UAAA;AAAA,UAAC7H,gBAAAA,MAAA+H,IAAA,EAAS,SAAS,CAAC,CAACL,GAAS,MAAK,MAAK,WAAW,IAAO;AAAA,UAC1D1H,gBAAAA,EAAA;AAAA,YAACyH;AAAA,YAAA;AAAA,cACC,OAAAV;AAAA,cACA,aAAAC;AAAA,cACA,oBAAAE;AAAA,cACA,SAAAV;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAIJ,MAAIW,MAAS,WAAW;AAChB,UAAA;AAAA,MACJ,UAAAa,IAAW;AAAA,MACX,OAAAL;AAAA,MACA,GAAGM;AAAA,IAAA,IACDxB;AAEF,WAAAzG,gBAAAA,EAAA;AAAA,MAACkI;AAAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,OAAAP;AAAA,QACA,UAAUP;AAAA,QACT,GAAIY,KAAY,EAAE,SAAS,kCAAkC;AAAA,QAC7D,GAAGC;AAAA,QAEJ,UAAAjI,gBAAAA,EAAA;AAAA,UAACyH;AAAA,UAAA;AAAA,YACC,OAAAV;AAAA,YACA,aAAAC;AAAA,YACA,oBAAAE;AAAA,YACA,SAASc,IAAW,SAASxB;AAAA,UAAA;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,EAAA;AAIJ,SAASxG,gBAAAA,EAAA,IAAAmI,EAAA,UAAA,EAAA;AACX,GAEMV,IAAgB,CAAC;AAAA,EACrB,OAAAV;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAE;AAAA,EACA,SAAAV;AACF,6BAOKK,GAAK,EAAA,WAAU,mBAAkB,YAAW,UAAS,KAAK,GACxD,UAAA;AAAA,EAAAG;AAAA,EACA,OAAOD,KAAU,WACf/G,gBAAAA,MAAA4G,GAAA,EAAK,MAAK,MAAK,WAAWM,GAAoB,SAAAV,GAC5C,UAAAO,EACH,CAAA,IAEAA;AAAA,GAEJ,GC5ISqB,KAAoB,CAAC;AAAA,EAChC,WAAAC;AAAA,EACA,kBAAAC,IAAmB;AAAA,EACnB,UAAAC;AACF,MAAiD;AACzC,QAAAC,IAAY,CAAC,CAACH;AAElB,SAAArI,gBAAAA,EAAA;AAAA,IAACyI;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACX,GAAID,IAAY,EAAE,WAAW,SAAS,GAAG,MAAM,IAAI,EAAE,IAAI,EAAE;AAAA,MAE3D,UAAAA,wCAEI,UACCF,IAAAtI,gBAAAA,EAAA;AAAA,QAAC0I;AAAA,QAAA;AAAA,UACC,kBAAAJ;AAAA,UACA,WAAAD;AAAA,UACA,UAAAE;AAAA,QAAA;AAAA,MACF,IAECvI,gBAAAA,EAAA,IAAA2I,IAAA,EAAgB,WAAAN,GAAsB,UAAAE,EAAA,CAAoB,GAE/D,IAEA7B,gBAAAA,EAAAA,KAACG,GAAK,EAAA,gBAAe,iBACnB,UAAA;AAAA,QAAC7G,gBAAAA,EAAAA,IAAA2I,IAAA,EAAgB,WAAAN,GAAsB,UAAAE,EAAoB,CAAA;AAAA,QAC3DvI,gBAAAA,EAAA;AAAA,UAAC0I;AAAA,UAAA;AAAA,YACC,kBAAAJ;AAAA,YACA,WAAAD;AAAA,YACA,UAAAE;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EACF,CAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ,GAEMI,KAAkB,CAAC;AAAA,EACvB,WAAAN;AAAA,EACA,UAAAE;AACF,MAEIvI,gBAAAA,EAAA;AAAA,EAAC2G;AAAA,EAAA;AAAA,IACC,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,SAAS,MAAY4B,EAAS,EAAE,WAAAF,GAAW,OAAO,IAAO;AAAA,IAC1D,UAAA;AAAA,EAAA;AAED,GAIEK,KAAiB,CAAC;AAAA,EACtB,kBAAAJ;AAAA,EACA,WAAAD;AAAA,EACA,UAAAE;AACF,MAEIvI,gBAAAA,EAAA;AAAA,EAAC2G;AAAA,EAAA;AAAA,IACC,SAAQ;AAAA,IACR,UAAS;AAAA,IACT,MAAK;AAAA,IACL,UAAU,CAAC2B;AAAA,IACX,SAAS,MAAYC,EAAS,EAAE,WAAAF,GAAW,OAAO,IAAM;AAAA,IACzD,UAAA;AAAA,EAAA;AAED,GC3BSd,KAAO,CAAC;AAAA,EACnB,aAAAqB;AAAA,EACA,WAAAtB;AAAA,EACA,WAAAuB,IAAY;AAAA,EACZ,gBAAAC;AAAA,EACA,GAAGrC;AACL,MAA4C;AAC1C,QAAM,EAAE,YAAYsC,EAAgB,IAAIC,GAAmB,GACrD;AAAA,IACJ,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,SAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,WAAAC,IAAY,CAAC;AAAA,IACb,MAAAC,KAAO;AAAA,IACP,UAAAC;AAAA,IACA,UAAAvC;AAAA,IACA,aAAAwC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC,KAAoB;AAAA,IACpB,oBAAAzC;AAAA,IACA,GAAG0C;AAAA,EACL,IAAItC,KAAa,CAAC,GACZ,CAACuC,GAAYC,CAAa,IAAIC,EAAiB,EAAE,GACjD,CAACC,GAAmBC,CAAoB,IAC5CF,EAA0BT,CAAS,GAG/BY,IAAeC,EAAQ,MAAM;AACjC,UAAMC,IAA0D,CAAC;AAE9C,WAAAJ,GAAA,QAAQ,CAACK,MAAS;AAC7B,YAAAC,IAAQD,EAAK,cAAc,WAE3BlD,IAAOkD,EAAK,SAAS,aAAa,aAAa;AAEjD,MAACD,EAAOE,CAAK,MACfF,EAAOE,CAAK,IAAI,CAAC,IAGdF,EAAOE,CAAK,EAAEnD,CAAI,MACrBiD,EAAOE,CAAK,EAAEnD,CAAI,IAAI,CAAC,IAGzBiD,EAAOE,CAAK,EAAEnD,CAAI,EAAE,KAAKkD,CAAI;AAAA,IAAA,CAC9B,GAEMD;AAAAA,EAAA,GACN,CAACJ,CAAiB,CAAC,GAEhBI,IAASD,EAAQ,MAAM,OAAO,QAAQD,CAAY,GAAG,CAACA,CAAY,CAAC,GAGnEK,IAAgBJ;AAAA,IACpB,MAAMb,GAAW,OAAO,CAACe,MAASA,EAAK,SAAS,UAAU,KAAK,CAAC;AAAA,IAChE,CAACf,CAAS;AAAA,EACZ,GAEMkB,KAAuBL,EAAQ,OAEjCI,GAAe,OAAO,CAACF,MAASA,EAAK,OAAO,KAAK,CAAC,GAC3B,IAAI,CAACA,MAASA,EAAK,KAAK,GAChD,CAACE,CAAa,CAAC,GAEZE,IAAgBC,GAAiB;AAAA,IACrC,cAAcF;AAAA,EAAA,CACf,GAGKG,IAAgBvG;AAAA,IACpB,CAACwG,GAAqBC,MAChBD,MAAgB,MAAM,CAACA,IAClBC,IAGFA,EAAc,OAAO,CAACR,MAIpB,CAAC,EAFN,OAAOA,EAAK,SAAU,WAAWA,EAAK,QAAQA,EAAK,YAEjC,YAAA,EAAc,SAASO,EAAY,aAAa,CACrE;AAAA,IAEH,CAAA;AAAA,EACF;AAEA,EAAAtJ,EAAU,MAAM;AACd,IACE2I,EADET,IACmBF,IAEAqB,EAAcd,GAAYP,CAAS,CAF1B;AAAA,KAI/B,CAACO,GAAYL,GAAUmB,GAAerB,CAAS,CAAC;AAEnD,QAAMwB,KAAe1G;AAAA,IACnB,CAAC2G,MAA2C;AACpC,YAAAH,IAAcG,EAAE,OAAO;AAC7B,MAAAjB,EAAcc,CAAW,GAErBpB,KACFA,EAASuB,CAAC;AAAA,IAEd;AAAA,IACA,CAACvB,CAAQ;AAAA,EACX,GAEMwB,KAAc5G,EAAY,MAAM;AACpC,IAAA0F,EAAc,EAAE,GAEZN,KACOA,EAAA;AAAA,MACP,QAAQ,EAAE,OAAO,GAAG;AAAA,IAAA,CACkB;AAAA,EAC1C,GACC,CAACA,CAAQ,CAAC,GAGPyB,IAAe7G;AAAA,IACnB,CAAC,EAAE,WAAAiE,GAAW,OAAA6C,QAAoD;AAChE,UAAIC,IAAsB,CAAC;AAC3B,UAAI9C,GAAW;AACb,cAAM+C,IAAab,EAChB,OAAO,CAACF,MAASA,EAAK,eAAehC,CAAS,EAC9C,IAAI,CAACgC,MAASA,EAAK,KAAK;AAC3B,QAAAc,IAAYD,IACRT,EAAc,MAAM,OAAO,CAAC9C,MAAU,CAACyD,EAAW,SAASzD,CAAK,CAAC,IACjE,CAAC,GAAG8C,EAAc,OAAO,GAAGW,CAAU;AAAA,MAAA;AAE9B,QAAAD,IAAAD,IAAQ,CAAA,IAAKX,EAAc,IAAI,CAACF,MAASA,EAAK,KAAK;AAEjE,MAAAZ,IAAc0B,CAAS,GACvBV,EAAc,SAASU,CAAS;AAAA,IAClC;AAAA,IACA,CAACZ,GAAed,GAAagB,CAAa;AAAA,EAC5C,GAEMY,KAAejH;AAAA,IACnB,CAACiG,MAAwB;AAClB,MAAAA,EAAA,WAAWA,EAAK,KAAK;AAC1B,YAAMiB,IAAmBb,EAAc,OACjCc,IAAiBd,EAAc,UAAUJ,EAAK,KAAK;AACzD,MAAApD;AAAA,QACEoD,EAAK;AAAA,QACLkB,IACID,EAAiB,OAAO,CAAC3D,MAAUA,MAAU0C,EAAK,KAAK,IACvD,CAAC,GAAGiB,GAAkBjB,EAAK,KAAK;AAAA,MACtC,GACIA,EAAK,SAAS,cACFI,EAAA,YAAYJ,EAAK,KAAK;AAAA,IAExC;AAAA,IACA,CAACpD,GAAUwD,CAAa;AAAA,EAC1B,GAGMe,KAAgBpH;AAAA,IACpB,CAACqH,MAAkB;AACjB,MAAKA,MACH3B,EAAc,EAAE,GAChBG,EAAqBX,CAAS;AAAA,IAElC;AAAA,IACA,CAACA,CAAS;AAAA,EACZ;AAGE,SAAA5C,gBAAAA,EAAA;AAAA,IAACgF;AAAAA,IAAA;AAAA,MACE,GAAGjF;AAAA,MACJ,cAAc,CAACkF,MAAY;AACzB,QAAAH,GAAcG,EAAQ,IAAI,GAC1BlF,EAAK,eAAekF,CAAO;AAAA,MAC7B;AAAA,MAEC,UAAA;AAAA,QAAC7C,KACA9I,gBAAAA,EAAA;AAAA,UAAC4L;AAAAA,UAAA;AAAA,YACC,SAAO;AAAA,YACP,WAAU;AAAA,YACV,eAAY;AAAA,YAEZ,UAAA5L,gBAAAA,EAAA,IAACmG,IAAY,EAAA,GAAGyC,EAAa,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAKhC5I,gBAAAA,EAAA,IAAA6L,IAAA,EAAO,UAAU,CAAChD,GAAW,WAAWE,KAAmB,QAC1D,UAAA/I,gBAAAA,EAAA,IAAC8L,IAAA,EAAiB,WAAU,QAAO,eAAY,eAC7C,UAAApF,gBAAAA,EAAA;AAAA,UAACqF;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,MAAA1C;AAAA,YACA,MAAAE;AAAA,YACC,GAAGK;AAAA,YAEF,UAAA;AAAA,eAAAF,KAAcT,MACdvC,gBAAAA,EAAA;AAAA,gBAAC+B;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,eAAY;AAAA,kBACZ,GAAE;AAAA,kBAED,UAAA;AAAA,oBACCiB,KAAA1J,gBAAAA,EAAA;AAAA,sBAACgM;AAAAA,sBAAA;AAAA,wBACC,WAAU;AAAA,wBACV,eAAY;AAAA,wBACZ,aAAarC;AAAA,wBACb,UAAUmB;AAAA,wBACV,MAAK;AAAA,wBACL,OAAOjB;AAAA,wBACP,WAAS;AAAA,wBACT,SAASmB;AAAA,wBACT,kBAAkB,EAAE,IAAI,EAAE;AAAA,sBAAA;AAAA,oBAC5B;AAAA,oBAED/B,KAAgB,CAAC,CAACsB,EAAc,UAC/BvK,gBAAAA,EAAA;AAAA,sBAACoI;AAAA,sBAAA;AAAA,wBACC,UAAU6C;AAAA,wBACV,kBAAkB,CAAC,CAACR,EAAc,MAAM;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAC1C;AAAA,gBAAA;AAAA,cAEJ;AAAA,cAEArB,IAgEApJ,gBAAAA,EAAAA,IAAC6G,GAAK,EAAA,gBAAe,UAAS,IAAI,GAChC,UAAA7G,gBAAAA,MAACiM,MAAQ,EACX,CAAA,IAjEAjM,gBAAAA,EAAA,IAACyI,GAAI,EAAA,WAAU,cAAa,eAAY,oBACrC,UAAO2B,EAAA,6CAEH,UAAOA,EAAA,IAAI,CAAC,CAAC8B,GAAYC,CAAK,MAAM;AACnC,sBAAMC,IAAiBF,MAAe,WAChCG,IAAY,OAAO,KAAKF,CAAK,GAC7BG,IAAsBF,IAExBG,GAAM,WADNC,IAKElE,KAHc6D,EAAM,UAAa;AAAA,kBACrC,CAAC9B,MAASA,EAAK;AAAA,gBACjB,GACsC;AAAA,kBAAK,CAAC1C,MAC1C8C,EAAc,MAAM,SAAS9C,CAAK;AAAA,gBACpC;AACA,8CACG2E,GACE,EAAA,UAAA;AAAA,kBAAA,CAACF,KACApM,gBAAAA,EAAA,IAACyM,IAAA,EACC,UAAA/F,gBAAAA,EAAA;AAAA,oBAACG;AAAA,oBAAA;AAAA,sBACC,YAAW;AAAA,sBACX,gBAAe;AAAA,sBAEd,UAAA;AAAA,wBAAAqF;AAAA,wBACAhD,KACCmD,EAAU,SAAS,UAAU,KAC3BrM,gBAAAA,EAAA;AAAA,0BAACoI;AAAA,0BAAA;AAAA,4BACC,WAAW8D;AAAA,4BACX,UAAUjB;AAAA,4BACV,kBAAA3C;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBACF;AAAA,oBAAA;AAAA,kBAAA,GAGR;AAAA,kBAED,OAAO,QAAQ6D,CAAK,EAAE;AAAA,oBAAI,CAAC,CAAChF,GAAMuF,EAAK,MACtCA,GAAM,IAAI,CAACrC,GAAMsC,OACf3M,gBAAAA,EAAA;AAAA,sBAACmB;AAAA,sBAAA;AAAA,wBAEE,GAAGkJ;AAAA,wBACJ,oBAAAnD;AAAA,wBACC,GAAImD,EAAK,SAAS,cAAc;AAAA,0BAC/B,SAASI,EAAc,UAAUJ,EAAK,KAAK;AAAA,wBAC7C;AAAA,wBACA,UAAU,MAAMgB,GAAahB,CAAI;AAAA,sBAAA;AAAA,sBAN5B,aAAa6B,CAAU,IAAI/E,CAAI,IAAIwF,EAAK;AAAA,oBAQhD,CAAA;AAAA,kBAAA;AAAA,gBACH,EAAA,GA/BuBT,CAgCzB;AAAA,cAAA,CAEH,EAAA,CACH,IAEAlM,gBAAAA,MAAAmI,EAAAA,UAAA,EACE,UAACnI,gBAAAA,EAAAA,IAAAyI,GAAA,EAAI,WAAU,UAAS,GAAG,GACzB,UAACzI,gBAAAA,EAAA,IAAA4G,GAAA,EAAK,MAAK,MAAK,SAAQ,UACrB,UACHuC,GAAA,EAAA,CACF,EACF,CAAA,EAEJ,CAAA;AAAA,YAIA;AAAA,UAAA;AAAA,WAGN,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}
|
|
1
|
+
{"version":3,"file":"menu.component-2IRirCTG.js","sources":["../../node_modules/@ark-ui/react/dist/components/menu/use-menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-checkbox-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-content.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-group-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-text.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-positioner.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item-group.js","../../node_modules/@ark-ui/react/dist/utils/use-effect-once.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-machine-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-trigger-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root-provider.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-separator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger-item.js","../../node_modules/@chakra-ui/react/dist/esm/components/menu/menu.js","../../src/components/Menu/components/MenuButton/menuButton.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuProvider, useMenuContext] = createContext({\n name: \"MenuContext\",\n hookName: \"useMenuContext\",\n providerName: \"<MenuProvider />\",\n strict: false\n});\n\nexport { MenuProvider, useMenuContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrow = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrow.displayName = \"MenuArrow\";\n\nexport { MenuArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrowTip = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrowTip.displayName = \"MenuArrowTip\";\n\nexport { MenuArrowTip };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemProvider, useMenuItemContext] = createContext({\n name: \"MenuItemContext\",\n hookName: \"useMenuItemContext\",\n providerName: \"<MenuItemProvider />\"\n});\n\nexport { MenuItemProvider, useMenuItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuOptionItemPropsProvider, useMenuOptionItemPropsContext] = createContext({\n name: \"MenuOptionItemPropsContext\",\n hookName: \"useMenuOptionItemPropsContext\",\n providerName: \"<MenuOptionItemPropsProvider />\"\n});\n\nexport { MenuOptionItemPropsProvider, useMenuOptionItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuCheckboxItem = forwardRef((props, ref) => {\n const [partialOptionItemProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"closeOnSelect\",\n \"disabled\",\n \"onCheckedChange\",\n \"value\",\n \"valueText\"\n ]);\n const optionItemProps = {\n ...partialOptionItemProps,\n type: \"checkbox\"\n };\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport { MenuCheckboxItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContent = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(menu.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nMenuContent.displayName = \"MenuContent\";\n\nexport { MenuContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContextTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getContextTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\n\nexport { MenuContextTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuIndicator.displayName = \"MenuIndicator\";\n\nexport { MenuIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useEffect } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\n\nconst MenuItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\",\n \"onSelect\"\n ]);\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getItemProps(itemProps), localProps);\n const itemState = menu.getItemState(itemProps);\n useEffect(() => {\n return menu.addItemListener({ id: itemState.id, onSelect: itemProps.onSelect });\n }, [itemState.id, itemProps.onSelect]);\n return /* @__PURE__ */ jsx(MenuItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItem.displayName = \"MenuItem\";\n\nexport { MenuItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemGroupProvider, useMenuItemGroupContext] = createContext({\n name: \"MenuItemGroupContext\",\n hookName: \"useMenuItemGroupContext\",\n providerName: \"<MenuItemGroupProvider />\"\n});\n\nexport { MenuItemGroupProvider, useMenuItemGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\"id\"]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps(itemGroupProps), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport { MenuItemGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\n\nconst MenuItemGroupLabel = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const mergedProps = mergeProps(menu.getItemGroupLabelProps({ htmlFor: itemGroup.id }), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemGroupLabel.displayName = \"MenuItemGroupLabel\";\n\nexport { MenuItemGroupLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemIndicator.displayName = \"MenuItemIndicator\";\n\nexport { MenuItemIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(optionItemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemText.displayName = \"MenuItemText\";\n\nexport { MenuItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuPositioner = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuPositioner.displayName = \"MenuPositioner\";\n\nexport { MenuPositioner };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\nimport { MenuOptionItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuRadioItem = forwardRef((props, ref) => {\n const [partialItemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\"\n ]);\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const optionItemProps = {\n ...partialItemProps,\n checked: itemGroup.value === partialItemProps.value,\n type: \"radio\",\n onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })\n };\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuOptionItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport { MenuRadioItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuRadioItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"onValueChange\",\n \"value\"\n ]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps({ id: itemGroupProps.id }), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\n\nexport { MenuRadioItemGroup };\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nconst useEffectOnce = (cb) => {\n const savedCallback = useRef(cb);\n const effectGuard = useRef(false);\n useEffect(() => {\n savedCallback.current = cb;\n });\n useEffect(() => {\n if (effectGuard.current !== true) {\n effectGuard.current = true;\n savedCallback.current();\n }\n }, []);\n};\n\nexport { useEffectOnce };\n","'use client';\nimport * as menu from '@zag-js/menu';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useMenu = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(menu.machine, machineProps);\n const api = menu.connect(service, normalizeProps);\n return { api, service };\n};\n\nexport { useMenu };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuMachineProvider, useMenuMachineContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuMachineProvider, useMenuMachineContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuTriggerItemProvider, useMenuTriggerItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenu } from './use-menu.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRoot = (props) => {\n const [presenceProps, menuProps] = splitPresenceProps(props);\n const [useMenuProps, localProps] = createSplitProps()(menuProps, [\n \"anchorPoint\",\n \"aria-label\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\"\n ]);\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const { api, service } = useMenu(useMenuProps);\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, ...localProps }) }) }) });\n};\n\nexport { MenuRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRootProvider = (props) => {\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const [presenceProps, { value: menu, children }] = splitPresenceProps(props);\n const { api, service } = menu;\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }) });\n};\n\nexport { MenuRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuSeparator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getSeparatorProps(), props);\n return /* @__PURE__ */ jsx(ark.hr, { ...mergedProps, ref });\n});\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport { MenuSeparator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...menu.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : menu.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuTrigger.displayName = \"MenuTrigger\";\n\nexport { MenuTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuTriggerItemContext } from './use-menu-trigger-item-context.js';\n\nconst MenuTriggerItem = forwardRef((props, ref) => {\n const getTriggerItemProps = useMenuTriggerItemContext();\n const mergedProps = mergeProps(getTriggerItemProps?.() ?? {}, props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport { MenuTriggerItem };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Menu } from '@ark-ui/react/menu';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { CheckIcon } from '../icons.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useMenuStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"menu\" });\nconst MenuRootProvider = withRootProvider(\n Menu.RootProvider\n);\nconst MenuRoot = withRootProvider(Menu.Root, {\n defaultProps: { lazyMount: true, unmountOnExit: true }\n});\nconst MenuPropsProvider = PropsProvider;\nconst MenuTrigger = withContext(\n Menu.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst MenuContextTrigger = withContext(Menu.ContextTrigger, \"contextTrigger\", { forwardAsChild: true });\nconst MenuPositioner = withContext(\n Menu.Positioner,\n \"positioner\",\n { forwardAsChild: true }\n);\nconst MenuSeparator = withContext(\n Menu.Separator,\n \"separator\",\n { forwardAsChild: true }\n);\nconst MenuContent = withContext(\n Menu.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst MenuArrowTip = withContext(\n Menu.ArrowTip,\n \"arrowTip\",\n { forwardAsChild: true }\n);\nconst MenuArrow = withContext(\n Menu.Arrow,\n \"arrow\",\n { forwardAsChild: true, defaultProps: { children: /* @__PURE__ */ jsx(MenuArrowTip, {}) } }\n);\nconst MenuIndicator = withContext(\n Menu.Indicator,\n \"indicator\",\n { forwardAsChild: true }\n);\nconst MenuItemGroup = withContext(\n Menu.ItemGroup,\n \"itemGroup\",\n { forwardAsChild: true }\n);\nconst MenuItemGroupLabel = withContext(Menu.ItemGroupLabel, \"itemGroupLabel\", { forwardAsChild: true });\nconst MenuItem = withContext(\n Menu.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuTriggerItem = withContext(Menu.TriggerItem, \"item\", { forwardAsChild: true });\nconst MenuItemText = withContext(\n Menu.ItemText,\n \"itemText\",\n { forwardAsChild: true }\n);\nconst MenuItemCommand = withContext(\n \"kbd\",\n \"itemCommand\"\n);\nconst MenuItemIndicator = withContext(Menu.ItemIndicator, \"itemIndicator\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckIcon, { boxSize: \"4\" }) }\n});\nconst MenuCheckboxItem = withContext(Menu.CheckboxItem, \"item\", { forwardAsChild: true });\nconst MenuRadioItemGroup = withContext(Menu.RadioItemGroup, \"itemGroup\", { forwardAsChild: true });\nconst MenuRadioItem = withContext(\n Menu.RadioItem,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuContext = Menu.Context;\nconst MenuItemContext = Menu.ItemContext;\n\nexport { MenuArrow, MenuArrowTip, MenuCheckboxItem, MenuContent, MenuContext, MenuContextTrigger, MenuIndicator, MenuItem, MenuItemCommand, MenuItemContext, MenuItemGroup, MenuItemGroupLabel, MenuItemIndicator, MenuItemText, MenuPositioner, MenuPropsProvider, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuRootProvider, MenuSeparator, MenuTrigger, MenuTriggerItem, useMenuStyles };\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuListProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps {\n type: \"submenu\";\n valueText?: string;\n listProps?: MenuListProps;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n const { valueText, listProps } = rest as Omit<SubmenuMenuItemProps, \"type\">;\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n aria-valuetext={valueText}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n portalled={true}\n listProps={listProps}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, closeOnSelect, ...checkboxRest } =\n rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" fullWidth={false} />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const {\n selected = false,\n value,\n ...defaultRest\n } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\n {...(selected && { bgColor: \"background.secondaryAlpha.hover\" })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? \"info\" : variant}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === \"string\" ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n};\n","import { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\ninterface MenuToggleButtonsProps {\n hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Text } from \"components/Text/text.component\";\nimport { TextInput } from \"components/TextInput/textInput.component\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { MenuToggleButtons } from \"./components/MenuToggleButtons/menuToggleButtons\";\nimport { useModalContentRef } from \"components/Modal/context/modal.context\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps\n extends Omit<CMenu.RootProps, \"children\" | \"onSelect\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const { contentRef: modalContentRef } = useModalContentRef();\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || \"default\";\n // Default and submenu items are grouped under \"default\"\n const type = item.type === \"checkbox\" ? \"checkbox\" : \"default\";\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const filterOptions = useCallback(\n (searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === \"\" || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n },\n [],\n );\n\n useEffect(() => {\n if (onSearch) {\n setFilteredMenuItems(menuItems);\n } else {\n setFilteredMenuItems(filterOptions(searchText, menuItems));\n }\n }, [searchText, onSearch, filterOptions, menuItems]);\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n }\n },\n [onSearch],\n );\n\n const clearSearch = useCallback(() => {\n setSearchText(\"\");\n\n if (onSearch) {\n onSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }, [onSearch]);\n\n // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled} container={modalContentRef || undefined}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={clearSearch}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-list\">\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === \"default\";\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuProvider","useMenuContext","createContext","MenuArrow","forwardRef","props","ref","menu","mergedProps","mergeProps","jsx","ark","MenuArrowTip","MenuItemProvider","useMenuItemContext","MenuOptionItemPropsProvider","useMenuOptionItemPropsContext","MenuCheckboxItem","partialOptionItemProps","localProps","createSplitProps","optionItemProps","optionItemState","MenuContent","presence","usePresenceContext","composeRefs","MenuContextTrigger","MenuIndicator","MenuItem","itemProps","itemState","useEffect","MenuItemGroupProvider","useMenuItemGroupContext","MenuItemGroup","optionalItemGroupProps","itemGroupProps","useId","MenuItemGroupLabel","itemGroup","MenuItemIndicator","MenuItemText","MenuPositioner","MenuRadioItem","partialItemProps","MenuRadioItemGroup","useEffectOnce","cb","savedCallback","useRef","effectGuard","useMenu","id","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","menu.machine","menu.connect","normalizeProps","MenuMachineProvider","useMenuMachineContext","MenuTriggerItemProvider","useMenuTriggerItemContext","MenuRoot","presenceProps","menuProps","splitPresenceProps","useMenuProps","parentApi","parentMachine","api","usePresence","triggerItemContext","useCallback","PresenceProvider","MenuRootProvider","children","MenuSeparator","MenuTrigger","MenuTriggerItem","getTriggerItemProps","withRootProvider","withContext","createSlotRecipeContext","Menu.RootProvider","Menu.Root","Menu.Trigger","Menu.ContextTrigger","Menu.Positioner","Menu.Separator","Menu.Content","Menu.ArrowTip","Menu.Arrow","Menu.Indicator","Menu.ItemGroup","Menu.ItemGroupLabel","Menu.Item","Menu.TriggerItem","Menu.ItemText","Menu.ItemIndicator","CheckIcon","Menu.CheckboxItem","Menu.RadioItemGroup","Menu.RadioItem","MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","Text","Flex","Icon","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","valueText","listProps","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","closeOnSelect","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","portalled","submenuTrigger","modalContentRef","useModalContentRef","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","filterOptions","searchInput","itemsToFilter","handleSearch","e","clearSearch","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}
|