@bazza-ui/react 0.1.0-canary.6 → 0.1.0-canary.7
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/{ListboxStore-DPqpLlAL.d.ts → ListboxStore-Be-isU6l.d.ts} +43 -3
- package/dist/{ListboxStore-BtcTXpzi.d.cts → ListboxStore-DcAFvpEj.d.cts} +43 -3
- package/dist/adapters/index.d.cts +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/chunk-2D2HREBK.js +2 -0
- package/dist/chunk-2D2HREBK.js.map +1 -0
- package/dist/chunk-5T5B5SPR.cjs +2 -0
- package/dist/chunk-5T5B5SPR.cjs.map +1 -0
- package/dist/chunk-KO3DXT3Y.js +2 -0
- package/dist/chunk-KO3DXT3Y.js.map +1 -0
- package/dist/chunk-SF7X2BUT.cjs +2 -0
- package/dist/chunk-SF7X2BUT.cjs.map +1 -0
- package/dist/chunk-URLK26NV.cjs +2 -0
- package/dist/{chunk-JSPKF52O.cjs.map → chunk-URLK26NV.cjs.map} +1 -1
- package/dist/chunk-ZPRKUVIC.js +2 -0
- package/dist/chunk-ZPRKUVIC.js.map +1 -0
- package/dist/combobox/index.cjs +1 -1
- package/dist/combobox/index.cjs.map +1 -1
- package/dist/combobox/index.d.cts +27 -23
- package/dist/combobox/index.d.ts +27 -23
- package/dist/combobox/index.js +1 -1
- package/dist/combobox/index.js.map +1 -1
- package/dist/{command-score-YjNr3ZWi.d.cts → command-score-CEqnuMqW.d.cts} +1 -1
- package/dist/{command-score-Dgo3ZS3Z.d.ts → command-score-JZy7Snbk.d.ts} +1 -1
- package/dist/{data-surface-wC_Jb6Rh.d.ts → context-Dhm4Zi3l.d.ts} +10 -69
- package/dist/{data-surface-CvJ9KHPs.d.cts → context-Drjy6Y10.d.cts} +10 -69
- package/dist/context-menu/index.cjs +1 -1
- package/dist/context-menu/index.cjs.map +1 -1
- package/dist/context-menu/index.d.cts +14 -12
- package/dist/context-menu/index.d.ts +14 -12
- package/dist/context-menu/index.js +1 -1
- package/dist/context-menu/index.js.map +1 -1
- package/dist/dropdown-menu/index.cjs +1 -1
- package/dist/dropdown-menu/index.cjs.map +1 -1
- package/dist/dropdown-menu/index.d.cts +14 -12
- package/dist/dropdown-menu/index.d.ts +14 -12
- package/dist/dropdown-menu/index.js +1 -1
- package/dist/dropdown-menu/index.js.map +1 -1
- package/dist/internal/listbox/index.cjs +1 -1
- package/dist/internal/listbox/index.d.cts +3 -3
- package/dist/internal/listbox/index.d.ts +3 -3
- package/dist/internal/listbox/index.js +1 -1
- package/dist/internal/popup-menu/index.cjs +1 -1
- package/dist/internal/popup-menu/index.cjs.map +1 -1
- package/dist/internal/popup-menu/index.d.cts +9 -9
- package/dist/internal/popup-menu/index.d.ts +9 -9
- package/dist/internal/popup-menu/index.js +1 -1
- package/dist/items-B6HeFO_8.d.cts +37 -0
- package/dist/items-B6HeFO_8.d.ts +37 -0
- package/dist/select/index.cjs +1 -1
- package/dist/select/index.cjs.map +1 -1
- package/dist/select/index.d.cts +72 -36
- package/dist/select/index.d.ts +72 -36
- package/dist/select/index.js +1 -1
- package/dist/select/index.js.map +1 -1
- package/dist/{separator-C9c1Jo6A.d.ts → separator-BncOmTUq.d.ts} +18 -13
- package/dist/{separator-BzYYn73e.d.cts → separator-DACt2Z4S.d.cts} +18 -13
- package/dist/{types-M2vBIhdB.d.ts → types-BtG9pIR2.d.ts} +6 -51
- package/dist/{types-Cggz7pEl.d.cts → types-w3v6Vp8X.d.cts} +6 -51
- package/dist/video-player/index.d.cts +6 -5
- package/dist/video-player/index.d.ts +6 -5
- package/dist/video-player/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-AVZ64JQ3.js +0 -2
- package/dist/chunk-AVZ64JQ3.js.map +0 -1
- package/dist/chunk-BGJJC6GX.cjs +0 -2
- package/dist/chunk-BGJJC6GX.cjs.map +0 -1
- package/dist/chunk-FWWOE2SW.cjs +0 -2
- package/dist/chunk-FWWOE2SW.cjs.map +0 -1
- package/dist/chunk-JSPKF52O.cjs +0 -2
- package/dist/chunk-KWGD24VS.js +0 -2
- package/dist/chunk-KWGD24VS.js.map +0 -1
- package/dist/chunk-WKAPAKUL.js +0 -2
- package/dist/chunk-WKAPAKUL.js.map +0 -1
- package/dist/item-equality-B6TbXlBT.d.cts +0 -7
- package/dist/item-equality-B6TbXlBT.d.ts +0 -7
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var d=(e,n)=>Object.is(e,n);function l(e,n,t){return e==null||n==null?Object.is(e,n):t(e,n)}function o(e,n,t){return!e||e.length===0?!1:e.some(r=>r===void 0?!1:l(r,n,t))}function f(e,n,t){return e.filter(r=>!l(r,n,t))}function a(e){return _nullishCoalesce(e, () => (""))}function i(e,n){if(!e)return;if(Array.isArray(e)){let r=e.find(u=>a(u.value)===n);return r?{label:r.label,keywords:r.keywords}:void 0}let t=e[n];if(t!==void 0)return{label:t}}function m(e,n){return _optionalChain([i, 'call', _ => _(e,n), 'optionalAccess', _2 => _2.label])}function y(e,n){let t=n.filter(u=>!!u);if(t.length===0)return e;let r=e?[...e]:[];for(let u of t)r.includes(u)||r.push(u);return r}exports.a = d; exports.b = l; exports.c = o; exports.d = f; exports.e = i; exports.f = m; exports.g = y;
|
|
2
|
+
//# sourceMappingURL=chunk-5T5B5SPR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/item-equality.ts","../src/utils/items.ts"],"names":["defaultItemEquality","item","value","compareItemEquality","comparer","itemIncludes","collection","removeItem","entryKey","resolveItemFromItems","items","valueKey","entry","i","label","resolveLabelFromItems","mergeKeywords","keywords","extra","additions","k","merged","keyword"],"mappings":"AAaO,qrBAAMA,CAAAA,CAA4C,CAACC,CAAAA,CAAMC,CAAAA,CAAAA,EAC9D,MAAA,CAAO,EAAA,CAAGD,CAAAA,CAAMC,CAAK,CAAA,CAMhB,SAASC,CAAAA,CACdF,CAAAA,CACAC,CAAAA,CACAE,CAAAA,CACS,CAET,OAAIH,CAAAA,EAAQ,IAAA,EAAQC,CAAAA,EAAS,IAAA,CACpB,MAAA,CAAO,EAAA,CAAGD,CAAAA,CAAMC,CAAK,CAAA,CAEvBE,CAAAA,CAASH,CAAAA,CAAMC,CAAK,CAC7B,CAKO,SAASG,CAAAA,CACdC,CAAAA,CACAJ,CAAAA,CACAE,CAAAA,CACS,CACT,MAAI,CAACE,CAAAA,EAAcA,CAAAA,CAAW,MAAA,GAAW,CAAA,CAChC,CAAA,CAAA,CAEFA,CAAAA,CAAW,IAAA,CAAML,CAAAA,EAClBA,CAAAA,GAAS,KAAA,CAAA,CACJ,CAAA,CAAA,CAEFE,CAAAA,CAAoBF,CAAAA,CAAMC,CAAAA,CAAOE,CAAQ,CACjD,CACH,CA0BO,SAASG,CAAAA,CACdD,CAAAA,CACAJ,CAAAA,CACAE,CAAAA,CACS,CACT,OAAOE,CAAAA,CAAW,MAAA,CACfL,CAAAA,EAAS,CAACE,CAAAA,CAAoBF,CAAAA,CAAMC,CAAAA,CAAOE,CAAQ,CACtD,CACF,CC3CA,SAASI,CAAAA,CAASN,CAAAA,CAA8B,CAC9C,wBAAOA,CAAAA,SAAgB,IACzB,CAMO,SAASO,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CAC0B,CAC1B,EAAA,CAAI,CAACD,CAAAA,CAAO,MAAA,CAEZ,EAAA,CAAI,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CAAG,CACxB,IAAME,CAAAA,CAAQF,CAAAA,CAAM,IAAA,CAAMG,CAAAA,EAAML,CAAAA,CAASK,CAAAA,CAAE,KAAK,CAAA,GAAMF,CAAQ,CAAA,CAC9D,OAAKC,CAAAA,CACE,CAAE,KAAA,CAAOA,CAAAA,CAAM,KAAA,CAAO,QAAA,CAAUA,CAAAA,CAAM,QAAS,CAAA,CAD1C,KAAA,CAEd,CAEA,IAAME,CAAAA,CAAQJ,CAAAA,CAAMC,CAAQ,CAAA,CAC5B,EAAA,CAAIG,CAAAA,GAAU,KAAA,CAAA,CACd,MAAO,CAAE,KAAA,CAAAA,CAAM,CACjB,CAMO,SAASC,CAAAA,CACdL,CAAAA,CACAC,CAAAA,CAC6B,CAC7B,uBAAOF,CAAAA,iBAAqBC,CAAAA,CAAOC,CAAQ,CAAA,6BAAG,OAChD,CAOO,SAASK,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACsB,CACtB,IAAMC,CAAAA,CAAYD,CAAAA,CAAM,MAAA,CAAQE,CAAAA,EAAmB,CAAA,CAAQA,CAAE,CAAA,CAC7D,EAAA,CAAID,CAAAA,CAAU,MAAA,GAAW,CAAA,CAAG,OAAOF,CAAAA,CAEnC,IAAMI,CAAAA,CAASJ,CAAAA,CAAW,CAAC,GAAGA,CAAQ,CAAA,CAAI,CAAC,CAAA,CAC3C,GAAA,CAAA,IAAWK,EAAAA,GAAWH,CAAAA,CACfE,CAAAA,CAAO,QAAA,CAASC,CAAO,CAAA,EAAGD,CAAAA,CAAO,IAAA,CAAKC,CAAO,CAAA,CAEpD,OAAOD,CACT,CAAA,wGAAA","file":"/home/runner/work/ui/ui/packages/react/dist/chunk-5T5B5SPR.cjs","sourcesContent":["/**\n * Type for custom item equality comparison functions.\n * Used to compare object values in Select and Combobox components.\n */\nexport type ItemEqualityComparer<Value = unknown> = (\n itemValue: Value,\n value: Value,\n) => boolean\n\n/**\n * Default equality comparer using Object.is.\n * Handles primitives and object reference equality.\n */\nexport const defaultItemEquality: ItemEqualityComparer = (item, value) =>\n Object.is(item, value)\n\n/**\n * Compare two items for equality using a custom comparer.\n * Handles null/undefined values separately using Object.is.\n */\nexport function compareItemEquality<Value>(\n item: Value | null | undefined,\n value: Value | null | undefined,\n comparer: ItemEqualityComparer<Value>,\n): boolean {\n // Handle null/undefined with Object.is for consistent behavior\n if (item == null || value == null) {\n return Object.is(item, value)\n }\n return comparer(item, value)\n}\n\n/**\n * Check if a collection includes a specific value using custom equality.\n */\nexport function itemIncludes<Value>(\n collection: readonly Value[] | undefined | null,\n value: Value | null | undefined,\n comparer: ItemEqualityComparer<Value>,\n): boolean {\n if (!collection || collection.length === 0) {\n return false\n }\n return collection.some((item) => {\n if (item === undefined) {\n return false\n }\n return compareItemEquality(item, value, comparer)\n })\n}\n\n/**\n * Find the index of a value in a collection using custom equality.\n * Returns -1 if not found.\n */\nexport function findItemIndex<Value>(\n collection: readonly Value[] | undefined | null,\n value: Value,\n comparer: ItemEqualityComparer<Value>,\n): number {\n if (!collection || collection.length === 0) {\n return -1\n }\n return collection.findIndex((item) => {\n if (item === undefined) {\n return false\n }\n return compareItemEquality(item, value, comparer)\n })\n}\n\n/**\n * Remove a value from a collection using custom equality.\n * Returns a new array without the matching item.\n */\nexport function removeItem<Value>(\n collection: readonly Value[],\n value: Value,\n comparer: ItemEqualityComparer<Value>,\n): Value[] {\n return collection.filter(\n (item) => !compareItemEquality(item, value, comparer),\n )\n}\n","import type * as React from 'react'\n\n/**\n * A single entry in the array form of the `items` prop passed to\n * `Select.Root` / `Combobox.Root`.\n */\nexport interface ItemsEntry {\n /**\n * The item's value.\n *\n * Use `null` to describe a clearable/placeholder item (its label is used as\n * the trigger placeholder and selecting it clears the value).\n */\n value: string | null\n /** The label to display for this item. */\n label: React.ReactNode\n /**\n * Additional keywords to match against when filtering, on top of the label.\n * Useful for aliases or synonyms.\n */\n keywords?: string[]\n}\n\n/**\n * Data structure describing the items rendered in a Select/Combobox popup.\n *\n * Either a record mapping a value to its label, or an array of entries. Only\n * the array form can express `keywords` or a `null` (clearable) value.\n */\nexport type Items = Record<string, React.ReactNode> | Array<ItemsEntry>\n\n/**\n * The resolved metadata for a single item looked up from the `items` prop.\n */\nexport interface ResolvedItem {\n label: React.ReactNode\n keywords?: string[]\n}\n\n/** Serialize an entry value to the string key used for registry lookups. */\nfunction entryKey(value: string | null): string {\n return value == null ? '' : value\n}\n\n/**\n * Resolve the full entry (label + keywords) from the `items` prop for a given\n * serialized value key. Returns `undefined` when there is no match.\n */\nexport function resolveItemFromItems(\n items: Items | undefined,\n valueKey: string,\n): ResolvedItem | undefined {\n if (!items) return undefined\n\n if (Array.isArray(items)) {\n const entry = items.find((i) => entryKey(i.value) === valueKey)\n if (!entry) return undefined\n return { label: entry.label, keywords: entry.keywords }\n }\n\n const label = items[valueKey]\n if (label === undefined) return undefined\n return { label }\n}\n\n/**\n * Resolve just the label from the `items` prop for a given serialized value\n * key. Returns `undefined` when there is no match.\n */\nexport function resolveLabelFromItems(\n items: Items | undefined,\n valueKey: string,\n): React.ReactNode | undefined {\n return resolveItemFromItems(items, valueKey)?.label\n}\n\n/**\n * Merge a set of extra keyword strings into an existing keywords array,\n * preserving order and removing duplicates. Returns the original `keywords`\n * reference untouched when there is nothing to add.\n */\nexport function mergeKeywords(\n keywords: string[] | undefined,\n extra: Array<string | undefined>,\n): string[] | undefined {\n const additions = extra.filter((k): k is string => Boolean(k))\n if (additions.length === 0) return keywords\n\n const merged = keywords ? [...keywords] : []\n for (const keyword of additions) {\n if (!merged.includes(keyword)) merged.push(keyword)\n }\n return merged\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var d=(e,n)=>Object.is(e,n);function l(e,n,t){return e==null||n==null?Object.is(e,n):t(e,n)}function o(e,n,t){return!e||e.length===0?!1:e.some(r=>r===void 0?!1:l(r,n,t))}function f(e,n,t){return e.filter(r=>!l(r,n,t))}function a(e){return e??""}function i(e,n){if(!e)return;if(Array.isArray(e)){let r=e.find(u=>a(u.value)===n);return r?{label:r.label,keywords:r.keywords}:void 0}let t=e[n];if(t!==void 0)return{label:t}}function m(e,n){return i(e,n)?.label}function y(e,n){let t=n.filter(u=>!!u);if(t.length===0)return e;let r=e?[...e]:[];for(let u of t)r.includes(u)||r.push(u);return r}export{d as a,l as b,o as c,f as d,i as e,m as f,y as g};
|
|
2
|
+
//# sourceMappingURL=chunk-KO3DXT3Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/item-equality.ts","../src/utils/items.ts"],"sourcesContent":["/**\n * Type for custom item equality comparison functions.\n * Used to compare object values in Select and Combobox components.\n */\nexport type ItemEqualityComparer<Value = unknown> = (\n itemValue: Value,\n value: Value,\n) => boolean\n\n/**\n * Default equality comparer using Object.is.\n * Handles primitives and object reference equality.\n */\nexport const defaultItemEquality: ItemEqualityComparer = (item, value) =>\n Object.is(item, value)\n\n/**\n * Compare two items for equality using a custom comparer.\n * Handles null/undefined values separately using Object.is.\n */\nexport function compareItemEquality<Value>(\n item: Value | null | undefined,\n value: Value | null | undefined,\n comparer: ItemEqualityComparer<Value>,\n): boolean {\n // Handle null/undefined with Object.is for consistent behavior\n if (item == null || value == null) {\n return Object.is(item, value)\n }\n return comparer(item, value)\n}\n\n/**\n * Check if a collection includes a specific value using custom equality.\n */\nexport function itemIncludes<Value>(\n collection: readonly Value[] | undefined | null,\n value: Value | null | undefined,\n comparer: ItemEqualityComparer<Value>,\n): boolean {\n if (!collection || collection.length === 0) {\n return false\n }\n return collection.some((item) => {\n if (item === undefined) {\n return false\n }\n return compareItemEquality(item, value, comparer)\n })\n}\n\n/**\n * Find the index of a value in a collection using custom equality.\n * Returns -1 if not found.\n */\nexport function findItemIndex<Value>(\n collection: readonly Value[] | undefined | null,\n value: Value,\n comparer: ItemEqualityComparer<Value>,\n): number {\n if (!collection || collection.length === 0) {\n return -1\n }\n return collection.findIndex((item) => {\n if (item === undefined) {\n return false\n }\n return compareItemEquality(item, value, comparer)\n })\n}\n\n/**\n * Remove a value from a collection using custom equality.\n * Returns a new array without the matching item.\n */\nexport function removeItem<Value>(\n collection: readonly Value[],\n value: Value,\n comparer: ItemEqualityComparer<Value>,\n): Value[] {\n return collection.filter(\n (item) => !compareItemEquality(item, value, comparer),\n )\n}\n","import type * as React from 'react'\n\n/**\n * A single entry in the array form of the `items` prop passed to\n * `Select.Root` / `Combobox.Root`.\n */\nexport interface ItemsEntry {\n /**\n * The item's value.\n *\n * Use `null` to describe a clearable/placeholder item (its label is used as\n * the trigger placeholder and selecting it clears the value).\n */\n value: string | null\n /** The label to display for this item. */\n label: React.ReactNode\n /**\n * Additional keywords to match against when filtering, on top of the label.\n * Useful for aliases or synonyms.\n */\n keywords?: string[]\n}\n\n/**\n * Data structure describing the items rendered in a Select/Combobox popup.\n *\n * Either a record mapping a value to its label, or an array of entries. Only\n * the array form can express `keywords` or a `null` (clearable) value.\n */\nexport type Items = Record<string, React.ReactNode> | Array<ItemsEntry>\n\n/**\n * The resolved metadata for a single item looked up from the `items` prop.\n */\nexport interface ResolvedItem {\n label: React.ReactNode\n keywords?: string[]\n}\n\n/** Serialize an entry value to the string key used for registry lookups. */\nfunction entryKey(value: string | null): string {\n return value == null ? '' : value\n}\n\n/**\n * Resolve the full entry (label + keywords) from the `items` prop for a given\n * serialized value key. Returns `undefined` when there is no match.\n */\nexport function resolveItemFromItems(\n items: Items | undefined,\n valueKey: string,\n): ResolvedItem | undefined {\n if (!items) return undefined\n\n if (Array.isArray(items)) {\n const entry = items.find((i) => entryKey(i.value) === valueKey)\n if (!entry) return undefined\n return { label: entry.label, keywords: entry.keywords }\n }\n\n const label = items[valueKey]\n if (label === undefined) return undefined\n return { label }\n}\n\n/**\n * Resolve just the label from the `items` prop for a given serialized value\n * key. Returns `undefined` when there is no match.\n */\nexport function resolveLabelFromItems(\n items: Items | undefined,\n valueKey: string,\n): React.ReactNode | undefined {\n return resolveItemFromItems(items, valueKey)?.label\n}\n\n/**\n * Merge a set of extra keyword strings into an existing keywords array,\n * preserving order and removing duplicates. Returns the original `keywords`\n * reference untouched when there is nothing to add.\n */\nexport function mergeKeywords(\n keywords: string[] | undefined,\n extra: Array<string | undefined>,\n): string[] | undefined {\n const additions = extra.filter((k): k is string => Boolean(k))\n if (additions.length === 0) return keywords\n\n const merged = keywords ? [...keywords] : []\n for (const keyword of additions) {\n if (!merged.includes(keyword)) merged.push(keyword)\n }\n return merged\n}\n"],"mappings":"AAaO,IAAMA,EAA4C,CAACC,EAAMC,IAC9D,OAAO,GAAGD,EAAMC,CAAK,EAMhB,SAASC,EACdF,EACAC,EACAE,EACS,CAET,OAAIH,GAAQ,MAAQC,GAAS,KACpB,OAAO,GAAGD,EAAMC,CAAK,EAEvBE,EAASH,EAAMC,CAAK,CAC7B,CAKO,SAASG,EACdC,EACAJ,EACAE,EACS,CACT,MAAI,CAACE,GAAcA,EAAW,SAAW,EAChC,GAEFA,EAAW,KAAML,GAClBA,IAAS,OACJ,GAEFE,EAAoBF,EAAMC,EAAOE,CAAQ,CACjD,CACH,CA0BO,SAASG,EACdC,EACAC,EACAC,EACS,CACT,OAAOF,EAAW,OACfG,GAAS,CAACC,EAAoBD,EAAMF,EAAOC,CAAQ,CACtD,CACF,CC3CA,SAASG,EAASC,EAA8B,CAC9C,OAAOA,GAAgB,EACzB,CAMO,SAASC,EACdC,EACAC,EAC0B,CAC1B,GAAI,CAACD,EAAO,OAEZ,GAAI,MAAM,QAAQA,CAAK,EAAG,CACxB,IAAME,EAAQF,EAAM,KAAMG,GAAMN,EAASM,EAAE,KAAK,IAAMF,CAAQ,EAC9D,OAAKC,EACE,CAAE,MAAOA,EAAM,MAAO,SAAUA,EAAM,QAAS,EAD1C,MAEd,CAEA,IAAME,EAAQJ,EAAMC,CAAQ,EAC5B,GAAIG,IAAU,OACd,MAAO,CAAE,MAAAA,CAAM,CACjB,CAMO,SAASC,EACdL,EACAC,EAC6B,CAC7B,OAAOF,EAAqBC,EAAOC,CAAQ,GAAG,KAChD,CAOO,SAASK,EACdC,EACAC,EACsB,CACtB,IAAMC,EAAYD,EAAM,OAAQE,GAAmB,EAAQA,CAAE,EAC7D,GAAID,EAAU,SAAW,EAAG,OAAOF,EAEnC,IAAMI,EAASJ,EAAW,CAAC,GAAGA,CAAQ,EAAI,CAAC,EAC3C,QAAWK,KAAWH,EACfE,EAAO,SAASC,CAAO,GAAGD,EAAO,KAAKC,CAAO,EAEpD,OAAOD,CACT","names":["defaultItemEquality","item","value","compareItemEquality","comparer","itemIncludes","collection","removeItem","collection","value","comparer","item","compareItemEquality","entryKey","value","resolveItemFromItems","items","valueKey","entry","i","label","resolveLabelFromItems","mergeKeywords","keywords","extra","additions","k","merged","keyword"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;var _chunkM4G6J7DPcjs = require('./chunk-M4G6J7DP.cjs');var _react = require('react'); var N = _interopRequireWildcard(_react); var H = _interopRequireWildcard(_react); var A = _interopRequireWildcard(_react); var T = _interopRequireWildcard(_react); var V = _interopRequireWildcard(_react); var b = _interopRequireWildcard(_react); var oe = _interopRequireWildcard(_react); var v = _interopRequireWildcard(_react);var ie=N.createContext(null);function G(){return N.useContext(ie)}var _=H.createContext(null);function we(){let n=H.useContext(_);if(!n)throw new Error("Item child components must be used within an Item");return n}function Oe(){return H.useContext(_)}var U=A.createContext(null);function j(){let n=A.useContext(U);if(!n)throw new Error("Listbox components must be used within a Listbox provider");return n}function Me(){return A.useContext(U)}var W=T.createContext(null);process.env.NODE_ENV!=="production"&&(W.displayName="RowWidthContext");function Pe(){let n=T.useContext(W);if(!n)throw new Error("useRowWidthContext must be used within a List with measureRowWidth enabled");return n}function B(){return T.useContext(W)}var q=V.createContext(null);function $(){let n=V.useContext(q);if(!n)throw new Error("Listbox components must be used within a Surface provider");return n}function Le(){return V.useContext(q)}function k(n){return _nullishCoalesce(_optionalChain([n, 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]), () => (""))}function se(n){return n.normalize("NFD").replace(/\p{Diacritic}/gu,"")}function ke(n){return n?n.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,""):""}function He(n){let{id:e,value:t,keywords:r,disabled:o=!1,forceMount:a=!1,shortcut:s,forceOrder:l,forceScore:d,isSubmenuTrigger:c=!1,onSelect:f,closeOnClick:g=!0,onAfterSelect:R,children:S,aimGuard:m}=n,{store:u}=$(),i=G(),{depth:x}=j(),h=b.useRef(null),[C,w]=b.useState("");b.useLayoutEffect(()=>{if(e===void 0&&t===void 0&&h.current){let E=_nullishCoalesce(_optionalChain([h, 'access', _4 => _4.current, 'access', _5 => _5.textContent, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]), () => (""));w(E)}},[e,t,S]);let p=_nullishCoalesce(e, () => ((k(t)||C))),O=b.useId(),P=_nullishCoalesce(e, () => (`item-${O}`)),L=_optionalChain([r, 'optionalAccess', _8 => _8.map, 'call', _9 => _9(E=>k(E)), 'access', _10 => _10.filter, 'call', _11 => _11(Boolean)]),z=L?JSON.stringify(L):void 0;b.useEffect(()=>!p&&!a?void 0:u.registerItem(p,{value:p,keywords:L,groupId:_optionalChain([i, 'optionalAccess', _12 => _12.groupId]),disabled:o,isSubmenuTrigger:c,shortcut:s,forceOrder:l,forceScore:d,closeOnClick:g}),[p,z,_optionalChain([i, 'optionalAccess', _13 => _13.groupId]),o,c,s,l,d,g,u,a]),b.useEffect(()=>{if(p)return u.registerItemRef(p,h)},[p,u]);let F=B();b.useLayoutEffect(()=>{F&&h.current&&p&&F.queueMeasurement(h.current,p)},[F,p]),b.useEffect(()=>{if(!(!f||!p))return u.registerItemSelect(p,f)},[p,f,u]);let me=u.useState("normalizedSearch"),K=u.useState("isHighlighted",p),xe=u.useState("getItemScore",p),be=u.isFilterDisabled(),Se=me.length>0,Ie=a||be||!Se||xe>0,ee=b.useCallback(E=>{if(E.defaultPrevented||o||!p)return;E.preventDefault(),_optionalChain([u, 'access', _14 => _14.context, 'access', _15 => _15.itemSelects, 'access', _16 => _16.get, 'call', _17 => _17(p), 'optionalCall', _18 => _18()]),_optionalChain([R, 'optionalCall', _19 => _19(p)])},[o,u,p,R]),te=b.useCallback(E=>{E.preventDefault()},[]),ne=b.useCallback(E=>{if(!E.defaultPrevented&&!o&&p){if(m){let{aimGuardActiveRef:re,guardedDepthRef:Ee}=m;if(re.current&&Ee.current===x)return}u.shouldAllowPointerHighlight(E.clientX,E.clientY)&&u.setHighlightedId(p)}},[o,m,x,u,p]),Re=b.useMemo(()=>({id:P,highlighted:K,disabled:o,shortcut:s}),[P,K,o,s]),ve=b.useCallback(E=>p?u.registerItemSelect(p,E):()=>{},[u,p]),Ce=b.useMemo(()=>({onClick:ee,onPointerMove:ne,onPointerDown:te}),[ee,ne,te]);return{id:P,storeId:p,ref:h,isHighlighted:K,isVisible:Ie,contextValue:Re,handlers:Ce,registerSelect:ve}}function Ae(n){let{store:e,surfaceId:t,enabled:r,onKeyDown:o,onSelect:a,closeAll:s,focusOwner:l,depth:d=0,submenuContext:c,subpageContext:f,enableTypeToSearch:g=!1,skipFocusOwnerCheck:R=!1}=n,S=_nullishCoalesce(_optionalChain([l, 'optionalAccess', _20 => _20.useState, 'call', _21 => _21("isOwner",t)]), () => (!0)),m=R?!0:S;return{handleKeyDown:oe.useCallback(i=>{if(_optionalChain([o, 'optionalCall', _22 => _22(i)]),!i.defaultPrevented&&r&&m&&!(i.nativeEvent.isComposing||i.keyCode===229)){if(g){let x=e.context.hideUntilActive,h=e.state.inputActive;if(x&&!h&&i.key.length===1&&!i.ctrlKey&&!i.metaKey&&!i.altKey){let w=e.context.shortcuts.get(i.key.toLowerCase());if(w&&e.selectByShortcut(i.key)){i.preventDefault();let p=e.context.items.get(w);_optionalChain([a, 'optionalCall', _23 => _23({itemId:w,closeOnClick:_nullishCoalesce(_optionalChain([p, 'optionalAccess', _24 => _24.closeOnClick]), () => (!0))})]);return}i.preventDefault(),e.setPendingSearch(i.key),e.setInputActive(!0);return}}switch(i.key){case"ArrowDown":{i.preventDefault(),e.highlightNext();break}case"ArrowUp":{i.preventDefault(),e.highlightPrev();break}case"n":{i.ctrlKey&&(i.preventDefault(),e.highlightNext());break}case"p":{i.ctrlKey&&(i.preventDefault(),e.highlightPrev());break}case"ArrowRight":{e.isHighlightedSubmenuTrigger()&&(i.preventDefault(),e.openSubmenuForHighlighted());break}case"l":{i.ctrlKey&&e.isHighlightedSubmenuTrigger()&&(i.preventDefault(),e.openSubmenuForHighlighted());break}case"ArrowLeft":{if(_optionalChain([f, 'optionalAccess', _25 => _25.goBack, 'call', _26 => _26()])){i.preventDefault(),l&&f.parentSurfaceId&&l.setOwnerId(f.parentSurfaceId);break}d>0&&c&&l&&(i.preventDefault(),c.setOpen(!1),l.setOwnerId(c.parentSurfaceId));break}case"h":{if(i.ctrlKey&&_optionalChain([f, 'optionalAccess', _27 => _27.goBack, 'call', _28 => _28()])){i.preventDefault(),l&&f.parentSurfaceId&&l.setOwnerId(f.parentSurfaceId);break}i.ctrlKey&&d>0&&c&&l&&(i.preventDefault(),c.setOpen(!1),l.setOwnerId(c.parentSurfaceId));break}case"Enter":{i.preventDefault();let x=e.state.highlightedId,h=e.getHighlightedItem();e.selectHighlighted(),_optionalChain([a, 'optionalCall', _29 => _29({itemId:x,closeOnClick:_nullishCoalesce(_optionalChain([h, 'optionalAccess', _30 => _30.closeOnClick]), () => (!0))})]);break}case"Home":{i.preventDefault(),e.setHighlightedId(null),e.highlightNext();break}case"End":{i.preventDefault(),e.setHighlightedId(null),e.highlightPrev();break}case"Escape":{if(f){i.preventDefault(),i.stopPropagation(),f.closeRootOnEsc?s():f.goBack()&&l&&f.parentSurfaceId?l.setOwnerId(f.parentSurfaceId):d>0&&c&&(c.setOpen(!1),l&&l.setOwnerId(c.parentSurfaceId));break}if(d===0)break;i.preventDefault(),i.stopPropagation(),_optionalChain([c, 'optionalAccess', _31 => _31.closeRootOnEsc])!==!1?s():(c.setOpen(!1),l&&l.setOwnerId(c.parentSurfaceId));break}default:{let x=e.state.normalizedSearch.length>0;if(i.key.length===1&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!x){let C=e.context.shortcuts.get(i.key.toLowerCase());if(C&&e.selectByShortcut(i.key)){i.preventDefault();let w=e.context.items.get(C);_optionalChain([a, 'optionalCall', _32 => _32({itemId:C,closeOnClick:_nullishCoalesce(_optionalChain([w, 'optionalAccess', _33 => _33.closeOnClick]), () => (!0))})])}}break}}}},[o,r,m,g,e,d,c,f,l,a,s])}}var Te=!1,Ve=!1;function y(...n){Te&&console.log("[useStickyRowWidth]",...n)}function ae(n){return`${Math.ceil(n)}px`}function De(n){let e=Number.parseFloat(n);return Number.isFinite(e)?e:null}function ze(n){let{listRef:e,targetRef:t,maxWidth:r,enabled:o=!0}=n,a=v.useCallback(()=>_nullishCoalesce(_optionalChain([t, 'optionalAccess', _34 => _34.current]), () => (e.current)),[t,e]),s=v.useRef(0);v.useLayoutEffect(()=>{if(!o)return;let u=a();if(!u)return;let i=De(u.style.getPropertyValue("--row-width").trim());!i||i<=s.current||(s.current=i,y("Hydrated max width from existing --row-width:",{hydratedWidth:i}))},[o,a]);let l=v.useRef([]),d=v.useRef([]),c=v.useRef(!1),f=v.useRef(new Set),g=v.useCallback(u=>{let i=a();if(!i)return;let x=r!==void 0?Math.min(u,r):u;y("--row-width updated:",{rawWidth:u,cappedWidth:x,cssValue:ae(x),maxWidthCap:r,targetElement:i.tagName+(i.className?`.${i.className.split(" ").join(".")}`:"")}),i.style.setProperty("--row-width",ae(x))},[a,r]),R=v.useCallback(()=>{c.current||(c.current=!0,requestAnimationFrame(()=>{let u=l.current,i=s.current,x=!1;if(u.length>0){y("Measuring batch of",u.length,"rows");for(let{element:h,id:C}of u){if(f.current.has(C))continue;if(!h.isConnected){y("Row skipped (unmounted):",{id:C});continue}let w=h.style.width,p=h.style.maxWidth;h.setAttribute("data-measuring",""),h.style.maxWidth="none",h.style.width="max-content";let O=Math.max(h.scrollWidth,h.offsetWidth)+1,P=getComputedStyle(h);if(y("Row measurement details:",{id:C,measuredWidth:O,scrollWidth:h.scrollWidth,offsetWidth:h.offsetWidth,computedWidth:P.width,computedMaxWidth:P.maxWidth,inlineMaxWidth:p,textContent:_optionalChain([h, 'access', _35 => _35.textContent, 'optionalAccess', _36 => _36.slice, 'call', _37 => _37(0,50)])}),Ve||(h.style.width=w,h.style.maxWidth=p,h.removeAttribute("data-measuring")),O<=1){let L=h.getBoundingClientRect(),z=getComputedStyle(h);y("Row skipped (0-width, will retry):",{id:C,width:O,scrollWidth:h.scrollWidth,offsetWidth:h.offsetWidth,boundingRect:{width:L.width,height:L.height},display:z.display,visibility:z.visibility,innerHTML:h.innerHTML.slice(0,100),isConnected:h.isConnected,parentElement:_optionalChain([h, 'access', _38 => _38.parentElement, 'optionalAccess', _39 => _39.tagName])});continue}y("Row measured:",{id:C,width:O,currentMax:i,isNewMax:O>i}),O>i&&(i=O,x=!0),f.current.add(C)}l.current=[]}x&&(y("New max width found:",{previousMax:s.current,newMax:i,totalMeasured:f.current.size}),s.current=i,d.current.push(()=>g(i)));for(let h of d.current)h();d.current=[],c.current=!1}))},[g]),S=v.useCallback((u,i)=>{if(!o){y("queueMeasurement skipped (disabled):",i);return}if(f.current.has(i)){y("queueMeasurement skipped (already measured):",i);return}y("queueMeasurement:",{id:i,queueSize:l.current.length+1,element:u.tagName}),l.current.push({element:u,id:i}),R()},[o,R]),m=v.useCallback(()=>{let u=s.current,i=f.current.size;f.current.clear(),s.current=0;let x=a();x&&x.style.removeProperty("--row-width"),y("Measurements reset:",{previousMaxWidth:u,previousMeasuredCount:i,targetElement:_optionalChain([x, 'optionalAccess', _40 => _40.tagName])})},[a]);return v.useEffect(()=>{if(!o)return;let u=a();if(!u||typeof ResizeObserver>"u")return;let i=null,x=new ResizeObserver(h=>{i!==null&&cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=null,s.current>0&&(y("ResizeObserver triggered re-apply:",{currentMax:s.current,containerSize:_optionalChain([h, 'access', _41 => _41[0], 'optionalAccess', _42 => _42.contentRect])}),g(s.current))})});return x.observe(u),()=>{i!==null&&cancelAnimationFrame(i),x.disconnect()}},[a,o,g]),{queueMeasurement:S,resetMeasurements:m}}var _store = require('@base-ui/utils/store');var _useRefWithInit = require('@base-ui/utils/useRefWithInit');var M={};_chunkM4G6J7DPcjs.a.call(void 0, M,{auto:()=>nt,clearPress:()=>Xe,closePress:()=>qe,escapeKey:()=>Ge,focusOut:()=>Ue,imperativeAction:()=>rt,inputChange:()=>$e,inputClear:()=>Ye,itemKeyboardSelect:()=>Be,itemPress:()=>je,keyboard:()=>tt,listNavigation:()=>Je,none:()=>it,outsidePress:()=>_e,pointer:()=>et,siblingOpen:()=>Ze,submenuTrigger:()=>Qe,triggerContextMenu:()=>Ke,triggerFocus:()=>Fe,triggerHover:()=>We,triggerPress:()=>Ne});var Ne="trigger-press",We="trigger-hover",Fe="trigger-focus",Ke="trigger-context-menu",Ge="escape-key",_e="outside-press",Ue="focus-out",je="item-press",Be="item-keyboard-select",qe="close-press",$e="input-change",Ye="input-clear",Xe="clear-press",Je="list-navigation",Qe="submenu-trigger",Ze="sibling-open",et="pointer",tt="keyboard",nt="auto",rt="imperative-action",it="none";function le(n,e,t,r){let o=!1,a=!1;return{reason:n,event:_nullishCoalesce(e, () => (new Event("ui-event"))),cancel(){o=!0},allowPropagation(){a=!0},get isCanceled(){return o},get isPropagationAllowed(){return a},trigger:t,...r}}function ce(n,e,t){return{reason:n,event:_nullishCoalesce(e, () => (new Event("ui-event"))),...t}}var Y=null,ue=!1;function st(n){Y=n.pointerType||"mouse"}function ot(){Y=null}function Gt(){ue||typeof document>"u"||(ue=!0,document.addEventListener("pointerdown",st,{capture:!0,passive:!0}),document.addEventListener("keydown",ot,{capture:!0,passive:!0}))}function he(n){switch(n){case"touch":return"touch";case"pen":return"pen";case"mouse":return"mouse";default:return null}}function de(n){let e=he(_optionalChain([n, 'optionalAccess', _43 => _43.pointerType]));return e||(n&&typeof KeyboardEvent<"u"&&n instanceof KeyboardEvent?"keyboard":_nullishCoalesce(he(Y), () => ("keyboard")))}var fe=1,at=.9,lt=.8,ct=.17,X=.1,J=.999,ut=.9999;var ht=.99,dt=/[\\/_+.#"@[({&]/,ft=/[\\/_+.#"@[({&]/g,gt=/[\s-]/,pe=/[\s-]/g;function Q(n,e,t,r,o,a,s){if(a===e.length)return o===n.length?fe:ht;let l=`${o},${a}`;if(s[l]!==void 0)return s[l];let d=r.charAt(a),c=t.indexOf(d,o),f=0,g,R,S,m;for(;c>=0;)g=Q(n,e,t,r,c+1,a+1,s),g>f&&(c===o?g*=fe:dt.test(n.charAt(c-1))?(g*=lt,S=n.slice(o,c-1).match(ft),S&&o>0&&(g*=J**S.length)):gt.test(n.charAt(c-1))?(g*=at,m=n.slice(o,c-1).match(pe),m&&o>0&&(g*=J**m.length)):(g*=ct,o>0&&(g*=J**(c-o))),n.charAt(c)!==e.charAt(a)&&(g*=ut)),(g<X&&t.charAt(c-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&t.charAt(c-1)!==r.charAt(a))&&(R=Q(n,e,t,r,c+1,a+2,s),R*X>g&&(g=R*X)),g>f&&(f=g),c=t.indexOf(d,c+1);return s[l]=f,f}function ge(n){return se(n.toLowerCase()).replace(pe," ")}function D(n,e,t){if(!e)return 1;if(!n)return 0;let r=t&&t.length>0?`${n} ${t.join(" ")}`:n;return Q(r,e,ge(r),ge(e),0,0,{})}var pt=D;var bt={open:_store.createSelector.call(void 0, n=>_nullishCoalesce(n.openProp, () => (n.open))),openMethod:_store.createSelector.call(void 0, n=>n.openMethod),search:_store.createSelector.call(void 0, n=>_nullishCoalesce(n.searchProp, () => (n.search))),normalizedSearch:_store.createSelector.call(void 0, n=>n.normalizedSearch),highlightedId:_store.createSelector.call(void 0, n=>n.highlightedId),highlightSource:_store.createSelector.call(void 0, n=>n.highlightSource),hasInput:_store.createSelector.call(void 0, n=>n.hasInput),inputActive:_store.createSelector.call(void 0, n=>n.inputActive),pendingSearch:_store.createSelector.call(void 0, n=>n.pendingSearch),filteredCount:_store.createSelector.call(void 0, n=>n.filteredCount),filteredItems:_store.createSelector.call(void 0, n=>n.filteredItems),visibleGroups:_store.createSelector.call(void 0, n=>n.visibleGroups),virtualized:_store.createSelector.call(void 0, n=>n.virtualized),isHighlighted:_store.createSelector.call(void 0, (n,e)=>n.highlightedId===e),isGroupVisible:_store.createSelector.call(void 0, (n,e)=>n.normalizedSearch.length===0||n.visibleGroups.has(e)),getItemScore:_store.createSelector.call(void 0, (n,e)=>n.normalizedSearch.length===0?1:_nullishCoalesce(n.filteredItems.get(e), () => (0))),hasSearchWithNoResults:_store.createSelector.call(void 0, n=>n.normalizedSearch.length===0?!1:n.virtualized&&n.virtualItemsCount>=0?n.virtualItemsCount===0:n.filteredCount===0)},St=n=>k(n),Z= exports.y = (_class =class n extends _store.ReactStore{constructor(e,t){let o={...{filter:D,normalizeSearch:St,loop:!0,autoHighlightFirst:!0,clearSearchOnClose:!0,resetScrollOnSearch:!0,hideUntilActive:!1,listId:"",inputId:"",items:new Map,groups:new Map,itemSelects:new Map,submenuOpens:new Map,submenuCloses:new Map,shortcuts:new Map,onOpenChange:()=>{},onSearchChange:void 0,virtualItems:[],orderedItems:[],onHighlightChange:void 0,refs:{listRef:{current:null},listScrollContainerRef:{current:null},popupRef:{current:null},itemRefs:new Map},onCloseComplete:void 0,onPopupCloseComplete:void 0,lastPointerPosition:null},...t},a={...It(),...e};a.normalizedSearch=o.normalizeSearch(a.search),super(a,o,bt);_class.prototype.__init.call(this);,this.observe("open",(s,l)=>{if(s!==l)if(s)this.resetPointerPosition(),this.context.autoHighlightFirst===!0&&this.highlightFirstItem();else{this.context.clearSearchOnClose===!0&&this.setSearch("");let d=this.context.clearSearchOnClose==="after-exit";this.update({inputActive:d?this.state.inputActive:!1,pendingSearch:""})}}),this.observe("search",(s,l)=>{s!==l&&this.syncNormalizedSearch()}),this.observe(s=>s.searchProp,(s,l)=>{s!==l&&this.syncNormalizedSearch()}),this.observe("normalizedSearch",(s,l)=>{s!==l&&(this.resetPointerPosition(),this.recomputeFilteredItems(l),this.context.resetScrollOnSearch&&!this.state.virtualized&&this.scrollListToTop())})}setOpen(e,t=M.none,r){let o=le(t,r);this.context.onOpenChange(e,o),!o.isCanceled&&(e&&this.set("openMethod",de(r)),this.set("open",e))}setSearch(e){let t=_nullishCoalesce(this.state.searchProp, () => (e));this.update({search:e,normalizedSearch:this.context.normalizeSearch(t)}),_optionalChain([this, 'access', _44 => _44.context, 'access', _45 => _45.onSearchChange, 'optionalCall', _46 => _46(e)])}setSearchNormalizer(e){this.context.normalizeSearch=e;let t=_nullishCoalesce(this.state.searchProp, () => (this.state.search)),r=e(t);r!==this.state.normalizedSearch&&this.set("normalizedSearch",r)}syncNormalizedSearch(){let e=_nullishCoalesce(this.state.searchProp, () => (this.state.search)),t=this.context.normalizeSearch(e);t!==this.state.normalizedSearch&&this.set("normalizedSearch",t)}__init() {this.defaultSearchInitialized=!1}initializeDefaultSearch(e){this.defaultSearchInitialized||(this.defaultSearchInitialized=!0,this.state.searchProp===void 0&&e!==this.state.search&&this.setSearch(e))}setHighlightedId(e,t="pointer"){this.state.highlightedId!==e&&(this.closeSiblingSubmenus(e),this.update({highlightedId:e,highlightSource:t}),this.notifyHighlightChange(e,t),t==="keyboard"&&e!==null&&this.scrollItemIntoView(e))}notifyHighlightChange(e,t){let{onHighlightChange:r}=this.context;if(!r)return;let o=t==="keyboard"?M.keyboard:t==="pointer"?M.pointer:M.auto,a=e===null?-1:this.state.virtualized?this.getVirtualItemIndex(e):this.getVisibleItemIndex(e),s=ce(o,void 0,{index:a});r(e,a,s)}scrollItemIntoView(e){let{refs:t}=this.context,r=t.listRef.current,a=_optionalChain([t, 'access', _47 => _47.itemRefs, 'access', _48 => _48.get, 'call', _49 => _49(e), 'optionalAccess', _50 => _50.current]);if(a&&r)try{r.contains(a)&&a.scrollIntoView({block:"nearest"})}catch (e2){}}scrollListToTop(){let e=this.context.refs.listRef.current,t=_nullishCoalesce(this.context.refs.listScrollContainerRef.current, () => ((e?this.getScrollResetElement(e):null)));if(t){if(typeof t.scrollTo=="function"){t.scrollTo({top:0});return}t.scrollTop=0}}getScrollResetElement(e){let t=e;for(;t;){if(this.isScrollableElement(t))return t;t=t.parentElement}return e}isScrollableElement(e){let r=_optionalChain([e, 'access', _51 => _51.ownerDocument, 'optionalAccess', _52 => _52.defaultView, 'optionalAccess', _53 => _53.getComputedStyle, 'call', _54 => _54(e), 'access', _55 => _55.overflowY]),o=r==="auto"||r==="scroll"||r==="overlay";return e.scrollTop>0||o&&e.scrollHeight>e.clientHeight}setHasInput(e){this.set("hasInput",e)}setInputActive(e){this.set("inputActive",e)}setPendingSearch(e){this.set("pendingSearch",e)}setHideUntilActive(e){this.context.hideUntilActive=e,e&&this.state.normalizedSearch.length>0&&this.setInputActive(!0)}setVirtualized(e){this.set("virtualized",e)}setVirtualItems(e){let t=this.context.virtualItems;if(this.context.virtualItems=e,this.set("virtualItemsCount",e.length),this.preRegisterVirtualItems(),e===t)return;if(t.length===e.length){let s=!0;for(let l=0;l<t.length;l++){let d=t[l],c=e[l];if(!d||!c||d.value!==c.value||d.disabled!==c.disabled){s=!1;break}}if(s)return}if(!this.state.virtualized||!this.state.open||e.length===0)return;let r=t.find(s=>!s.disabled),o=e.find(s=>!s.disabled),a=r!==void 0&&_optionalChain([o, 'optionalAccess', _56 => _56.value])!==r.value;this.validateHighlight({forceFirst:a})}setOrderedItems(e,t){let r=_nullishCoalesce(_optionalChain([t, 'optionalAccess', _57 => _57.reason]), () => ("replace")),o=this.context.orderedItems;if(this.context.orderedItems=e,e!==o&&this.state.open){if(r==="append"&&this.state.highlightedId!==null){let a=this.state.highlightedId,s=this.context.items.get(a),l=e.includes(a),d=s?!s.disabled:!1;if(l&&d)return}if(e.length>0){let a=e.find(s=>this.context.items.has(s));a!==void 0?this.setHighlightedId(a,"auto"):this.setHighlightedId(null)}else this.setHighlightedId(null)}}maybeAutoHighlightOnRegister(e){if(this.context.filter!==!1||!this.state.open||this.state.highlightedId!==null||!this.context.autoHighlightFirst)return;let t=this.context.orderedItems;if(t.length===0)return;t.find(o=>this.context.items.has(o))===e&&this.setHighlightedId(e,"auto")}setOnHighlightChange(e){this.context.onHighlightChange=e}setListRef(e){this.context.refs.listRef=e}setListScrollContainerRef(e){this.context.refs.listScrollContainerRef=e}setPopupRef(e){this.context.refs.popupRef=e}registerItemRef(e,t){return this.context.refs.itemRefs.set(e,t),()=>{this.context.refs.itemRefs.delete(e)}}shouldAllowPointerHighlight(e,t){let r=this.context.lastPointerPosition;if(r===null)return this.context.lastPointerPosition={x:e,y:t},!0;let o=Math.abs(e-r.x),a=Math.abs(t-r.y);return o>1||a>1?(this.context.lastPointerPosition={x:e,y:t},!0):!1}resetPointerPosition(){this.context.lastPointerPosition=null}preRegisterVirtualItems(){let e=this.context.virtualItems;if(e.length!==0){for(let t of e)this.context.items.has(t.value)||this.context.items.set(t.value,{value:t.value,keywords:t.keywords,disabled:t.disabled});this.recomputeFilteredItems()}}registerItem(e,t){let r=this.context.items.get(e);if(r&&r.value===t.value&&r.disabled===t.disabled&&r.forceOrder===t.forceOrder&&r.forceScore===t.forceScore&&r.groupId===t.groupId&&r.shortcut===t.shortcut)return()=>{this.context.items.get(e)===r&&(this.context.items.delete(e),this.context.itemSelects.delete(e),t.groupId&&_optionalChain([this, 'access', _58 => _58.context, 'access', _59 => _59.groups, 'access', _60 => _60.get, 'call', _61 => _61(t.groupId), 'optionalAccess', _62 => _62.delete, 'call', _63 => _63(e)]),t.shortcut&&this.context.shortcuts.delete(t.shortcut.toLowerCase()),this.recomputeFilteredItems())};if(this.context.items.set(e,t),t.groupId){let a=this.context.groups.get(t.groupId);a&&a.add(e)}if(t.shortcut){let a=t.shortcut.toLowerCase();this.context.shortcuts.set(a,e)}return this.recomputeFilteredItems(),this.maybeAutoHighlightOnRegister(e),()=>{if(this.context.items.delete(e),this.context.itemSelects.delete(e),t.groupId){let a=this.context.groups.get(t.groupId);a&&a.delete(e)}if(t.shortcut){let a=t.shortcut.toLowerCase();this.context.shortcuts.delete(a)}this.recomputeFilteredItems()}}registerGroup(e){return this.context.groups.set(e,new Set),()=>{this.context.groups.delete(e)}}registerItemSelect(e,t){return t&&this.context.itemSelects.set(e,t),()=>{this.context.itemSelects.delete(e)}}registerSubmenuOpen(e,t){return t&&this.context.submenuOpens.set(e,t),()=>{this.context.submenuOpens.delete(e)}}registerSubmenuClose(e,t){return t&&this.context.submenuCloses.set(e,t),()=>{this.context.submenuCloses.delete(e)}}closeSiblingSubmenus(e){for(let[t,r]of this.context.submenuCloses)if(t!==e)try{r()}catch (e3){}}highlightNext(){let e=this.getVisibleItemIds();if(e.length===0)return;let r=(this.state.highlightedId?e.indexOf(this.state.highlightedId):-1)+1;r>=e.length&&(r=this.context.loop?0:e.length-1);let o=e[r];o&&this.setHighlightedId(o,"keyboard")}highlightPrev(){let e=this.getVisibleItemIds();if(e.length===0)return;let r=(this.state.highlightedId?e.indexOf(this.state.highlightedId):e.length)-1;r<0&&(r=this.context.loop?e.length-1:0);let o=e[r];o&&this.setHighlightedId(o,"keyboard")}selectHighlighted(){this.state.highlightedId&&_optionalChain([this, 'access', _64 => _64.context, 'access', _65 => _65.itemSelects, 'access', _66 => _66.get, 'call', _67 => _67(this.state.highlightedId), 'optionalCall', _68 => _68()])}selectByShortcut(e){let t=this.context.shortcuts.get(e.toLowerCase());if(!t)return!1;let r=this.context.items.get(t);if(!r||r.disabled)return!1;let o=_nullishCoalesce(this.state.filteredItems.get(t), () => (0));return this.state.normalizedSearch.length===0||o>0?(_optionalChain([this, 'access', _69 => _69.context, 'access', _70 => _70.itemSelects, 'access', _71 => _71.get, 'call', _72 => _72(t), 'optionalCall', _73 => _73()]),!0):!1}openSubmenuForHighlighted(){this.state.highlightedId&&_optionalChain([this, 'access', _74 => _74.context, 'access', _75 => _75.submenuOpens, 'access', _76 => _76.get, 'call', _77 => _77(this.state.highlightedId), 'optionalCall', _78 => _78()])}isHighlightedSubmenuTrigger(){return this.state.highlightedId?_nullishCoalesce(_optionalChain([this, 'access', _79 => _79.context, 'access', _80 => _80.items, 'access', _81 => _81.get, 'call', _82 => _82(this.state.highlightedId), 'optionalAccess', _83 => _83.isSubmenuTrigger]), () => (!1)):!1}getHighlightedItem(){if(this.state.highlightedId)return this.context.items.get(this.state.highlightedId)}clearSearch(){this.setSearch("")}clearHighlight(){this.update({highlightedId:null,highlightSource:null})}highlightFirstItem(){let e=this.getVisibleItemIds();e.length>0&&e[0]?this.update({highlightedId:e[0],highlightSource:null}):this.update({highlightedId:null,highlightSource:null})}applyAutoHighlight(){if(!this.state.open)return;let e=this.context.autoHighlightFirst;e===!0?this.highlightFirstItem():typeof e=="string"&&this.highlightItemByValue(e)}highlightItemByValue(e){let t=this.getVisibleItemIds(),r=null;t.includes(e)?r=e:t.length>0&&t[0]&&(r=t[0]),this.update({highlightedId:r,highlightSource:null}),r&&requestAnimationFrame(()=>{this.scrollItemIntoView(r)})}isFilterDisabled(){return this.context.filter===!1}getVisibleItemIds(){let e=[],t=this.state.normalizedSearch,r=this.state.filteredItems,o=this.context.virtualItems,a=this.context.orderedItems;if(this.state.virtualized&&o.length>0){for(let s of o){let l=_nullishCoalesce(r.get(s.value), () => (0));(t.length===0||l>0)&&!s.disabled&&e.push(s.value)}return e}if(this.context.filter===!1&&a.length>0){let s=[];for(let l of a){let d=this.context.items.get(l);d&&!d.disabled?e.push(l):d||s.push(l)}if(process.env.NODE_ENV!=="production"&&s.length>0&&e.length>0)for(let l of s)console.warn(`[ListboxStore] Item "${l}" is in orderedItems but not registered. This may cause keyboard navigation to skip this item. Make sure the render function passes the \`id\` prop: <Item {...props}>...</Item>`);return e}return this.context.items.forEach((s,l)=>{let d=_nullishCoalesce(r.get(l), () => (0));(t.length===0||d>0)&&!s.disabled&&e.push(l)}),e}getVisibleItemIndex(e){return this.getVisibleItemIds().indexOf(e)}getVirtualItemIndex(e){return this.state.virtualized?this.context.virtualItems.findIndex(t=>t.value===e):-1}validateHighlight(e={}){let{forceFirst:t=!1,filteredItems:r=this.state.filteredItems,newSearch:o,prevSearch:a}=e,s=a!==void 0?a:this.state.normalizedSearch,l=o!==void 0?o:s,d=o!==void 0&&o!==s;if(!this.state.open||!this.context.autoHighlightFirst)return this.state.highlightedId;let c=this.state.highlightedId,{filter:f}=this.context,g=t||d,R=!1;if(c&&!g){let m=_nullishCoalesce(r.get(c), () => (0)),u=l.length===0||f===!1||m>0,i=this.context.items.get(c),x=this.context.virtualItems.find(p=>p.value===c),h=_nullishCoalesce(_nullishCoalesce(_optionalChain([i, 'optionalAccess', _84 => _84.disabled]), () => (_optionalChain([x, 'optionalAccess', _85 => _85.disabled]))), () => (!1)),C=this.state.virtualized||i!==void 0,w=!this.state.virtualized||this.context.virtualItems.length===0||x!==void 0;R=u&&!h&&C&&w}if(R)return c;let S=null;if(this.state.virtualized&&this.context.virtualItems.length>0)for(let m of this.context.virtualItems){let u=_nullishCoalesce(r.get(m.value), () => (0));if((l.length===0||f===!1||u>0)&&!m.disabled){S=m.value;break}}else if(f===!1&&this.context.orderedItems.length>0)for(let m of this.context.orderedItems){let u=this.context.items.get(m);if(u&&!u.disabled){S=m;break}}else for(let[m,u]of this.context.items){let i=_nullishCoalesce(r.get(m), () => (0));if((l.length===0||i>0)&&!u.disabled){S=m;break}}return S!==c&&this.update({highlightedId:S,highlightSource:null}),S}recomputeFilteredItems(e){let{filter:t}=this.context,r=this.state.normalizedSearch,o=this.context.items,a=this.context.groups,s=new Map,l=new Set,d=0;if(!r||t===!1){if(this.state.virtualized&&this.context.virtualItems.length>0)for(let f of this.context.virtualItems)s.set(f.value,1),d++;else o.forEach((f,g)=>{s.set(g,1),d++});a.forEach((f,g)=>{l.add(g)})}else{let f=t||D;o.forEach((g,R)=>{let S=f(g.value,r,g.keywords),m=_nullishCoalesce(g.forceScore, () => (S));s.set(R,m),m>0&&(d++,g.groupId&&l.add(g.groupId))})}if(t===!1){this.update({filteredItems:s,visibleGroups:l,filteredCount:d,filterTrigger:this.state.filterTrigger+1});return}let c=this.validateHighlight({filteredItems:s,newSearch:r,prevSearch:e});this.update({filteredItems:s,visibleGroups:l,filteredCount:d,filterTrigger:this.state.filterTrigger+1,highlightedId:c,highlightSource:null})}static useStore(e,t,r){return _useRefWithInit.useRefWithInit.call(void 0, ()=>_nullishCoalesce(e, () => (new n(t,r)))).current}}, _class);function It(){return{open:!1,openProp:void 0,openMethod:null,search:"",searchProp:void 0,normalizedSearch:"",highlightedId:null,highlightSource:null,hasInput:!1,inputActive:!1,pendingSearch:"",filteredItems:new Map,visibleGroups:new Set,filteredCount:0,filterTrigger:0,virtualized:!1,virtualItemsCount:0}}exports.a = M; exports.b = le; exports.c = Gt; exports.d = ie; exports.e = G; exports.f = _; exports.g = we; exports.h = Oe; exports.i = U; exports.j = j; exports.k = Me; exports.l = W; exports.m = Pe; exports.n = B; exports.o = q; exports.p = $; exports.q = Le; exports.r = k; exports.s = ke; exports.t = He; exports.u = Ae; exports.v = ze; exports.w = D; exports.x = pt; exports.y = Z;
|
|
2
|
+
//# sourceMappingURL=chunk-SF7X2BUT.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/ui/ui/packages/react/dist/chunk-SF7X2BUT.cjs","../src/internal/listbox/contexts/group-context.ts","../src/internal/listbox/contexts/item-context.ts","../src/internal/listbox/contexts/listbox-context.ts","../src/internal/listbox/contexts/row-width-context.ts","../src/internal/listbox/contexts/surface-context.ts","../src/internal/listbox/hooks/use-listbox-item.ts","../src/internal/listbox/utils/normalize.ts"],"names":["GroupContext","useGroupContext","ItemContext","useItemContext","context","useMaybeItemContext","ListboxContext","useListboxContext","useMaybeListboxContext","RowWidthContext","useRowWidthContext","useMaybeRowWidthContext","SurfaceContext","useSurfaceContext","useMaybeSurfaceContext","normalizeValue","value","deburr","slugify","useListboxItem","params","idProp","valueProp","keywords","disabled","forceMount","shortcut","forceOrder","forceScore","isSubmenuTrigger","onSelect","closeOnClick","onAfterSelect","children","aimGuard","store","groupContext","depth","ref","inferredValue","setInferredValue","textContent","registrationId","generatedDomId","domId"],"mappings":"AAAA,ugCAAyC,uWCElB,IAUjBA,EAAAA,CAAqB,CAAA,CAAA,aAAA,CAAwC,IAAI,CAAA,CAEhE,SAASC,CAAAA,CAAAA,CAA4C,CAC1D,OAAa,CAAA,CAAA,UAAA,CAAWD,EAAY,CACtC,CCdA,IAiBME,CAAAA,CAAoB,CAAA,CAAA,aAAA,CAAuC,IAAI,CAAA,CAE9D,SAASC,EAAAA,CAAAA,CAAmC,CACjD,IAAMC,CAAAA,CAAgB,CAAA,CAAA,UAAA,CAAWF,CAAW,CAAA,CAC5C,EAAA,CAAI,CAACE,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,mDAAmD,CAAA,CAErE,OAAOA,CACT,CAEO,SAASC,EAAAA,CAAAA,CAA+C,CAC7D,OAAa,CAAA,CAAA,UAAA,CAAWH,CAAW,CACrC,CC7BA,IAuCMI,CAAAA,CAAuB,CAAA,CAAA,aAAA,CAA0C,IAAI,CAAA,CAEpE,SAASC,CAAAA,CAAAA,CAAyC,CACvD,IAAMH,CAAAA,CAAgB,CAAA,CAAA,UAAA,CAAWE,CAAc,CAAA,CAC/C,EAAA,CAAI,CAACF,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,2DAA2D,CAAA,CAE7E,OAAOA,CACT,CAEO,SAASI,EAAAA,CAAAA,CAAqD,CACnE,OAAa,CAAA,CAAA,UAAA,CAAWF,CAAc,CACxC,CCnDA,IAqBaG,CAAAA,CAAwB,CAAA,CAAA,aAAA,CACnC,IACF,CAAA,CAEI,OAAA,CAAQ,GAAA,CAAI,QAAA,GAAa,YAAA,EAAA,CAC3BA,CAAAA,CAAgB,WAAA,CAAc,iBAAA,CAAA,CAOzB,SAASC,EAAAA,CAAAA,CAA2C,CACzD,IAAMN,CAAAA,CAAgB,CAAA,CAAA,UAAA,CAAWK,CAAe,CAAA,CAChD,EAAA,CAAI,CAACL,CAAAA,CACH,MAAM,IAAI,KAAA,CACR,4EACF,CAAA,CAEF,OAAOA,CACT,CAOO,SAASO,CAAAA,CAAAA,CAAuD,CACrE,OAAa,CAAA,CAAA,UAAA,CAAWF,CAAe,CACzC,CClDA,IAoBMG,CAAAA,CAAuB,CAAA,CAAA,aAAA,CAA0C,IAAI,CAAA,CAEpE,SAASC,CAAAA,CAAAA,CAAyC,CACvD,IAAMT,CAAAA,CAAgB,CAAA,CAAA,UAAA,CAAWQ,CAAc,CAAA,CAC/C,EAAA,CAAI,CAACR,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,2DAA2D,CAAA,CAE7E,OAAOA,CACT,CAEO,SAASU,EAAAA,CAAAA,CAAqD,CACnE,OAAa,CAAA,CAAA,UAAA,CAAWF,CAAc,CACxC,CChCA,SCKgBG,CAAAA,CAAeC,CAAAA,CAA0C,CACvE,wCAAOA,CAAAA,6BAAO,IAAA,mBAAK,GAAA,SAAK,IAC1B,CAaO,SAASC,EAAAA,CAAOD,CAAAA,CAAuB,CAC5C,OAAOA,CAAAA,CAAM,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA,CAAQ,iBAAA,CAAmB,EAAE,CAC7D,CAmBO,SAASE,EAAAA,CAAQF,CAAAA,CAA0C,CAChE,OAAKA,CAAAA,CAGHA,CAAAA,CACG,IAAA,CAAK,CAAA,CACL,WAAA,CAAY,CAAA,CAEZ,OAAA,CAAQ,MAAA,CAAQ,GAAG,CAAA,CAEnB,OAAA,CAAQ,aAAA,CAAe,EAAE,CAAA,CAEzB,OAAA,CAAQ,KAAA,CAAO,GAAG,CAAA,CAElB,OAAA,CAAQ,QAAA,CAAU,EAAE,CAAA,CAbN,EAerB,CDyIO,SAASG,EAAAA,CACdC,CAAAA,CACsB,CACtB,GAAM,CACJ,EAAA,CAAIC,CAAAA,CACJ,KAAA,CAAOC,CAAAA,CACP,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CAAW,CAAA,CAAA,CACX,UAAA,CAAAC,CAAAA,CAAa,CAAA,CAAA,CACb,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CAAmB,CAAA,CAAA,CACnB,QAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CAAe,CAAA,CAAA,CACf,aAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,CAAId,CAAAA,CAEE,CAAE,KAAA,CAAAe,CAAM,CAAA,CAAItB,CAAAA,CAAkB,CAAA,CAC9BuB,CAAAA,CAAenC,CAAAA,CAAgB,CAAA,CAC/B,CAAE,KAAA,CAAAoC,CAAM,CAAA,CAAI9B,CAAAA,CAAkB,CAAA,CAE9B+B,CAAAA,CAAY,CAAA,CAAA,MAAA,CAAuB,IAAI,CAAA,CAGvC,CAACC,CAAAA,CAAeC,CAAgB,CAAA,CAAU,CAAA,CAAA,QAAA,CAAiB,EAAE,CAAA,CAE7D,CAAA,CAAA,eAAA,CAAgB,CAAA,CAAA,EAAM,CAC1B,EAAA,CAAInB,CAAAA,GAAW,KAAA,CAAA,EAAaC,CAAAA,GAAc,KAAA,CAAA,EAAagB,CAAAA,CAAI,OAAA,CAAS,CAClE,IAAMG,CAAAA,kCAAcH,CAAAA,qBAAI,OAAA,qBAAQ,WAAA,6BAAa,IAAA,mBAAK,GAAA,SAAK,IAAA,CACvDE,CAAAA,CAAiBC,CAAW,CAC9B,CACF,CAAA,CAAG,CAACpB,CAAAA,CAAQC,CAAAA,CAAWW,CAAQ,CAAC,CAAA,CAKhC,IAAMS,CAAAA,kBAAiBrB,CAAAA,SAAAA,CAAWN,CAAAA,CAAeO,CAAS,CAAA,EAAKiB,CAAAA,GAAAA,CAKzDI,CAAAA,CAAuB,CAAA,CAAA,KAAA,CAAM,CAAA,CAC7BC,CAAAA,kBAAQvB,CAAAA,SAAU,CAAA,KAAA,EAAQsB,CAAc,CAAA,GAAA","file":"/home/runner/work/ui/ui/packages/react/dist/chunk-SF7X2BUT.cjs","sourcesContent":[null,"'use client'\n\nimport * as React from 'react'\n\n// ============================================================================\n// Group Context (for items to know their parent group)\n// ============================================================================\n\nexport interface GroupContextValue {\n groupId: string\n}\n\nconst GroupContext = React.createContext<GroupContextValue | null>(null)\n\nexport function useGroupContext(): GroupContextValue | null {\n return React.useContext(GroupContext)\n}\n\nexport { GroupContext }\n","'use client'\n\nimport * as React from 'react'\n\n// ============================================================================\n// Item Context (for child components like indicators to access item state)\n// ============================================================================\n\nexport interface ItemContextValue {\n /** Unique ID for this item (for DOM id attribute) */\n id: string\n /** Whether the item is highlighted */\n highlighted: boolean\n /** Whether the item is disabled */\n disabled: boolean\n /** Keyboard shortcut for this item */\n shortcut?: string\n}\n\nconst ItemContext = React.createContext<ItemContextValue | null>(null)\n\nexport function useItemContext(): ItemContextValue {\n const context = React.useContext(ItemContext)\n if (!context) {\n throw new Error('Item child components must be used within an Item')\n }\n return context\n}\n\nexport function useMaybeItemContext(): ItemContextValue | null {\n return React.useContext(ItemContext)\n}\n\nexport { ItemContext }\n","'use client'\n\nimport * as React from 'react'\nimport type { HighlightChangeEventDetails } from '../../popup-menu/events.js'\nimport type { ListboxStore, VirtualItem } from '../store/ListboxStore.js'\n\n/**\n * Virtualization configuration passed from Root/Submenu to Surface.\n */\nexport interface VirtualizationConfig {\n /** Whether virtualization mode is enabled */\n virtualized: boolean\n /** Pre-registered items for virtualization */\n items: VirtualItem[]\n /**\n * Callback when highlighted item changes (for scroll sync).\n * The third parameter contains event details including the reason for the change.\n */\n onHighlightChange?: (\n id: string | null,\n index: number,\n eventDetails: HighlightChangeEventDetails,\n ) => void\n}\n\nexport interface ListboxContextValue {\n /** The Listbox store instance */\n store: ListboxStore\n /** Nesting depth: 0 = root menu, 1+ = submenu */\n depth: number\n /** Close the entire menu tree (deepest submenu to root, sequentially) */\n closeAll: () => void\n /** Register a surface (submenu) for closeAll tracking. Returns unregister function. */\n registerSurface: (\n depth: number,\n setOpen: (open: boolean) => void,\n ) => () => void\n /** Virtualization configuration (if enabled) */\n virtualization?: VirtualizationConfig\n}\n\nconst ListboxContext = React.createContext<ListboxContextValue | null>(null)\n\nexport function useListboxContext(): ListboxContextValue {\n const context = React.useContext(ListboxContext)\n if (!context) {\n throw new Error('Listbox components must be used within a Listbox provider')\n }\n return context\n}\n\nexport function useMaybeListboxContext(): ListboxContextValue | null {\n return React.useContext(ListboxContext)\n}\n\nexport { ListboxContext }\n","'use client'\n\nimport * as React from 'react'\n\n/**\n * Context value for row width measurement.\n * Provided by List when `measureRowWidth` is enabled.\n */\nexport interface RowWidthContextValue {\n /**\n * Queue a row element for width measurement.\n * Call this when a row mounts or becomes visible.\n *\n * @param element - The DOM element to measure\n * @param id - Unique identifier for this row (used to avoid re-measuring)\n */\n queueMeasurement: (element: HTMLElement, id: string) => void\n}\n\n/**\n * Context for row width measurement.\n * Items use this to self-register for measurement.\n */\nexport const RowWidthContext = React.createContext<RowWidthContextValue | null>(\n null,\n)\n\nif (process.env.NODE_ENV !== 'production') {\n RowWidthContext.displayName = 'RowWidthContext'\n}\n\n/**\n * Hook to get the row width context.\n * Throws an error if used outside of a List with `measureRowWidth` enabled.\n */\nexport function useRowWidthContext(): RowWidthContextValue {\n const context = React.useContext(RowWidthContext)\n if (!context) {\n throw new Error(\n 'useRowWidthContext must be used within a List with measureRowWidth enabled',\n )\n }\n return context\n}\n\n/**\n * Hook to optionally get the row width context.\n * Returns null if not within a List with `measureRowWidth` enabled.\n * This is the preferred hook for items that should work both with and without measurement.\n */\nexport function useMaybeRowWidthContext(): RowWidthContextValue | null {\n return React.useContext(RowWidthContext)\n}\n","'use client'\n\nimport * as React from 'react'\nimport type { ListboxStore } from '../store/ListboxStore.js'\n\n// Re-export types from the store for convenience\nexport type {\n FilterFn,\n ItemRegistration,\n} from '../store/ListboxStore.js'\n\n// ============================================================================\n// Surface Context\n// ============================================================================\n\nexport interface SurfaceContextValue {\n /** The Listbox store instance */\n store: ListboxStore\n /** Unique identifier for this surface */\n surfaceId: string\n}\n\nconst SurfaceContext = React.createContext<SurfaceContextValue | null>(null)\n\nexport function useSurfaceContext(): SurfaceContextValue {\n const context = React.useContext(SurfaceContext)\n if (!context) {\n throw new Error('Listbox components must be used within a Surface provider')\n }\n return context\n}\n\nexport function useMaybeSurfaceContext(): SurfaceContextValue | null {\n return React.useContext(SurfaceContext)\n}\n\nexport { SurfaceContext }\n","'use client'\n\nimport * as React from 'react'\nimport { useGroupContext } from '../contexts/group-context.js'\nimport type { ItemContextValue } from '../contexts/item-context.js'\nimport { useListboxContext } from '../contexts/listbox-context.js'\nimport { useMaybeRowWidthContext } from '../contexts/row-width-context.js'\nimport { useSurfaceContext } from '../contexts/surface-context.js'\nimport { normalizeValue } from '../utils/normalize.js'\n\n/**\n * Aim guard refs for submenu navigation.\n * Optional - only needed for popup menus with submenus.\n */\nexport interface AimGuardRefs {\n /** Whether aim guard is currently active */\n aimGuardActiveRef: React.RefObject<boolean>\n /** The depth at which aim guard is active (null when not guarding) */\n guardedDepthRef: React.RefObject<number | null>\n}\n\n/**\n * Parameters for the useListboxItem hook.\n */\nexport interface UseListboxItemParams {\n /**\n * Explicit unique identifier for this item in the store.\n * Takes highest priority for item registration.\n * Used by data-first APIs to ensure consistent IDs.\n */\n id?: string\n\n /**\n * Unique value for this item used as identifier and for filtering.\n * If not provided, will be inferred from textContent.\n * Used for registration when `id` is not provided.\n */\n value?: string\n\n /**\n * Additional keywords to match against when filtering.\n * Useful for aliases or synonyms.\n */\n keywords?: string[]\n\n /**\n * Whether this item is disabled.\n * Disabled items are not selectable and are skipped during keyboard navigation.\n */\n disabled?: boolean\n\n /**\n * Whether to force render this item regardless of filter results.\n * @default false\n */\n forceMount?: boolean\n\n /**\n * Keyboard shortcut to trigger this item.\n * When the menu is focused and the user presses this key, the item will be selected.\n * Should be a single character (e.g., \"1\", \"a\", etc.).\n */\n shortcut?: string\n\n /**\n * Forces this row's relative order during score-based sorting.\n * Lower values appear earlier.\n * @default 0\n */\n forceOrder?: number\n\n /**\n * Overrides this row's computed fuzzy-match score.\n * Useful for pinning or manually ranking rows in score-based views.\n */\n forceScore?: number\n\n /**\n * Whether this item is a submenu trigger (for store registration).\n * @default false\n */\n isSubmenuTrigger?: boolean\n\n /**\n * Callback when this item is selected (via click or Enter key).\n * For simple items, pass this directly. For checkbox/radio items,\n * use registerSelect() to register a dynamic handler.\n */\n onSelect?: () => void\n\n /**\n * Whether selecting this item should close the menu.\n * @default true\n */\n closeOnClick?: boolean\n\n /**\n * Callback invoked after selection occurs (via click).\n * Called with the item's ID. The consumer handles any\n * post-selection behavior like closing menus.\n */\n onAfterSelect?: (itemId: string) => void\n\n /**\n * Children (used for text content inference when value is not provided).\n */\n children?: React.ReactNode\n\n /**\n * Optional aim guard refs for popup menu navigation.\n * When provided, pointer move events will respect the aim guard.\n */\n aimGuard?: AimGuardRefs\n}\n\n/**\n * Return value from the useListboxItem hook.\n */\nexport interface UseListboxItemReturn {\n /** Unique ID for this item (DOM ID for aria-activedescendant) */\n id: string\n\n /**\n * Store identifier for this item.\n * Use this when calling store methods like setHighlightedId, registerSubmenuOpen, etc.\n * This is the `value` prop (or inferred from textContent).\n */\n storeId: string\n\n /** Ref to attach to the item element */\n ref: React.RefObject<HTMLDivElement | null>\n\n /** Whether item is currently highlighted */\n isHighlighted: boolean\n\n /** Whether item should be rendered (passes filter) */\n isVisible: boolean\n\n /** Context value to provide to children via ItemContext.Provider */\n contextValue: ItemContextValue\n\n /**\n * Event handlers to spread on the element.\n * These handle click, pointer move, and pointer down events.\n */\n handlers: {\n onClick: React.MouseEventHandler<HTMLDivElement>\n onPointerMove: React.PointerEventHandler<HTMLDivElement>\n onPointerDown: React.PointerEventHandler<HTMLDivElement>\n }\n\n /**\n * Register a custom onSelect handler.\n * This is useful for checkbox/radio items where the select behavior\n * needs to be customized (e.g., toggle checked state).\n * Returns an unregister function.\n */\n registerSelect: (handler: (() => void) | undefined) => () => void\n}\n\n/**\n * Hook that provides all shared logic for navigatable/highlightable listbox items.\n *\n * This hook handles:\n * - Item registration with the listbox store\n * - Highlight state management (keyboard and pointer)\n * - Filter/search visibility\n * - Scroll into view on keyboard navigation\n * - Click, pointer move, and pointer down event handlers\n * - Optional aim guard integration (for submenu navigation)\n *\n * @example\n * ```tsx\n * function CustomItem(props) {\n * const item = useListboxItem({\n * value: props.value,\n * disabled: props.disabled,\n * onSelect: props.onSelect,\n * })\n *\n * if (!item.isVisible) return null\n *\n * return (\n * <ItemContext.Provider value={item.contextValue}>\n * <div\n * ref={item.ref}\n * {...item.handlers}\n * data-highlighted={item.isHighlighted || undefined}\n * >\n * {props.children}\n * </div>\n * </ItemContext.Provider>\n * )\n * }\n * ```\n */\nexport function useListboxItem(\n params: UseListboxItemParams,\n): UseListboxItemReturn {\n const {\n id: idProp,\n value: valueProp,\n keywords,\n disabled = false,\n forceMount = false,\n shortcut,\n forceOrder,\n forceScore,\n isSubmenuTrigger = false,\n onSelect,\n closeOnClick = true,\n onAfterSelect,\n children,\n aimGuard,\n } = params\n\n const { store } = useSurfaceContext()\n const groupContext = useGroupContext()\n const { depth } = useListboxContext()\n\n const ref = React.useRef<HTMLDivElement>(null)\n\n // Infer value from textContent if not provided\n const [inferredValue, setInferredValue] = React.useState<string>('')\n\n React.useLayoutEffect(() => {\n if (idProp === undefined && valueProp === undefined && ref.current) {\n const textContent = ref.current.textContent?.trim() ?? ''\n setInferredValue(textContent)\n }\n }, [idProp, valueProp, children])\n\n // Registration ID priority: id prop > value prop > textContent inference\n // This ensures data-first APIs can provide explicit IDs that match their internal tracking\n // Note: valueProp is normalized (trimmed) to match cmdk's behavior\n const registrationId = idProp ?? (normalizeValue(valueProp) || inferredValue)\n\n // Generate a stable ID for DOM id attribute (aria-activedescendant, etc.)\n // When id prop is provided (data-first APIs), use it directly for DOM ID\n // This ensures aria-activedescendant works correctly with composite IDs\n const generatedDomId = React.useId()\n const domId = idProp ?? `item-${generatedDomId}`\n\n // Stabilize keywords to prevent infinite loops when passed as inline arrays\n // We use JSON.stringify to compare by value rather than reference\n // Keywords are also normalized (trimmed) to match cmdk's behavior\n const normalizedKeywords = keywords\n ?.map((k) => normalizeValue(k))\n .filter(Boolean)\n const keywordsKey = normalizedKeywords\n ? JSON.stringify(normalizedKeywords)\n : undefined\n\n // Register item with store (using registrationId as the unique identifier)\n React.useEffect(() => {\n if (!registrationId && !forceMount) return\n\n const unregister = store.registerItem(registrationId, {\n value: registrationId,\n keywords: normalizedKeywords,\n groupId: groupContext?.groupId,\n disabled,\n isSubmenuTrigger,\n shortcut,\n forceOrder,\n forceScore,\n closeOnClick,\n })\n\n return unregister\n // eslint-disable-next-line react-hooks/exhaustive-deps -- keywordsKey is a stable representation of keywords\n }, [\n registrationId,\n keywordsKey,\n groupContext?.groupId,\n disabled,\n isSubmenuTrigger,\n shortcut,\n forceOrder,\n forceScore,\n closeOnClick,\n store,\n forceMount,\n ])\n\n // Register DOM ref with store for scroll behavior\n React.useEffect(() => {\n if (!registrationId) return\n return store.registerItemRef(registrationId, ref)\n }, [registrationId, store])\n\n // Register for row width measurement if enabled\n const rowWidthContext = useMaybeRowWidthContext()\n\n React.useLayoutEffect(() => {\n if (rowWidthContext && ref.current && registrationId) {\n rowWidthContext.queueMeasurement(ref.current, registrationId)\n }\n }, [rowWidthContext, registrationId])\n\n // Register onSelect handler if provided directly\n React.useEffect(() => {\n if (!onSelect || !registrationId) return\n return store.registerItemSelect(registrationId, onSelect)\n }, [registrationId, onSelect, store])\n\n // Use selectors to get derived state (using registrationId as identifier)\n const normalizedSearch = store.useState('normalizedSearch')\n const isHighlighted = store.useState('isHighlighted', registrationId)\n const score = store.useState('getItemScore', registrationId)\n\n // Check if filtering is disabled (consumer handles filtering externally)\n const filterDisabled = store.isFilterDisabled()\n\n // Determine visibility based on filter score\n // When filterDisabled, consumer handles filtering so all items are visible\n const hasSearch = normalizedSearch.length > 0\n const isVisible = forceMount || filterDisabled || !hasSearch || score > 0\n\n // Note: Scroll behavior is now handled by the store's setHighlightedId method.\n // It uses the registered DOM refs to call scrollIntoView when the element exists,\n // or falls back to onHighlightChange for virtualizer sync.\n\n // Event handlers\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.defaultPrevented) return\n if (disabled) return\n if (!registrationId) return\n\n event.preventDefault()\n\n // Call the registered onSelect handler via store\n const registeredHandler = store.context.itemSelects.get(registrationId)\n registeredHandler?.()\n\n // Notify consumer that selection occurred (for closing menus, etc.)\n onAfterSelect?.(registrationId)\n },\n [disabled, store, registrationId, onAfterSelect],\n )\n\n const handlePointerDown = React.useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n event.preventDefault()\n },\n [],\n )\n\n const handlePointerMove = React.useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n if (event.defaultPrevented) return\n if (disabled) return\n if (!registrationId) return\n\n // Don't highlight if aim guard is active at this depth (user is moving toward submenu)\n // Only block highlighting in the same menu where the trigger is located\n if (aimGuard) {\n const { aimGuardActiveRef, guardedDepthRef } = aimGuard\n if (aimGuardActiveRef.current && guardedDepthRef.current === depth)\n return\n }\n\n // Check if pointer has actually moved - prevents phantom highlights when\n // content shifts under a stationary pointer (e.g., search results changing)\n if (!store.shouldAllowPointerHighlight(event.clientX, event.clientY)) {\n return\n }\n\n // Highlight on hover (using registrationId as identifier)\n store.setHighlightedId(registrationId)\n },\n [disabled, aimGuard, depth, store, registrationId],\n )\n\n // Context value for child components\n const contextValue: ItemContextValue = React.useMemo(\n () => ({\n id: domId,\n highlighted: isHighlighted,\n disabled,\n shortcut,\n }),\n [domId, isHighlighted, disabled, shortcut],\n )\n\n // Register a custom select handler (for checkbox/radio items)\n const registerSelect = React.useCallback(\n (handler: (() => void) | undefined) => {\n if (!registrationId) return () => {}\n return store.registerItemSelect(registrationId, handler)\n },\n [store, registrationId],\n )\n\n const handlers = React.useMemo(\n () => ({\n onClick: handleClick,\n onPointerMove: handlePointerMove,\n onPointerDown: handlePointerDown,\n }),\n [handleClick, handlePointerMove, handlePointerDown],\n )\n\n return {\n id: domId,\n storeId: registrationId,\n ref,\n isHighlighted,\n isVisible,\n contextValue,\n handlers,\n registerSelect,\n }\n}\n","/**\n * Normalizes a value string for use in filtering and identification.\n * Trims leading/trailing whitespace to match cmdk's behavior.\n *\n * @param value - The value to normalize\n * @returns The trimmed value, or empty string if value is nullish\n */\nexport function normalizeValue(value: string | undefined | null): string {\n return value?.trim() ?? ''\n}\n\n/**\n * Remove diacritics/accents from a string so unaccented queries match accented\n * content (e.g. \"cafe\" matches \"café\", \"municao\" matches \"munição\").\n *\n * Uses Unicode NFD decomposition and strips combining marks. Characters that\n * do not decompose into a base letter plus a combining mark (e.g. \"ø\", \"ł\")\n * are intentionally left unchanged.\n *\n * @param value - The value to fold\n * @returns The value with combining diacritical marks removed\n */\nexport function deburr(value: string): string {\n return value.normalize('NFD').replace(/\\p{Diacritic}/gu, '')\n}\n\n/**\n * Converts a value string to a URL-safe slug for use in IDs.\n * - Trims whitespace\n * - Converts to lowercase\n * - Replaces spaces with hyphens\n * - Removes non-alphanumeric characters (except hyphens)\n * - Collapses multiple hyphens into one\n * - Removes leading/trailing hyphens\n *\n * @example\n * slugify(\"User Settings\") // \"user-settings\"\n * slugify(\" Hello World! \") // \"hello-world\"\n * slugify(\"Café & Co.\") // \"caf-co\"\n *\n * @param value - The value to slugify\n * @returns The slugified value, or empty string if value is nullish\n */\nexport function slugify(value: string | undefined | null): string {\n if (!value) return ''\n\n return (\n value\n .trim()\n .toLowerCase()\n // Replace spaces with hyphens\n .replace(/\\s+/g, '-')\n // Remove non-alphanumeric characters (except hyphens)\n .replace(/[^a-z0-9-]/g, '')\n // Collapse multiple hyphens into one\n .replace(/-+/g, '-')\n // Remove leading/trailing hyphens\n .replace(/^-|-$/g, '')\n )\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkSF7X2BUTcjs = require('./chunk-SF7X2BUT.cjs');var _react = require('react'); var Tt = _interopRequireWildcard(_react); var Et = _interopRequireWildcard(_react); var Vt = _interopRequireWildcard(_react); var Bt = _interopRequireWildcard(_react); var go = _interopRequireWildcard(_react); var ho = _interopRequireWildcard(_react); var Qt = _interopRequireWildcard(_react); var Ut = _interopRequireWildcard(_react); var Kt = _interopRequireWildcard(_react); var te = _interopRequireWildcard(_react); var Co = _interopRequireWildcard(_react); var be = _interopRequireWildcard(_react); var er = _interopRequireWildcard(_react); var or = _interopRequireWildcard(_react); var Y = _interopRequireWildcard(_react); var Jt = _interopRequireWildcard(_react); var je = _interopRequireWildcard(_react); var Me = _interopRequireWildcard(_react); var ae = _interopRequireWildcard(_react); var le = _interopRequireWildcard(_react); var Do = _interopRequireWildcard(_react); var uo = _interopRequireWildcard(_react); var io = _interopRequireWildcard(_react); var mt = _interopRequireWildcard(_react); var Cr = _interopRequireWildcard(_react); var Qe = _interopRequireWildcard(_react); var ye = _interopRequireWildcard(_react); var K = _interopRequireWildcard(_react); var kr = _interopRequireWildcard(_react); var he = _interopRequireWildcard(_react); var ce = _interopRequireWildcard(_react); var Ne = _interopRequireWildcard(_react); var Ao = _interopRequireWildcard(_react); var To = _interopRequireWildcard(_react); var st = _interopRequireWildcard(_react); var Ee = _interopRequireWildcard(_react); var No = _interopRequireWildcard(_react); var Eo = _interopRequireWildcard(_react); var qe = _interopRequireWildcard(_react); var Vo = _interopRequireWildcard(_react); var Bo = _interopRequireWildcard(_react); var et = _interopRequireWildcard(_react); var Lr = _interopRequireWildcard(_react); var Tr = _interopRequireWildcard(_react); var Ho = _interopRequireWildcard(_react); var ue = _interopRequireWildcard(_react); var U = _interopRequireWildcard(_react); var Gr = _interopRequireWildcard(_react); var Qo = _interopRequireWildcard(_react); var qo = _interopRequireWildcard(_react); var Ue = _interopRequireWildcard(_react); var wt = _interopRequireWildcard(_react); var ve = _interopRequireWildcard(_react); var tt = _interopRequireWildcard(_react);var Nt=Tt.createContext(null);function Kr(){let e=Tt.useContext(Nt);if(e===null)throw new Error("useComponentName must be used within a ComponentNameContext.Provider");return e}function z(){return Tt.useContext(Nt)}function Q(e,o){if(e)return`bazzaui-${e}-${o}`}var Gt=Et.createContext(null);function fe(){let e=Et.useContext(Gt);if(!e)throw new Error("FocusOwner components must be used within a FocusOwnerProvider");return e}function Yr(){return Et.useContext(Gt)}var Ft=Vt.createContext(null);function it(){let e=Vt.useContext(Ft);if(!e)throw new Error("OpenChain components must be used within an OpenChainProvider");return e}function Xr(){return Vt.useContext(Ft)}var Ze=Bt.createContext(null);function De(){let e=Bt.useContext(Ze);if(!e)throw new Error("PopupMenu components must be used within a PopupMenu.Root or ContextMenu.Root");return e}function Je(){return Bt.useContext(Ze)}function Yn(e,o,r){return Math.min(r,Math.max(o,e))}function Ht(e,o){return typeof e!="number"||Number.isNaN(e)?o:e}var Xn={enabled:!1,idleColor:"#0088ff",successColor:"#00aa66",missColor:"#ff3b30",triangleFillOpacity:.2,overlayOpacity:1,showStroke:!0,strokeWidth:1.5,strokeDasharray:"6 4",showDots:!0,dotRadius:4,freezeOnPointerLeave:!0,persistOnSuccess:!0,showMissState:!1,missFreezeDuration:220};function _o(e,o){let r=Xn;if(typeof e=="boolean")return{...r,enabled:e};if(!e)return{...r,enabled:!!o};let t=Yn(Ht(e.triangleFillOpacity,r.triangleFillOpacity),0,1),a=Yn(Ht(e.overlayOpacity,r.overlayOpacity),0,1),n=Math.max(0,Ht(e.strokeWidth,r.strokeWidth)),s=Math.max(0,Ht(e.dotRadius,r.dotRadius)),c=Math.max(0,Ht(e.missFreezeDuration,r.missFreezeDuration));return{...r,...e,enabled:_nullishCoalesce(e.enabled, () => (!0)),idleColor:_nullishCoalesce(e.idleColor, () => (r.idleColor)),successColor:_nullishCoalesce(e.successColor, () => (r.successColor)),missColor:_nullishCoalesce(e.missColor, () => (r.missColor)),triangleFillOpacity:t,overlayOpacity:a,showStroke:_nullishCoalesce(e.showStroke, () => (r.showStroke)),strokeWidth:n,strokeDasharray:_nullishCoalesce(e.strokeDasharray, () => (r.strokeDasharray)),showDots:_nullishCoalesce(e.showDots, () => (r.showDots)),dotRadius:s,freezeOnPointerLeave:_nullishCoalesce(e.freezeOnPointerLeave, () => (r.freezeOnPointerLeave)),persistOnSuccess:_nullishCoalesce(e.persistOnSuccess, () => (r.persistOnSuccess)),showMissState:_nullishCoalesce(e.showMissState, () => (r.showMissState)),missFreezeDuration:c}}var $r={showSafeTriangleArea:Xn,logAimGuardEvents:!1},bo= exports.o =go.createContext($r);function zt(){return go.useContext(bo)}var Pt=ho.createContext(null);function Wo(){return ho.useContext(Pt)}var jt=Qt.createContext(null);function qt(){let e=Qt.useContext(jt);if(!e)throw new Error("SubmenuTrigger must be used within a Submenu");return e}function Fe(){return Qt.useContext(jt)}var _t=Ut.createContext(null);function Wt(){let e=Ut.useContext(_t);if(!e)throw new Error("Subpage components must be used within a PopupMenu.Subpage");return e}function ct(){return Ut.useContext(_t)}var we="__root__",Yt= exports.z =Kt.createContext(null);function pt(){let e=Kt.useContext(Yt);if(!e)throw new Error("Subpage components must be used within a PopupMenu.Popup");return e}function Ko(){return Kt.useContext(Yt)}var _jsxruntime = require('react/jsx-runtime');var Yo=te.createContext({aimGuardActive:!1,guardedTriggerId:null,guardedDepth:null,guardedSubmenuSurfaceId:null,activateAimGuard:()=>{},clearAimGuard:()=>{},aimGuardActiveRef:{current:!1},guardedTriggerIdRef:{current:null},guardedDepthRef:{current:null},guardedSubmenuSurfaceIdRef:{current:null},isGuardBlocking:()=>!1}),lt= exports.D =()=>te.useContext(Yo);function Xo({children:e}){let{logAimGuardEvents:o}=zt(),[r,t]=te.useState(!1),[a,n]=te.useState(null),[s,c]=te.useState(null),[g,l]=te.useState(null),i=te.useRef(!1),b=te.useRef(null),u=te.useRef(null),x=te.useRef(null);te.useEffect(()=>{i.current=r},[r]),te.useEffect(()=>{b.current=a},[a]),te.useEffect(()=>{u.current=s},[s]),te.useEffect(()=>{x.current=g},[g]);let m=te.useRef(null),P=te.useCallback((f,M)=>{!o||typeof window>"u"||console.log(`[PopupMenu][AimGuardProvider] ${f}`,{aimGuardActive:i.current,guardedTriggerId:b.current,guardedDepth:u.current,guardedSubmenuSurfaceId:x.current,...M})},[o,i,b,u,x]),I=te.useCallback(()=>{i.current=!1,b.current=null,u.current=null,x.current=null,t(!1),n(null),c(null),l(null)},[]),p=te.useCallback(()=>{m.current!==null&&(window.clearTimeout(m.current),m.current=null),P("clear"),I()},[I,P]),C=te.useCallback((f,M,k,T=450)=>{P("activate",{triggerId:f,depth:M,submenuSurfaceId:k,timeoutMs:T}),i.current=!0,b.current=f,u.current=M,x.current=k,n(f),c(M),l(k),t(!0),m.current!==null&&window.clearTimeout(m.current),m.current=window.setTimeout(()=>{P("timeout-expired",{triggerId:f,depth:M,submenuSurfaceId:k}),I(),m.current=null},T)},[I,P]);te.useEffect(()=>()=>{m.current!==null&&(window.clearTimeout(m.current),m.current=null),P("provider-unmount-clear")},[P]);let y=te.useCallback(f=>i.current&&b.current!==f,[]),O=te.useMemo(()=>({aimGuardActive:r,guardedTriggerId:a,guardedDepth:s,guardedSubmenuSurfaceId:g,activateAimGuard:C,clearAimGuard:p,aimGuardActiveRef:i,guardedTriggerIdRef:b,guardedDepthRef:u,guardedSubmenuSurfaceIdRef:x,isGuardBlocking:y}),[r,a,s,g,C,p,y]);return _jsxruntime.jsx.call(void 0, Yo.Provider,{value:O,children:e})}var _store = require('@base-ui/utils/store');var ea={ownerId:_store.createSelector.call(void 0, e=>e.ownerId),isOwner:_store.createSelector.call(void 0, (e,o)=>e.ownerId===o)},Xt= exports.F =class extends _store.ReactStore{constructor(){super({ownerId:null},{},ea)}setOwnerId(o){this.set("ownerId",o)}clearOwner(){this.set("ownerId",null)}};var oa={isOpen:_store.createSelector.call(void 0, (e,o)=>e.chain.includes(o)),isLast:_store.createSelector.call(void 0, (e,o)=>e.chain.length>0&&e.chain[e.chain.length-1]===o),hasOpenSubmenu:_store.createSelector.call(void 0, (e,o)=>e.chain.length>o)},$t= exports.G =class extends _store.ReactStore{constructor(){super({chain:[]},{},oa)}open(o){if(this.state.chain.includes(o))return;let r=[...this.state.chain,o];this.set("chain",r)}close(o){let r=this.state.chain.filter(t=>t!==o);this.set("chain",r)}clear(){this.set("chain",[])}};function Zn(e,o,r){let t=[],a=e.left-o;a>0&&t.push({side:"left",gap:a});let n=o-e.right;n>0&&t.push({side:"right",gap:n});let s=e.top-r;s>0&&t.push({side:"top",gap:s});let c=r-e.bottom;if(c>0&&t.push({side:"bottom",gap:c}),t.length>0)return t.sort((l,i)=>i.gap-l.gap),t[0].side;let g=[{side:"left",value:Math.abs(o-e.left)},{side:"right",value:Math.abs(o-e.right)},{side:"top",value:Math.abs(r-e.top)},{side:"bottom",value:Math.abs(r-e.bottom)}];return g.sort((l,i)=>l.value-i.value),g[0].side}function Zt(e,o,r,t){if(o){let a=(o.left+o.right)/2,n=(o.top+o.bottom)/2;return Zn(e,a,n)}if(t===void 0){if(r<e.left)return"left";if(r>e.right)return"right";let a=(e.left+e.right)/2;return r<=a?"left":"right"}return Zn(e,r,t)}function Ro(e,o,r,t,a,n){let s=0,c=0,g=Math.min(Math.max(e.length-1,0),4);for(let i=e.length-g-1;i<e.length-1;i++){if(i<0)continue;let[b,u]=e[i],[x,m]=e[i+1];s+=x-b,c+=m-u}if(Math.hypot(s,c)<.5){let i=a?(a.left+a.right)/2:o,b=a?(a.top+a.bottom)/2:r;if(t==="left"||t==="right"){let u=t==="right"?n.right:n.left,x=(n.top+n.bottom)/2;s=u-i,c=x-b}else{let u=t==="top"?n.top:n.bottom;s=(n.left+n.right)/2-i,c=u-b}}return{dx:s,dy:c}}function So(e,o,r,t,a,n){let{dx:s,dy:c}=r,g=a==="left"||a==="right",l=g?s:c;if(Math.abs(l)<.01||a==="left"&&s<=0||a==="right"&&s>=0||a==="top"&&c<=0||a==="bottom"&&c>=0)return!1;let b=((a==="left"?t.left:a==="right"?t.right:a==="top"?t.top:t.bottom)-(g?e:o))/l;if(b<=0)return!1;let u=g?o+b*c:e+b*s,x=n?g?n.height:n.width:null,m=x?x*.75:28,P=Math.max(12,Math.min(36,m)),I=(g?t.top:t.left)-P*.25,p=(g?t.bottom:t.right)+P*.25;return u>=I&&u<=p}var Po=new Set,xo=null;function na(){if(xo!==null||typeof window>"u")return;let e=o=>{for(let r of Po){let t=r.trailRef.current;t.push([o.clientX,o.clientY]),t.length>r.limit&&t.shift()}};window.addEventListener("pointermove",e,{passive:!0}),xo=()=>{window.removeEventListener("pointermove",e),xo=null}}function ra(){Po.size===0&&_optionalChain([xo, 'optionalCall', _2 => _2()])}function Zo(e=4){let o=Co.useRef([]);return Co.useEffect(()=>{let r={trailRef:o,limit:e};return Po.add(r),na(),()=>{Po.delete(r),o.current=[],ra()}},[e]),o}function aa(e={}){let{onOpenChange:o,defaultOpen:r=!1,virtualized:t=!1,items:a,onHighlightChange:n,closeOnOutsidePress:s="pointerdown",disabled:c=!1,defaultDisabled:g=!1}=e,[l,i]=be.useState(g),b=c||l,u=be.useCallback(R=>{i(R)},[]);be.useEffect(()=>{_chunkSF7X2BUTcjs.c.call(void 0, )},[]);let x=be.useRef(null),m=be.useCallback((R,d)=>{if(!R&&d.reason===_chunkSF7X2BUTcjs.a.focusOut&&x.current){let S=x.current;x.current=null;let w=_chunkSF7X2BUTcjs.b.call(void 0, _chunkSF7X2BUTcjs.a.outsidePress,S);_optionalChain([o, 'optionalCall', _3 => _3(R,w)]),w.isCanceled&&d.cancel();return}x.current=null,_optionalChain([o, 'optionalCall', _4 => _4(R,d)])},[o]),P=_chunkSF7X2BUTcjs.y.useStore(void 0,{open:r},{onOpenChange:m}),I=P.useState("open"),p=be.useRef(null);p.current||(p.current=new Xt);let C=p.current,y=be.useRef(null);y.current||(y.current=new $t);let O=y.current,f=be.useRef(new Map),M=be.useCallback((R,d)=>{let S=Math.random().toString(36).slice(2);return f.current.set(S,{depth:R,setOpen:d}),()=>{f.current.delete(S)}},[]),k=be.useCallback((R=_chunkSF7X2BUTcjs.a.itemPress,d)=>{let S=[...f.current.values()].sort((w,N)=>N.depth-w.depth);for(let w of S)w.setOpen(!1);P.setOpen(!1,R,d),C.clearOwner(),O.clear()},[P,C,O]),T=be.useRef(k);T.current=k,be.useEffect(()=>{if(!I||b){x.current=null;return}let R=d=>{let S=d.target;if(!S)return;let w=S.closest("[data-open]")!==null,N=S.closest("[data-popup-open]")!==null;s==="pointerdown"&&!(w||N)?T.current(_chunkSF7X2BUTcjs.a.outsidePress,d):x.current=d};return document.addEventListener("pointerdown",R,!0),()=>{document.removeEventListener("pointerdown",R,!0),x.current=null}},[I,s,b]);let v=be.useCallback((R,d=_chunkSF7X2BUTcjs.a.none,S)=>{let w=d===_chunkSF7X2BUTcjs.a.imperativeAction;b&&!w||(P.setOpen(R,d,S),R||(C.clearOwner(),O.clear()))},[P,C,O,b]),D=be.useMemo(()=>{if(!(!t&&!n))return{virtualized:t,items:_nullishCoalesce(a, () => ([])),onHighlightChange:n}},[t,a,n]);return{store:P,focusOwnerStore:C,openChainStore:O,registerSurface:M,closeAll:k,virtualization:D,handleOpenChange:v,disabled:b,setDisabled:u}}var Jn=(s=>(s.slot="bazzaui-[component]-arrow",s.open="data-open",s.closed="data-closed",s.side="data-side",s.align="data-align",s.uncentered="data-uncentered",s))(Jn||{});var _popover = require('@base-ui/react/popover');var ua=er.forwardRef(function(o,r){let t=z(),a=Q(t,"arrow");return _jsxruntime.jsx.call(void 0, _popover.Popover.Arrow,{ref:r,...a?{[a]:""}:{},...o})});var tr=(n=>(n.slot="bazzaui-[component]-backdrop",n.open="data-open",n.closed="data-closed",n.startingStyle="data-starting-style",n.endingStyle="data-ending-style",n))(tr||{});var pa=or.forwardRef(function(o,r){let{showOn:t,...a}=o,n=Fe(),s=it(),c=fe(),g=n!==null,l=_nullishCoalesce(_optionalChain([n, 'optionalAccess', _5 => _5.childSurfaceId]), () => ("")),i=_nullishCoalesce(t, () => ((g?"focus":"open"))),b=s.useState("isOpen",l),u=s.useState("isLast",l),x=c.useState("isOwner",l),m=!0;g&&(i==="open"?m=b:u?m=x:m=b);let P=z(),I=Q(P,"backdrop");if(!m)return null;let p={pointerEvents:"none",...a.style};return _jsxruntime.jsx.call(void 0, _popover.Popover.Backdrop,{ref:r,...I?{[I]:""}:{},...a,style:p})});var Jo=(u=>(u.slot="bazzaui-[component]-popup",u.open="data-open",u.closed="data-closed",u.side="data-side",u.align="data-align",u.startingStyle="data-starting-style",u.endingStyle="data-ending-style",u.instant="data-instant",u.focused="data-focused",u.hasOpenSubmenu="data-has-open-submenu",u.submenu="data-submenu",u.navigating="data-navigating",u))(Jo||{});var nr=Jt.createContext(null);function ni(){let e=Jt.useContext(nr);if(!e)throw new Error("Combobox components must be used within a Combobox.Root");return e}function Ct(){return Jt.useContext(nr)}var eo=je.createContext(null),to= exports.V =je.createContext(null);function en(){let e=je.useContext(eo);if(!e)throw new Error("useDataSurfaceContext must be used within a DataSurface component");return e}function tn(){return je.useContext(eo)}function on(){let e=je.useContext(to);if(!e)throw new Error("Data components must be used within PopupMenu.Popup");return e}function nn(){return je.useContext(to)}var oo=je.createContext(null);function da(){let e=je.useContext(oo);if(!e)throw new Error("useDataList must be used within a List component");return e}function fa(){return je.useContext(oo)}var yo=ae.createContext(null);function dt(){return ae.useContext(yo)}function no(){return ae.useContext(yo)}function rn(e){let{children:o,searchQuery:r}=e,[t,a]=ae.useState(()=>new Map),[n,s]=ae.useState(()=>new Map),c=ae.useCallback(d=>{a(S=>{let w=new Map(S);return w.set(d.id,d),w})},[]),g=ae.useCallback(d=>{a(S=>{let w=new Map(S);return w.delete(d),w}),s(S=>{let w=new Map(S);return w.delete(d),w})},[]),l=ae.useCallback((d,S)=>{a(w=>{let N=w.get(d);if(!N)return w;let q=new Map(w);return q.set(d,{...N,result:S}),q}),S.isError&&S.error?s(w=>{let N=new Map(w);return N.set(d,S.error),N}):S.isError||s(w=>{if(!w.has(d))return w;let N=new Map(w);return N.delete(d),N})},[]),i=ae.useMemo(()=>{for(let[,d]of t)if(d.config.type==="static"&&d.result.isFetching)return!0;return!1},[t]),b=ae.useMemo(()=>{for(let[,d]of t)if(d.config.type==="static"&&d.result.isLoading)return!0;return!1},[t]),u=ae.useMemo(()=>{for(let[,d]of t)if(d.config.type==="static"&&d.result.isInitialLoading)return!0;return!1},[t]),x=ae.useMemo(()=>{for(let[,d]of t)if(d.config.type==="static"&&d.result.isRefetching)return!0;return!1},[t]),m=ae.useMemo(()=>{for(let[,d]of t)if(d.config.type==="query"&&d.result.isFetching)return!0;return!1},[t]),P=ae.useMemo(()=>{for(let[,d]of t)if(d.config.type==="query"&&d.result.isLoading)return!0;return!1},[t]),I=ae.useMemo(()=>{for(let[,d]of t)if(d.config.type==="query"&&d.result.isInitialLoading)return!0;return!1},[t]),p=ae.useMemo(()=>{for(let[,d]of t)if(d.config.type==="query"&&d.result.isRefetching)return!0;return!1},[t]),C=i||m,y=b||P,O=u||I,f=x||p,M=ae.useMemo(()=>{if(t.size===0)return!1;for(let[,d]of t)if(!d.result.isRefetching)return!1;return!0},[t]),k=ae.useMemo(()=>_nullishCoalesce(_optionalChain([t, 'access', _6 => _6.get, 'call', _7 => _7("__root__"), 'optionalAccess', _8 => _8.result, 'access', _9 => _9.isLoading]), () => (!1)),[t]),T=ae.useMemo(()=>{for(let[,d]of t)if(d.result.isFetching)return!1;return!0},[t]),v=ae.useCallback(()=>{let d=[];for(let[S,w]of t)n.has(S)||w.result.data&&d.push({id:S,breadcrumbs:w.breadcrumbs,nodes:w.result.data});return d},[t,n]),D=ae.useCallback(()=>{let d=[];for(let[S]of n)d.push({id:S,reason:"error"});return{isLoading:y,isFetching:C,isInitialLoading:O,isRefetching:f,isAllRefetching:M,isStaticLoading:b,isStaticInitialLoading:u,isStaticRefetching:x,isQueryLoading:P,isQueryInitialLoading:I,isQueryRefetching:p,skippedMenus:d}},[C,y,O,f,M,b,u,x,P,I,p,n]),R=ae.useMemo(()=>({registerLoader:c,unregisterLoader:g,updateLoaderResult:l,searchQuery:r,loaders:t,isAnyLoading:y,isAnyFetching:C,isAnyInitialLoading:O,isAnyRefetching:f,isAllRefetching:M,isRootLoading:k,isStaticLoading:b,isStaticFetching:i,isStaticInitialLoading:u,isStaticRefetching:x,isQueryLoading:P,isQueryFetching:m,isQueryInitialLoading:I,isQueryRefetching:p,allResolved:T,getAsyncNodes:v,erroredLoaders:n,getAsyncState:D}),[c,g,l,r,t,y,C,O,f,M,k,b,i,u,x,P,m,I,p,T,v,n,D]);return _jsxruntime.jsx.call(void 0, yo.Provider,{value:R,children:o})}function ga(e){return e}function nt(e){return"kind"in e&&e.kind==="group"}function rt(e){return"kind"in e&&e.kind==="radio-group"}function at(e){return"kind"in e&&e.kind==="separator"}function ba(e){return!("kind"in e)}var rr=e=>e;function sn(e){if(e.id)return e.id;let o=_chunkSF7X2BUTcjs.s.call(void 0, e.value);if(e.isDeepSearching&&e.breadcrumbs.length>0){let r=e.breadcrumbs.map(t=>_nullishCoalesce(t.id, () => (_chunkSF7X2BUTcjs.s.call(void 0, t.value)))).filter(Boolean);if(r.length>0)return[...r,o].join(".")}return o}function It(e,o){if(e.pageId)return e.pageId;let r=o.map(n=>_chunkSF7X2BUTcjs.s.call(void 0, _nullishCoalesce(n.id, () => (n.value)))).filter(Boolean),t=_chunkSF7X2BUTcjs.s.call(void 0, _nullishCoalesce(e.id, () => (e.value))),a=[...r,t].filter(Boolean).join(".");return a?`subpage.${a}`:"subpage"}function ha(e){return e.kind==="item"}function Ra(e){return e.kind==="radio-item"}function Sa(e){return e.kind==="checkbox-item"}function xa(e){return e.kind==="submenu"}function Pa(e){return e.kind==="subpage"}function Ca(e){return e.kind==="group"}function ya(e){return e.kind==="radio-group"}function Ma(e){return e.kind==="separator"}function yt(e,o={}){let{deep:r=!1,includeInDeepSearch:t=!0,descendantsIncluded:a=!0,breadcrumbs:n=[],group:s=null,radioGroup:c=null}=o,g=[];for(let l of e)if(l.kind!=="separator"){if(l.kind==="group"){let i={id:l.id,label:l.label,groupDef:l};g.push(...yt(l.nodes,{deep:r,includeInDeepSearch:t,descendantsIncluded:a,breadcrumbs:n,group:i,radioGroup:null}));continue}if(l.kind==="radio-group"){if(l.hidden)continue;let i={id:l.id,label:l.label,radioGroupDef:l};g.push(...yt(l.nodes,{deep:r,includeInDeepSearch:t,descendantsIncluded:a,breadcrumbs:n,group:null,radioGroup:i}));continue}if(!l.hidden){if(l.kind==="item"||l.kind==="radio-item"||l.kind==="checkbox-item"){g.push({node:l,breadcrumbs:n,group:s,radioGroup:c});continue}if(l.kind==="submenu"||l.kind==="subpage"){let i=_nullishCoalesce(l.includeInDeepSearch, () => (t));if((!r||a&&i!==!1)&&g.push({node:l,breadcrumbs:n,group:s,radioGroup:c}),r&&a&&i===!0&&l.deepSearch!==!1&&l.nodes){let x={node:l,value:l.value,id:l.id},m=[...n,x];g.push(...yt(l.nodes,{deep:r,includeInDeepSearch:t,descendantsIncluded:!0,breadcrumbs:m,group:null,radioGroup:null}))}}}}return g}function un(e,o,r=_chunkSF7X2BUTcjs.r){let t=r(o);if(!t)return e.map(({node:n,breadcrumbs:s,group:c,radioGroup:g})=>({node:n,score:1,breadcrumbs:s,group:c,radioGroup:g}));let a=[];for(let{node:n,breadcrumbs:s,group:c,radioGroup:g}of e){let l=_chunkSF7X2BUTcjs.r.call(void 0, n.value),i=_optionalChain([n, 'access', _10 => _10.keywords, 'optionalAccess', _11 => _11.map, 'call', _12 => _12(x=>_chunkSF7X2BUTcjs.r.call(void 0, x)), 'access', _13 => _13.filter, 'call', _14 => _14(Boolean)]),b=_chunkSF7X2BUTcjs.w.call(void 0, l,t,i),u=_nullishCoalesce(n.forceScore, () => (b));u>0&&a.push({node:n,score:u,breadcrumbs:s,group:c,radioGroup:g})}return a}function vt(e){return _nullishCoalesce(e.forceOrder, () => (0))}function ro(e,o){let r=vt(e.node)-vt(o.node);return r!==0?r:o.score-e.score}function ar(e){return e==="submenu"||e==="subpage"?1:0}function sr(e,o){let r=e.forceOrder-o.forceOrder;if(r!==0)return r;let t=e.kindRank-o.kindRank;return t!==0?t:o.score-e.score}function an(e){if(e.length===0)return 0;let o=Number.POSITIVE_INFINITY;for(let r of e){let t=vt(r.node);t<o&&(o=t)}return o===Number.POSITIVE_INFINITY?0:o}function ur(e){return[...e].sort(ro)}function ir(e){let o=new Map;for(let a of e){let n=vt(a.node),s=_nullishCoalesce(o.get(n), () => ({items:[],branches:[]}));a.node.kind==="item"||a.node.kind==="radio-item"||a.node.kind==="checkbox-item"?s.items.push(a):s.branches.push(a),o.set(n,s)}let r=[...o.keys()].sort((a,n)=>a-n),t=[];for(let a of r){let n=o.get(a);n&&t.push(...n.items,...n.branches)}return t}function cr(e){let o=new Set,r=[];for(let t of e){let a=[...t.breadcrumbs,_chunkSF7X2BUTcjs.r.call(void 0, t.node.value)].join(".");o.has(a)||(o.add(a),r.push(t))}return r}function pr(e,o,r){return e.map(t=>{let a=t.breadcrumbs.length>0,n={search:o?{query:o,score:t.score}:null,breadcrumbs:t.breadcrumbs,isDeepSearchResult:a,highlighted:t.node.id===r,disabled:_nullishCoalesce(t.node.disabled, () => (!1)),group:t.group?{id:t.group.id,label:t.group.label}:null};return{node:t.node,context:n,radioGroup:t.radioGroup?{id:t.radioGroup.id,label:t.radioGroup.label}:void 0}})}function Mo(e,o,r){let t=e.breadcrumbs.length>0,a={search:o?{query:o,score:e.score}:null,breadcrumbs:e.breadcrumbs,isDeepSearchResult:t,highlighted:e.node.id===r,disabled:_nullishCoalesce(e.node.disabled, () => (!1)),group:e.group?{id:e.group.id,label:e.group.label}:null};return{node:e.node,context:a,radioGroup:e.radioGroup?{id:e.radioGroup.id,label:e.radioGroup.label}:void 0}}function lr(e,o,r=null){let t=[];for(let a of e){if(a.kind==="separator")continue;if(a.kind==="group"){let s={id:a.id,label:a.label};t.push(...lr(a.nodes,o,s));continue}if(a.kind==="radio-group"||a.hidden)continue;let n={search:null,breadcrumbs:[],isDeepSearchResult:!1,highlighted:a.id===o,disabled:_nullishCoalesce(a.disabled, () => (!1)),group:r};t.push({node:a,context:n})}return t}function dr(e,o){let r=[];for(let t of e){if(t.kind==="separator"){r.push({kind:"separator",separator:t});continue}if(t.kind==="group"){let n=[];for(let s of t.nodes){if(s.kind==="separator"||s.kind==="group"||s.kind==="radio-group"||s.hidden)continue;let c={search:null,breadcrumbs:[],isDeepSearchResult:!1,highlighted:s.id===o,disabled:_nullishCoalesce(s.disabled, () => (!1)),group:{id:t.id,label:t.label}};n.push({node:s,context:c})}if(n.length>0){let s={search:null,matchCount:n.length,breadcrumbs:[],isDeepSearchResult:!1};r.push({kind:"group",group:t,context:s,items:n,bestScore:1})}continue}if(t.kind==="radio-group"){if(t.hidden)continue;let n=[];for(let s of t.nodes){if(s.hidden)continue;let c={search:null,breadcrumbs:[],isDeepSearchResult:!1,highlighted:s.id===o,disabled:_nullishCoalesce(s.disabled, () => (!1)),group:null};n.push({node:s,context:c,radioGroup:{id:t.id,label:t.label}})}if(n.length>0){let s={search:null,matchCount:n.length,breadcrumbs:[],isDeepSearchResult:!1};r.push({kind:"radio-group",radioGroup:t,context:s,items:n,bestScore:1})}continue}if(t.hidden)continue;let a={search:null,breadcrumbs:[],isDeepSearchResult:!1,highlighted:t.id===o,disabled:_nullishCoalesce(t.disabled, () => (!1)),group:null};r.push({node:t,context:a})}return r}function va(e){let{query:o,normalizeQuery:r,nodes:t,highlightedId:a,deepSearch:n=!0,includeInDeepSearch:s=!0,minLength:c=0,radioGroupSearchBehavior:g="preserve"}=e,l=n&&o.length>=c,i=yt(t,{deep:l,includeInDeepSearch:s}),b=new Map;if(g==="preserve-show-all"){for(let f of i)if(f.radioGroup){let M=b.get(f.radioGroup.id);M?M.items.push(f):b.set(f.radioGroup.id,{radioGroupDef:f.radioGroup.radioGroupDef,items:[f],breadcrumbs:f.breadcrumbs})}}let u=un(i,o,r),x=new Map,m=[];for(let f of u)if(f.radioGroup)if(g==="flatten")m.push(f);else{let M=x.get(f.radioGroup.id);M?M.items.push(f):x.set(f.radioGroup.id,{radioGroupDef:f.radioGroup.radioGroupDef,items:[f],breadcrumbs:f.breadcrumbs})}else m.push(f);let P=ur(m),I=ir(P),p=cr(I),C=pr(p,o,a),y=[];if(g!=="flatten")for(let[f,{radioGroupDef:M,items:k,breadcrumbs:T}]of x){let v;if(g==="preserve-show-all"){let S=b.get(f);if(S){let w=new Map(k.map(N=>[N.node.id,N.score]));v=S.items.map(N=>({node:N.node,score:_nullishCoalesce(w.get(N.node.id), () => (0)),breadcrumbs:N.breadcrumbs,group:N.group,radioGroup:N.radioGroup}))}else v=k}else v=k;v.sort(ro);let D=Math.max(...v.map(S=>S.score),0),R=T.length>0,d={search:o?{query:o,bestScore:D}:null,matchCount:k.length,breadcrumbs:T,isDeepSearchResult:R};y.push({kind:"radio-group",radioGroup:M,context:d,items:v.map(S=>Mo(S,o,a)),bestScore:D})}let O=[...C.map(f=>({node:f,score:_nullishCoalesce(_optionalChain([f, 'access', _15 => _15.context, 'access', _16 => _16.search, 'optionalAccess', _17 => _17.score]), () => (0)),forceOrder:vt(f.node),kindRank:ar(f.node.kind)})),...y.map(f=>({node:f,score:f.bestScore,forceOrder:an(f.items),kindRank:0}))];return O.sort(sr),{displayNodes:O.map(f=>f.node),isDeepSearching:l}}function Ia(e){let{query:o,normalizeQuery:r,nodes:t,highlightedId:a,deepSearch:n=!0,includeInDeepSearch:s=!0,minLength:c=0,sortGroups:g=!0,radioGroupSearchBehavior:l="preserve"}=e,i=n&&o.length>=c,b=yt(t,{deep:i,includeInDeepSearch:s}),u=new Map;if(l==="preserve-show-all"){for(let f of b)if(f.radioGroup){let M=u.get(f.radioGroup.id);M?M.items.push(f):u.set(f.radioGroup.id,{radioGroupDef:f.radioGroup.radioGroupDef,items:[f],breadcrumbs:f.breadcrumbs})}}let x=un(b,o,r),m=new Map,P=new Map,I=[];for(let f of x)if(f.radioGroup)if(l==="flatten")I.push(f);else{let M=P.get(f.radioGroup.id);M?M.items.push(f):P.set(f.radioGroup.id,{radioGroupDef:f.radioGroup.radioGroupDef,items:[f],breadcrumbs:f.breadcrumbs})}else if(f.group){let M=m.get(f.group.id);M?M.items.push(f):m.set(f.group.id,{groupDef:f.group.groupDef,items:[f],breadcrumbs:f.breadcrumbs})}else I.push(f);let p=[];for(let[f,{groupDef:M,items:k,breadcrumbs:T}]of m){k.sort(ro);let v=Math.max(...k.map(d=>d.score),0),D=T.length>0,R={search:o?{query:o,bestScore:v}:null,matchCount:k.length,breadcrumbs:T,isDeepSearchResult:D};p.push({kind:"group",group:M,context:R,items:k.map(d=>Mo(d,o,a)),bestScore:v})}let C=[];if(l!=="flatten")for(let[f,{radioGroupDef:M,items:k,breadcrumbs:T}]of P){let v;if(l==="preserve-show-all"){let S=u.get(f);if(S){let w=new Map(k.map(N=>[N.node.id,N.score]));v=S.items.map(N=>({node:N.node,score:_nullishCoalesce(w.get(N.node.id), () => (0)),breadcrumbs:N.breadcrumbs,group:N.group,radioGroup:N.radioGroup}))}else v=k}else v=k;v.sort(ro);let D=Math.max(...v.map(S=>S.score),0),R=T.length>0,d={search:o?{query:o,bestScore:D}:null,matchCount:k.length,breadcrumbs:T,isDeepSearchResult:R};C.push({kind:"radio-group",radioGroup:M,context:d,items:v.map(S=>Mo(S,o,a)),bestScore:D})}let y=I.sort(ro).map(f=>Mo(f,o,a)),O=[...p.map(f=>({node:f,score:f.bestScore,forceOrder:an(f.items),kindRank:0})),...C.map(f=>({node:f,score:f.bestScore,forceOrder:an(f.items),kindRank:0})),...y.map(f=>({node:f,score:_nullishCoalesce(_optionalChain([f, 'access', _18 => _18.context, 'access', _19 => _19.search, 'optionalAccess', _20 => _20.score]), () => (0)),forceOrder:vt(f.node),kindRank:ar(f.node.kind)}))];return g&&O.sort(sr),{displayNodes:O.map(f=>f.node),isDeepSearching:i}}function cn(e){let{query:o,nodes:r,highlightedId:t,groupSearchBehavior:a="preserve"}=e,s=(_nullishCoalesce(e.normalizeQuery, () => ((0, _chunkSF7X2BUTcjs.r))))(o),c=s===o?{...e,normalizeQuery:rr}:{...e,query:s,normalizeQuery:rr};return s?a==="preserve"?Ia(c):va(c):{displayNodes:dr(r,t),isDeepSearching:!1}}function fr(e){let o=[];for(let r of e)if(nt(r))for(let t of r.items)t.node.disabled||o.push(_nullishCoalesce(t.node.id, () => (t.node.value)));else if(rt(r))for(let t of r.items)t.node.disabled||o.push(_nullishCoalesce(t.node.id, () => (t.node.value)));else at(r)||r.node.disabled||o.push(_nullishCoalesce(r.node.id, () => (r.node.value)));return o}function ka(e){return _nullishCoalesce(fr(e)[0], () => (null))}function Mt(e,o=[],r=!0,t=!0){let a=[];for(let n of e)if(n.kind!=="separator"){if(n.kind==="group"){a.push(...Mt(n.nodes,o,r,t));continue}if(n.kind==="radio-group"){if(n.hidden)continue;a.push(...Mt(n.nodes,o,r,t));continue}if(n.kind==="submenu"||n.kind==="subpage"){if(n.hidden)continue;let s=_nullishCoalesce(n.includeInDeepSearch, () => (r)),c=t&&s===!0&&n.deepSearch!==!1;if(n.asyncNodes&&c){let g=[...o,_chunkSF7X2BUTcjs.r.call(void 0, n.value)].join(".");a.push({id:g,breadcrumbs:o,node:n,config:n.asyncNodes})}if(n.nodes&&c){let g=[...o,_chunkSF7X2BUTcjs.r.call(void 0, n.value)];a.push(...Mt(n.nodes,g,r,!0))}}}return a}function mr(e,o){let r=_nullishCoalesce(e, () => ([])),t=_nullishCoalesce(o, () => ([]));return[...r,...t]}function ao(e,o){if(o.length===0)return e;let r=new Map;for(let a of o)r.set(a.id,a.nodes);function t(a,n){return a.map(s=>{if(s.kind==="submenu"||s.kind==="subpage"){let c=[...n,_chunkSF7X2BUTcjs.r.call(void 0, s.value)].join("."),g=r.get(c),l=s.nodes?t(s.nodes,[...n,_chunkSF7X2BUTcjs.r.call(void 0, s.value)]):void 0;if(g)return{...s,nodes:mr(l,g)};if(l!==s.nodes)return{...s,nodes:l}}if(s.kind==="group"){let c=t(s.nodes,n);if(c!==s.nodes)return{...s,nodes:c}}return s.kind==="radio-group",s})}return t(e,[])}function Da(e){return e!==!1}function wa(e){return e===!0}function vo(e){return e.type==="query"&&(e.initialQueryBehavior===!1?"needed":_nullishCoalesce(_optionalChain([e, 'access', _21 => _21.initialQueryBehavior, 'optionalAccess', _22 => _22.loadWhen]), () => ("needed")))==="parent-open"?!0:e.loadStrategy==="eager"}function Oa(e){return e.initialQueryBehavior!==void 0?e.initialQueryBehavior===!1?!1:{value:_nullishCoalesce(e.initialQueryBehavior.value, () => ("")),loadWhen:_nullishCoalesce(e.initialQueryBehavior.loadWhen, () => ("needed"))}:e.initialQuery!==void 0?{value:e.initialQuery,loadWhen:"needed"}:{value:"",loadWhen:"needed"}}function Aa(e,o){let r=_nullishCoalesce(e.minQueryLength, () => (1)),t=Oa(e);return o.length>=r?{effectiveQuery:o,enabled:!0,isBelowMinLength:!1}:t!==!1?{effectiveQuery:t.value,enabled:!0,isBelowMinLength:!1}:{effectiveQuery:"",enabled:!1,isBelowMinLength:!0}}function La(e,o){return[...o.map(r=>_chunkSF7X2BUTcjs.r.call(void 0, r.value)),_chunkSF7X2BUTcjs.r.call(void 0, e.value)].join(".")}function pn(e,o,r,t){if(!e.asyncNodes||!t)return;let a=La(e,o),n=t.loaders.get(a);if(!n)return;let s=e.asyncNodes.type==="query"?Aa(e.asyncNodes,r).isBelowMinLength:!1;return{status:n.result.status,fetchStatus:n.result.fetchStatus,loadingPhase:n.result.loadingPhase,isLoading:n.result.isLoading,isFetching:n.result.isFetching,isInitialLoading:n.result.isInitialLoading,isRefetching:n.result.isRefetching,isError:n.result.isError,error:n.result.error,isBelowMinLength:s}}function Io(e,o=[],r=null){let t=[];for(let a of e)if(a.kind!=="separator"){if(a.kind==="group"){t.push(...Io(a.nodes,o,{id:a.id,label:a.label}));continue}if(a.kind==="radio-group"){if(a.hidden)continue;t.push(...Io(a.nodes,o,null));continue}if(!a.hidden&&(a.kind==="submenu"||a.kind==="subpage")&&(a.kind==="subpage"&&t.push({node:a,pageId:It(a,o),context:{search:null,breadcrumbs:o,isDeepSearchResult:!1,highlighted:!1,disabled:_nullishCoalesce(a.disabled, () => (!1)),group:r}}),a.nodes)){let n={node:a,value:a.value,id:a.id};t.push(...Io(a.nodes,[...o,n],null))}}return t}function gr(e){let{children:o}=e,r=dt(),t=_nullishCoalesce(_optionalChain([r, 'optionalAccess', _23 => _23.searchQuery]), () => ("")),{dataSurfaceContext:a}=on(),n=_nullishCoalesce(_optionalChain([a, 'optionalAccess', _24 => _24.content]), () => ([])),s=Me.useMemo(()=>r?r.getAsyncNodes():[],[r,_optionalChain([r, 'optionalAccess', _25 => _25.loaders])]),c=Me.useMemo(()=>s.length===0?n:ao(n,s),[n,s]),g=Me.useMemo(()=>Io(c),[c]),l=Me.useCallback(b=>{let{node:u,context:x,pageId:m}=b,P=(p,C)=>{let y=_nullishCoalesce(p.id, () => (p.value));if(p.kind==="item")return _jsxruntime.jsx.call(void 0, Me.Fragment,{children:p.render({props:{id:y,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1)),closeOnClick:p.closeOnClick,onSelect:p.onSelect,shortcut:p.shortcut},context:{...C,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1))}})},y);if(p.kind==="checkbox-item")return _jsxruntime.jsx.call(void 0, Me.Fragment,{children:p.render({props:{id:y,value:p.value,checked:p.checked,onCheckedChange:p.onCheckedChange,disabled:_nullishCoalesce(p.disabled, () => (!1)),closeOnClick:p.closeOnClick},context:{...C,value:p.value,checked:p.checked,disabled:_nullishCoalesce(p.disabled, () => (!1))}})},y);if(p.kind==="radio-item")return _jsxruntime.jsx.call(void 0, Me.Fragment,{children:p.render({props:{id:y,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1)),closeOnClick:p.closeOnClick,onSelect:p.onSelect,shortcut:p.shortcut},context:{...C,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1))}})},y);if(p.kind==="submenu"){let M=pn(p,C.breadcrumbs,t,r),k=_nullishCoalesce(p.nodes, () => ([])),T={node:p,value:p.value,id:p.id},v=D=>{if(D.kind==="separator")return null;if(D.kind==="group"){let R=D.nodes.filter(S=>(S.kind==="item"||S.kind==="checkbox-item"||S.kind==="submenu"||S.kind==="subpage")&&!S.hidden);if(R.length===0)return null;let d=R.map(S=>P(S,{search:null,breadcrumbs:[...C.breadcrumbs,T],isDeepSearchResult:!1,highlighted:!1,disabled:_nullishCoalesce(S.disabled, () => (!1)),group:{id:D.id,label:D.label}}));if(D.render){let S={search:null,matchCount:R.length,breadcrumbs:[...C.breadcrumbs,T],isDeepSearchResult:!1};return _jsxruntime.jsx.call(void 0, Me.Fragment,{children:D.render({props:{},context:{...S,label:D.label},children:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:d})})},D.id)}return _jsxruntime.jsx.call(void 0, "div",{role:"group","aria-label":D.label,children:d},D.id)}return D.kind==="radio-group"?I(D,[...C.breadcrumbs,T]):D.kind!=="item"&&D.kind!=="checkbox-item"&&D.kind!=="submenu"&&D.kind!=="subpage"?null:P(D,{search:null,breadcrumbs:[...C.breadcrumbs,T],isDeepSearchResult:!1,highlighted:!1,disabled:_nullishCoalesce(D.disabled, () => (!1)),group:null})};return _jsxruntime.jsx.call(void 0, Me.Fragment,{children:p.render({props:{id:y,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1))},context:{...C,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1)),async:M},nodes:k,asyncContent:p.asyncNodes,renderNode:v})},y)}let O=pn(p,C.breadcrumbs,t,r),f=It(p,C.breadcrumbs);return _jsxruntime.jsx.call(void 0, Me.Fragment,{children:p.renderTrigger({props:{id:y,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1)),targetPageId:f},context:{...C,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1)),async:O}})},f)},I=(p,C=[])=>{let y=C.length>0,O={search:null,matchCount:p.nodes.length,breadcrumbs:C,isDeepSearchResult:y},f=p.nodes.map(M=>M.hidden?null:P(M,{search:null,breadcrumbs:C,isDeepSearchResult:y,highlighted:!1,disabled:_nullishCoalesce(M.disabled, () => (!1)),group:null}));return p.render?_jsxruntime.jsx.call(void 0, Me.Fragment,{children:p.render({props:{value:p.value,onValueChange:p.onValueChange,disabled:_nullishCoalesce(p.disabled, () => (!1))},context:{...O,label:p.label,value:p.value,disabled:_nullishCoalesce(p.disabled, () => (!1))},children:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:f})})},p.id):_jsxruntime.jsx.call(void 0, "div",{role:"radiogroup","aria-label":p.label,children:f},p.id)};return _jsxruntime.jsx.call(void 0, Me.Fragment,{children:u.renderContent({pageId:m,context:{...x,value:u.value,disabled:_nullishCoalesce(u.disabled, () => (!1)),async:pn(u,x.breadcrumbs,t,r)},nodes:_nullishCoalesce(u.nodes, () => ([])),asyncContent:u.asyncNodes,renderNode:p=>{if(p.kind==="separator")return null;if(p.kind==="group"){let C=p.nodes.filter(O=>(O.kind==="item"||O.kind==="checkbox-item"||O.kind==="submenu"||O.kind==="subpage")&&!O.hidden);if(C.length===0)return null;let y=C.map(O=>P(O,{search:null,breadcrumbs:[...x.breadcrumbs,{node:u,value:u.value,id:u.id}],isDeepSearchResult:!1,highlighted:!1,disabled:_nullishCoalesce(O.disabled, () => (!1)),group:{id:p.id,label:p.label}}));if(p.render){let O={search:null,matchCount:C.length,breadcrumbs:[...x.breadcrumbs,{node:u,value:u.value,id:u.id}],isDeepSearchResult:!1};return _jsxruntime.jsx.call(void 0, Me.Fragment,{children:p.render({props:{},context:{...O,label:p.label},children:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:y})})},p.id)}return _jsxruntime.jsx.call(void 0, "div",{role:"group","aria-label":p.label,children:y},p.id)}return p.kind==="radio-group"?I(p,[...x.breadcrumbs,{node:u,value:u.value,id:u.id}]):p.kind!=="item"&&p.kind!=="checkbox-item"&&p.kind!=="submenu"&&p.kind!=="subpage"?null:P(p,{search:null,breadcrumbs:[...x.breadcrumbs,{node:u,value:u.value,id:u.id}],isDeepSearchResult:!1,highlighted:!1,disabled:_nullishCoalesce(p.disabled, () => (!1)),group:null})}})},m)},[r,t]);if(!a)return null;let i={subpages:g,renderSubpageContent:l};return o?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:o(i)}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:g.map(l)})}var Na=140,Ea= exports.La =Y.forwardRef(function(o,r){let{children:t,className:a,render:n,...s}=o,c=Fe(),{clearAimGuard:g,aimGuardActiveRef:l,guardedSubmenuSurfaceIdRef:i}=lt(),b=fe(),u=it(),x=Je(),m=_nullishCoalesce(_optionalChain([x, 'optionalAccess', _26 => _26.depth]), () => (0)),P=Ct(),I=Y.useId(),p=_nullishCoalesce(_optionalChain([c, 'optionalAccess', _27 => _27.childSurfaceId]), () => (I)),[C,y]=Y.useState([we]),[O,f]=Y.useState(null),M=Y.useRef(C);Y.useEffect(()=>{M.current=C},[C]);let k=Y.useRef(new Map),[,T]=Y.useState(0),[v,D]=Y.useState(!1),R=Y.useRef(null),d=Y.useCallback(()=>{R.current!==null&&(clearTimeout(R.current),R.current=null)},[]),S=Y.useCallback(()=>{D(!0),d(),R.current=setTimeout(()=>{R.current=null,D(!1)},Na)},[d]);Y.useEffect(()=>d,[d]),Y.useEffect(()=>(k.current.set(we,{surfaceId:p,closeRootOnEsc:!0}),T(E=>E+1),()=>{k.current.delete(we),T(E=>E+1)}),[p]);let w=Y.useCallback(E=>(k.current.set(E.pageId,{surfaceId:E.surfaceId,closeRootOnEsc:E.closeRootOnEsc}),T($=>$+1),()=>{k.current.delete(E.pageId),T($=>$+1),y($=>{if(!$.includes(E.pageId))return $;let Pe=$.filter(He=>He!==E.pageId);return Pe.length>0?Pe:[we]})}),[]),N=Y.useCallback(E=>{if(!k.current.has(E))return!1;let $=M.current;return $[$.length-1]===E?!1:(y(He=>[...He,E]),S(),!0)},[S]),q=Y.useCallback(()=>M.current.length<=1?!1:(y($=>$.slice(0,-1)),S(),!0),[S]),_=Y.useCallback(E=>_nullishCoalesce(_optionalChain([k, 'access', _28 => _28.current, 'access', _29 => _29.get, 'call', _30 => _30(E), 'optionalAccess', _31 => _31.surfaceId]), () => (null)),[]),B=Y.useCallback(()=>{y([we]),D(!1),d()},[d]);Y.useEffect(()=>{let E=_optionalChain([x, 'optionalAccess', _32 => _32.store]);if(!E)return;let $=E.context.onPopupCloseComplete,Pe=()=>{_optionalChain([$, 'optionalCall', _33 => _33()]),B()};return E.context.onPopupCloseComplete=Pe,()=>{E.context.onPopupCloseComplete===Pe&&(E.context.onPopupCloseComplete=$),d()}},[_optionalChain([x, 'optionalAccess', _34 => _34.store]),B,d]);let L=_nullishCoalesce(C[C.length-1], () => (we)),h=k.current.get(L),A=_nullishCoalesce(_optionalChain([h, 'optionalAccess', _35 => _35.surfaceId]), () => (p)),V=_nullishCoalesce(_optionalChain([h, 'optionalAccess', _36 => _36.closeRootOnEsc]), () => (!0)),H=C.length>1,j=Y.useMemo(()=>C.filter(E=>E!==we),[C]),W=_nullishCoalesce(j[j.length-1], () => (null)),X=W!==null,ie=Y.useRef(0);Y.useEffect(()=>{_optionalChain([c, 'optionalAccess', _37 => _37.open])&&(ie.current=Date.now())},[_optionalChain([c, 'optionalAccess', _38 => _38.open])]);let Z=b.useState("isOwner",A),oe=u.useState("hasOpenSubmenu",m),J=Y.useRef(null),ne=Y.useCallback(E=>{J.current=E,typeof r=="function"?r(E):r&&(r.current=E),_optionalChain([c, 'optionalAccess', _39 => _39.contentRef])&&(c.contentRef.current=E)},[r,c]);Y.useEffect(()=>{m===0&&_optionalChain([x, 'optionalAccess', _40 => _40.store, 'access', _41 => _41.setPopupRef, 'call', _42 => _42(J)])},[m,x]);let me=Y.useCallback(()=>{c&&l.current&&i.current===p&&g()},[c,l,i,p,g]);Y.useEffect(()=>{_optionalChain([c, 'optionalAccess', _43 => _43.open])!==!1||!l.current||i.current!==p||g()},[_optionalChain([c, 'optionalAccess', _44 => _44.open]),l,i,p,g]),Y.useEffect(()=>()=>{l.current&&i.current===p&&g()},[l,i,p,g]);let re=Y.useCallback(E=>{if(Date.now()-ie.current<100||!c)return;let Pe=E.target;if(!_optionalChain([J, 'access', _45 => _45.current, 'optionalAccess', _46 => _46.contains, 'call', _47 => _47(Pe)]))return;let He=Pe instanceof Element?Pe:Pe.parentElement;if(He){let bt=He.closest("[data-base-ui-focusable]");if(bt&&bt!==J.current)return}b.state.ownerId!==c.childSurfaceId&&b.setOwnerId(c.childSurfaceId)},[c,b]),Ge=c||P?!1:void 0,ge=c||P?!1:void 0,gt=_optionalChain([P, 'optionalAccess', _48 => _48.layout])==="input-embedded",xe=!!c,Ie=Y.useCallback(E=>({...E,isSubmenu:xe,hasOpenSubpage:X,subpageId:W,openSubpageIds:j}),[X,xe,j,W]),Oe=Y.useMemo(()=>typeof a=="function"?E=>a(Ie(E)):a,[a,Ie]),_e=Y.useMemo(()=>typeof n=="function"?(E,$)=>n(E,Ie($)):n,[n,Ie]),ke=z(),We=Q(ke,"popup"),G=Y.useMemo(()=>({activePageId:L,activeSurfaceId:A,canGoBack:H,shouldCloseRootOnEsc:V,stack:C,registerPage:w,openPage:N,goBack:q,getSurfaceId:_}),[L,A,H,V,C,w,N,q,_]),Ae=Y.useMemo(()=>({dataSurfaceContext:O,setDataSurfaceContext:f}),[O]);return _jsxruntime.jsx.call(void 0, Pt.Provider,{value:p,children:_jsxruntime.jsx.call(void 0, Yt.Provider,{value:G,children:_jsxruntime.jsx.call(void 0, to.Provider,{value:Ae,children:_jsxruntime.jsxs.call(void 0, _popover.Popover.Popup,{ref:ne,initialFocus:Ge,finalFocus:ge,className:Oe,render:_e,"data-input-embedded":gt?"":void 0,...We?{[We]:""}:{},"data-focused":Z?"":void 0,"data-has-open-submenu":oe?"":void 0,"data-submenu":xe?"":void 0,"data-navigating":v?"":void 0,onPointerMove:E=>{me(),re(E),_optionalChain([s, 'access', _49 => _49.onPointerMove, 'optionalCall', _50 => _50(E)])},...s,children:[t,_jsxruntime.jsx.call(void 0, gr,{})]})})})})});var Fa=_popover.Popover.Portal;var br=(c=>(c.availableWidth="--available-width",c.availableHeight="--available-height",c.anchorWidth="--anchor-width",c.anchorHeight="--anchor-height",c.transformOrigin="--transform-origin",c.positionerWidth="--positioner-width",c.positionerHeight="--positioner-height",c))(br||{});var hr=(s=>(s.slot="bazzaui-[component]-positioner",s.open="data-open",s.closed="data-closed",s.anchorHidden="data-anchor-hidden",s.side="data-side",s.align="data-align",s))(hr||{});var _reactdom = require('react-dom');var Rr=.5;function za(e){if(Sr(e))return{side:"shift",align:"shift"}}function Sr(e){return e==="left"||e==="right"||e==="inline-start"||e==="inline-end"}var Qa=le.forwardRef(function(o,r){let{side:t,align:a,alignOffset:n,collisionAvoidance:s,virtualAnchor:c,style:g,...l}=o,{store:i,depth:b,virtualAnchor:u,menuType:x}=De(),m=Fe(),P=le.useRef(0),I=le.useRef(!1),[,p]=le.useReducer(ie=>ie+1,0),C=le.useRef(!1),y=le.useRef({first:null,second:null}),O=le.useCallback(()=>{if(typeof window>"u"){y.current.first=null,y.current.second=null;return}y.current.first!==null&&(window.cancelAnimationFrame(y.current.first),y.current.first=null),y.current.second!==null&&(window.cancelAnimationFrame(y.current.second),y.current.second=null)},[]),f=le.useCallback(()=>{O(),C.current=!1},[O]),M=le.useCallback(()=>{O(),C.current=!0,!(typeof window>"u")&&(y.current.first=window.requestAnimationFrame(()=>{y.current.first=null,y.current.second=window.requestAnimationFrame(()=>{y.current.second=null,C.current=!1})}))},[O]),k=b>0,T=k?c:_nullishCoalesce(c, () => (u)),D=_nullishCoalesce(t, () => ((k?"right":"bottom"))),d=_nullishCoalesce(a, () => ((k||x==="context"?"start":"center"))),S=d==="list-start"&&Sr(D),w=d==="list-start"?"start":d,N=_nullishCoalesce(_optionalChain([m, 'optionalAccess', _51 => _51.open]), () => (!1)),q=i.useState("inputActive"),_=i.context.hideUntilActive,B=le.useRef(q),L=le.useCallback(()=>{if(!S)return!1;let ie=_optionalChain([m, 'optionalAccess', _52 => _52.contentRef, 'access', _53 => _53.current]);if(!ie)return!1;let Z=ie.getBoundingClientRect(),oe=ie.querySelector('[role="listbox"]');if(!oe){let ge=P.current;return P.current=0,Math.abs(ge)>Rr}let J=oe.getBoundingClientRect(),ne=getComputedStyle(oe),me=Number.parseFloat(ne.paddingTop)||0,re=-(J.top+me-Z.top),Ge=P.current;return P.current=re,Math.abs(re-Ge)>Rr},[S,m]);le.useLayoutEffect(()=>{!S||!N||I.current||(L(),I.current=!0,p())},[S,N,L]),le.useLayoutEffect(()=>{if(!S||!N)return;let ie=_optionalChain([m, 'optionalAccess', _54 => _54.contentRef, 'access', _55 => _55.current]);if(!ie||typeof ResizeObserver>"u")return;let Z=new ResizeObserver(()=>{C.current||L()&&_reactdom.flushSync.call(void 0, ()=>{p()})});Z.observe(ie);let oe=ie.querySelector('[role="listbox"]');return oe&&Z.observe(oe),()=>{Z.disconnect()}},[S,N,m,L]),le.useLayoutEffect(()=>{let ie=B.current;B.current=q,!(!S||!N)&&_&&!ie&&q&&M()},[S,N,_,q,M]),le.useEffect(()=>{N||(I.current=!1,P.current=0,f())},[N,f]),le.useEffect(()=>f,[f]);let h=S?P.current+(typeof n=="number"?n:0):n,A=_nullishCoalesce(s, () => (za(D))),V=T?{anchor:T}:{},j=S&&!I.current&&N?{...g,transition:"none"}:g,W=z(),X=Q(W,"positioner");return _jsxruntime.jsx.call(void 0, _popover.Popover.Positioner,{ref:r,side:D,align:w,alignOffset:h,collisionAvoidance:A,style:j,...X?{[X]:""}:{},"data-align":S?"list-start":void 0,...V,...l})});function qa(e){let{store:o,focusOwnerStore:r,openChainStore:t,disabled:a,depth:n,closeAll:s,registerSurface:c,virtualization:g,debug:l,virtualAnchor:i,menuType:b="dropdown",closeOnOutsidePress:u="pointerdown",getQualifiedRowId:x,componentName:m,children:P}=e,I=Do.useMemo(()=>({store:o,disabled:a,depth:n,closeAll:s,registerSurface:c,virtualization:g,virtualAnchor:i,menuType:b,closeOnOutsidePress:u,getQualifiedRowId:x}),[o,a,n,s,c,g,i,b,u,x]),p=Do.useMemo(()=>({store:o,depth:n,closeAll:s,registerSurface:c,virtualization:g}),[o,n,s,c,g]),C=Do.useMemo(()=>({showSafeTriangleArea:_o(_optionalChain([l, 'optionalAccess', _56 => _56.showSafeTriangleArea]),_optionalChain([l, 'optionalAccess', _57 => _57.showSubmenuSafeTriangleArea])),logAimGuardEvents:_nullishCoalesce(_optionalChain([l, 'optionalAccess', _58 => _58.logAimGuardEvents]), () => (!1))}),[_optionalChain([l, 'optionalAccess', _59 => _59.showSafeTriangleArea]),_optionalChain([l, 'optionalAccess', _60 => _60.showSubmenuSafeTriangleArea]),_optionalChain([l, 'optionalAccess', _61 => _61.logAimGuardEvents])]);return _jsxruntime.jsx.call(void 0, Nt.Provider,{value:m,children:_jsxruntime.jsx.call(void 0, bo.Provider,{value:C,children:_jsxruntime.jsx.call(void 0, Ze.Provider,{value:I,children:_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.i.Provider,{value:p,children:_jsxruntime.jsx.call(void 0, Xo,{children:_jsxruntime.jsx.call(void 0, Gt.Provider,{value:r,children:_jsxruntime.jsx.call(void 0, Ft.Provider,{value:t,children:P})})})})})})})}function Be(e){let{closeOnClick:o=!0,disabled:r=!1,...t}=e,{aimGuardActiveRef:a,guardedDepthRef:n}=lt(),{closeAll:s}=_chunkSF7X2BUTcjs.j.call(void 0, ),g=_nullishCoalesce(_optionalChain([Je, 'call', _62 => _62(), 'optionalAccess', _63 => _63.disabled]), () => (!1)),l=r||g,i=uo.useMemo(()=>({aimGuardActiveRef:a,guardedDepthRef:n}),[a,n]),b=uo.useCallback(x=>{o&&s()},[o,s]),u=_chunkSF7X2BUTcjs.t.call(void 0, {...t,disabled:l,aimGuard:i,closeOnClick:o,onAfterSelect:b});return uo.useMemo(()=>({...u,disabled:l}),[u,l])}function co(e){let{store:o,surfaceId:r,focusOwnerStore:t,depth:a,submenuContext:n,subpageContext:s=null,enabled:c,disabled:g=!1,enableTypeToSearch:l=!1,onKeyDown:i,closeAll:b,skipFocusOwnerCheck:u=!1}=e,x=io.useMemo(()=>n?{setOpen:n.setOpen,parentSurfaceId:n.parentSurfaceId,closeRootOnEsc:n.closeRootOnEsc}:null,[n]),m=io.useMemo(()=>s?{goBack:s.goBack,parentSurfaceId:s.parentSurfaceId,closeRootOnEsc:s.closeRootOnEsc}:null,[s]),P=io.useCallback(I=>{I.itemId&&I.closeOnClick&&b()},[b]);return _chunkSF7X2BUTcjs.u.call(void 0, {store:o,surfaceId:r,enabled:c&&!g,onKeyDown:i,onSelect:P,closeAll:b,focusOwner:t,depth:a,submenuContext:x,subpageContext:m,enableTypeToSearch:l,skipFocusOwnerCheck:u})}var dn={slot:"bazzaui-[component]-icon",open:"data-popup-open"};var _userender = require('@base-ui/react/use-render');function cc(e){return e==null||e===""}function xr(e,o){if(e==null)return"";if(o)return o(e);if(typeof e=="object"&&"label"in e){let r=e.label;if(typeof r=="string")return r}return String(e)}function Pr(e,o){return e==null?"":o?o(e):typeof e=="object"&&"value"in e?String(e.value):String(e)}var _a={open:e=>e?{[dn.open]:""}:null},Wa= exports.Xa =mt.forwardRef(function(o,r){let{render:t,className:a,style:n,children:s,onPointerDown:c,onClick:g,...l}=o,{store:i}=De(),b=i.useState("open"),u=Ct(),x=mt.useMemo(()=>({open:b}),[b]),m=mt.useCallback(C=>{u&&C.preventDefault(),_optionalChain([c, 'optionalCall', _64 => _64(C)])},[u,c]),P=mt.useCallback(C=>{if(_optionalChain([g, 'optionalCall', _65 => _65(C)]),!C.defaultPrevented&&u)if(b)u.closeCombobox();else{if((u.multiple?u.values.length>0:u.value!=null)&&!u.multiple){let O=Pr(u.value,u.itemToStringValue),M=_nullishCoalesce(u.itemTextRegistry.get(O), () => (xr(u.value,u.itemToStringLabel)));u.onInputValueChange(M)}u.openCombobox()}},[g,u,b]),I=z(),p=Q(I,"icon");return _userender.useRender.call(void 0, {render:t,ref:r,state:x,stateAttributesMapping:_a,props:{...l,...p?{[p]:""}:{},className:a,style:n,children:s,onPointerDown:m,onClick:P},defaultTagName:"span"})});var Ya=Cr.forwardRef(function(o,r){let{render:t,className:a,style:n,children:s,...c}=o,{store:g}=_chunkSF7X2BUTcjs.p.call(void 0, ),l=z(),i=Q(l,"empty"),b=_userender.useRender.call(void 0, {render:t,ref:r,props:{...c,...i?{[i]:""}:{},role:"presentation",className:a,style:n,children:s},defaultTagName:"div"}),u=no(),x=u?u.isRootLoading||u.isAnyLoading&&u.searchQuery.length>0:!1,m=g.useState("hasSearchWithNoResults");return!x&&m?b:null});var $a=Qe.forwardRef(function(o,r){let{value:t,onValueChange:a,hideUntilActive:n=!1,disabled:s=!1,render:c,className:g,style:l,onKeyDown:i,...b}=o,{store:u,surfaceId:x}=_chunkSF7X2BUTcjs.p.call(void 0, ),{depth:m,closeAll:P}=_chunkSF7X2BUTcjs.j.call(void 0, ),I=Fe(),p=ct(),{disabled:C}=De(),y=C||s,O=fe(),f=Qe.useRef(null),M=u.useState("search"),k=u.useState("highlightedId"),T=u.context.listId,v=u.context.inputId;Qe.useEffect(()=>(u.setHideUntilActive(n),()=>u.setHideUntilActive(!1)),[u,n]);let D=u.useState("inputActive"),R=u.useState("pendingSearch"),d=!n||D;Qe.useEffect(()=>{if(d)return u.setHasInput(!0),()=>u.setHasInput(!1)},[u,d]);let w=t!==void 0?t:M;Qe.useEffect(()=>{R&&f.current&&(u.setSearch(R),_optionalChain([a, 'optionalCall', _66 => _66(R)]),u.setPendingSearch(""),f.current.focus())},[R,u,a]);let N=Qe.useCallback(A=>{let V=A.target.value;u.setSearch(V),_optionalChain([a, 'optionalCall', _67 => _67(V)])},[a,u]),{handleKeyDown:q}=co({store:u,surfaceId:x,focusOwnerStore:O,depth:m,submenuContext:I,subpageContext:p,enabled:!0,disabled:y,enableTypeToSearch:!1,onKeyDown:i,closeAll:P}),_=Qe.useMemo(()=>({active:D}),[D]),B=z(),L=Q(B,"input"),h=_userender.useRender.call(void 0, {render:c,ref:[f,r],state:_,props:{...b,...L?{[L]:""}:{},id:v,type:"text",role:"combobox","aria-autocomplete":"list","aria-expanded":!0,"aria-controls":T,"aria-activedescendant":_nullishCoalesce(k, () => (void 0)),autoComplete:"off",autoCorrect:"off",spellCheck:!1,disabled:y,className:g,style:l,value:w,onChange:N,onKeyDown:q},defaultTagName:"input"});return d?h:null});function Za(e,o,r){let t=0;for(let a of e)if(nt(a))for(let n of a.items)n.compositeId=o({node:n.node,value:n.node.value,id:n.node.id,index:t,breadcrumbs:n.context.breadcrumbs,isDeepSearching:r,search:n.context.search,isDeepSearchResult:n.context.isDeepSearchResult,group:n.context.group,radioGroup:null}),t++;else if(rt(a))for(let n of a.items)n.compositeId=o({node:n.node,value:n.node.value,id:n.node.id,index:t,breadcrumbs:n.context.breadcrumbs,isDeepSearching:r,search:n.context.search,isDeepSearchResult:n.context.isDeepSearchResult,group:null,radioGroup:_nullishCoalesce(n.radioGroup, () => (null))}),t++;else at(a)||(a.compositeId=o({node:a.node,value:a.node.value,id:a.node.id,index:t,breadcrumbs:a.context.breadcrumbs,isDeepSearching:r,search:a.context.search,isDeepSearchResult:a.context.isDeepSearchResult,group:a.context.group,radioGroup:_nullishCoalesce(a.radioGroup, () => (null))}),t++)}function Ja(e){let o=[];for(let r of e)if(nt(r))for(let t of r.items)!t.node.disabled&&t.compositeId&&o.push(t.compositeId);else if(rt(r))for(let t of r.items)!t.node.disabled&&t.compositeId&&o.push(t.compositeId);else at(r)||!r.node.disabled&&r.compositeId&&o.push(r.compositeId);return o}function es(e,o){if(e.length===0||o.length<=e.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==o[r])return!1;return!0}function fn(e){return e.map(o=>_nullishCoalesce(o.id, () => (o.value))).join(">")}function Mr(e){return nt(e)?`group:${e.group.id}:${fn(e.context.breadcrumbs)}`:rt(e)?`radio-group:${e.radioGroup.id}:${fn(e.context.breadcrumbs)}`:at(e)?`separator:${_nullishCoalesce(e.separator.id, () => ("separator"))}`:`row:${e.node.kind}:${_nullishCoalesce(e.node.id, () => (""))}:${e.node.value}:${fn(e.context.breadcrumbs)}`}var ts=e=>e;function os(e,o){let r=e.map(i=>[Mr(i),i]),t=new Map(r),a=r.map(([i])=>i),n=o.filter(i=>t.has(i)),s=new Set(n),c=a.filter(i=>!s.has(i)),g=[...n,...c];return{orderedNodes:g.map(i=>t.get(i)).filter(i=>i!==void 0),nextOrder:g}}function ns(e){return e.initialQueryBehavior!==void 0?e.initialQueryBehavior===!1?!1:{value:_nullishCoalesce(e.initialQueryBehavior.value, () => ("")),loadWhen:_nullishCoalesce(e.initialQueryBehavior.loadWhen, () => ("needed"))}:e.initialQuery!==void 0?{value:e.initialQuery,loadWhen:"needed"}:{value:"",loadWhen:"needed"}}function mn(e,o){let r=_nullishCoalesce(e.minQueryLength, () => (1)),t=ns(e);return o.length>=r?{effectiveQuery:o,enabled:!0,isBelowMinLength:!1}:t!==!1?{effectiveQuery:t.value,enabled:!0,isBelowMinLength:!1}:{effectiveQuery:"",enabled:!1,isBelowMinLength:!0}}function rs(e,o){return[...o.map(r=>_chunkSF7X2BUTcjs.r.call(void 0, r.value)),_chunkSF7X2BUTcjs.r.call(void 0, e.value)].join(".")}function as({info:e,query:o,enabled:r}){let t=dt(),{config:a,id:n,breadcrumbs:s}=e,c=a.Loader,g=K.useMemo(()=>a.type!=="query"?null:mn(a,o),[a,o]),l=_nullishCoalesce(_optionalChain([g, 'optionalAccess', _68 => _68.effectiveQuery]), () => (o)),i=_nullishCoalesce(_optionalChain([g, 'optionalAccess', _69 => _69.enabled]), () => (!0));return r||vo(a)?_jsxruntime.jsx.call(void 0, c,{query:l,enabled:i,children:u=>_jsxruntime.jsx.call(void 0, vr,{id:n,breadcrumbs:s,config:a,result:u,coordinator:t})}):null}function vr({id:e,breadcrumbs:o,config:r,result:t,coordinator:a}){let n=K.useRef(o),s=K.useRef(r),c=K.useRef(a),g=K.useRef(t),l=K.useRef(null);return n.current=o,s.current=r,c.current=a,g.current=t,K.useEffect(()=>{let i=c.current;if(!i)return;let b={id:e,breadcrumbs:n.current,config:s.current,result:g.current};return i.registerLoader(b),()=>{i.unregisterLoader(e)}},[e]),K.useEffect(()=>{let i=c.current;if(!i)return;let b=l.current;(b===null||b.data!==t.data||b.status!==t.status||b.fetchStatus!==t.fetchStatus||b.loadingPhase!==t.loadingPhase||b.isLoading!==t.isLoading||b.isFetching!==t.isFetching||b.isInitialLoading!==t.isInitialLoading||b.isRefetching!==t.isRefetching||b.isPending!==t.isPending||b.isSuccess!==t.isSuccess||b.isError!==t.isError||b.isPaused!==t.isPaused||b.hasData!==t.hasData||b.hasFetched!==t.hasFetched||b.error!==t.error)&&(l.current={data:t.data,status:t.status,fetchStatus:t.fetchStatus,loadingPhase:t.loadingPhase,isLoading:t.isLoading,isFetching:t.isFetching,isInitialLoading:t.isInitialLoading,isRefetching:t.isRefetching,isPending:t.isPending,isSuccess:t.isSuccess,isError:t.isError,isPaused:t.isPaused,hasData:t.hasData,hasFetched:t.hasFetched,error:t.error},i.updateLoaderResult(e,t))},[e,t.data,t.status,t.fetchStatus,t.loadingPhase,t.isLoading,t.isFetching,t.isInitialLoading,t.isRefetching,t.isPending,t.isSuccess,t.isError,t.isPaused,t.hasData,t.hasFetched,t.error]),null}function ss({query:e}){let o=en(),r=dt(),{asyncContent:t}=o,a=K.useMemo(()=>!t||t.type!=="query"?null:mn(t,e),[t,e]),n=_nullishCoalesce(_optionalChain([a, 'optionalAccess', _70 => _70.effectiveQuery]), () => (e)),s=_nullishCoalesce(_optionalChain([a, 'optionalAccess', _71 => _71.enabled]), () => (!0));if(!t)return null;let c=t.Loader;return _jsxruntime.jsx.call(void 0, c,{query:n,enabled:s,children:g=>_jsxruntime.jsx.call(void 0, vr,{id:"__root__",breadcrumbs:[],config:t,result:g,coordinator:r})})}var Ir=K.forwardRef(function(o,r){let{children:t,content:a,asyncContent:n,deepSearchConfig:s,includeInDeepSearch:c,getQualifiedRowId:g,search:l,normalizedSearch:i,store:b,label:u="Menu",...x}=o,m=dt(),P=K.useMemo(()=>Mt(a,[],c),[a,c]),I=_nullishCoalesce(s.minLength, () => (0)),p=s.enabled!==!1&&i.length>=I,C=p||P.some(L=>vo(L.config))||n&&n.loadStrategy==="eager",y=K.useMemo(()=>m?m.getAsyncNodes():[],[m,_optionalChain([m, 'optionalAccess', _72 => _72.loaders])]),O=K.useMemo(()=>y.length===0?a:ao(a,y),[a,y]),f=K.useMemo(()=>{let L=y.find(h=>h.id==="__root__");return L?n?L.nodes:[...O,...L.nodes]:O},[O,y,n]),M=K.useRef(null),{displayNodes:k,isDeepSearching:T}=K.useMemo(()=>{let L=cn({query:i,normalizeQuery:ts,nodes:f,highlightedId:null,deepSearch:s.enabled,includeInDeepSearch:c,minLength:s.minLength,groupSearchBehavior:s.groupSearchBehavior,radioGroupSearchBehavior:s.radioGroupSearchBehavior,sortGroups:s.sortGroups}),h=_nullishCoalesce(s.asyncResultBehavior, () => ("stream")),A=P.length+(n?1:0),V=A>0,H=h==="block"&&L.isDeepSearching&&V&&m!==null&&(m.loaders.size<A||m.isAnyLoading),j=L.displayNodes;if(H)M.current=null,j=[];else if(h==="stream"&&L.isDeepSearching){let W=M.current;if(!W||W.query!==i)M.current={query:i,order:j.map(Mr)};else{let{orderedNodes:X,nextOrder:ie}=os(j,W.order);j=X,M.current={query:i,order:ie}}}else M.current=null;return Za(j,g,L.isDeepSearching),{displayNodes:j,isDeepSearching:L.isDeepSearching}},[i,f,s,c,g,P.length,n,m,_optionalChain([m, 'optionalAccess', _73 => _73.isAnyLoading]),_optionalChain([m, 'optionalAccess', _74 => _74.loaders])]),v=K.useRef([]),D=K.useRef(null),R=K.useRef("replace"),d=K.useMemo(()=>Ja(k),[k]),S=K.useMemo(()=>{let L=v.current,h=d;if(L.length!==h.length||L.some((V,H)=>V!==h[H])){let H=(_nullishCoalesce(s.asyncResultBehavior, () => ("stream")))==="stream"&&T&&D.current===i&&es(L,h);return R.current=H?"append":"replace",v.current=h,D.current=i,h}return L},[d,s.asyncResultBehavior,T,i]);K.useEffect(()=>{b.setOrderedItems(S,{reason:R.current})},[b,S]);let w=K.useCallback(L=>{let{node:h,context:A}=L,V=_nullishCoalesce(_nullishCoalesce(L.compositeId, () => (h.id)), () => (h.value)),H=j=>{if(!j.asyncNodes||!m)return;let W=rs(j,A.breadcrumbs),X=m.loaders.get(W);if(!X)return;let ie=j.asyncNodes.type==="query"?mn(j.asyncNodes,i).isBelowMinLength:!1;return{status:X.result.status,fetchStatus:X.result.fetchStatus,loadingPhase:X.result.loadingPhase,isLoading:X.result.isLoading,isFetching:X.result.isFetching,isInitialLoading:X.result.isInitialLoading,isRefetching:X.result.isRefetching,isError:X.result.isError,error:X.result.error,isBelowMinLength:ie}};if(h.kind==="item")return _jsxruntime.jsx.call(void 0, K.Fragment,{children:h.render({props:{id:V,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1)),closeOnClick:h.closeOnClick,onSelect:h.onSelect,shortcut:h.shortcut,forceOrder:h.forceOrder,forceScore:h.forceScore},context:{...A,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1))}})},V);if(h.kind==="radio-item")return _jsxruntime.jsx.call(void 0, K.Fragment,{children:h.render({props:{id:V,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1)),closeOnClick:h.closeOnClick,onSelect:h.onSelect,shortcut:h.shortcut,forceOrder:h.forceOrder,forceScore:h.forceScore},context:{...A,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1))}})},V);if(h.kind==="checkbox-item")return _jsxruntime.jsx.call(void 0, K.Fragment,{children:h.render({props:{id:V,value:h.value,checked:h.checked,onCheckedChange:h.onCheckedChange,disabled:_nullishCoalesce(h.disabled, () => (!1)),closeOnClick:h.closeOnClick,forceOrder:h.forceOrder,forceScore:h.forceScore},context:{...A,value:h.value,checked:h.checked,disabled:_nullishCoalesce(h.disabled, () => (!1))}})},V);if(h.kind==="submenu"){let j=H(h),W=_nullishCoalesce(h.nodes, () => ([])),X={node:h,value:h.value,id:h.id},ie=Z=>{if(Z.kind==="separator")return null;if(Z.kind==="group"){let J=Z.nodes.filter(me=>(me.kind==="item"||me.kind==="checkbox-item"||me.kind==="submenu"||me.kind==="subpage")&&!me.hidden);if(J.length===0)return null;let ne=J.map(me=>{let re={search:null,breadcrumbs:[...A.breadcrumbs,X],isDeepSearchResult:!1,highlighted:!1,disabled:_nullishCoalesce(me.disabled, () => (!1)),group:{id:Z.id,label:Z.label}};return w({node:me,context:re})});if(Z.render){let me={search:null,matchCount:J.length,breadcrumbs:[...A.breadcrumbs,X],isDeepSearchResult:!1};return _jsxruntime.jsx.call(void 0, K.Fragment,{children:Z.render({props:{},context:{...me,label:Z.label},children:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:ne})})},Z.id)}return _jsxruntime.jsx.call(void 0, "div",{role:"group","aria-label":Z.label,children:ne},Z.id)}if(Z.kind==="radio-group")return N(Z,[...A.breadcrumbs,X]);if(Z.kind!=="item"&&Z.kind!=="checkbox-item"&&Z.kind!=="submenu"&&Z.kind!=="subpage")return null;let oe={search:null,breadcrumbs:[...A.breadcrumbs,X],isDeepSearchResult:!1,highlighted:!1,disabled:_nullishCoalesce(Z.disabled, () => (!1)),group:null};return w({node:Z,context:oe})};return _jsxruntime.jsx.call(void 0, K.Fragment,{children:h.render({props:{id:V,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1)),forceOrder:h.forceOrder,forceScore:h.forceScore},context:{...A,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1)),async:j},nodes:W,asyncContent:h.asyncNodes,renderNode:ie})},V)}if(h.kind==="subpage"){let j=H(h),W=It(h,A.breadcrumbs);return _jsxruntime.jsx.call(void 0, K.Fragment,{children:h.renderTrigger({props:{id:V,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1)),targetPageId:W},context:{...A,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1)),async:j}})},V)}return null},[m,i]),N=K.useCallback((L,h=[])=>{let A=h.length>0,V={search:null,matchCount:L.nodes.length,breadcrumbs:h,isDeepSearchResult:A},H=L.nodes.map(j=>{if(j.hidden)return null;let W={search:null,breadcrumbs:h,isDeepSearchResult:A,highlighted:!1,disabled:_nullishCoalesce(j.disabled, () => (!1)),group:null};return w({node:j,context:W,radioGroup:{id:L.id,label:L.label}})});return L.render?_jsxruntime.jsx.call(void 0, K.Fragment,{children:L.render({props:{value:L.value,onValueChange:L.onValueChange,disabled:_nullishCoalesce(L.disabled, () => (!1))},context:{...V,label:L.label,value:L.value,disabled:_nullishCoalesce(L.disabled, () => (!1))},children:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:H})})},L.id):_jsxruntime.jsx.call(void 0, "div",{role:"radiogroup","aria-label":L.label,children:H},L.id)},[w]),q=K.useCallback(L=>{if(nt(L)){let{group:h,context:A,items:V}=L,H=V.map(j=>w(j));return h.render?_jsxruntime.jsx.call(void 0, K.Fragment,{children:h.render({props:{},context:{...A,label:h.label},children:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:H})})},h.id):_jsxruntime.jsx.call(void 0, "div",{role:"group","aria-label":h.label,children:H},h.id)}if(rt(L)){let{radioGroup:h,context:A,items:V}=L,H=V.map(j=>w(j));return h.render?_jsxruntime.jsx.call(void 0, K.Fragment,{children:h.render({props:{value:h.value,onValueChange:h.onValueChange,disabled:_nullishCoalesce(h.disabled, () => (!1))},context:{...A,label:h.label,value:h.value,disabled:_nullishCoalesce(h.disabled, () => (!1))},children:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:H})})},h.id):_jsxruntime.jsx.call(void 0, "div",{role:"radiogroup","aria-label":h.label,children:H},h.id)}if(at(L)){let{separator:h}=L;return h.render?_jsxruntime.jsx.call(void 0, K.Fragment,{children:h.render({props:{id:h.id}})},_nullishCoalesce(h.id, () => ("separator"))):_jsxruntime.jsx.call(void 0, "div",{role:"none"},_nullishCoalesce(h.id, () => ("separator")))}return w(L)},[w]),_=K.useMemo(()=>m?m.getAsyncState():{isLoading:!1,isFetching:!1,isInitialLoading:!1,isRefetching:!1,isAllRefetching:!1,isStaticLoading:!1,isStaticInitialLoading:!1,isStaticRefetching:!1,isQueryLoading:!1,isQueryInitialLoading:!1,isQueryRefetching:!1,skippedMenus:[]},[m,_optionalChain([m, 'optionalAccess', _75 => _75.loaders]),_optionalChain([m, 'optionalAccess', _76 => _76.erroredLoaders])]),B=K.useMemo(()=>({search:l,nodes:k,renderNode:q,count:k.length,isDeepSearching:T,async:_}),[l,k,q,T,_]);return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[C&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, ss,{query:i}),P.map(L=>_jsxruntime.jsx.call(void 0, as,{info:L,query:i,enabled:p},L.id))]}),_jsxruntime.jsx.call(void 0, oo.Provider,{value:B,children:_jsxruntime.jsx.call(void 0, gn,{ref:r,label:u,...x,children:t})})]})});var bn=(o=>(o.rowWidth="--row-width",o))(bn||{});var hn=(r=>(r.slot="bazzaui-[component]-list",r.list="data-popup-menu-list",r))(hn||{});var gn=ye.forwardRef(function(o,r){let{children:t,label:a="Suggestions",measureRowWidth:n=!0,maxRowWidth:s,scrollContainerRef:c,render:g,className:l,style:i,onKeyDown:b,onPointerDown:u,...x}=o,{store:m,surfaceId:P}=_chunkSF7X2BUTcjs.p.call(void 0, ),{depth:I,closeAll:p}=_chunkSF7X2BUTcjs.j.call(void 0, ),C=Fe(),y=ct(),{disabled:O}=De(),f=fe(),M=Ct(),k=ye.useRef(null),T=ye.useRef(null);ye.useEffect(()=>{m.setListRef(k)},[m]),ye.useEffect(()=>{if(c)return m.setListScrollContainerRef(c),()=>{m.setListScrollContainerRef({current:null})}},[m,c]),ye.useLayoutEffect(()=>{if(!n||!k.current)return;let X=k.current.closest("[data-open]");T.current=X},[n]);let{queueMeasurement:v,resetMeasurements:D}=_chunkSF7X2BUTcjs.v.call(void 0, {listRef:k,targetRef:T,maxWidth:s,enabled:n});ye.useEffect(()=>{if(n)return m.context.onCloseComplete=D,()=>{m.context.onCloseComplete=void 0}},[n,D,m]);let R=ye.useMemo(()=>n?{queueMeasurement:v}:null,[n,v]),d=m.useState("search"),S=m.useState("filteredCount"),w=m.useState("hasInput"),N=m.useState("highlightedId"),q=m.context.listId,_=!w&&!O,{handleKeyDown:B}=co({store:m,surfaceId:P,focusOwnerStore:f,depth:I,submenuContext:C,subpageContext:y,enabled:_,disabled:O,enableTypeToSearch:!0,onKeyDown:b,closeAll:p}),L=ye.useCallback(X=>{X.preventDefault(),_optionalChain([u, 'optionalCall', _77 => _77(X)])},[u]),h=ye.useMemo(()=>({search:d,filteredCount:S}),[d,S]),A=typeof t=="function"?t(h):t,V=R?_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.l.Provider,{value:R,children:A}):A,H=_optionalChain([M, 'optionalAccess', _78 => _78.layout])==="input-embedded",j=z(),W=Q(j,"list");return _userender.useRender.call(void 0, {render:g,ref:[k,r],props:{...x,...W?{[W]:""}:{},id:q,role:"listbox","aria-label":a,"aria-activedescendant":_?_nullishCoalesce(N, () => (void 0)):void 0,tabIndex:_?0:-1,"data-popup-menu-list":"","data-input-embedded":H?"":void 0,className:l,style:i,onKeyDown:B,onPointerDown:L,children:V},defaultTagName:"div"})}),is= exports.ab =ye.forwardRef(function(o,r){let t=tn(),{store:a}=_chunkSF7X2BUTcjs.p.call(void 0, ),n=a.useState("search"),s=a.useState("normalizedSearch");return t?_jsxruntime.jsx.call(void 0, Ir,{ref:r,...o,content:t.content,asyncContent:t.asyncContent,deepSearchConfig:t.deepSearchConfig,includeInDeepSearch:t.includeInDeepSearch,getQualifiedRowId:t.getQualifiedRowId,search:n,normalizedSearch:s,store:a}):_jsxruntime.jsx.call(void 0, gn,{ref:r,...o})});var ps=kr.forwardRef(function(o,r){let{forceMount:t=!1,render:a,className:n,style:s,children:c,...g}=o,l=z(),i=Q(l,"loading"),b=_userender.useRender.call(void 0, {render:a,ref:r,props:{...g,...i?{[i]:""}:{},role:"presentation",className:n,style:s,children:c},defaultTagName:"div"}),u=no(),x=u?u.isRootLoading||u.isAnyLoading&&u.searchQuery.length>0:!1;return t||x?b:null});var Sn={slot:"bazzaui-[component]-scroll-[up|down]-arrow",direction:"data-direction",side:"data-side"};var ds={direction:e=>e?{[Sn.direction]:String(e)}:null,visible:e=>({"data-visible":e?"true":"false"})},xn= exports.db =he.forwardRef(function(o,r){let{direction:t,keepMounted:a=!1,scrollSpeed:n=10,render:s,className:c,style:g,children:l,...i}=o,{store:b}=_chunkSF7X2BUTcjs.p.call(void 0, ),[u,x]=he.useState(!1),m=he.useRef(!1),P=he.useRef(null),p=b.useState("openMethod")==="touch",C=he.useCallback(()=>{if(p){x(!1);return}let R=_optionalChain([b, 'access', _79 => _79.context, 'access', _80 => _80.refs, 'access', _81 => _81.listRef, 'optionalAccess', _82 => _82.current]);if(!R){x(!1);return}if(t==="up")x(R.scrollTop>0);else{let d=R.scrollTop+R.clientHeight>=R.scrollHeight-1;x(!d)}},[b,t,p]);he.useEffect(()=>{let R=_optionalChain([b, 'access', _83 => _83.context, 'access', _84 => _84.refs, 'access', _85 => _85.listRef, 'optionalAccess', _86 => _86.current]);if(!R)return;C(),R.addEventListener("scroll",C,{passive:!0});let d=new ResizeObserver(C);return d.observe(R),()=>{R.removeEventListener("scroll",C),d.disconnect()}},[b,C]);let y=b.useState("filteredCount");he.useEffect(()=>{requestAnimationFrame(C)},[y,C]);let O=he.useCallback(()=>{m.current=!0;let D=()=>{if(!m.current)return;let d=_optionalChain([b, 'access', _87 => _87.context, 'access', _88 => _88.refs, 'access', _89 => _89.listRef, 'optionalAccess', _90 => _90.current]);if(d){let S=t==="up"?-n:n;d.scrollTop+=S}P.current=requestAnimationFrame(D)};P.current=requestAnimationFrame(D)},[b,t,n]),f=he.useCallback(()=>{m.current=!1,P.current&&(cancelAnimationFrame(P.current),P.current=null)},[]);he.useEffect(()=>()=>{P.current&&cancelAnimationFrame(P.current)},[]);let M=he.useMemo(()=>({direction:t,visible:u}),[t,u]),k=u||a,T=z(),v=Q(T,t==="up"?"scroll-up-arrow":"scroll-down-arrow");return _userender.useRender.call(void 0, {render:s,ref:r,state:M,stateAttributesMapping:ds,props:{...i,...v?{[v]:""}:{},className:c,style:g,onPointerEnter:D=>{O(),_optionalChain([i, 'access', _91 => _91.onPointerEnter, 'optionalCall', _92 => _92(D)])},onPointerLeave:D=>{f(),_optionalChain([i, 'access', _93 => _93.onPointerLeave, 'optionalCall', _94 => _94(D)])},children:l},defaultTagName:"div",enabled:k})}),fs= exports.eb =he.forwardRef(function(o,r){return _jsxruntime.jsx.call(void 0, xn,{ref:r,direction:"up",...o})}),ms= exports.fb =he.forwardRef(function(o,r){return _jsxruntime.jsx.call(void 0, xn,{ref:r,direction:"down",...o})});var _useStableCallback = require('@base-ui/utils/useStableCallback');function hs({children:e}){let{store:o}=_chunkSF7X2BUTcjs.p.call(void 0, ),r=o.useState("normalizedSearch");return _jsxruntime.jsx.call(void 0, rn,{searchQuery:r,children:e})}var Rs=ce.forwardRef(function(o,r){let{filter:t=_chunkSF7X2BUTcjs.x,normalizeSearch:a=_chunkSF7X2BUTcjs.r,search:n,onSearchChange:s,defaultSearch:c="",loop:g=!0,autoHighlightFirst:l=!0,clearSearchOnClose:i=!0,resetScrollOnSearch:b=!0,skipAutoFocus:u=!1,orderedItems:x,content:m,asyncContent:P,deepSearch:I,includeInDeepSearch:p=!0,getQualifiedRowId:C,render:y,className:O,style:f,onPointerDown:M,onPointerMove:k,children:T,...v}=o,D=m!==void 0||P!==void 0||I!==void 0||o.includeInDeepSearch!==void 0||C!==void 0,{store:R,depth:d,virtualization:S}=_chunkSF7X2BUTcjs.j.call(void 0, );R.initializeDefaultSearch(c);let w=Fe(),N=ct(),q=Ko(),_=fe(),B=ce.useRef(0),L=ce.useId(),h=ce.useId(),A=ce.useId(),H=_nullishCoalesce(_nullishCoalesce(Wo(), () => (_optionalChain([w, 'optionalAccess', _95 => _95.childSurfaceId]))), () => (A)),j=ce.useMemo(()=>q?N&&q.getSurfaceId(N.pageId)?q.activePageId===N.pageId:q.activePageId===we:!0,[q,N]),W=_.useState("isOwner",H),X=_useStableCallback.useStableCallback.call(void 0, G=>{_optionalChain([s, 'optionalCall', _96 => _96(G)])});ce.useEffect(()=>{R.context.filter=D?!1:t,R.setSearchNormalizer(a),R.context.loop=g,R.context.autoHighlightFirst=l,R.context.clearSearchOnClose=i,R.context.resetScrollOnSearch=b,R.context.listId=L,R.context.inputId=h,R.context.onSearchChange=X,S&&(R.setVirtualized(S.virtualized),R.setVirtualItems(S.items),R.setOnHighlightChange(S.onHighlightChange)),typeof l=="string"&&R.applyAutoHighlight()},[R,t,a,g,l,i,b,L,h,X,S,D]);let ie=De(),Z=_nullishCoalesce(_nullishCoalesce(C, () => (ie.getQualifiedRowId)), () => (sn)),oe=ce.useMemo(()=>typeof I=="boolean"||I===void 0?{enabled:_nullishCoalesce(I, () => (!0)),minLength:0,groupSearchBehavior:"preserve",radioGroupSearchBehavior:"preserve",sortGroups:!0,asyncResultBehavior:"stream"}:{enabled:_nullishCoalesce(I.enabled, () => (!0)),minLength:_nullishCoalesce(I.minLength, () => (0)),groupSearchBehavior:_nullishCoalesce(I.groupSearchBehavior, () => ("preserve")),radioGroupSearchBehavior:_nullishCoalesce(I.radioGroupSearchBehavior, () => ("preserve")),sortGroups:_nullishCoalesce(I.sortGroups, () => (!0)),asyncResultBehavior:_nullishCoalesce(I.asyncResultBehavior, () => ("stream"))},[I]),J=ce.useId(),ne=ce.useMemo(()=>({content:_nullishCoalesce(m, () => ([])),asyncContent:P,deepSearchConfig:oe,includeInDeepSearch:p,listId:J,getQualifiedRowId:Z}),[m,P,oe,p,J,Z]),re=_optionalChain([nn, 'call', _97 => _97(), 'optionalAccess', _98 => _98.setDataSurfaceContext]);ce.useEffect(()=>{if(!(!D||!re))return re(ne),()=>{re(G=>G===ne?null:G)}},[D,re,ne]),ce.useEffect(()=>{x&&R.setOrderedItems(x)},[R,x]),R.useControlledProp("searchProp",n);let Ge=R.useState("open"),ge=ce.useRef(null);ce.useEffect(()=>{Ge&&(B.current=Date.now())},[Ge]),ce.useEffect(()=>{j&&d===0&&Ge&&_.setOwnerId(H)},[d,Ge,H,_,j]),ce.useEffect(()=>{if(!j||!W||u)return;let G=setTimeout(()=>{requestAnimationFrame(()=>{if(!ge.current)return;let Ae=ge.current.querySelector("input"),E=ge.current.querySelector('[role="listbox"]'),$=_nullishCoalesce(Ae, () => (E));$&&$ instanceof HTMLElement&&$.focus()})},0);return()=>clearTimeout(G)},[j,W,u]);let gt=ce.useMemo(()=>({store:R,surfaceId:H}),[R,H]),xe=ce.useCallback(G=>{G.preventDefault(),_optionalChain([M, 'optionalCall', _99 => _99(G)])},[M]),Ie=ce.useCallback(G=>{if(_optionalChain([k, 'optionalCall', _100 => _100(G)]),Date.now()-B.current<100)return;let E=G.target;_optionalChain([ge, 'access', _101 => _101.current, 'optionalAccess', _102 => _102.contains, 'call', _103 => _103(E)])&&_.state.ownerId!==H&&_.setOwnerId(H)},[k,H,_]),Oe=z(),_e=Q(Oe,"surface"),ke=D?_jsxruntime.jsx.call(void 0, eo.Provider,{value:ne,children:_jsxruntime.jsx.call(void 0, hs,{children:T})}):T,We=_userender.useRender.call(void 0, {render:y,ref:[ge,r],props:{...v,..._e?{[_e]:""}:{},className:O,style:f,onPointerDown:xe,onPointerMove:Ie,children:ke},enabled:j,defaultTagName:"div"});return _jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.o.Provider,{value:gt,children:We})});var Oo=(n=>(n.slot="bazzaui-[component]-checkbox-item",n.checked="data-checked",n.unchecked="data-unchecked",n.highlighted="data-highlighted",n.disabled="data-disabled",n))(Oo||{});var Lo=Ao.createContext(null);function Pn(){let e=Ao.useContext(Lo);if(!e)throw new Error("PopupMenu.CheckboxItemIndicator must be used within PopupMenu.CheckboxItem");return e}var xs={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},highlighted:e=>e?{"data-highlighted":""}:null,disabled:e=>e?{"data-disabled":""}:null},Ps= exports.kb =Ne.forwardRef(function(o,r){let{id:t,checked:a,defaultChecked:n=!1,onCheckedChange:s,keywords:c,disabled:g=!1,onSelect:l,forceMount:i=!1,closeOnClick:b=!1,shortcut:u,forceOrder:x,forceScore:m,render:P,className:I,style:p,onClick:C,onPointerDown:y,onPointerMove:O,children:f,...M}=o,[k,T]=Ne.useState(n),v=a!==void 0,D=v?a:k,R=Ne.useCallback((V=_chunkSF7X2BUTcjs.a.itemPress,H)=>{let j=!D,W=_chunkSF7X2BUTcjs.b.call(void 0, V,H);_optionalChain([s, 'optionalCall', _104 => _104(j,W)]),!W.isCanceled&&(v||T(j))},[D,v,s]),d=Be({id:t,keywords:c,disabled:g,forceMount:i,shortcut:u,forceOrder:x,forceScore:m,closeOnClick:b,children:f}),S=d.disabled;Ne.useEffect(()=>{let V=()=>{S||(R(),_optionalChain([l, 'optionalCall', _105 => _105()]))};return d.registerSelect(V)},[S,R,l,d]);let w=Ne.useMemo(()=>({highlighted:d.isHighlighted,disabled:S,checked:D}),[d.isHighlighted,S,D]),N=Ne.useMemo(()=>({...d.contextValue,checked:D,toggle:R}),[d.contextValue,D,R]),q=Ne.useCallback(V=>{_optionalChain([C, 'optionalCall', _106 => _106(V)]),V.defaultPrevented||d.handlers.onClick(V)},[C,d.handlers]),_=Ne.useCallback(V=>{d.handlers.onPointerDown(V),_optionalChain([y, 'optionalCall', _107 => _107(V)])},[d.handlers,y]),B=Ne.useCallback(V=>{_optionalChain([O, 'optionalCall', _108 => _108(V)]),V.defaultPrevented||d.handlers.onPointerMove(V)},[O,d.handlers]),L=z(),h=Q(L,"checkbox-item"),A=_userender.useRender.call(void 0, {render:P,ref:[d.ref,r],state:w,stateAttributesMapping:xs,props:{...M,...h?{[h]:""}:{},id:d.id,role:"menuitemcheckbox",tabIndex:-1,"aria-checked":D,"aria-disabled":S||void 0,className:I,style:p,onClick:q,onPointerMove:B,onPointerDown:_,children:f},enabled:d.isVisible,defaultTagName:"div"});return d.isVisible?_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.f.Provider,{value:d.contextValue,children:_jsxruntime.jsx.call(void 0, Lo.Provider,{value:N,children:A})}):null});var ys={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},disabled:e=>e?{"data-disabled":""}:null},Ms= exports.lb =To.forwardRef(function(o,r){let{keepMounted:t=!1,render:a,className:n,style:s,children:c,...g}=o,{checked:l,highlighted:i,disabled:b,toggle:u}=Pn(),x=To.useMemo(()=>({checked:l,highlighted:i,disabled:b,toggle:u}),[l,i,b,u]),m=t||l,P=z(),I=Q(P,"checkbox-item-indicator");return _userender.useRender.call(void 0, {render:a,ref:r,state:x,stateAttributesMapping:ys,props:{...g,...I?{[I]:""}:{},"aria-hidden":!0,className:n,style:s,children:c},enabled:m,defaultTagName:"span"})});var Cn=(t=>(t.slot="bazzaui-[component]-item",t.highlighted="data-highlighted",t.disabled="data-disabled",t))(Cn||{});var Is={highlighted:e=>e?{"data-highlighted":""}:null,disabled:e=>e?{"data-disabled":""}:null},ks= exports.nb =st.forwardRef(function(o,r){let{id:t,value:a,keywords:n,disabled:s=!1,onSelect:c,forceMount:g=!1,closeOnClick:l=!0,shortcut:i,forceOrder:b,forceScore:u,render:x,className:m,style:P,onClick:I,onPointerDown:p,onPointerMove:C,children:y,...O}=o,f=Be({id:t,value:a,keywords:n,disabled:s,forceMount:g,shortcut:i,forceOrder:b,forceScore:u,onSelect:c,closeOnClick:l,children:y}),M=f.disabled,k=st.useMemo(()=>({highlighted:f.isHighlighted,disabled:M}),[f.isHighlighted,M]),T=st.useCallback(w=>{_optionalChain([I, 'optionalCall', _109 => _109(w)]),w.defaultPrevented||f.handlers.onClick(w)},[I,f.handlers]),v=st.useCallback(w=>{f.handlers.onPointerDown(w),_optionalChain([p, 'optionalCall', _110 => _110(w)])},[f.handlers,p]),D=st.useCallback(w=>{_optionalChain([C, 'optionalCall', _111 => _111(w)]),w.defaultPrevented||f.handlers.onPointerMove(w)},[C,f.handlers]),R=_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.f.Provider,{value:f.contextValue,children:y}),d=z(),S=Q(d,"item");return _userender.useRender.call(void 0, {render:x,ref:[f.ref,r],state:k,stateAttributesMapping:Is,props:{...O,...S?{[S]:""}:{},id:f.id,role:"option",tabIndex:-1,"aria-selected":f.isHighlighted,"aria-disabled":M||void 0,className:m,style:P,onClick:T,onPointerMove:D,onPointerDown:v,children:R},enabled:f.isVisible,defaultTagName:"div"})});var yn=(r=>(r.slot="bazzaui-[component]-radio-group",r.disabled="data-disabled",r))(yn||{});var Dt=No.createContext(null);function Mn(){let e=No.useContext(Dt);if(!e)throw new Error("PopupMenu.RadioItem must be used within PopupMenu.RadioGroup");return e}var Os={disabled:e=>e?{"data-disabled":""}:null},As= exports.rb =Ee.forwardRef(function(o,r){let{value:t,defaultValue:a,onValueChange:n,disabled:s=!1,forceMount:c=!1,render:g,className:l,style:i,children:b,...u}=o,{store:x}=_chunkSF7X2BUTcjs.p.call(void 0, ),m=De(),P=Ee.useId(),I=s||m.disabled,[p,C]=Ee.useState(a),y=t!==void 0,O=y?t:p,f=Ee.useCallback((w,N=_chunkSF7X2BUTcjs.a.itemPress,q)=>{let _=_chunkSF7X2BUTcjs.b.call(void 0, N,q);_optionalChain([n, 'optionalCall', _112 => _112(w,_)]),!_.isCanceled&&(y||C(w))},[y,n]);Ee.useEffect(()=>x.registerGroup(P),[P,x]);let M=x.useState("isGroupVisible",P),k=c||M,T=Ee.useMemo(()=>({value:O,setValue:f,disabled:I}),[O,f,I]),v=Ee.useMemo(()=>({groupId:P}),[P]),D=Ee.useMemo(()=>({disabled:I}),[I]),R=z(),d=Q(R,"radio-group"),S=_userender.useRender.call(void 0, {render:g,ref:r,state:D,stateAttributesMapping:Os,props:{...u,...d?{[d]:""}:{},role:"group","aria-disabled":I||void 0,className:l,style:i,children:b},enabled:k,defaultTagName:"div"});return k?_jsxruntime.jsx.call(void 0, Dt.Provider,{value:T,children:_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.d.Provider,{value:v,children:S})}):null});function Ls(e){let{value:o,onValueChange:r,disabled:t=!1,children:a}=e,n=Eo.useCallback((c,g=_chunkSF7X2BUTcjs.a.itemPress,l)=>{let i=_chunkSF7X2BUTcjs.b.call(void 0, g,l);_optionalChain([r, 'optionalCall', _113 => _113(c,i)])},[r]),s=Eo.useMemo(()=>({value:o,setValue:n,disabled:t}),[o,n,t]);return _jsxruntime.jsx.call(void 0, Dt.Provider,{value:s,children:a})}var Go=(n=>(n.slot="bazzaui-[component]-radio-item",n.checked="data-checked",n.unchecked="data-unchecked",n.highlighted="data-highlighted",n.disabled="data-disabled",n))(Go||{});var Fo=Vo.createContext(null);function vn(){let e=Vo.useContext(Fo);if(!e)throw new Error("PopupMenu.RadioItemIndicator must be used within PopupMenu.RadioItem");return e}var Es={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},highlighted:e=>e?{"data-highlighted":""}:null,disabled:e=>e?{"data-disabled":""}:null},Gs= exports.wb =qe.forwardRef(function(o,r){let{id:t,value:a,keywords:n,disabled:s=!1,onSelect:c,forceMount:g=!1,closeOnClick:l=!1,shortcut:i,forceOrder:b,forceScore:u,render:x,className:m,style:P,onClick:I,onPointerDown:p,onPointerMove:C,children:y,...O}=o,f=Mn(),M=s||f.disabled,k=f.value===a,T=Be({id:t,keywords:n,disabled:M,forceMount:g,shortcut:i,forceOrder:b,forceScore:u,closeOnClick:l,children:y}),v=T.disabled;qe.useEffect(()=>{let B=()=>{v||(f.setValue(a),_optionalChain([c, 'optionalCall', _114 => _114()]))};return T.registerSelect(B)},[v,f,a,c,T]);let D=qe.useMemo(()=>({highlighted:T.isHighlighted,disabled:v,checked:k}),[T.isHighlighted,v,k]),R=qe.useMemo(()=>({...T.contextValue,checked:k}),[T.contextValue,k]),d=qe.useCallback(B=>{_optionalChain([I, 'optionalCall', _115 => _115(B)]),B.defaultPrevented||T.handlers.onClick(B)},[I,T.handlers]),S=qe.useCallback(B=>{T.handlers.onPointerDown(B),_optionalChain([p, 'optionalCall', _116 => _116(B)])},[T.handlers,p]),w=qe.useCallback(B=>{_optionalChain([C, 'optionalCall', _117 => _117(B)]),B.defaultPrevented||T.handlers.onPointerMove(B)},[C,T.handlers]),N=z(),q=Q(N,"radio-item"),_=_userender.useRender.call(void 0, {render:x,ref:[T.ref,r],state:D,stateAttributesMapping:Es,props:{...O,...q?{[q]:""}:{},id:T.id,role:"menuitemradio",tabIndex:-1,"aria-checked":k,"aria-disabled":v||void 0,className:m,style:P,onClick:d,onPointerMove:w,onPointerDown:S,children:y},enabled:T.isVisible,defaultTagName:"div"});return T.isVisible?_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.f.Provider,{value:T.contextValue,children:_jsxruntime.jsx.call(void 0, Fo.Provider,{value:R,children:_})}):null});var Fs={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},disabled:e=>e?{"data-disabled":""}:null},Bs= exports.xb =Bo.forwardRef(function(o,r){let{keepMounted:t=!1,render:a,className:n,style:s,children:c,...g}=o,{checked:l,highlighted:i,disabled:b}=vn(),u=Bo.useMemo(()=>({checked:l,highlighted:i,disabled:b}),[l,i,b]),x=t||l,m=z(),P=Q(m,"radio-item-indicator");return _userender.useRender.call(void 0, {render:a,ref:r,state:u,stateAttributesMapping:Fs,props:{...g,...P?{[P]:""}:{},"aria-hidden":!0,className:n,style:s,children:c},enabled:x,defaultTagName:"span"})});var zs=et.forwardRef(function(o,r){let{forceMount:t=!1,render:a,className:n,style:s,children:c,...g}=o,{store:l}=_chunkSF7X2BUTcjs.p.call(void 0, ),i=et.useId();et.useEffect(()=>l.registerGroup(i),[i,l]);let b=l.useState("isGroupVisible",i),u=t||b,x=et.useMemo(()=>({groupId:i}),[i]),m=et.useMemo(()=>({hidden:!u}),[u]),P=z(),I=Q(P,"group"),p=_userender.useRender.call(void 0, {render:a,ref:r,state:m,props:{...g,...I?{[I]:""}:{},role:"presentation",className:n,style:s,children:c},enabled:u,defaultTagName:"div"});return u?_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.d.Provider,{value:x,children:p}):null});var qs=Lr.forwardRef(function(o,r){let{render:t,className:a,style:n,children:s,...c}=o,g=z(),l=Q(g,"group-label");return _userender.useRender.call(void 0, {render:t,ref:r,props:{...c,...l?{[l]:""}:{},role:"presentation","aria-hidden":"true",className:a,style:n,children:s},defaultTagName:"div"})});var _s=Tr.forwardRef(function(o,r){let{alwaysRender:t=!1,render:a,className:n,style:s,...c}=o,{store:g}=_chunkSF7X2BUTcjs.p.call(void 0, ),b=g.useState("normalizedSearch").length>0&&!t,u=z(),x=Q(u,"separator"),m=_userender.useRender.call(void 0, {render:a,ref:r,props:{...c,...x?{[x]:""}:{},role:"none",className:n,style:s},defaultTagName:"div"});return b?null:m});var In=(r=>(r.slot="bazzaui-[component]-shortcut",r.highlighted="data-highlighted",r))(In||{});var Ks={highlighted:e=>e?{"data-highlighted":""}:null},Ys= exports.Cb =Ho.forwardRef(function(o,r){let{children:t,render:a,className:n,style:s,...c}=o,{shortcut:g,highlighted:l}=_chunkSF7X2BUTcjs.g.call(void 0, ),i=Ho.useMemo(()=>({shortcut:g,highlighted:l}),[g,l]),b=typeof t=="function"?t(i):_nullishCoalesce(t, () => (g)),u=z(),x=Q(u,"shortcut");return _userender.useRender.call(void 0, {render:a,ref:r,state:i,stateAttributesMapping:Ks,props:{...c,...x?{[x]:""}:{},className:n,style:s,children:b},defaultTagName:"kbd"})});function $s(e){let{open:o,onOpenChange:r,defaultOpen:t=!1,closeRootOnEsc:a=!0,virtualized:n=!1,items:s,onHighlightChange:c,onOpenChangeComplete:g,disabled:l=!1,actionsRef:i,children:b,...u}=e,x=_chunkSF7X2BUTcjs.k.call(void 0, ),m=Je(),P=_nullishCoalesce(_optionalChain([x, 'optionalAccess', _118 => _118.depth]), () => (0)),I=_optionalChain([x, 'optionalAccess', _119 => _119.closeAll]),p=_optionalChain([x, 'optionalAccess', _120 => _120.registerSurface]),{surfaceId:C}=_chunkSF7X2BUTcjs.p.call(void 0, ),y=ue.useId(),O=ue.useRef(null),f=ue.useRef(null),M=_chunkSF7X2BUTcjs.y.useStore(void 0,{open:t}),[k,T]=ue.useState(!1),v=(_nullishCoalesce(_optionalChain([m, 'optionalAccess', _121 => _121.disabled]), () => (!1)))||l||k,D=ue.useCallback(W=>{T(W)},[]),R=ue.useCallback(W=>{W&&v||M.setOpen(W)},[M,v]);M.useControlledProp("openProp",o);let d=it(),S=M.useState("open");ue.useEffect(()=>{S?d.open(y):d.close(y)},[S,y,d]);let w=ue.useCallback((W,X)=>{_optionalChain([r, 'optionalCall', _122 => _122(W,X)]),!X.isCanceled&&R(W)},[R,r]),N=ue.useCallback(W=>{!W&&M.context.clearSearchOnClose==="after-exit"&&(M.clearSearch(),M.setInputActive(!1)),W||(M.clearHighlight(),_optionalChain([M, 'access', _123 => _123.context, 'access', _124 => _124.onCloseComplete, 'optionalCall', _125 => _125()]),_optionalChain([M, 'access', _126 => _126.context, 'access', _127 => _127.onPopupCloseComplete, 'optionalCall', _128 => _128()])),_optionalChain([g, 'optionalCall', _129 => _129(W)])},[M,g]),[q,_]=ue.useState(!0);ue.useEffect(()=>{if(!x)return;let W=x.store,X=()=>{let Z=W.state.open;_(Z)};return X(),W.observe("open",X)},[x]),ue.useEffect(()=>{q||R(!1)},[q,R]);let B=P+1;ue.useEffect(()=>{if(p)return p(B,W=>R(W))},[p,B,R]);let L=ue.useRef(null);ue.useImperativeHandle(i,()=>({close:()=>{_optionalChain([L, 'access', _130 => _130.current, 'optionalAccess', _131 => _131.close, 'call', _132 => _132()])},unmount:()=>{_optionalChain([L, 'access', _133 => _133.current, 'optionalAccess', _134 => _134.unmount, 'call', _135 => _135()])},setDisabled:D}),[D]);let h=ue.useMemo(()=>({open:S,setOpen:R,triggerRef:O,contentRef:f,parentSurfaceId:C,childSurfaceId:y,closeRootOnEsc:a}),[S,R,C,y,a]),A=ue.useCallback(()=>()=>{},[]),V=ue.useMemo(()=>{if(!(!n&&!c))return{virtualized:n,items:_nullishCoalesce(s, () => ([])),onHighlightChange:c}},[n,s,c]),H=ue.useMemo(()=>({store:M,depth:B,closeAll:_nullishCoalesce(I, () => ((()=>M.setOpen(!1)))),registerSurface:_nullishCoalesce(p, () => (A)),virtualization:V}),[M,B,I,p,A,V]),j=ue.useMemo(()=>({store:M,disabled:v,depth:B,closeAll:_nullishCoalesce(I, () => ((()=>R(!1)))),registerSurface:_nullishCoalesce(p, () => (A)),virtualization:V,virtualAnchor:_optionalChain([m, 'optionalAccess', _136 => _136.virtualAnchor]),menuType:_nullishCoalesce(_optionalChain([m, 'optionalAccess', _137 => _137.menuType]), () => ("dropdown")),closeOnOutsidePress:_nullishCoalesce(_optionalChain([m, 'optionalAccess', _138 => _138.closeOnOutsidePress]), () => ("pointerdown")),getQualifiedRowId:_optionalChain([m, 'optionalAccess', _139 => _139.getQualifiedRowId])}),[M,v,B,I,p,R,A,V,_optionalChain([m, 'optionalAccess', _140 => _140.virtualAnchor]),_optionalChain([m, 'optionalAccess', _141 => _141.menuType]),_optionalChain([m, 'optionalAccess', _142 => _142.closeOnOutsidePress]),_optionalChain([m, 'optionalAccess', _143 => _143.getQualifiedRowId])]);return _jsxruntime.jsx.call(void 0, jt.Provider,{value:h,children:_jsxruntime.jsx.call(void 0, Ze.Provider,{value:j,children:_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.i.Provider,{value:H,children:_jsxruntime.jsx.call(void 0, _popover.Popover.Root,{...u,open:S,onOpenChange:w,onOpenChangeComplete:N,actionsRef:i?L:void 0,children:b})})})})}function po(e,o=!1){let r=["mouse","pen"];return o||r.push("",void 0),r.includes(e)}function Nr(){let[e,o]=Qo.useState([0,0]);return Qo.useEffect(()=>{let r=t=>{o([t.clientX,t.clientY])};return window.addEventListener("pointermove",r,{passive:!0}),()=>{window.removeEventListener("pointermove",r)}},[]),e}function Vr(e){let{config:o,contentRef:r,triggerRef:t,tone:a,contentRectOverride:n,triggerRectOverride:s,mousePointOverride:c}=e,[g,l]=Nr(),i=Gr.useMemo(()=>typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia("(pointer: coarse)").matches:!1,[]),b=r.current,u=_nullishCoalesce(n, () => (_optionalChain([b, 'optionalAccess', _144 => _144.getBoundingClientRect, 'call', _145 => _145()])));if(!u||i||typeof document>"u"||!document.body)return null;let x=_nullishCoalesce(s, () => ((t.current?t.current.getBoundingClientRect():null))),m=_nullishCoalesce(_optionalChain([c, 'optionalAccess', _146 => _146[0]]), () => (g)),P=_nullishCoalesce(_optionalChain([c, 'optionalAccess', _147 => _147[1]]), () => (l)),I=u.left,p=u.top,C=u.width,y=u.height;if(!C||!y)return null;let O=Zt(u,x,m,P);if(O==="top"||O==="bottom"||O==="left"&&m>=I||O==="right"&&m<=I+C)return null;let f=2,M=Math.max(0,Math.min(100,(P-p)/y*100)),k=O==="left"?Math.max(I-m,10)+f:Math.max(m-(I+C),10)+f,T=Math.max(0,Math.min(1,o.overlayOpacity)),v=Math.max(0,Math.min(1,o.triangleFillOpacity)),D=o.showStroke?Math.max(0,o.strokeWidth):0,R=o.showDots?Math.max(0,o.dotRadius):0,d=Math.max(1,Math.min(k,y)/2),S=Math.min(Math.max(R,D/2)+.5,d),w=o.showDots?Math.max(0,Math.min(R,S-D/2-.5)):0,N=Math.max(S,Math.min(y-S,M/100*y)),q=O==="left"?I-k:I+C,_=o.idleColor;a==="activated"?_=o.successColor:a==="missed"&&(_=o.missColor);let B=O==="left"?[[k-S,S],[S,N],[k-S,y-S]]:[[S,S],[S,y-S],[k-S,N]],L=B.map(([A,V])=>`${A},${V}`).join(" "),h=_jsxruntime.jsxs.call(void 0, "svg",{"data-bazzaui-submenu-safe-triangle-area":"","data-safe-triangle-tone":a,"aria-hidden":!0,viewBox:`0 0 ${k} ${y}`,style:{position:"fixed",top:p,left:q,width:k,height:y,pointerEvents:"none",zIndex:Number.MAX_SAFE_INTEGER,transform:"translateZ(0)",opacity:T},children:[_jsxruntime.jsx.call(void 0, "polygon",{points:L,fill:_,fillOpacity:v,stroke:o.showStroke?_:"none",strokeWidth:D,strokeDasharray:o.showStroke?o.strokeDasharray:void 0,strokeLinecap:"round",strokeLinejoin:"round"}),o.showDots?B.map(([A,V])=>_jsxruntime.jsx.call(void 0, "circle",{cx:A,cy:V,r:w,fill:_},`${A}-${V}`)):null]});return _reactdom.createPortal.call(void 0, h,document.body)}var jo=(s=>(s.slot="bazzaui-[component]-submenu-trigger",s.submenuTrigger="data-submenu-trigger",s.popupOpen="data-popup-open",s.popupFocused="data-popup-focused",s.highlighted="data-highlighted",s.disabled="data-disabled",s))(jo||{});var tu={popupOpen:e=>e?{"data-popup-open":""}:null,popupFocused:e=>e?{"data-popup-focused":""}:null},ou= exports.Fb =qo.forwardRef(function(o,r){let{render:t,className:a,style:n,children:s,...c}=o,{open:g,childSurfaceId:l}=qt(),b=fe().useState("isOwner",l),u=qo.useMemo(()=>({popupOpen:g,popupFocused:b}),[g,b]),x=z(),m=Q(x,"submenu-trigger-indicator");return _userender.useRender.call(void 0, {render:t,ref:r,state:u,stateAttributesMapping:tu,props:{...c,...m?{[m]:""}:{},"aria-hidden":!0,className:a,style:n,children:s},defaultTagName:"span"})});var au={submenuTrigger:e=>e?{"data-submenu-trigger":""}:null,popupOpen:e=>e?{"data-popup-open":""}:null,popupFocused:e=>e?{"data-popup-focused":""}:null,highlighted:e=>e?{"data-highlighted":""}:null,disabled:e=>e?{"data-disabled":""}:null},su= exports.Gb =U.forwardRef(function(o,r){let{id:t,value:a,keywords:n,disabled:s=!1,forceMount:c=!1,openOnHighlight:g=!0,delay:l,closeDelay:i=0,forceOrder:b,forceScore:u,render:x,className:m,style:P,onPointerDown:I,onPointerMove:p,onPointerEnter:C,onPointerLeave:y,children:O,...f}=o,M=U.useMemo(()=>typeof l=="number"?{pointer:l,keyboard:l}:{pointer:_nullishCoalesce(_optionalChain([l, 'optionalAccess', _148 => _148.pointer]), () => (0)),keyboard:_nullishCoalesce(_optionalChain([l, 'optionalAccess', _149 => _149.keyboard]), () => (150))},[l]),{store:k}=_chunkSF7X2BUTcjs.p.call(void 0, ),{depth:T}=_chunkSF7X2BUTcjs.j.call(void 0, ),v=T-1,D=qt(),{open:R,setOpen:d,triggerRef:S,contentRef:w,childSurfaceId:N}=D,q=U.useRef(null),_=U.useRef(null),B=U.useRef(null),L=U.useRef(null),h=U.useCallback(()=>{q.current!==null&&(clearTimeout(q.current),q.current=null)},[]),A=U.useCallback(()=>{_.current!==null&&(clearTimeout(_.current),_.current=null)},[]),V=U.useCallback(()=>{if(A(),i<=0){d(!1);return}_.current=setTimeout(()=>{_.current=null,d(!1)},i)},[A,i,d]),H=U.useCallback(()=>{B.current&&(B.current(),B.current=null),L.current!==null&&(clearTimeout(L.current),L.current=null)},[]);U.useEffect(()=>()=>{h(),A(),H()},[h,A,H]);let j=U.useRef(!1),W=fe(),{aimGuardActive:X,guardedTriggerId:ie,guardedDepth:Z,aimGuardActiveRef:oe,guardedTriggerIdRef:J,guardedDepthRef:ne,activateAimGuard:me,clearAimGuard:re}=lt(),Ge=Zo(4),{showSafeTriangleArea:ge,logAimGuardEvents:gt}=zt(),xe=ge.enabled,[Ie,Oe]=U.useState("hidden"),[_e,ke]=U.useState(null),We=U.useRef(null),G=Be({id:t,value:a,keywords:n,disabled:s,forceMount:c,forceOrder:b,forceScore:u,isSubmenuTrigger:!0,closeOnClick:!1,children:O}),Ae=G.disabled,E=U.useCallback((F,ee)=>{gt&&console.log(`[PopupMenu][AimGuard] ${F}`,{triggerId:G.id,triggerStoreId:G.storeId,parentDepth:v,aimGuardActive:oe.current,guardedTriggerId:J.current,guardedDepth:ne.current,...ee})},[gt,G.id,G.storeId,v,oe,J,ne]),$=U.useCallback(()=>{We.current!==null&&(clearTimeout(We.current),We.current=null)},[]);U.useEffect(()=>$,[$]);let Pe=U.useCallback(F=>{xe&&($(),ge.freezeOnPointerLeave?ke(F):ke(null),Oe("activated"))},[xe,ge.freezeOnPointerLeave,$]),He=U.useCallback(F=>{if($(),!xe||!ge.showMissState){Oe("hidden"),ke(null);return}Oe("missed"),ke(F);let ee=ge.missFreezeDuration;if(ee<=0){Oe("hidden"),ke(null);return}We.current=setTimeout(()=>{We.current=null,Oe("hidden"),ke(null)},ee)},[$,xe,ge.showMissState,ge.missFreezeDuration]),bt=U.useCallback((F,ee,pe,Re,Xe,ht)=>{if(H(),E("leave-monitor-start",{anchor:F,initialHit:pe,timeoutMs:Re,closeDelay:i,triggerRect:ee,initialPointerX:Xe,initialPointerY:ht}),Re<=0){E("leave-monitor-skip-timeout",{timeoutMs:Re});return}let ut=pe,Ke=Xe,Ot=ht,At=Gn=>{if(!po(Gn.pointerType))return;let $e=_optionalChain([w, 'access', _150 => _150.current, 'optionalAccess', _151 => _151.getBoundingClientRect, 'call', _152 => _152()]);if(!$e){E("leave-monitor-stop-no-content-rect"),H();return}let{clientX:Le,clientY:Te}=Gn,_r=Le>=$e.left&&Le<=$e.right&&Te>=$e.top&&Te<=$e.bottom,Rt=F==="left"||F==="right"?Le-Ke:Te-Ot;if(Ke=Le,Ot=Te,_r){E("leave-monitor-inside-popup",{clientX:Le,clientY:Te}),A(),H();return}let Vn=F==="left"&&Rt<=-2||F==="right"&&Rt>=2||F==="top"&&Rt<=-2||F==="bottom"&&Rt>=2;if(E("leave-monitor-pointermove",{anchor:F,clientX:Le,clientY:Te,axisDelta:Rt,movedAwayFromSubmenu:Vn,lastHit:ut}),ut&&Vn){let Wr={contentRect:$e,triggerRect:ee,pointerX:Le,pointerY:Te};ut=!1,E("leave-monitor-reversal-close",{anchor:F,clientX:Le,clientY:Te,axisDelta:Rt}),He(Wr),re(),V(),i<=0&&H();return}let Fn=Ro(Ge.current,Le,Te,F,ee,$e),lo=So(Le,Te,Fn,$e,F,ee);if(E("leave-monitor-hit-eval",{anchor:F,clientX:Le,clientY:Te,hit:lo,lastHit:ut,heading:Fn}),lo===ut)return;let Bn={contentRect:$e,triggerRect:ee,pointerX:Le,pointerY:Te};if(ut=lo,lo){E("leave-monitor-hit-transition",{anchor:F,clientX:Le,clientY:Te}),Pe(Bn),A(),me(G.id,v,N,600),k.setHighlightedId(G.storeId),d(!0);return}E("leave-monitor-miss-transition",{anchor:F,clientX:Le,clientY:Te}),He(Bn),re(),V(),i<=0&&H()};window.addEventListener("pointermove",At,{passive:!0}),B.current=()=>{E("leave-monitor-cleanup-remove-listener"),window.removeEventListener("pointermove",At)},L.current=setTimeout(()=>{L.current=null,E("leave-monitor-timeout-expired",{timeoutMs:Re}),H()},Re)},[H,E,w,A,Ge,Pe,me,G.id,v,N,k,G.storeId,d,He,re,V,i]);U.useEffect(()=>{xe||($(),Oe("hidden"),ke(null))},[xe,$]),U.useEffect(()=>{if(!xe||ge.persistOnSuccess||Ie!=="activated")return;X&&ie===G.id&&Z===v||($(),Oe("hidden"),ke(null))},[xe,ge.persistOnSuccess,Ie,X,ie,Z,G.id,v,$]),U.useEffect(()=>{Ie!=="activated"||R||($(),Oe("hidden"),ke(null))},[Ie,R,$]),U.useEffect(()=>{R||(A(),H())},[R,A,H]),U.useEffect(()=>{R||!oe.current||J.current!==G.id||ne.current!==v||re()},[R,G.id,v,oe,J,ne,re]),U.useEffect(()=>{G.isVisible||!oe.current||J.current!==G.id||ne.current!==v||re()},[G.isVisible,G.id,v,oe,J,ne,re]),U.useEffect(()=>()=>{oe.current&&J.current===G.id&&ne.current===v&&re()},[G.id,v,oe,J,ne,re]),U.useEffect(()=>{if(!R)return;let F=w.current;if(!F)return;let ee=()=>{A(),H()},pe=()=>{A(),H()};return F.addEventListener("pointerenter",ee),F.addEventListener("pointermove",pe,{passive:!0}),()=>{F.removeEventListener("pointerenter",ee),F.removeEventListener("pointermove",pe)}},[R,w,A,H]),U.useEffect(()=>k.registerSubmenuOpen(G.storeId,()=>{d(!0),W.setOwnerId(N),requestAnimationFrame(()=>{let F=_optionalChain([w, 'access', _153 => _153.current, 'optionalAccess', _154 => _154.querySelector, 'call', _155 => _155("input")]),ee=_optionalChain([w, 'access', _156 => _156.current, 'optionalAccess', _157 => _157.querySelector, 'call', _158 => _158('[role="listbox"]')]),pe=_nullishCoalesce(F, () => (ee));pe&&pe instanceof HTMLElement&&pe.focus()})}),[G.storeId,k,d,W,N,w]),U.useEffect(()=>k.registerSubmenuClose(G.storeId,()=>d(!1)),[G.storeId,k,d]);let An=W.useState("isOwner",N);U.useEffect(()=>{!G.isVisible&&R&&d(!1)},[G.isVisible,R,d]);let Ln=U.useRef(R);U.useEffect(()=>{Ln.current&&!R&&G.isHighlighted&&(j.current=!0),Ln.current=R},[R,G.isHighlighted]),U.useEffect(()=>{G.isHighlighted||(j.current=!1)},[G.isHighlighted]),U.useEffect(()=>{if(!g)return;if(!G.isHighlighted||k.state.highlightSource!=="keyboard"){h();return}if(j.current)return;let F=M.keyboard;return F<=0?d(!0):q.current=setTimeout(()=>{q.current=null,d(!0)},F),h},[G.isHighlighted,k,M.keyboard,d,h,g]),U.useEffect(()=>(S.current=G.ref.current,()=>{S.current=null}),[S,G.ref]);let Fr=U.useCallback(F=>{F.preventDefault(),R&&(j.current=!0,E("pointerdown-suppress-auto-open",{clientX:F.clientX,clientY:F.clientY})),_optionalChain([I, 'optionalCall', _159 => _159(F)])},[R,E,I]),Br=U.useCallback(F=>{if(_optionalChain([p, 'optionalCall', _160 => _160(F)]),F.defaultPrevented||Ae||!po(F.pointerType)||!k.shouldAllowPointerHighlight(F.clientX,F.clientY))return;if(oe.current&&ne.current===v&&J.current!==G.id){E("pointermove-blocked-by-guard",{clientX:F.clientX,clientY:F.clientY,blockedByTriggerId:J.current});return}if(k.setHighlightedId(G.storeId),!g||R)return;if(j.current){E("pointermove-open-suppressed-after-explicit-close",{clientX:F.clientX,clientY:F.clientY});return}H(),A();let ee=M.pointer;if(ee<=0){d(!0);return}q.current===null&&(q.current=setTimeout(()=>{q.current=null,d(!0)},ee))},[p,Ae,oe,ne,v,J,G.id,G.storeId,g,R,j,H,A,M.pointer,d,E,k]),Hr=U.useCallback(F=>{if(_optionalChain([C, 'optionalCall', _161 => _161(F)]),F.defaultPrevented||Ae||!po(F.pointerType))return;if(oe.current&&ne.current===v&&J.current!==G.id){E("pointerenter-blocked-by-guard",{clientX:F.clientX,clientY:F.clientY,blockedByTriggerId:J.current,blockedByDepth:ne.current});return}if(E("pointerenter-submenu-trigger",{clientX:F.clientX,clientY:F.clientY}),xe&&($(),ke(null),Oe("hover")),k.setHighlightedId(G.storeId),!g)return;if(j.current){E("pointerenter-open-suppressed-after-explicit-close",{clientX:F.clientX,clientY:F.clientY});return}H(),re(),h(),A();let ee=M.pointer;ee<=0?d(!0):q.current=setTimeout(()=>{q.current=null,d(!0)},ee)},[C,Ae,oe,ne,J,G.id,G.storeId,k,g,j,H,re,h,A,$,xe,M.pointer,d,E]),zr=U.useCallback(F=>{if(_optionalChain([y, 'optionalCall', _162 => _162(F)]),F.defaultPrevented||Ae||!po(F.pointerType))return;if(h(),E("pointerleave-submenu-trigger",{clientX:F.clientX,clientY:F.clientY}),oe.current&&ne.current===v&&J.current!==G.id){E("pointerleave-blocked-by-guard",{clientX:F.clientX,clientY:F.clientY,blockedByTriggerId:J.current,blockedByDepth:ne.current});return}let ee=_optionalChain([w, 'access', _163 => _163.current, 'optionalAccess', _164 => _164.getBoundingClientRect, 'call', _165 => _165()]);if(!ee){E("pointerleave-no-content-rect"),H(),$(),Oe("hidden"),ke(null),re(),V();return}let{clientX:pe,clientY:Re}=F,Xe=_nullishCoalesce(_optionalChain([S, 'access', _166 => _166.current, 'optionalAccess', _167 => _167.getBoundingClientRect, 'call', _168 => _168()]), () => (null)),ht={contentRect:ee,triggerRect:Xe,pointerX:pe,pointerY:Re};if(pe>=ee.left&&pe<=ee.right&&Re>=ee.top&&Re<=ee.bottom){E("pointerleave-inside-popup-success",{clientX:pe,clientY:Re}),Pe(ht),A(),H(),re();return}let Ke=Zt(ee,Xe,pe,Re),Ot=Ro(Ge.current,pe,Re,Ke,Xe,ee),At=So(pe,Re,Ot,ee,Ke,Xe);E("pointerleave-hit-eval",{anchor:Ke,hit:At,clientX:pe,clientY:Re,heading:Ot}),At?(E("pointerleave-hit-activate-guard",{anchor:Ke,clientX:pe,clientY:Re}),Pe(ht),me(G.id,v,N,600),k.setHighlightedId(G.storeId),d(!0),bt(Ke,Xe,!0,600,pe,Re)):(E("pointerleave-miss-close",{anchor:Ke,clientX:pe,clientY:Re}),He(ht),re(),V(),i>0?bt(Ke,Xe,!1,i,pe,Re):H())},[y,Ae,h,oe,ne,J,G.id,G.storeId,i,w,H,$,re,Pe,He,d,A,V,bt,S,Ge,me,v,N,k,E]),Qr=U.useMemo(()=>({submenuTrigger:!0,popupOpen:R,popupFocused:An,highlighted:G.isHighlighted,disabled:Ae}),[R,An,G.isHighlighted,Ae]),jr=_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.f.Provider,{value:G.contextValue,children:O}),qr=z(),Tn=Q(qr,"submenu-trigger"),Ur=_userender.useRender.call(void 0, {render:x,ref:[G.ref,r],state:Qr,stateAttributesMapping:au,props:{...f,...Tn?{[Tn]:""}:{},id:G.id,role:"menuitem","aria-haspopup":"menu","aria-expanded":R,tabIndex:-1,"aria-disabled":Ae||void 0,className:m,style:P,onPointerMove:Br,onPointerDown:Fr,onPointerEnter:Hr,onPointerLeave:zr,children:jr},defaultTagName:"div"}),Nn=U.useMemo(()=>Ie==="hover"?"hover":Ie==="activated"?"activated":Ie==="missed"?"missed":null,[Ie]),En=_jsxruntime.jsx.call(void 0, _popover.Popover.Trigger,{nativeButton:!1,render:Ur});return G.isVisible?!xe||Nn===null?En:_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[En,_jsxruntime.jsx.call(void 0, Vr,{config:ge,contentRef:w,triggerRef:S,tone:Nn,contentRectOverride:_optionalChain([_e, 'optionalAccess', _169 => _169.contentRect]),triggerRectOverride:_optionalChain([_e, 'optionalAccess', _170 => _170.triggerRect]),mousePointOverride:_e?[_e.pointerX,_e.pointerY]:null})]}):null});function cu(e){let{pageId:o,closeRootOnEsc:r=!1,children:t}=e,a=_chunkSF7X2BUTcjs.k.call(void 0, ),n=Je(),s=pt();if(!a||!n)throw new Error("PopupMenu.Subpage must be used within PopupMenu.Popup");if(o===we)throw new Error(`PopupMenu.Subpage pageId "${we}" is reserved for the root page`);let c=_chunkSF7X2BUTcjs.y.useStore(void 0,{open:!1}),g=Ue.useId(),l=a.store.useState("open"),i=s.activePageId,b=s.stack,u=s.registerPage,x=s.goBack,m=s.getSurfaceId,P=i===o;Ue.useEffect(()=>u({pageId:o,surfaceId:g,closeRootOnEsc:r}),[u,o,g,r]),Ue.useEffect(()=>{c.setOpen(l&&P)},[c,l,P]),Ue.useEffect(()=>a.registerSurface(a.depth,f=>c.setOpen(f)),[a,c]);let I=Ue.useMemo(()=>{let f=b.lastIndexOf(o);if(f<=0)return m(we);let M=b[f-1];return M?m(M):null},[b,o,m]),p=Ue.useMemo(()=>({pageId:o,surfaceId:g,parentSurfaceId:I,isActive:P,closeRootOnEsc:r,goBack:x}),[o,g,I,P,r,x]),C=Ue.useMemo(()=>({store:c,depth:a.depth,closeAll:a.closeAll,registerSurface:a.registerSurface,virtualization:a.virtualization}),[c,a]),y=Ue.useMemo(()=>({store:c,depth:n.depth,closeAll:n.closeAll,registerSurface:n.registerSurface,virtualization:n.virtualization,virtualAnchor:n.virtualAnchor,menuType:n.menuType,disabled:n.disabled,closeOnOutsidePress:n.closeOnOutsidePress,getQualifiedRowId:n.getQualifiedRowId}),[c,n]),O=P;return _jsxruntime.jsx.call(void 0, _t.Provider,{value:p,children:_jsxruntime.jsx.call(void 0, Pt.Provider,{value:g,children:_jsxruntime.jsx.call(void 0, Ze.Provider,{value:y,children:_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.i.Provider,{value:C,children:O?t:null})})})})}var Dn=(t=>(t.slot="bazzaui-[component]-subpage-back",t.canGoBack="data-can-go-back",t.disabled="data-disabled",t))(Dn||{});var lu={canGoBack:e=>e?{"data-can-go-back":""}:null,disabled:e=>e?{"data-disabled":""}:null},du= exports.Jb =wt.forwardRef(function(o,r){let{disabled:t=!1,render:a,className:n,style:s,onClick:c,children:g,...l}=o,i=Wt(),b=pt(),u=fe(),x=De(),m=t||x.disabled,P=wt.useCallback(y=>{if(_optionalChain([c, 'optionalCall', _171 => _171(y)]),y.defaultPrevented||m)return;i.goBack()&&i.parentSurfaceId&&u.setOwnerId(i.parentSurfaceId)},[c,m,i,u]),I=wt.useMemo(()=>({canGoBack:b.canGoBack,disabled:m}),[b.canGoBack,m]),p=z(),C=Q(p,"subpage-back");return _userender.useRender.call(void 0, {render:a,ref:r,state:I,stateAttributesMapping:lu,props:{...l,...C?{[C]:""}:{},type:"button",disabled:m,className:n,style:s,onClick:P,children:g},defaultTagName:"button"})});var wn=(a=>(a.slot="bazzaui-[component]-subpage-back-item",a.subpageBackItem="data-subpage-back-item",a.highlighted="data-highlighted",a.disabled="data-disabled",a))(wn||{});var mu={subpageBackItem:e=>e?{"data-subpage-back-item":""}:null,highlighted:e=>e?{"data-highlighted":""}:null,disabled:e=>e?{"data-disabled":""}:null},gu= exports.Lb =ve.forwardRef(function(o,r){let{id:t,value:a,keywords:n,disabled:s=!1,forceMount:c=!1,onSelect:g,onSelectAsync:l,render:i,className:b,style:u,onClick:x,onPointerMove:m,onPointerDown:P,children:I,...p}=o,C=Wt(),y=fe(),[O,f]=ve.useState(!1),M=ve.useRef(null);ve.useEffect(()=>()=>{_optionalChain([M, 'access', _172 => _172.current, 'optionalAccess', _173 => _173.abort, 'call', _174 => _174()])},[]);let k=ve.useCallback(()=>{let B=C.goBack();return B&&C.parentSurfaceId&&y.setOwnerId(C.parentSurfaceId),B},[C,y]),T=ve.useCallback(()=>{if(l){if(O)return;_optionalChain([M, 'access', _175 => _175.current, 'optionalAccess', _176 => _176.abort, 'call', _177 => _177()]);let B=new AbortController;M.current=B,f(!0);let L=!1,h={goBack:()=>{let A=k();return A&&(L=!0),A},signal:B.signal};l(h).then(A=>{B.signal.aborted||A!==!1&&!L&&h.goBack()}).catch(()=>{}).finally(()=>{B.signal.aborted||f(!1)});return}_optionalChain([g, 'optionalCall', _178 => _178()]),k()},[g,l,k,O]),v=Be({id:t,value:a,keywords:n,disabled:s||O,forceMount:c,closeOnClick:!1,onSelect:T,children:I}),D=v.disabled,R=ve.useMemo(()=>({subpageBackItem:!0,highlighted:v.isHighlighted,disabled:D}),[v.isHighlighted,D]),d=ve.useCallback(B=>{_optionalChain([x, 'optionalCall', _179 => _179(B)]),B.defaultPrevented||v.handlers.onClick(B)},[x,v.handlers]),S=ve.useCallback(B=>{v.handlers.onPointerDown(B),_optionalChain([P, 'optionalCall', _180 => _180(B)])},[v.handlers,P]),w=ve.useCallback(B=>{_optionalChain([m, 'optionalCall', _181 => _181(B)]),B.defaultPrevented||v.handlers.onPointerMove(B)},[m,v.handlers]),N=_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.f.Provider,{value:v.contextValue,children:I}),q=z(),_=Q(q,"subpage-back-item");return _userender.useRender.call(void 0, {render:i,ref:[v.ref,r],state:R,stateAttributesMapping:mu,props:{...p,..._?{[_]:""}:{},id:v.id,role:"option",tabIndex:-1,"aria-selected":v.isHighlighted,"aria-disabled":D||void 0,className:b,style:u,onClick:d,onPointerMove:w,onPointerDown:S,children:N},enabled:v.isVisible,defaultTagName:"div"})});var On=(s=>(s.slot="bazzaui-[component]-subpage-trigger",s.subpageTrigger="data-subpage-trigger",s.popupOpen="data-popup-open",s.popupFocused="data-popup-focused",s.highlighted="data-highlighted",s.disabled="data-disabled",s))(On||{});var Ru={subpageTrigger:e=>e?{"data-subpage-trigger":""}:null,popupOpen:e=>e?{"data-popup-open":""}:null,popupFocused:e=>e?{"data-popup-focused":""}:null,highlighted:e=>e?{"data-highlighted":""}:null,disabled:e=>e?{"data-disabled":""}:null},Su= exports.Nb =tt.forwardRef(function(o,r){let{id:t,value:a,keywords:n,disabled:s=!1,forceMount:c=!1,forceOrder:g,forceScore:l,targetPageId:i,render:b,className:u,style:x,onClick:m,onPointerDown:P,onPointerMove:I,children:p,...C}=o,y=fe(),O=pt(),f=O.activePageId,M=O.openPage,k=O.getSurfaceId,T=tt.useCallback(()=>{if(!M(i))return;let V=k(i);V&&y.setOwnerId(V)},[M,k,i,y]),v=Be({id:t,value:a,keywords:n,disabled:s,forceMount:c,forceOrder:g,forceScore:l,isSubmenuTrigger:!1,closeOnClick:!1,onSelect:T,children:p}),D=v.disabled,R=f===i,d=k(i),S=y.useState("isOwner",_nullishCoalesce(d, () => (""))),w=tt.useCallback(A=>{v.handlers.onPointerDown(A),_optionalChain([P, 'optionalCall', _182 => _182(A)])},[v.handlers,P]),N=tt.useCallback(A=>{_optionalChain([m, 'optionalCall', _183 => _183(A)]),A.defaultPrevented||v.handlers.onClick(A)},[v.handlers,m]),q=tt.useCallback(A=>{_optionalChain([I, 'optionalCall', _184 => _184(A)]),A.defaultPrevented||v.handlers.onPointerMove(A)},[I,v.handlers]),_=tt.useMemo(()=>({subpageTrigger:!0,popupOpen:R,popupFocused:S,highlighted:v.isHighlighted,disabled:D}),[R,S,v.isHighlighted,D]),B=_jsxruntime.jsx.call(void 0, _chunkSF7X2BUTcjs.f.Provider,{value:v.contextValue,children:p}),L=z(),h=Q(L,"subpage-trigger");return _userender.useRender.call(void 0, {render:b,ref:[v.ref,r],state:_,stateAttributesMapping:Ru,props:{...C,...h?{[h]:""}:{},id:v.id,role:"menuitem","aria-haspopup":"menu","aria-expanded":R,tabIndex:-1,"aria-disabled":D||void 0,className:u,style:x,onPointerDown:w,onClick:N,onPointerMove:q,children:B},enabled:v.isVisible,defaultTagName:"div"})});exports.a = Nt; exports.b = Kr; exports.c = z; exports.d = Q; exports.e = Gt; exports.f = fe; exports.g = Yr; exports.h = Ft; exports.i = it; exports.j = Xr; exports.k = Ze; exports.l = De; exports.m = Je; exports.n = _o; exports.o = bo; exports.p = zt; exports.q = Pt; exports.r = Wo; exports.s = jt; exports.t = qt; exports.u = Fe; exports.v = _t; exports.w = Wt; exports.x = ct; exports.y = we; exports.z = Yt; exports.A = pt; exports.B = Ko; exports.C = Yo; exports.D = lt; exports.E = Xo; exports.F = Xt; exports.G = $t; exports.H = Zt; exports.I = Ro; exports.J = So; exports.K = Zo; exports.L = aa; exports.M = Jn; exports.N = ua; exports.O = tr; exports.P = pa; exports.Q = Jo; exports.R = nr; exports.S = ni; exports.T = Ct; exports.U = eo; exports.V = to; exports.W = en; exports.X = tn; exports.Y = on; exports.Z = nn; exports._ = oo; exports.$ = da; exports.aa = fa; exports.ba = yo; exports.ca = dt; exports.da = no; exports.ea = rn; exports.fa = ga; exports.ga = nt; exports.ha = rt; exports.ia = at; exports.ja = ba; exports.ka = sn; exports.la = It; exports.ma = ha; exports.na = Ra; exports.oa = Sa; exports.pa = xa; exports.qa = Pa; exports.ra = Ca; exports.sa = ya; exports.ta = Ma; exports.ua = yt; exports.va = un; exports.wa = ur; exports.xa = ir; exports.ya = cr; exports.za = pr; exports.Aa = lr; exports.Ba = dr; exports.Ca = cn; exports.Da = fr; exports.Ea = ka; exports.Fa = Mt; exports.Ga = mr; exports.Ha = ao; exports.Ia = Da; exports.Ja = wa; exports.Ka = vo; exports.La = Ea; exports.Ma = Fa; exports.Na = br; exports.Oa = hr; exports.Pa = Qa; exports.Qa = qa; exports.Ra = Be; exports.Sa = co; exports.Ta = dn; exports.Ua = cc; exports.Va = xr; exports.Wa = Pr; exports.Xa = Wa; exports.Ya = Ya; exports.Za = $a; exports._a = bn; exports.$a = hn; exports.ab = is; exports.bb = ps; exports.cb = Sn; exports.db = xn; exports.eb = fs; exports.fb = ms; exports.gb = Rs; exports.hb = Oo; exports.ib = Lo; exports.jb = Pn; exports.kb = Ps; exports.lb = Ms; exports.mb = Cn; exports.nb = ks; exports.ob = yn; exports.pb = Dt; exports.qb = Mn; exports.rb = As; exports.sb = Ls; exports.tb = Go; exports.ub = Fo; exports.vb = vn; exports.wb = Gs; exports.xb = Bs; exports.yb = zs; exports.zb = qs; exports.Ab = _s; exports.Bb = In; exports.Cb = Ys; exports.Db = $s; exports.Eb = jo; exports.Fb = ou; exports.Gb = su; exports.Hb = cu; exports.Ib = Dn; exports.Jb = du; exports.Kb = wn; exports.Lb = gu; exports.Mb = On; exports.Nb = Su;
|
|
2
|
+
//# sourceMappingURL=chunk-URLK26NV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/ui/ui/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/ui/ui/packages/react/dist/chunk-URLK26NV.cjs","../src/internal/popup-menu/contexts/component-name-context.ts"],"names":["ComponentNameContext","useComponentName","context","useMaybeComponentName","getSlotAttribute","componentName","partName"],"mappings":"AAAA,2/BAAiM,uvECE1K,IAYVA,EAAAA,CAA6B,EAAA,CAAA,aAAA,CACxC,IACF,CAAA,CAMO,SAASC,EAAAA,CAAAA,CAAkC,CAChD,IAAMC,CAAAA,CAAgB,EAAA,CAAA,UAAA,CAAWF,EAAoB,CAAA,CACrD,EAAA,CAAIE,CAAAA,GAAY,IAAA,CACd,MAAM,IAAI,KAAA,CACR,sEACF,CAAA,CAEF,OAAOA,CACT,CAMO,SAASC,CAAAA,CAAAA,CAA8C,CAC5D,OAAa,EAAA,CAAA,UAAA,CAAWH,EAAoB,CAC9C,CAQO,SAASI,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACoB,CACpB,EAAA,CAAKD,CAAAA,CACL,MAAO,CAAA,QAAA,EAAWA,CAAa,CAAA,CAAA,EAAIC,CAAQ,CAAA,CAAA","file":"/home/runner/work/ui/ui/packages/react/dist/chunk-URLK26NV.cjs","sourcesContent":[null,"'use client'\n\nimport * as React from 'react'\n\n/**\n * Component name used for generating bazzaui-* slot attributes.\n * E.g., 'dropdown-menu', 'context-menu', 'select', 'combobox'\n */\nexport type ComponentName =\n | 'dropdown-menu'\n | 'context-menu'\n | 'select'\n | 'combobox'\n\nexport const ComponentNameContext = React.createContext<ComponentName | null>(\n null,\n)\n\n/**\n * Returns the component name from context.\n * Throws if used outside of a component that provides the context.\n */\nexport function useComponentName(): ComponentName {\n const context = React.useContext(ComponentNameContext)\n if (context === null) {\n throw new Error(\n 'useComponentName must be used within a ComponentNameContext.Provider',\n )\n }\n return context\n}\n\n/**\n * Returns the component name from context, or null if not available.\n * Useful for internal components that may be used outside the popup-menu context.\n */\nexport function useMaybeComponentName(): ComponentName | null {\n return React.useContext(ComponentNameContext)\n}\n\n/**\n * Helper to generate a bazzaui slot attribute value.\n * @param componentName The component name (e.g., 'dropdown-menu')\n * @param partName The part name (e.g., 'trigger', 'item')\n * @returns The slot attribute value (e.g., 'bazzaui-dropdown-menu-trigger')\n */\nexport function getSlotAttribute(\n componentName: ComponentName | null,\n partName: string,\n): string | undefined {\n if (!componentName) return undefined\n return `bazzaui-${componentName}-${partName}`\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as ye}from"./chunk-4C666HHU.js";import*as N from"react";var ie=N.createContext(null);function G(){return N.useContext(ie)}import*as H from"react";var _=H.createContext(null);function we(){let n=H.useContext(_);if(!n)throw new Error("Item child components must be used within an Item");return n}function Oe(){return H.useContext(_)}import*as A from"react";var U=A.createContext(null);function j(){let n=A.useContext(U);if(!n)throw new Error("Listbox components must be used within a Listbox provider");return n}function Me(){return A.useContext(U)}import*as T from"react";var W=T.createContext(null);process.env.NODE_ENV!=="production"&&(W.displayName="RowWidthContext");function Pe(){let n=T.useContext(W);if(!n)throw new Error("useRowWidthContext must be used within a List with measureRowWidth enabled");return n}function B(){return T.useContext(W)}import*as V from"react";var q=V.createContext(null);function $(){let n=V.useContext(q);if(!n)throw new Error("Listbox components must be used within a Surface provider");return n}function Le(){return V.useContext(q)}import*as b from"react";function k(n){return n?.trim()??""}function se(n){return n.normalize("NFD").replace(/\p{Diacritic}/gu,"")}function ke(n){return n?n.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,""):""}function He(n){let{id:e,value:t,keywords:r,disabled:o=!1,forceMount:a=!1,shortcut:s,forceOrder:l,forceScore:d,isSubmenuTrigger:c=!1,onSelect:f,closeOnClick:g=!0,onAfterSelect:R,children:S,aimGuard:m}=n,{store:u}=$(),i=G(),{depth:x}=j(),h=b.useRef(null),[C,w]=b.useState("");b.useLayoutEffect(()=>{if(e===void 0&&t===void 0&&h.current){let E=h.current.textContent?.trim()??"";w(E)}},[e,t,S]);let p=e??(k(t)||C),O=b.useId(),P=e??`item-${O}`,L=r?.map(E=>k(E)).filter(Boolean),z=L?JSON.stringify(L):void 0;b.useEffect(()=>!p&&!a?void 0:u.registerItem(p,{value:p,keywords:L,groupId:i?.groupId,disabled:o,isSubmenuTrigger:c,shortcut:s,forceOrder:l,forceScore:d,closeOnClick:g}),[p,z,i?.groupId,o,c,s,l,d,g,u,a]),b.useEffect(()=>{if(p)return u.registerItemRef(p,h)},[p,u]);let F=B();b.useLayoutEffect(()=>{F&&h.current&&p&&F.queueMeasurement(h.current,p)},[F,p]),b.useEffect(()=>{if(!(!f||!p))return u.registerItemSelect(p,f)},[p,f,u]);let me=u.useState("normalizedSearch"),K=u.useState("isHighlighted",p),xe=u.useState("getItemScore",p),be=u.isFilterDisabled(),Se=me.length>0,Ie=a||be||!Se||xe>0,ee=b.useCallback(E=>{if(E.defaultPrevented||o||!p)return;E.preventDefault(),u.context.itemSelects.get(p)?.(),R?.(p)},[o,u,p,R]),te=b.useCallback(E=>{E.preventDefault()},[]),ne=b.useCallback(E=>{if(!E.defaultPrevented&&!o&&p){if(m){let{aimGuardActiveRef:re,guardedDepthRef:Ee}=m;if(re.current&&Ee.current===x)return}u.shouldAllowPointerHighlight(E.clientX,E.clientY)&&u.setHighlightedId(p)}},[o,m,x,u,p]),Re=b.useMemo(()=>({id:P,highlighted:K,disabled:o,shortcut:s}),[P,K,o,s]),ve=b.useCallback(E=>p?u.registerItemSelect(p,E):()=>{},[u,p]),Ce=b.useMemo(()=>({onClick:ee,onPointerMove:ne,onPointerDown:te}),[ee,ne,te]);return{id:P,storeId:p,ref:h,isHighlighted:K,isVisible:Ie,contextValue:Re,handlers:Ce,registerSelect:ve}}import*as oe from"react";function Ae(n){let{store:e,surfaceId:t,enabled:r,onKeyDown:o,onSelect:a,closeAll:s,focusOwner:l,depth:d=0,submenuContext:c,subpageContext:f,enableTypeToSearch:g=!1,skipFocusOwnerCheck:R=!1}=n,S=l?.useState("isOwner",t)??!0,m=R?!0:S;return{handleKeyDown:oe.useCallback(i=>{if(o?.(i),!i.defaultPrevented&&r&&m&&!(i.nativeEvent.isComposing||i.keyCode===229)){if(g){let x=e.context.hideUntilActive,h=e.state.inputActive;if(x&&!h&&i.key.length===1&&!i.ctrlKey&&!i.metaKey&&!i.altKey){let w=e.context.shortcuts.get(i.key.toLowerCase());if(w&&e.selectByShortcut(i.key)){i.preventDefault();let p=e.context.items.get(w);a?.({itemId:w,closeOnClick:p?.closeOnClick??!0});return}i.preventDefault(),e.setPendingSearch(i.key),e.setInputActive(!0);return}}switch(i.key){case"ArrowDown":{i.preventDefault(),e.highlightNext();break}case"ArrowUp":{i.preventDefault(),e.highlightPrev();break}case"n":{i.ctrlKey&&(i.preventDefault(),e.highlightNext());break}case"p":{i.ctrlKey&&(i.preventDefault(),e.highlightPrev());break}case"ArrowRight":{e.isHighlightedSubmenuTrigger()&&(i.preventDefault(),e.openSubmenuForHighlighted());break}case"l":{i.ctrlKey&&e.isHighlightedSubmenuTrigger()&&(i.preventDefault(),e.openSubmenuForHighlighted());break}case"ArrowLeft":{if(f?.goBack()){i.preventDefault(),l&&f.parentSurfaceId&&l.setOwnerId(f.parentSurfaceId);break}d>0&&c&&l&&(i.preventDefault(),c.setOpen(!1),l.setOwnerId(c.parentSurfaceId));break}case"h":{if(i.ctrlKey&&f?.goBack()){i.preventDefault(),l&&f.parentSurfaceId&&l.setOwnerId(f.parentSurfaceId);break}i.ctrlKey&&d>0&&c&&l&&(i.preventDefault(),c.setOpen(!1),l.setOwnerId(c.parentSurfaceId));break}case"Enter":{i.preventDefault();let x=e.state.highlightedId,h=e.getHighlightedItem();e.selectHighlighted(),a?.({itemId:x,closeOnClick:h?.closeOnClick??!0});break}case"Home":{i.preventDefault(),e.setHighlightedId(null),e.highlightNext();break}case"End":{i.preventDefault(),e.setHighlightedId(null),e.highlightPrev();break}case"Escape":{if(f){i.preventDefault(),i.stopPropagation(),f.closeRootOnEsc?s():f.goBack()&&l&&f.parentSurfaceId?l.setOwnerId(f.parentSurfaceId):d>0&&c&&(c.setOpen(!1),l&&l.setOwnerId(c.parentSurfaceId));break}if(d===0)break;i.preventDefault(),i.stopPropagation(),c?.closeRootOnEsc!==!1?s():(c.setOpen(!1),l&&l.setOwnerId(c.parentSurfaceId));break}default:{let x=e.state.normalizedSearch.length>0;if(i.key.length===1&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!x){let C=e.context.shortcuts.get(i.key.toLowerCase());if(C&&e.selectByShortcut(i.key)){i.preventDefault();let w=e.context.items.get(C);a?.({itemId:C,closeOnClick:w?.closeOnClick??!0})}}break}}}},[o,r,m,g,e,d,c,f,l,a,s])}}import*as v from"react";var Te=!1,Ve=!1;function y(...n){Te&&console.log("[useStickyRowWidth]",...n)}function ae(n){return`${Math.ceil(n)}px`}function De(n){let e=Number.parseFloat(n);return Number.isFinite(e)?e:null}function ze(n){let{listRef:e,targetRef:t,maxWidth:r,enabled:o=!0}=n,a=v.useCallback(()=>t?.current??e.current,[t,e]),s=v.useRef(0);v.useLayoutEffect(()=>{if(!o)return;let u=a();if(!u)return;let i=De(u.style.getPropertyValue("--row-width").trim());!i||i<=s.current||(s.current=i,y("Hydrated max width from existing --row-width:",{hydratedWidth:i}))},[o,a]);let l=v.useRef([]),d=v.useRef([]),c=v.useRef(!1),f=v.useRef(new Set),g=v.useCallback(u=>{let i=a();if(!i)return;let x=r!==void 0?Math.min(u,r):u;y("--row-width updated:",{rawWidth:u,cappedWidth:x,cssValue:ae(x),maxWidthCap:r,targetElement:i.tagName+(i.className?`.${i.className.split(" ").join(".")}`:"")}),i.style.setProperty("--row-width",ae(x))},[a,r]),R=v.useCallback(()=>{c.current||(c.current=!0,requestAnimationFrame(()=>{let u=l.current,i=s.current,x=!1;if(u.length>0){y("Measuring batch of",u.length,"rows");for(let{element:h,id:C}of u){if(f.current.has(C))continue;if(!h.isConnected){y("Row skipped (unmounted):",{id:C});continue}let w=h.style.width,p=h.style.maxWidth;h.setAttribute("data-measuring",""),h.style.maxWidth="none",h.style.width="max-content";let O=Math.max(h.scrollWidth,h.offsetWidth)+1,P=getComputedStyle(h);if(y("Row measurement details:",{id:C,measuredWidth:O,scrollWidth:h.scrollWidth,offsetWidth:h.offsetWidth,computedWidth:P.width,computedMaxWidth:P.maxWidth,inlineMaxWidth:p,textContent:h.textContent?.slice(0,50)}),Ve||(h.style.width=w,h.style.maxWidth=p,h.removeAttribute("data-measuring")),O<=1){let L=h.getBoundingClientRect(),z=getComputedStyle(h);y("Row skipped (0-width, will retry):",{id:C,width:O,scrollWidth:h.scrollWidth,offsetWidth:h.offsetWidth,boundingRect:{width:L.width,height:L.height},display:z.display,visibility:z.visibility,innerHTML:h.innerHTML.slice(0,100),isConnected:h.isConnected,parentElement:h.parentElement?.tagName});continue}y("Row measured:",{id:C,width:O,currentMax:i,isNewMax:O>i}),O>i&&(i=O,x=!0),f.current.add(C)}l.current=[]}x&&(y("New max width found:",{previousMax:s.current,newMax:i,totalMeasured:f.current.size}),s.current=i,d.current.push(()=>g(i)));for(let h of d.current)h();d.current=[],c.current=!1}))},[g]),S=v.useCallback((u,i)=>{if(!o){y("queueMeasurement skipped (disabled):",i);return}if(f.current.has(i)){y("queueMeasurement skipped (already measured):",i);return}y("queueMeasurement:",{id:i,queueSize:l.current.length+1,element:u.tagName}),l.current.push({element:u,id:i}),R()},[o,R]),m=v.useCallback(()=>{let u=s.current,i=f.current.size;f.current.clear(),s.current=0;let x=a();x&&x.style.removeProperty("--row-width"),y("Measurements reset:",{previousMaxWidth:u,previousMeasuredCount:i,targetElement:x?.tagName})},[a]);return v.useEffect(()=>{if(!o)return;let u=a();if(!u||typeof ResizeObserver>"u")return;let i=null,x=new ResizeObserver(h=>{i!==null&&cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=null,s.current>0&&(y("ResizeObserver triggered re-apply:",{currentMax:s.current,containerSize:h[0]?.contentRect}),g(s.current))})});return x.observe(u),()=>{i!==null&&cancelAnimationFrame(i),x.disconnect()}},[a,o,g]),{queueMeasurement:S,resetMeasurements:m}}import{createSelector as I,ReactStore as mt}from"@base-ui/utils/store";import{useRefWithInit as xt}from"@base-ui/utils/useRefWithInit";var M={};ye(M,{auto:()=>nt,clearPress:()=>Xe,closePress:()=>qe,escapeKey:()=>Ge,focusOut:()=>Ue,imperativeAction:()=>rt,inputChange:()=>$e,inputClear:()=>Ye,itemKeyboardSelect:()=>Be,itemPress:()=>je,keyboard:()=>tt,listNavigation:()=>Je,none:()=>it,outsidePress:()=>_e,pointer:()=>et,siblingOpen:()=>Ze,submenuTrigger:()=>Qe,triggerContextMenu:()=>Ke,triggerFocus:()=>Fe,triggerHover:()=>We,triggerPress:()=>Ne});var Ne="trigger-press",We="trigger-hover",Fe="trigger-focus",Ke="trigger-context-menu",Ge="escape-key",_e="outside-press",Ue="focus-out",je="item-press",Be="item-keyboard-select",qe="close-press",$e="input-change",Ye="input-clear",Xe="clear-press",Je="list-navigation",Qe="submenu-trigger",Ze="sibling-open",et="pointer",tt="keyboard",nt="auto",rt="imperative-action",it="none";function le(n,e,t,r){let o=!1,a=!1;return{reason:n,event:e??new Event("ui-event"),cancel(){o=!0},allowPropagation(){a=!0},get isCanceled(){return o},get isPropagationAllowed(){return a},trigger:t,...r}}function ce(n,e,t){return{reason:n,event:e??new Event("ui-event"),...t}}var Y=null,ue=!1;function st(n){Y=n.pointerType||"mouse"}function ot(){Y=null}function Gt(){ue||typeof document>"u"||(ue=!0,document.addEventListener("pointerdown",st,{capture:!0,passive:!0}),document.addEventListener("keydown",ot,{capture:!0,passive:!0}))}function he(n){switch(n){case"touch":return"touch";case"pen":return"pen";case"mouse":return"mouse";default:return null}}function de(n){let e=he(n?.pointerType);return e||(n&&typeof KeyboardEvent<"u"&&n instanceof KeyboardEvent?"keyboard":he(Y)??"keyboard")}var fe=1,at=.9,lt=.8,ct=.17,X=.1,J=.999,ut=.9999;var ht=.99,dt=/[\\/_+.#"@[({&]/,ft=/[\\/_+.#"@[({&]/g,gt=/[\s-]/,pe=/[\s-]/g;function Q(n,e,t,r,o,a,s){if(a===e.length)return o===n.length?fe:ht;let l=`${o},${a}`;if(s[l]!==void 0)return s[l];let d=r.charAt(a),c=t.indexOf(d,o),f=0,g,R,S,m;for(;c>=0;)g=Q(n,e,t,r,c+1,a+1,s),g>f&&(c===o?g*=fe:dt.test(n.charAt(c-1))?(g*=lt,S=n.slice(o,c-1).match(ft),S&&o>0&&(g*=J**S.length)):gt.test(n.charAt(c-1))?(g*=at,m=n.slice(o,c-1).match(pe),m&&o>0&&(g*=J**m.length)):(g*=ct,o>0&&(g*=J**(c-o))),n.charAt(c)!==e.charAt(a)&&(g*=ut)),(g<X&&t.charAt(c-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&t.charAt(c-1)!==r.charAt(a))&&(R=Q(n,e,t,r,c+1,a+2,s),R*X>g&&(g=R*X)),g>f&&(f=g),c=t.indexOf(d,c+1);return s[l]=f,f}function ge(n){return se(n.toLowerCase()).replace(pe," ")}function D(n,e,t){if(!e)return 1;if(!n)return 0;let r=t&&t.length>0?`${n} ${t.join(" ")}`:n;return Q(r,e,ge(r),ge(e),0,0,{})}var pt=D;var bt={open:I(n=>n.openProp??n.open),openMethod:I(n=>n.openMethod),search:I(n=>n.searchProp??n.search),normalizedSearch:I(n=>n.normalizedSearch),highlightedId:I(n=>n.highlightedId),highlightSource:I(n=>n.highlightSource),hasInput:I(n=>n.hasInput),inputActive:I(n=>n.inputActive),pendingSearch:I(n=>n.pendingSearch),filteredCount:I(n=>n.filteredCount),filteredItems:I(n=>n.filteredItems),visibleGroups:I(n=>n.visibleGroups),virtualized:I(n=>n.virtualized),isHighlighted:I((n,e)=>n.highlightedId===e),isGroupVisible:I((n,e)=>n.normalizedSearch.length===0||n.visibleGroups.has(e)),getItemScore:I((n,e)=>n.normalizedSearch.length===0?1:n.filteredItems.get(e)??0),hasSearchWithNoResults:I(n=>n.normalizedSearch.length===0?!1:n.virtualized&&n.virtualItemsCount>=0?n.virtualItemsCount===0:n.filteredCount===0)},St=n=>k(n),Z=class n extends mt{constructor(e,t){let o={...{filter:D,normalizeSearch:St,loop:!0,autoHighlightFirst:!0,clearSearchOnClose:!0,resetScrollOnSearch:!0,hideUntilActive:!1,listId:"",inputId:"",items:new Map,groups:new Map,itemSelects:new Map,submenuOpens:new Map,submenuCloses:new Map,shortcuts:new Map,onOpenChange:()=>{},onSearchChange:void 0,virtualItems:[],orderedItems:[],onHighlightChange:void 0,refs:{listRef:{current:null},listScrollContainerRef:{current:null},popupRef:{current:null},itemRefs:new Map},onCloseComplete:void 0,onPopupCloseComplete:void 0,lastPointerPosition:null},...t},a={...It(),...e};a.normalizedSearch=o.normalizeSearch(a.search),super(a,o,bt),this.observe("open",(s,l)=>{if(s!==l)if(s)this.resetPointerPosition(),this.context.autoHighlightFirst===!0&&this.highlightFirstItem();else{this.context.clearSearchOnClose===!0&&this.setSearch("");let d=this.context.clearSearchOnClose==="after-exit";this.update({inputActive:d?this.state.inputActive:!1,pendingSearch:""})}}),this.observe("search",(s,l)=>{s!==l&&this.syncNormalizedSearch()}),this.observe(s=>s.searchProp,(s,l)=>{s!==l&&this.syncNormalizedSearch()}),this.observe("normalizedSearch",(s,l)=>{s!==l&&(this.resetPointerPosition(),this.recomputeFilteredItems(l),this.context.resetScrollOnSearch&&!this.state.virtualized&&this.scrollListToTop())})}setOpen(e,t=M.none,r){let o=le(t,r);this.context.onOpenChange(e,o),!o.isCanceled&&(e&&this.set("openMethod",de(r)),this.set("open",e))}setSearch(e){let t=this.state.searchProp??e;this.update({search:e,normalizedSearch:this.context.normalizeSearch(t)}),this.context.onSearchChange?.(e)}setSearchNormalizer(e){this.context.normalizeSearch=e;let t=this.state.searchProp??this.state.search,r=e(t);r!==this.state.normalizedSearch&&this.set("normalizedSearch",r)}syncNormalizedSearch(){let e=this.state.searchProp??this.state.search,t=this.context.normalizeSearch(e);t!==this.state.normalizedSearch&&this.set("normalizedSearch",t)}defaultSearchInitialized=!1;initializeDefaultSearch(e){this.defaultSearchInitialized||(this.defaultSearchInitialized=!0,this.state.searchProp===void 0&&e!==this.state.search&&this.setSearch(e))}setHighlightedId(e,t="pointer"){this.state.highlightedId!==e&&(this.closeSiblingSubmenus(e),this.update({highlightedId:e,highlightSource:t}),this.notifyHighlightChange(e,t),t==="keyboard"&&e!==null&&this.scrollItemIntoView(e))}notifyHighlightChange(e,t){let{onHighlightChange:r}=this.context;if(!r)return;let o=t==="keyboard"?M.keyboard:t==="pointer"?M.pointer:M.auto,a=e===null?-1:this.state.virtualized?this.getVirtualItemIndex(e):this.getVisibleItemIndex(e),s=ce(o,void 0,{index:a});r(e,a,s)}scrollItemIntoView(e){let{refs:t}=this.context,r=t.listRef.current,a=t.itemRefs.get(e)?.current;if(a&&r)try{r.contains(a)&&a.scrollIntoView({block:"nearest"})}catch{}}scrollListToTop(){let e=this.context.refs.listRef.current,t=this.context.refs.listScrollContainerRef.current??(e?this.getScrollResetElement(e):null);if(t){if(typeof t.scrollTo=="function"){t.scrollTo({top:0});return}t.scrollTop=0}}getScrollResetElement(e){let t=e;for(;t;){if(this.isScrollableElement(t))return t;t=t.parentElement}return e}isScrollableElement(e){let r=e.ownerDocument?.defaultView?.getComputedStyle(e).overflowY,o=r==="auto"||r==="scroll"||r==="overlay";return e.scrollTop>0||o&&e.scrollHeight>e.clientHeight}setHasInput(e){this.set("hasInput",e)}setInputActive(e){this.set("inputActive",e)}setPendingSearch(e){this.set("pendingSearch",e)}setHideUntilActive(e){this.context.hideUntilActive=e,e&&this.state.normalizedSearch.length>0&&this.setInputActive(!0)}setVirtualized(e){this.set("virtualized",e)}setVirtualItems(e){let t=this.context.virtualItems;if(this.context.virtualItems=e,this.set("virtualItemsCount",e.length),this.preRegisterVirtualItems(),e===t)return;if(t.length===e.length){let s=!0;for(let l=0;l<t.length;l++){let d=t[l],c=e[l];if(!d||!c||d.value!==c.value||d.disabled!==c.disabled){s=!1;break}}if(s)return}if(!this.state.virtualized||!this.state.open||e.length===0)return;let r=t.find(s=>!s.disabled),o=e.find(s=>!s.disabled),a=r!==void 0&&o?.value!==r.value;this.validateHighlight({forceFirst:a})}setOrderedItems(e,t){let r=t?.reason??"replace",o=this.context.orderedItems;if(this.context.orderedItems=e,e!==o&&this.state.open){if(r==="append"&&this.state.highlightedId!==null){let a=this.state.highlightedId,s=this.context.items.get(a),l=e.includes(a),d=s?!s.disabled:!1;if(l&&d)return}if(e.length>0){let a=e.find(s=>this.context.items.has(s));a!==void 0?this.setHighlightedId(a,"auto"):this.setHighlightedId(null)}else this.setHighlightedId(null)}}maybeAutoHighlightOnRegister(e){if(this.context.filter!==!1||!this.state.open||this.state.highlightedId!==null||!this.context.autoHighlightFirst)return;let t=this.context.orderedItems;if(t.length===0)return;t.find(o=>this.context.items.has(o))===e&&this.setHighlightedId(e,"auto")}setOnHighlightChange(e){this.context.onHighlightChange=e}setListRef(e){this.context.refs.listRef=e}setListScrollContainerRef(e){this.context.refs.listScrollContainerRef=e}setPopupRef(e){this.context.refs.popupRef=e}registerItemRef(e,t){return this.context.refs.itemRefs.set(e,t),()=>{this.context.refs.itemRefs.delete(e)}}shouldAllowPointerHighlight(e,t){let r=this.context.lastPointerPosition;if(r===null)return this.context.lastPointerPosition={x:e,y:t},!0;let o=Math.abs(e-r.x),a=Math.abs(t-r.y);return o>1||a>1?(this.context.lastPointerPosition={x:e,y:t},!0):!1}resetPointerPosition(){this.context.lastPointerPosition=null}preRegisterVirtualItems(){let e=this.context.virtualItems;if(e.length!==0){for(let t of e)this.context.items.has(t.value)||this.context.items.set(t.value,{value:t.value,keywords:t.keywords,disabled:t.disabled});this.recomputeFilteredItems()}}registerItem(e,t){let r=this.context.items.get(e);if(r&&r.value===t.value&&r.disabled===t.disabled&&r.forceOrder===t.forceOrder&&r.forceScore===t.forceScore&&r.groupId===t.groupId&&r.shortcut===t.shortcut)return()=>{this.context.items.get(e)===r&&(this.context.items.delete(e),this.context.itemSelects.delete(e),t.groupId&&this.context.groups.get(t.groupId)?.delete(e),t.shortcut&&this.context.shortcuts.delete(t.shortcut.toLowerCase()),this.recomputeFilteredItems())};if(this.context.items.set(e,t),t.groupId){let a=this.context.groups.get(t.groupId);a&&a.add(e)}if(t.shortcut){let a=t.shortcut.toLowerCase();this.context.shortcuts.set(a,e)}return this.recomputeFilteredItems(),this.maybeAutoHighlightOnRegister(e),()=>{if(this.context.items.delete(e),this.context.itemSelects.delete(e),t.groupId){let a=this.context.groups.get(t.groupId);a&&a.delete(e)}if(t.shortcut){let a=t.shortcut.toLowerCase();this.context.shortcuts.delete(a)}this.recomputeFilteredItems()}}registerGroup(e){return this.context.groups.set(e,new Set),()=>{this.context.groups.delete(e)}}registerItemSelect(e,t){return t&&this.context.itemSelects.set(e,t),()=>{this.context.itemSelects.delete(e)}}registerSubmenuOpen(e,t){return t&&this.context.submenuOpens.set(e,t),()=>{this.context.submenuOpens.delete(e)}}registerSubmenuClose(e,t){return t&&this.context.submenuCloses.set(e,t),()=>{this.context.submenuCloses.delete(e)}}closeSiblingSubmenus(e){for(let[t,r]of this.context.submenuCloses)if(t!==e)try{r()}catch{}}highlightNext(){let e=this.getVisibleItemIds();if(e.length===0)return;let r=(this.state.highlightedId?e.indexOf(this.state.highlightedId):-1)+1;r>=e.length&&(r=this.context.loop?0:e.length-1);let o=e[r];o&&this.setHighlightedId(o,"keyboard")}highlightPrev(){let e=this.getVisibleItemIds();if(e.length===0)return;let r=(this.state.highlightedId?e.indexOf(this.state.highlightedId):e.length)-1;r<0&&(r=this.context.loop?e.length-1:0);let o=e[r];o&&this.setHighlightedId(o,"keyboard")}selectHighlighted(){this.state.highlightedId&&this.context.itemSelects.get(this.state.highlightedId)?.()}selectByShortcut(e){let t=this.context.shortcuts.get(e.toLowerCase());if(!t)return!1;let r=this.context.items.get(t);if(!r||r.disabled)return!1;let o=this.state.filteredItems.get(t)??0;return this.state.normalizedSearch.length===0||o>0?(this.context.itemSelects.get(t)?.(),!0):!1}openSubmenuForHighlighted(){this.state.highlightedId&&this.context.submenuOpens.get(this.state.highlightedId)?.()}isHighlightedSubmenuTrigger(){return this.state.highlightedId?this.context.items.get(this.state.highlightedId)?.isSubmenuTrigger??!1:!1}getHighlightedItem(){if(this.state.highlightedId)return this.context.items.get(this.state.highlightedId)}clearSearch(){this.setSearch("")}clearHighlight(){this.update({highlightedId:null,highlightSource:null})}highlightFirstItem(){let e=this.getVisibleItemIds();e.length>0&&e[0]?this.update({highlightedId:e[0],highlightSource:null}):this.update({highlightedId:null,highlightSource:null})}applyAutoHighlight(){if(!this.state.open)return;let e=this.context.autoHighlightFirst;e===!0?this.highlightFirstItem():typeof e=="string"&&this.highlightItemByValue(e)}highlightItemByValue(e){let t=this.getVisibleItemIds(),r=null;t.includes(e)?r=e:t.length>0&&t[0]&&(r=t[0]),this.update({highlightedId:r,highlightSource:null}),r&&requestAnimationFrame(()=>{this.scrollItemIntoView(r)})}isFilterDisabled(){return this.context.filter===!1}getVisibleItemIds(){let e=[],t=this.state.normalizedSearch,r=this.state.filteredItems,o=this.context.virtualItems,a=this.context.orderedItems;if(this.state.virtualized&&o.length>0){for(let s of o){let l=r.get(s.value)??0;(t.length===0||l>0)&&!s.disabled&&e.push(s.value)}return e}if(this.context.filter===!1&&a.length>0){let s=[];for(let l of a){let d=this.context.items.get(l);d&&!d.disabled?e.push(l):d||s.push(l)}if(process.env.NODE_ENV!=="production"&&s.length>0&&e.length>0)for(let l of s)console.warn(`[ListboxStore] Item "${l}" is in orderedItems but not registered. This may cause keyboard navigation to skip this item. Make sure the render function passes the \`id\` prop: <Item {...props}>...</Item>`);return e}return this.context.items.forEach((s,l)=>{let d=r.get(l)??0;(t.length===0||d>0)&&!s.disabled&&e.push(l)}),e}getVisibleItemIndex(e){return this.getVisibleItemIds().indexOf(e)}getVirtualItemIndex(e){return this.state.virtualized?this.context.virtualItems.findIndex(t=>t.value===e):-1}validateHighlight(e={}){let{forceFirst:t=!1,filteredItems:r=this.state.filteredItems,newSearch:o,prevSearch:a}=e,s=a!==void 0?a:this.state.normalizedSearch,l=o!==void 0?o:s,d=o!==void 0&&o!==s;if(!this.state.open||!this.context.autoHighlightFirst)return this.state.highlightedId;let c=this.state.highlightedId,{filter:f}=this.context,g=t||d,R=!1;if(c&&!g){let m=r.get(c)??0,u=l.length===0||f===!1||m>0,i=this.context.items.get(c),x=this.context.virtualItems.find(p=>p.value===c),h=i?.disabled??x?.disabled??!1,C=this.state.virtualized||i!==void 0,w=!this.state.virtualized||this.context.virtualItems.length===0||x!==void 0;R=u&&!h&&C&&w}if(R)return c;let S=null;if(this.state.virtualized&&this.context.virtualItems.length>0)for(let m of this.context.virtualItems){let u=r.get(m.value)??0;if((l.length===0||f===!1||u>0)&&!m.disabled){S=m.value;break}}else if(f===!1&&this.context.orderedItems.length>0)for(let m of this.context.orderedItems){let u=this.context.items.get(m);if(u&&!u.disabled){S=m;break}}else for(let[m,u]of this.context.items){let i=r.get(m)??0;if((l.length===0||i>0)&&!u.disabled){S=m;break}}return S!==c&&this.update({highlightedId:S,highlightSource:null}),S}recomputeFilteredItems(e){let{filter:t}=this.context,r=this.state.normalizedSearch,o=this.context.items,a=this.context.groups,s=new Map,l=new Set,d=0;if(!r||t===!1){if(this.state.virtualized&&this.context.virtualItems.length>0)for(let f of this.context.virtualItems)s.set(f.value,1),d++;else o.forEach((f,g)=>{s.set(g,1),d++});a.forEach((f,g)=>{l.add(g)})}else{let f=t||D;o.forEach((g,R)=>{let S=f(g.value,r,g.keywords),m=g.forceScore??S;s.set(R,m),m>0&&(d++,g.groupId&&l.add(g.groupId))})}if(t===!1){this.update({filteredItems:s,visibleGroups:l,filteredCount:d,filterTrigger:this.state.filterTrigger+1});return}let c=this.validateHighlight({filteredItems:s,newSearch:r,prevSearch:e});this.update({filteredItems:s,visibleGroups:l,filteredCount:d,filterTrigger:this.state.filterTrigger+1,highlightedId:c,highlightSource:null})}static useStore(e,t,r){return xt(()=>e??new n(t,r)).current}};function It(){return{open:!1,openProp:void 0,openMethod:null,search:"",searchProp:void 0,normalizedSearch:"",highlightedId:null,highlightSource:null,hasInput:!1,inputActive:!1,pendingSearch:"",filteredItems:new Map,visibleGroups:new Set,filteredCount:0,filterTrigger:0,virtualized:!1,virtualItemsCount:0}}export{M as a,le as b,Gt as c,ie as d,G as e,_ as f,we as g,Oe as h,U as i,j,Me as k,W as l,Pe as m,B as n,q as o,$ as p,Le as q,k as r,ke as s,He as t,Ae as u,ze as v,D as w,pt as x,Z as y};
|
|
2
|
+
//# sourceMappingURL=chunk-ZPRKUVIC.js.map
|