lizaui 12.0.21 → 12.0.23
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/autocomplete/index.cjs.js +1 -1
- package/dist/autocomplete/index.cjs.js.map +1 -1
- package/dist/autocomplete/index.es.js +1 -1
- package/dist/autocomplete/index.es.js.map +1 -1
- package/dist/calendar/index.cjs.js.map +1 -1
- package/dist/calendar/index.es.js.map +1 -1
- package/dist/chunks/BaseCollection-CdxYWaH6.js.map +1 -1
- package/dist/chunks/BaseCollection-DxI8p0cP.js.map +1 -1
- package/dist/chunks/Button-Bumy9bze.js.map +1 -1
- package/dist/chunks/Button-CFYOfByw.js.map +1 -1
- package/dist/chunks/FocusScope-4TdD5fCA.js.map +1 -1
- package/dist/chunks/FocusScope-jSNMAXzg.js.map +1 -1
- package/dist/chunks/Hidden-BY45Dc0j.js.map +1 -1
- package/dist/chunks/Hidden-C55DpjMP.js.map +1 -1
- package/dist/chunks/I18nProvider-BUfkOEhQ.js.map +1 -1
- package/dist/chunks/I18nProvider-Coj9x7B8.js.map +1 -1
- package/dist/chunks/ProgressBar-542C1mif.js.map +1 -1
- package/dist/chunks/ProgressBar-BiKRsJ8m.js.map +1 -1
- package/dist/chunks/SharedElementTransition-BSCoaphV.js.map +1 -1
- package/dist/chunks/SharedElementTransition-CJVe1D_I.js.map +1 -1
- package/dist/chunks/VisuallyHidden-CTe1-RoI.js.map +1 -1
- package/dist/chunks/VisuallyHidden-DPJuOMsW.js.map +1 -1
- package/dist/chunks/chevron-right-Bfa8mqfk.js.map +1 -1
- package/dist/chunks/chevron-right-D57wjjUp.js.map +1 -1
- package/dist/chunks/chevron-up-D8XaBFJG.js.map +1 -1
- package/dist/chunks/chevron-up-Diak1VOI.js.map +1 -1
- package/dist/chunks/chevrons-up-down-BEtKEloL.js.map +1 -1
- package/dist/chunks/chevrons-up-down-Cu7ozFlE.js.map +1 -1
- package/dist/chunks/createLucideIcon-C6RDgWrQ.js.map +1 -1
- package/dist/chunks/createLucideIcon-DvjiV7vp.js.map +1 -1
- package/dist/chunks/filterDOMProps-DqJGvnmf.js.map +1 -1
- package/dist/chunks/filterDOMProps-JgzPXl3Q.js.map +1 -1
- package/dist/chunks/focusSafely-CKxVSn6H.js.map +1 -1
- package/dist/chunks/focusSafely-DfEgLKh6.js.map +1 -1
- package/dist/chunks/index-CULZAuw9.js.map +1 -1
- package/dist/chunks/index-DvmTR3H_.js.map +1 -1
- package/dist/chunks/mergeRefs-Y9oG13yB.js.map +1 -1
- package/dist/chunks/mergeRefs-t6d4XvXq.js.map +1 -1
- package/dist/chunks/number-CYgYWykt.js.map +1 -1
- package/dist/chunks/number-DDpsLN2d.js.map +1 -1
- package/dist/chunks/radio-group-BwXvYzSm.js.map +1 -1
- package/dist/chunks/radio-group-hO2beGF6.js.map +1 -1
- package/dist/chunks/scroll-area-TppWtXwO.js.map +1 -1
- package/dist/chunks/scroll-area-W95K6hNR.js.map +1 -1
- package/dist/chunks/{textarea-8fv2j5Lo.js → textarea-C-0g_4r4.js} +1119 -1002
- package/dist/chunks/textarea-C-0g_4r4.js.map +1 -0
- package/dist/chunks/{textarea-DNdGuFw8.js → textarea-DUJqX13u.js} +1120 -1003
- package/dist/chunks/textarea-DUJqX13u.js.map +1 -0
- package/dist/chunks/useFormReset-BYRGk5vb.js.map +1 -1
- package/dist/chunks/useFormReset-Bgv2ktIE.js.map +1 -1
- package/dist/chunks/{useHasTabbableChild-kl2T5gEX.js → useHasTabbableChild-3an_bW0u.js} +2 -2
- package/dist/chunks/useHasTabbableChild-3an_bW0u.js.map +1 -0
- package/dist/chunks/{useHasTabbableChild-CSJ0P5QT.js → useHasTabbableChild-PNwltE9y.js} +2 -2
- package/dist/chunks/useHasTabbableChild-PNwltE9y.js.map +1 -0
- package/dist/chunks/useHover-BHCSbkLb.js.map +1 -1
- package/dist/chunks/useHover-D9f9xyxz.js.map +1 -1
- package/dist/chunks/useLabel-CzhH-Tov.js.map +1 -1
- package/dist/chunks/useLabel-YLbDMN-c.js.map +1 -1
- package/dist/chunks/useLabels-BiXnWBSL.js.map +1 -1
- package/dist/chunks/useLabels-Bl0mJafM.js.map +1 -1
- package/dist/chunks/useMove-DeuS9PRx.js.map +1 -1
- package/dist/chunks/useMove-Xpbmb6OD.js.map +1 -1
- package/dist/chunks/usePress-Arf10jW0.js.map +1 -1
- package/dist/chunks/usePress-B1yQk_p8.js.map +1 -1
- package/dist/chunks/useProgressBar-BsO-Q5JP.js.map +1 -1
- package/dist/chunks/useProgressBar-d2k0k8r0.js.map +1 -1
- package/dist/chunks/useSlot-CFaaZeQE.js.map +1 -1
- package/dist/chunks/useSlot-TNtJf1z8.js.map +1 -1
- package/dist/chunks/utils-BCEhcDlv.js.map +1 -1
- package/dist/chunks/utils-DvHk9ofL.js.map +1 -1
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/data-table/index.cjs.js +1 -1
- package/dist/data-table/index.cjs.js.map +1 -1
- package/dist/data-table/index.es.js +1 -1
- package/dist/data-table/index.es.js.map +1 -1
- package/dist/form-tabs/index.cjs.js.map +1 -1
- package/dist/form-tabs/index.es.js.map +1 -1
- package/dist/lizaui.css +9 -9
- package/dist/meter/index.cjs.js.map +1 -1
- package/dist/meter/index.es.js.map +1 -1
- package/dist/pagination/index.cjs.js +1 -1
- package/dist/pagination/index.es.js +1 -1
- package/dist/slider/index.cjs.js.map +1 -1
- package/dist/slider/index.es.js.map +1 -1
- package/dist/tabs/index.cjs.js +1 -1
- package/dist/tabs/index.cjs.js.map +1 -1
- package/dist/tabs/index.es.js +1 -1
- package/dist/tabs/index.es.js.map +1 -1
- package/dist/time-input/index.cjs.js +1 -1
- package/dist/time-input/index.es.js +1 -1
- package/dist/toggle-switch/index.cjs.js.map +1 -1
- package/dist/toggle-switch/index.es.js.map +1 -1
- package/dist/toolbar/index.cjs.js.map +1 -1
- package/dist/toolbar/index.es.js.map +1 -1
- package/dist/travel-calendar/index.cjs.js +1 -1
- package/dist/travel-calendar/index.es.js +1 -1
- package/dist/ui/index.cjs.js +94 -420
- package/dist/ui/index.cjs.js.map +1 -1
- package/dist/ui/index.es.js +96 -422
- package/dist/ui/index.es.js.map +1 -1
- package/package.json +31 -31
- package/dist/chunks/textarea-8fv2j5Lo.js.map +0 -1
- package/dist/chunks/textarea-DNdGuFw8.js.map +0 -1
- package/dist/chunks/useHasTabbableChild-CSJ0P5QT.js.map +0 -1
- package/dist/chunks/useHasTabbableChild-kl2T5gEX.js.map +0 -1
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHasTabbableChild-3an_bW0u.js","sources":["../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/constants.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/focus/virtualFocus.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/keyboard.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/useEvent.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/collections/Document.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/collections/useCachedChildren.mjs","../../node_modules/.pnpm/use-sync-external-store@1.7.0_react@19.3.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/.pnpm/use-sync-external-store@1.7.0_react@19.3.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../node_modules/.pnpm/use-sync-external-store@1.7.0_react@19.3.0/node_modules/use-sync-external-store/shim/index.js","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/collections/CollectionBuilder.mjs","../../node_modules/.pnpm/react-aria-components@1.22.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria-components/dist/private/Collection.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/isScrollable.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/getScrollParents.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/scrollIntoView.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/useDescription.mjs","../../node_modules/.pnpm/react-aria-components@1.22.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria-components/dist/private/SelectionIndicator.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/selection/utils.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/selection/useTypeSelect.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/useUpdateLayoutEffect.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/selection/useSelectableCollection.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/interactions/useLongPress.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/selection/useSelectableItem.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/collections/getChildNodes.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/inertValue.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/selection/Selection.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/selection/useMultipleSelectionState.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/selection/SelectionManager.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/collections/CollectionBuilder.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/collections/useCollection.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/focus/useHasTabbableChild.mjs"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Custom event names for updating the autocomplete's aria-activedecendant.\nconst $8b2399d051d06d4c$export$447a38995de2c711 = 'react-aria-clear-focus';\nconst $8b2399d051d06d4c$export$831c820ad60f9d12 = 'react-aria-focus';\n\n\nexport {$8b2399d051d06d4c$export$447a38995de2c711 as CLEAR_FOCUS_EVENT, $8b2399d051d06d4c$export$831c820ad60f9d12 as FOCUS_EVENT};\n//# sourceMappingURL=constants.mjs.map\n","import {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\n\n\n\nfunction $b72f3f7b3b5f42c6$export$76e4e37e5339496d(to) {\n let from = $b72f3f7b3b5f42c6$export$759df0d867455a91((0, $d447af545b77c9f1$export$b204af158042fbac)(to));\n if (from !== to) {\n if (from) $b72f3f7b3b5f42c6$export$6c5dc7e81d2cc29a(from, to);\n if (to) $b72f3f7b3b5f42c6$export$2b35b76d2e30e129(to, from);\n }\n}\nfunction $b72f3f7b3b5f42c6$export$6c5dc7e81d2cc29a(from, to) {\n from.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: to\n }));\n from.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: to\n }));\n}\nfunction $b72f3f7b3b5f42c6$export$2b35b76d2e30e129(to, from) {\n to.dispatchEvent(new FocusEvent('focus', {\n relatedTarget: from\n }));\n to.dispatchEvent(new FocusEvent('focusin', {\n bubbles: true,\n relatedTarget: from\n }));\n}\nfunction $b72f3f7b3b5f42c6$export$759df0d867455a91(document) {\n let activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(document);\n let activeDescendant = activeElement?.getAttribute('aria-activedescendant');\n if (activeDescendant) return document.getElementById(activeDescendant) || activeElement;\n return activeElement;\n}\n\n\nexport {$b72f3f7b3b5f42c6$export$76e4e37e5339496d as moveVirtualFocus, $b72f3f7b3b5f42c6$export$759df0d867455a91 as getVirtuallyFocusedElement, $b72f3f7b3b5f42c6$export$6c5dc7e81d2cc29a as dispatchVirtualBlur, $b72f3f7b3b5f42c6$export$2b35b76d2e30e129 as dispatchVirtualFocus};\n//# sourceMappingURL=virtualFocus.mjs.map\n","import {addEvent as $d447af545b77c9f1$export$f531f92e2a15358f} from \"./domHelpers.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"./shadowdom/DOMFunctions.mjs\";\nimport {getMetaValue as $7096878c21af5e66$export$a929f3f93e2cc67e} from \"./getMetaValue.mjs\";\nimport {isAndroid as $2add3ce32c6007eb$export$a11b0059900ceec8, isMac as $2add3ce32c6007eb$export$9ac100e40613ea10, isWebKit as $2add3ce32c6007eb$export$78551043582a6a98} from \"./platform.mjs\";\nimport {isFocusable as $3b8b240c1bf84ab9$export$4c063cf1350e6fed} from \"./isFocusable.mjs\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $bb39c0fc1c19b34c$var$KEYBOARD_HEIGHT = 100;\nconst $bb39c0fc1c19b34c$var$KEYBOARD_TIMEOUT = 600;\n// Tracks layout state of the on-screen keyboard.\nconst $bb39c0fc1c19b34c$var$state = {\n isOpen: false,\n screenWidth: 0,\n screenHeight: 0,\n screenAngle: 0,\n screenTimeout: 0,\n startTimeStamp: 0,\n endTimeStamp: 0,\n resizeTimeStamp: 0,\n resizeTimeout: 0\n};\n// HTML input types that do not cause the software keyboard to appear.\nconst $bb39c0fc1c19b34c$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\nif (process.env.NODE_ENV === 'test' && typeof window !== 'undefined' && !Reflect.has(window, 'visualViewport')) {\n const visualViewport = Object.assign(new EventTarget(), {\n offsetTop: 0,\n offsetLeft: 0,\n pageTop: 0,\n pageLeft: 0,\n scale: 1\n });\n Reflect.defineProperty(visualViewport, 'width', {\n get: ()=>window.innerWidth,\n configurable: true\n });\n Reflect.defineProperty(visualViewport, 'height', {\n get: ()=>window.innerHeight,\n configurable: true\n });\n Reflect.defineProperty(window, 'visualViewport', {\n value: visualViewport,\n configurable: true,\n writable: true\n });\n}\nif (process.env.NODE_ENV === 'test' && typeof window !== 'undefined' && !Reflect.has(window.screen, 'orientation')) {\n const orientation = Object.assign(new EventTarget(), {\n type: 'landscape-primary'\n });\n Reflect.defineProperty(window.screen, 'orientation', {\n value: orientation,\n configurable: true,\n writable: true\n });\n Reflect.defineProperty(window.screen.orientation, 'angle', {\n get: ()=>window.orientation ?? 0,\n configurable: true\n });\n}\nfunction $bb39c0fc1c19b34c$var$getTouchScreen() {\n // Normalize the screen by any scaling to get the layout coordinate space.\n let screenWidth = Number(window.visualViewport?.width ?? window.innerWidth);\n let screenHeight = Number(window.visualViewport?.height ?? window.innerHeight);\n let visualScale = Number(window.visualViewport?.scale ?? 1);\n return {\n width: screenWidth * visualScale,\n height: screenHeight * visualScale,\n angle: window.screen.orientation?.angle ?? 0\n };\n}\nfunction $bb39c0fc1c19b34c$var$onResizeStart(e) {\n // So we don't constantly call clearTimeout and setTimeout, keep track of the\n // current timeout time and only reschedule the timer when it is getting close.\n if ($bb39c0fc1c19b34c$var$state.resizeTimeStamp <= e.timeStamp + 50) {\n $bb39c0fc1c19b34c$var$state.resizeTimeStamp = e.timeStamp + 150;\n window.clearTimeout($bb39c0fc1c19b34c$var$state.resizeTimeout);\n $bb39c0fc1c19b34c$var$state.resizeTimeout = window.setTimeout($bb39c0fc1c19b34c$var$onResizeEnd, 150);\n }\n}\nfunction $bb39c0fc1c19b34c$var$onResizeEnd() {\n let viewportMeta = (0, $7096878c21af5e66$export$a929f3f93e2cc67e)('viewport');\n // Overlaying keyboards do not impact geometry, so there is nothing to measure.\n // https://caniuse.com/mdn-html_elements_meta_name_viewport_interactive-widget\n if ((0, $2add3ce32c6007eb$export$a11b0059900ceec8)() && viewportMeta?.includes('overlays-content')) return;\n let time = performance.now();\n let screen = $bb39c0fc1c19b34c$var$getTouchScreen();\n let elapsed = time - $bb39c0fc1c19b34c$var$state.startTimeStamp;\n let delta = $bb39c0fc1c19b34c$var$state.screenHeight - screen.height;\n let rotation = $bb39c0fc1c19b34c$var$state.screenAngle - screen.angle;\n // Update the screen once an open keyboard that rotated along closes. The state swap was\n // deferred, so the old width predicts the height it should close towards.\n if (Math.abs(rotation) % 180 && $bb39c0fc1c19b34c$var$state.screenWidth - screen.height < $bb39c0fc1c19b34c$var$KEYBOARD_HEIGHT) {\n $bb39c0fc1c19b34c$var$state.screenWidth = screen.width;\n $bb39c0fc1c19b34c$var$state.screenHeight = screen.height;\n $bb39c0fc1c19b34c$var$state.screenAngle = screen.angle;\n delta = 0;\n }\n // Update the screen if a resize happens outside the capture timeframe. We debounce\n // because WebKit may fire its single opening resize before the focus event.\n if (elapsed > $bb39c0fc1c19b34c$var$KEYBOARD_TIMEOUT) {\n window.clearTimeout($bb39c0fc1c19b34c$var$state.screenTimeout);\n $bb39c0fc1c19b34c$var$state.screenTimeout = window.setTimeout(()=>{\n let activeElement = document.hasFocus() ? (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)() : null;\n let willKeyboardOpen = $bb39c0fc1c19b34c$export$c57958e35f31ed73(activeElement);\n let screen = $bb39c0fc1c19b34c$var$getTouchScreen();\n if (Math.abs($bb39c0fc1c19b34c$var$state.screenAngle - screen.angle) % 180) return;\n if ($bb39c0fc1c19b34c$var$state.isOpen && willKeyboardOpen) return;\n $bb39c0fc1c19b34c$var$state.screenWidth = screen.width;\n $bb39c0fc1c19b34c$var$state.screenHeight = screen.height;\n $bb39c0fc1c19b34c$var$state.screenAngle = screen.angle;\n $bb39c0fc1c19b34c$var$state.isOpen = false;\n }, $bb39c0fc1c19b34c$var$KEYBOARD_TIMEOUT);\n }\n // Otherwise, record an opening if the height changed by more than our threshold.\n // This may fail if the layout viewport changes for other reasons during this timeframe.\n if (elapsed <= $bb39c0fc1c19b34c$var$KEYBOARD_TIMEOUT && delta >= $bb39c0fc1c19b34c$var$KEYBOARD_HEIGHT) $bb39c0fc1c19b34c$var$state.endTimeStamp = time;\n // Store the new open state since the viewport is stable when this is reached.\n $bb39c0fc1c19b34c$var$state.isOpen = delta >= $bb39c0fc1c19b34c$var$KEYBOARD_HEIGHT;\n}\nfunction $bb39c0fc1c19b34c$var$onOrientationChange() {\n let screen = $bb39c0fc1c19b34c$var$getTouchScreen();\n let rotation = $bb39c0fc1c19b34c$var$state.screenAngle - screen.angle;\n // Rotation may cause the resize buffer to be filled, but we need to make sure a screen\n // estimate is already available in case focus lands before it expires. This could fail\n // if a top bar exceeds the keyboard threshold, in which case we may need to revisit.\n if (Math.abs(rotation) % 180 && !$bb39c0fc1c19b34c$var$state.isOpen) {\n let width = $bb39c0fc1c19b34c$var$state.screenWidth;\n let height = $bb39c0fc1c19b34c$var$state.screenHeight;\n $bb39c0fc1c19b34c$var$state.screenWidth = height;\n $bb39c0fc1c19b34c$var$state.screenHeight = width;\n }\n if (!$bb39c0fc1c19b34c$var$state.isOpen) $bb39c0fc1c19b34c$var$state.screenAngle = screen.angle;\n}\nfunction $bb39c0fc1c19b34c$var$onFocus(e) {\n let target = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n let willKeyboardOpen = $bb39c0fc1c19b34c$export$c57958e35f31ed73(target);\n let time = performance.now();\n let screen = $bb39c0fc1c19b34c$var$getTouchScreen();\n let delta = $bb39c0fc1c19b34c$var$state.screenHeight - screen.height;\n // Update the screen and start the timer if we are about to open.\n if (delta < $bb39c0fc1c19b34c$var$KEYBOARD_HEIGHT && willKeyboardOpen) {\n $bb39c0fc1c19b34c$var$state.screenWidth = screen.width;\n $bb39c0fc1c19b34c$var$state.screenHeight = screen.height;\n $bb39c0fc1c19b34c$var$state.screenAngle = screen.angle;\n $bb39c0fc1c19b34c$var$state.startTimeStamp = time;\n }\n // This focus will open a keyboard so reset the buffer.\n if (willKeyboardOpen) window.clearTimeout($bb39c0fc1c19b34c$var$state.screenTimeout);\n // Stop the timer if the keyboard is already open.\n if (delta >= $bb39c0fc1c19b34c$var$KEYBOARD_HEIGHT && willKeyboardOpen) $bb39c0fc1c19b34c$var$state.endTimeStamp = time;\n}\nfunction $bb39c0fc1c19b34c$var$setupGlobalEvents() {\n let screen = $bb39c0fc1c19b34c$var$getTouchScreen();\n // WebKit only fires a single event per resize.\n (0, $d447af545b77c9f1$export$f531f92e2a15358f)(window.visualViewport, 'resize', (0, $2add3ce32c6007eb$export$78551043582a6a98)() ? $bb39c0fc1c19b34c$var$onResizeEnd : $bb39c0fc1c19b34c$var$onResizeStart);\n // oxlint-disable-next-line - looks like the lint for this is a little too aggressive\n (0, $d447af545b77c9f1$export$f531f92e2a15358f)(window.screen.orientation, 'change', $bb39c0fc1c19b34c$var$onOrientationChange);\n (0, $d447af545b77c9f1$export$f531f92e2a15358f)(window, 'focus', $bb39c0fc1c19b34c$var$onFocus, {\n capture: true,\n passive: true\n });\n // Store the initial screen dimensions.\n $bb39c0fc1c19b34c$var$state.screenWidth = screen.width;\n $bb39c0fc1c19b34c$var$state.screenHeight = screen.height;\n $bb39c0fc1c19b34c$var$state.screenAngle = screen.angle;\n}\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') $bb39c0fc1c19b34c$var$setupGlobalEvents();\n else (0, $d447af545b77c9f1$export$f531f92e2a15358f)(document, 'DOMContentLoaded', $bb39c0fc1c19b34c$var$setupGlobalEvents);\n}\nfunction $bb39c0fc1c19b34c$export$a986ed8aea890397() {\n let viewportMeta = (0, $7096878c21af5e66$export$a929f3f93e2cc67e)('viewport');\n // Overlaying keyboards do not impact geometry, so there is nothing to await.\n // https://caniuse.com/mdn-html_elements_meta_name_viewport_interactive-widget\n if ((0, $2add3ce32c6007eb$export$a11b0059900ceec8)() && viewportMeta?.includes('overlays-content')) return false;\n // WebKit may resize before focus, but an open keyboard always means we have support.\n if ($bb39c0fc1c19b34c$var$state.isOpen) return true;\n // As long as no input has ever been focused, we return default support.\n if (!$bb39c0fc1c19b34c$var$state.startTimeStamp) return window.navigator.maxTouchPoints > 0;\n // If keyboard geometry changed within the timeout period, we have support.\n if ($bb39c0fc1c19b34c$var$state.endTimeStamp >= $bb39c0fc1c19b34c$var$state.startTimeStamp) return true;\n // If a geometry change is mid-flight we return the most recent support.\n // Supported platforms may have a hardware keyboard, which this won't catch, but thats\n // about as far as we can reasonably go to exclude non-touch devices.\n return performance.now() - $bb39c0fc1c19b34c$var$state.startTimeStamp <= $bb39c0fc1c19b34c$var$KEYBOARD_TIMEOUT ? $bb39c0fc1c19b34c$var$state.endTimeStamp > 0 || window.navigator.maxTouchPoints > 0 : false;\n}\nfunction $bb39c0fc1c19b34c$export$c57958e35f31ed73(target) {\n if (!(target instanceof Element) || !(0, $3b8b240c1bf84ab9$export$4c063cf1350e6fed)(target)) return false;\n let isTextArea = target instanceof HTMLTextAreaElement;\n let isEditable = target instanceof HTMLElement && target.isContentEditable;\n let isTextInput = target instanceof HTMLInputElement && !$bb39c0fc1c19b34c$var$nonTextInputTypes.has(target.type);\n return isTextArea || isEditable || isTextInput;\n}\nfunction $bb39c0fc1c19b34c$export$16792effe837dba3(event) {\n return (0, $2add3ce32c6007eb$export$9ac100e40613ea10)() ? event.metaKey : event.ctrlKey;\n}\nfunction $bb39c0fc1c19b34c$export$b1f1c83775b8b5f7() {\n return $bb39c0fc1c19b34c$var$state.isOpen;\n}\n\n\nexport {$bb39c0fc1c19b34c$export$c57958e35f31ed73 as willOpenKeyboard, $bb39c0fc1c19b34c$export$a986ed8aea890397 as supportsKeyboard, $bb39c0fc1c19b34c$export$16792effe837dba3 as isCtrlKeyPressed, $bb39c0fc1c19b34c$export$b1f1c83775b8b5f7 as isKeyboardOpen};\n//# sourceMappingURL=keyboard.mjs.map\n","import {addEvent as $d447af545b77c9f1$export$f531f92e2a15358f} from \"./domHelpers.mjs\";\nimport {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"./useEffectEvent.mjs\";\nimport {useEffect as $jBdOV$useEffect} from \"react\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $600b3cf69ae46262$export$90fc3a17d93f704c(ref, event, listener, options) {\n let handleEvent = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(listener);\n let isDisabled = listener == null;\n (0, $jBdOV$useEffect)(()=>{\n if (isDisabled || ref.current == null) return;\n return (0, $d447af545b77c9f1$export$f531f92e2a15358f)(ref.current, event, handleEvent, options);\n }, [\n ref,\n event,\n options,\n isDisabled\n ]);\n}\n\n\nexport {$600b3cf69ae46262$export$90fc3a17d93f704c as useEvent};\n//# sourceMappingURL=useEvent.mjs.map\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $96ead35620b8fd36$export$410b0c854570d131 {\n constructor(ownerDocument){\n this._firstChild = null;\n this._lastChild = null;\n this._previousSibling = null;\n this._nextSibling = null;\n this._parentNode = null;\n this._minInvalidChildIndex = null;\n this.ownerDocument = ownerDocument;\n }\n *[Symbol.iterator]() {\n let node = this.firstChild;\n while(node){\n yield node;\n node = node.nextSibling;\n }\n }\n get firstChild() {\n return this._firstChild;\n }\n set firstChild(firstChild) {\n this._firstChild = firstChild;\n this.ownerDocument.markDirty(this);\n }\n get lastChild() {\n return this._lastChild;\n }\n set lastChild(lastChild) {\n this._lastChild = lastChild;\n this.ownerDocument.markDirty(this);\n }\n get previousSibling() {\n return this._previousSibling;\n }\n set previousSibling(previousSibling) {\n this._previousSibling = previousSibling;\n this.ownerDocument.markDirty(this);\n }\n get nextSibling() {\n return this._nextSibling;\n }\n set nextSibling(nextSibling) {\n this._nextSibling = nextSibling;\n this.ownerDocument.markDirty(this);\n }\n get parentNode() {\n return this._parentNode;\n }\n set parentNode(parentNode) {\n this._parentNode = parentNode;\n this.ownerDocument.markDirty(this);\n }\n get isConnected() {\n return this.parentNode?.isConnected || false;\n }\n invalidateChildIndices(child) {\n if (this._minInvalidChildIndex == null || !this._minInvalidChildIndex.isConnected || child.index < this._minInvalidChildIndex.index) {\n this._minInvalidChildIndex = child;\n this.ownerDocument.markDirty(this);\n }\n }\n updateChildIndices() {\n let node = this._minInvalidChildIndex;\n while(node){\n node.index = node.previousSibling ? node.previousSibling.index + 1 : 0;\n node = node.nextSibling;\n }\n this._minInvalidChildIndex = null;\n }\n appendChild(child) {\n if (child.parentNode) child.parentNode.removeChild(child);\n if (this.firstChild == null) this.firstChild = child;\n if (this.lastChild) {\n this.lastChild.nextSibling = child;\n child.index = this.lastChild.index + 1;\n child.previousSibling = this.lastChild;\n } else {\n child.previousSibling = null;\n child.index = 0;\n }\n child.parentNode = this;\n child.nextSibling = null;\n this.lastChild = child;\n this.ownerDocument.markDirty(this);\n if (this.isConnected) this.ownerDocument.queueUpdate();\n }\n insertBefore(newNode, referenceNode) {\n if (referenceNode == null) return this.appendChild(newNode);\n if (newNode.parentNode) newNode.parentNode.removeChild(newNode);\n newNode.nextSibling = referenceNode;\n newNode.previousSibling = referenceNode.previousSibling;\n // Ensure that the newNode's index is less than that of the reference node so that\n // invalidateChildIndices will properly use the newNode as the _minInvalidChildIndex, thus making sure\n // we will properly update the indexes of all sibiling nodes after the newNode. The value here doesn't matter\n // since updateChildIndices should calculate the proper indexes.\n newNode.index = referenceNode.index - 1;\n if (this.firstChild === referenceNode) this.firstChild = newNode;\n else if (referenceNode.previousSibling) referenceNode.previousSibling.nextSibling = newNode;\n referenceNode.previousSibling = newNode;\n newNode.parentNode = referenceNode.parentNode;\n this.invalidateChildIndices(newNode);\n if (this.isConnected) this.ownerDocument.queueUpdate();\n }\n removeChild(child) {\n if (child.parentNode !== this) return;\n if (this._minInvalidChildIndex === child) this._minInvalidChildIndex = null;\n if (child.nextSibling) {\n this.invalidateChildIndices(child.nextSibling);\n child.nextSibling.previousSibling = child.previousSibling;\n }\n if (child.previousSibling) child.previousSibling.nextSibling = child.nextSibling;\n if (this.firstChild === child) this.firstChild = child.nextSibling;\n if (this.lastChild === child) this.lastChild = child.previousSibling;\n child.parentNode = null;\n child.nextSibling = null;\n child.previousSibling = null;\n child.index = 0;\n this.ownerDocument.markDirty(child);\n if (this.isConnected) this.ownerDocument.queueUpdate();\n }\n addEventListener() {}\n removeEventListener() {}\n get previousVisibleSibling() {\n let node = this.previousSibling;\n while(node && node.isHidden)node = node.previousSibling;\n return node;\n }\n get nextVisibleSibling() {\n let node = this.nextSibling;\n while(node && node.isHidden)node = node.nextSibling;\n return node;\n }\n get firstVisibleChild() {\n let node = this.firstChild;\n while(node && node.isHidden)node = node.nextSibling;\n return node;\n }\n get lastVisibleChild() {\n let node = this.lastChild;\n while(node && node.isHidden)node = node.previousSibling;\n return node;\n }\n}\nclass $96ead35620b8fd36$export$dc064fe9e59310fd extends $96ead35620b8fd36$export$410b0c854570d131 {\n constructor(type, ownerDocument){\n super(ownerDocument), this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)\n , this.isMutated = true, this._index = 0, this.isHidden = false;\n this.node = null;\n }\n get index() {\n return this._index;\n }\n set index(index) {\n this._index = index;\n this.ownerDocument.markDirty(this);\n }\n get level() {\n if (this.parentNode instanceof $96ead35620b8fd36$export$dc064fe9e59310fd) return this.parentNode.level + (this.parentNode.node?.type === 'item' ? 1 : 0);\n return 0;\n }\n /**\n * Lazily gets a mutable instance of a Node. If the node has already\n * been cloned during this update cycle, it just returns the existing one.\n */ getMutableNode() {\n if (this.node == null) return null;\n if (!this.isMutated) {\n this.node = this.node.clone();\n this.isMutated = true;\n }\n this.ownerDocument.markDirty(this);\n return this.node;\n }\n updateNode() {\n let nextSibling = this.nextVisibleSibling;\n let node = this.getMutableNode();\n if (node == null) return;\n node.index = this.index;\n node.level = this.level;\n node.parentKey = this.parentNode instanceof $96ead35620b8fd36$export$dc064fe9e59310fd ? this.parentNode.node?.key ?? null : null;\n node.prevKey = this.previousVisibleSibling?.node?.key ?? null;\n node.nextKey = nextSibling?.node?.key ?? null;\n node.hasChildNodes = !!this.firstChild;\n node.firstChildKey = this.firstVisibleChild?.node?.key ?? null;\n node.lastChildKey = this.lastVisibleChild?.node?.key ?? null;\n // Update the colIndex of sibling nodes if this node has a colSpan.\n if ((node.colSpan != null || node.colIndex != null) && nextSibling) {\n // This queues the next sibling for update, which means this happens recursively.\n let nextColIndex = (node.colIndex ?? node.index) + (node.colSpan ?? 1);\n if (nextSibling.node != null && nextColIndex !== nextSibling.node.colIndex) {\n let siblingNode = nextSibling.getMutableNode();\n siblingNode.colIndex = nextColIndex;\n }\n }\n }\n setProps(obj, ref, CollectionNodeClass, rendered, render) {\n let node;\n let { value: value1, textValue: textValue, id: id, ...props } = obj;\n if (this.node == null) {\n node = new CollectionNodeClass(id ?? `react-aria-${++this.ownerDocument.nodeId}`);\n this.node = node;\n } else node = this.getMutableNode();\n props.ref = ref;\n node.props = props;\n node.rendered = rendered;\n node.render = render;\n node.value = value1;\n if (obj['aria-label']) node['aria-label'] = obj['aria-label'];\n node.textValue = textValue || (typeof props.children === 'string' ? props.children : '') || obj['aria-label'] || '';\n if (id != null && id !== node.key) throw new Error('Cannot change the id of an item');\n if (props.colSpan != null) node.colSpan = props.colSpan;\n if (this.isConnected) this.ownerDocument.queueUpdate();\n }\n get style() {\n // React sets display: none to hide elements during Suspense.\n // We'll handle this by setting the element to hidden and invalidating\n // its siblings/parent. Hidden elements remain in the Document, but\n // are removed from the Collection.\n let element = this;\n return {\n get display () {\n return element.isHidden ? 'none' : '';\n },\n set display (value){\n let isHidden = value === 'none';\n if (element.isHidden !== isHidden) {\n // Mark parent node dirty if this element is currently the first or last visible child.\n if (element.parentNode?.firstVisibleChild === element || element.parentNode?.lastVisibleChild === element) element.ownerDocument.markDirty(element.parentNode);\n // Mark sibling visible elements dirty.\n let prev = element.previousVisibleSibling;\n let next = element.nextVisibleSibling;\n if (prev) element.ownerDocument.markDirty(prev);\n if (next) element.ownerDocument.markDirty(next);\n // Mark self dirty.\n element.isHidden = isHidden;\n element.ownerDocument.markDirty(element);\n }\n }\n };\n }\n hasAttribute() {}\n setAttribute() {}\n setAttributeNS() {}\n removeAttribute() {}\n}\nclass $96ead35620b8fd36$export$b34a105447964f9f extends $96ead35620b8fd36$export$410b0c854570d131 {\n constructor(collection){\n // @ts-ignore\n super(null), this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE\n , this.ownerDocument = this, this.dirtyNodes = new Set(), this.isSSR = false, this.nodeId = 0, this.nodesByProps = new WeakMap(), this.keyOwners = new Map(), this.nextCollection = null, this.subscriptions = new Set(), this.queuedRender = false, this.inSubscription = false;\n this.collection = collection;\n this.nextCollection = collection;\n }\n get isConnected() {\n return true;\n }\n createElement(type) {\n return new $96ead35620b8fd36$export$dc064fe9e59310fd(type, this);\n }\n getMutableCollection() {\n if (!this.nextCollection) this.nextCollection = this.collection.clone();\n return this.nextCollection;\n }\n markDirty(node) {\n this.dirtyNodes.add(node);\n }\n addNode(element) {\n if (element.isHidden || element.node == null) return;\n if (process.env.NODE_ENV !== 'production') {\n // Two elements with the same key would corrupt the linked list of sibling keys, which\n // silently drops items or makes key traversal loop forever. Removed and hidden elements\n // release their key in removeNode before any node is added, so a different owner here\n // is a live duplicate.\n let key = element.node.key;\n let owner = this.keyOwners.get(key);\n if (owner && owner !== element) throw new Error(`Duplicate key \"${String(key)}\" found in collection. Every item in a collection must have a unique key.`);\n this.keyOwners.set(key, element);\n }\n let collection = this.getMutableCollection();\n if (!collection.getItem(element.node.key)) for (let child of element)this.addNode(child);\n collection.addNode(element.node);\n }\n removeNode(node) {\n for (let child of node)this.removeNode(child);\n if (node.node) {\n let collection = this.getMutableCollection();\n collection.removeNode(node.node.key);\n if (process.env.NODE_ENV !== 'production' && this.keyOwners.get(node.node.key) === node) this.keyOwners.delete(node.node.key);\n }\n }\n /** Finalizes the collection update, updating all nodes and freezing the collection. */ getCollection() {\n // If in a subscription update, return return the existing collection.\n // React will call getCollection again during render, at which point all the updates will be complete.\n if (this.inSubscription) return this.collection;\n // Reset queuedRender to false when getCollection is called during render.\n this.queuedRender = false;\n this.updateCollection();\n return this.collection;\n }\n updateCollection() {\n // First, remove disconnected nodes and update the indices of dirty element children.\n for (let element of this.dirtyNodes)if (element instanceof $96ead35620b8fd36$export$dc064fe9e59310fd && (!element.isConnected || element.isHidden)) this.removeNode(element);\n else element.updateChildIndices();\n // Next, update dirty collection nodes.\n for (let element of this.dirtyNodes)if (element instanceof $96ead35620b8fd36$export$dc064fe9e59310fd) {\n if (element.isConnected && !element.isHidden) {\n element.updateNode();\n this.addNode(element);\n }\n if (element.node) this.dirtyNodes.delete(element);\n element.isMutated = false;\n } else this.dirtyNodes.delete(element);\n // Finally, update the collection.\n if (this.nextCollection) {\n this.nextCollection.commit(this.firstVisibleChild?.node?.key ?? null, this.lastVisibleChild?.node?.key ?? null, this.isSSR);\n if (!this.isSSR) {\n this.collection = this.nextCollection;\n this.nextCollection = null;\n }\n }\n }\n queueUpdate() {\n if (this.dirtyNodes.size === 0 || this.queuedRender) return;\n // Only trigger subscriptions once during an update, when the first item changes.\n // React's useSyncExternalStore will call getCollection immediately, to check whether the snapshot changed.\n // If so, React will queue a render to happen after the current commit to our fake DOM finishes.\n // We track whether getCollection is called in a subscription, and once it is called during render,\n // we reset queuedRender back to false.\n this.queuedRender = true;\n this.inSubscription = true;\n // Clone the collection to ensure that React queues a render. It will call getCollection again\n // during render, at which point all the updates will be complete and we can return\n // the new collection.\n if (!this.isSSR) this.collection = this.collection.clone();\n for (let fn of this.subscriptions)fn();\n this.inSubscription = false;\n }\n subscribe(fn) {\n this.subscriptions.add(fn);\n // Ensure that React reads the collection if we re-subscribe after updates were\n // already queued. When a hidden Activity is revealed, child nodes re-attach and call\n // queueUpdate before we can re-subscribe, so the notification is lost.\n if (this.queuedRender) fn();\n return ()=>this.subscriptions.delete(fn);\n }\n resetAfterSSR() {\n if (this.isSSR) {\n this.isSSR = false;\n this.firstChild = null;\n this.lastChild = null;\n this.nodeId = 0;\n this.keyOwners.clear();\n }\n }\n}\n\n\nexport {$96ead35620b8fd36$export$410b0c854570d131 as BaseNode, $96ead35620b8fd36$export$dc064fe9e59310fd as ElementNode, $96ead35620b8fd36$export$b34a105447964f9f as Document};\n//# sourceMappingURL=Document.mjs.map\n","import {useMemo as $2NO26$useMemo, cloneElement as $2NO26$cloneElement} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $a80bd3e9349588e7$export$727c8fc270210f13(props) {\n let { children: children, items: items, idScope: idScope, addIdAndValue: addIdAndValue, dependencies: dependencies = [] } = props;\n // In development, invalidate when the children function updates (e.g. HMR).\n let childrenString = (0, $2NO26$useMemo)(()=>process.env.NODE_ENV !== 'production' && typeof children === 'function' ? children.toString() : undefined, [\n children\n ]);\n // Invalidate the cache whenever dependencies change.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n // oxlint-disable-next-line react/react-compiler, react-hooks/exhaustive-deps\n let cache = (0, $2NO26$useMemo)(()=>new WeakMap(), [\n ...dependencies,\n childrenString\n ]);\n return (0, $2NO26$useMemo)(()=>{\n if (items && typeof children === 'function') {\n let res = [];\n for (let item of items){\n let cacheKey = $a80bd3e9349588e7$var$isWeakKey(item) ? item : null;\n let rendered = cacheKey ? cache.get(cacheKey) : null;\n if (!rendered) {\n rendered = children(item);\n // @ts-ignore\n let id = rendered.props.id ?? item?.key ?? item?.id;\n if (idScope != null && rendered.props.id == null && id != null) id = idScope + ':' + id;\n // If no id is inferred from data, use the index as the React key.\n // An id will be generated by the collection document.\n let key = id ?? res.length;\n // Note: only works if wrapped Item passes through id...\n rendered = (0, $2NO26$cloneElement)(rendered, addIdAndValue ? {\n key: key,\n id: id,\n value: item\n } : {\n key: key\n });\n if (cacheKey) cache.set(cacheKey, rendered);\n }\n res.push(rendered);\n }\n return res;\n } else if (typeof children !== 'function') return children;\n }, [\n children,\n items,\n cache,\n idScope,\n addIdAndValue\n ]);\n}\nfunction $a80bd3e9349588e7$var$isWeakKey(value) {\n switch(typeof value){\n case 'object':\n return value != null;\n case 'function':\n case 'symbol':\n return true;\n default:\n return false;\n }\n}\n\n\nexport {$a80bd3e9349588e7$export$727c8fc270210f13 as useCachedChildren};\n//# sourceMappingURL=useCachedChildren.mjs.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import {BaseCollection as $6f0c29017aeec335$export$408d25a4e12db025, CollectionNode as $6f0c29017aeec335$export$d68d59712b04d9d1} from \"./BaseCollection.mjs\";\nimport {Document as $96ead35620b8fd36$export$b34a105447964f9f} from \"./Document.mjs\";\nimport {useCachedChildren as $a80bd3e9349588e7$export$727c8fc270210f13} from \"./useCachedChildren.mjs\";\nimport {FocusableContext as $d1116acdf220c2da$export$f9762fab77588ecb} from \"../interactions/useFocusable.mjs\";\nimport {Hidden as $d7f64c32b702fe2c$export$8dc98ba7eadeaa56} from \"./Hidden.mjs\";\nimport {useIsSSR as $c7eafbbe1ea5834e$export$535bd6ca7f90a273} from \"../ssr/SSRProvider.mjs\";\nimport {createPortal as $kT5Ur$createPortal} from \"react-dom\";\nimport $kT5Ur$react, {createContext as $kT5Ur$createContext, useContext as $kT5Ur$useContext, useRef as $kT5Ur$useRef, useCallback as $kT5Ur$useCallback, useState as $kT5Ur$useState, forwardRef as $kT5Ur$forwardRef, useMemo as $kT5Ur$useMemo} from \"react\";\nimport {useSyncExternalStore as $kT5Ur$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\nconst $42ceafc619f9c3ba$var$ShallowRenderContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(false);\nconst $42ceafc619f9c3ba$var$CollectionDocumentContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$export$bf788dd355e3a401(props) {\n // If a document was provided above us, we're already in a hidden tree. Just render the content.\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n if (doc) // The React types prior to 18 did not allow returning ReactNode from components\n // even though the actual implementation since React 16 did.\n // We must return ReactElement so that TS does not complain that <CollectionBuilder>\n // is not a valid JSX element with React 16 and 17 types.\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20544\n return props.content;\n // Otherwise, render a hidden copy of the children so that we can build the collection before constructing the state.\n // This should always come before the real DOM content so we have built the collection by the time it renders during SSR.\n // This is fine. CollectionDocumentContext never changes after mounting.\n // oxlint-disable-next-line react/react-compiler, react-hooks/rules-of-hooks\n let { collection: collection, document: document } = $42ceafc619f9c3ba$var$useCollectionDocument(props.createCollection);\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $kT5Ur$react).Fragment, null, /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $d7f64c32b702fe2c$export$8dc98ba7eadeaa56), null, /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionDocumentContext.Provider, {\n value: document\n }, props.content)), /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionInner, {\n render: props.children,\n collection: collection\n }));\n}\nfunction $42ceafc619f9c3ba$var$CollectionInner({ collection: collection, render: render }) {\n return render(collection);\n}\n// React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot.\n// This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider).\nfunction $42ceafc619f9c3ba$var$useSyncExternalStoreFallback(subscribe, getSnapshot, getServerSnapshot) {\n let isSSR = (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)();\n let isSSRRef = (0, $kT5Ur$useRef)(isSSR);\n // This is read immediately inside the wrapper, which also runs during render.\n // We just need a ref to avoid invalidating the callback itself, which\n // would cause React to re-run the callback more than necessary.\n // eslint-disable-next-line rsp-rules/pure-render\n // oxlint-disable-next-line react/react-compiler, rsp-rules/pure-render\n isSSRRef.current = isSSR;\n let getSnapshotWrapper = (0, $kT5Ur$useCallback)(()=>{\n return isSSRRef.current ? getServerSnapshot() : getSnapshot();\n }, [\n getSnapshot,\n getServerSnapshot\n ]);\n return (0, $kT5Ur$useSyncExternalStore)(subscribe, getSnapshotWrapper);\n}\nconst $42ceafc619f9c3ba$var$useSyncExternalStore = typeof (0, $kT5Ur$react)['useSyncExternalStore'] === 'function' ? (0, $kT5Ur$react)['useSyncExternalStore'] : $42ceafc619f9c3ba$var$useSyncExternalStoreFallback;\nfunction $42ceafc619f9c3ba$var$useCollectionDocument(createCollection) {\n // The document instance is mutable, and should never change between renders.\n // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects.\n let [document] = (0, $kT5Ur$useState)(()=>new (0, $96ead35620b8fd36$export$b34a105447964f9f)(createCollection?.() || new (0, $6f0c29017aeec335$export$408d25a4e12db025)()));\n let subscribe = (0, $kT5Ur$useCallback)((fn)=>document.subscribe(fn), [\n document\n ]);\n let getSnapshot = (0, $kT5Ur$useCallback)(()=>{\n let collection = document.getCollection();\n if (document.isSSR) // After SSR is complete, reset the document to empty so it is ready for React to render the portal into.\n // We do this _after_ getting the collection above so that the collection still has content in it from SSR\n // during the current render, before React has finished the client render.\n document.resetAfterSSR();\n return collection;\n }, [\n document\n ]);\n let getServerSnapshot = (0, $kT5Ur$useCallback)(()=>{\n // oxlint-disable-next-line react/react-compiler\n document.isSSR = true;\n return document.getCollection();\n }, [\n document\n ]);\n let collection = $42ceafc619f9c3ba$var$useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return {\n collection: collection,\n document: document\n };\n}\nconst $42ceafc619f9c3ba$var$SSRContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$var$createCollectionNodeClass(type) {\n let NodeClass = class extends (0, $6f0c29017aeec335$export$d68d59712b04d9d1) {\n static{\n this.type = type;\n }\n };\n return NodeClass;\n}\nfunction $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, rendered, children, render) {\n // To prevent breaking change, if CollectionNodeClass is a string, create a CollectionNodeClass using the string as the type\n if (typeof CollectionNodeClass === 'string') // oxlint-disable-next-line react/react-compiler\n CollectionNodeClass = $42ceafc619f9c3ba$var$createCollectionNodeClass(CollectionNodeClass);\n // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext.\n // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render.\n // Therefore we can create elements in our collection document during render so that they are in the\n // collection by the time we need to use the collection to render to the real DOM.\n // After hydration, we switch to client rendering using the portal.\n let itemRef = (0, $kT5Ur$useCallback)((element)=>{\n element?.setProps(props, ref, CollectionNodeClass, rendered, render);\n }, [\n props,\n ref,\n rendered,\n render,\n CollectionNodeClass\n ]);\n let parentNode = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$SSRContext);\n if (parentNode) {\n // Guard against double rendering in strict mode.\n let element = parentNode.ownerDocument.nodesByProps.get(props);\n if (!element) {\n element = parentNode.ownerDocument.createElement(CollectionNodeClass.type);\n element.setProps(props, ref, CollectionNodeClass, rendered, render);\n parentNode.appendChild(element);\n parentNode.ownerDocument.updateCollection();\n parentNode.ownerDocument.nodesByProps.set(props, element);\n }\n return children ? /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$SSRContext.Provider, {\n value: element\n }, children) : null;\n }\n // @ts-ignore\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement(CollectionNodeClass.type, {\n ref: itemRef\n }, children);\n}\nfunction $42ceafc619f9c3ba$export$18af5c7a9e9b3664(CollectionNodeClass, render) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $kT5Ur$forwardRef)((props, ref)=>{\n let focusableProps = (0, $kT5Ur$useContext)((0, $d1116acdf220c2da$export$f9762fab77588ecb));\n let isShallow = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$ShallowRenderContext);\n if (!isShallow) {\n if (render.length >= 3) throw new Error(render.name + ' cannot be rendered outside a collection.');\n return render(props, ref);\n }\n return $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, 'children' in props ? props.children : null, null, (node)=>// Forward FocusableContext to real DOM tree so tooltips work.\n /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $d1116acdf220c2da$export$f9762fab77588ecb).Provider, {\n value: focusableProps\n }, /*#__PURE__*/ (0, $kT5Ur$react).createElement(Component, {\n node: node\n })));\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $42ceafc619f9c3ba$export$e953bb1cd0f19726(CollectionNodeClass, render, useChildren = $42ceafc619f9c3ba$var$useCollectionChildren) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $kT5Ur$forwardRef)((props, ref)=>{\n let children = useChildren(props);\n return $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, null, children, (node)=>/*#__PURE__*/ (0, $kT5Ur$react).createElement(Component, {\n node: node\n })) ?? /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $kT5Ur$react).Fragment, null);\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $42ceafc619f9c3ba$var$useCollectionChildren(options) {\n return (0, $a80bd3e9349588e7$export$727c8fc270210f13)({\n ...options,\n addIdAndValue: true\n });\n}\nconst $42ceafc619f9c3ba$var$CollectionContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$export$fb8073518f34e6ec(props) {\n let ctx = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionContext);\n let dependencies = (ctx?.dependencies || []).concat(props.dependencies);\n let idScope = props.idScope ?? ctx?.idScope;\n let children = $42ceafc619f9c3ba$var$useCollectionChildren({\n ...props,\n idScope: idScope,\n dependencies: dependencies\n });\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n if (doc) children = /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionRoot, null, children);\n // Propagate dependencies and idScope to child collections.\n ctx = (0, $kT5Ur$useMemo)(()=>({\n dependencies: // oxlint-disable-next-line react-hooks/exhaustive-deps\n dependencies,\n idScope: idScope\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n // oxlint-disable-next-line react/react-compiler, react-hooks/exhaustive-deps\n [\n idScope,\n ...dependencies\n ]);\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $42ceafc619f9c3ba$var$CollectionRoot({ children: children }) {\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n let wrappedChildren = (0, $kT5Ur$useMemo)(()=>/*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionDocumentContext.Provider, {\n value: null\n }, /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$ShallowRenderContext.Provider, {\n value: true\n }, children)), [\n children\n ]);\n // During SSR, we render the content directly, and append nodes to the document during render.\n // The collection children return null so that nothing is actually rendered into the HTML.\n return (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)() ? /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$SSRContext.Provider, {\n value: doc\n }, wrappedChildren) : /*#__PURE__*/ (0, $kT5Ur$createPortal)(wrappedChildren, doc);\n}\n\n\nexport {$42ceafc619f9c3ba$export$bf788dd355e3a401 as CollectionBuilder, $42ceafc619f9c3ba$export$18af5c7a9e9b3664 as createLeafComponent, $42ceafc619f9c3ba$export$e953bb1cd0f19726 as createBranchComponent, $42ceafc619f9c3ba$export$fb8073518f34e6ec as Collection};\n//# sourceMappingURL=CollectionBuilder.mjs.map\n","import {createBranchComponent as $f0m83$createBranchComponent} from \"react-aria/CollectionBuilder\";\nimport $f0m83$react, {createContext as $f0m83$createContext, useContext as $f0m83$useContext, isValidElement as $f0m83$isValidElement, cloneElement as $f0m83$cloneElement, useMemo as $f0m83$useMemo} from \"react\";\nimport {useCachedChildren as $f0m83$useCachedChildren} from \"react-aria/private/collections/useCachedChildren\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $263ab7fc0f95ccdb$export$d40e14dec8b060a8 = /*#__PURE__*/ (0, $f0m83$createContext)(null);\nconst $263ab7fc0f95ccdb$export$6e2c8f0811a474ce = /*#__PURE__*/ (0, $f0m83$createBranchComponent)('section', (props, ref, section)=>{\n let { name: name, render: render } = (0, $f0m83$useContext)($263ab7fc0f95ccdb$export$d40e14dec8b060a8);\n if (process.env.NODE_ENV !== 'production') console.warn(`<Section> is deprecated. Please use <${name}> instead.`);\n return render(props, ref, section, 'react-aria-Section');\n});\nconst $263ab7fc0f95ccdb$export$a164736487e3f0ae = {\n CollectionRoot ({ collection: collection, renderDropIndicator: renderDropIndicator }) {\n return $263ab7fc0f95ccdb$var$useCollectionRender(collection, null, renderDropIndicator);\n },\n CollectionBranch ({ collection: collection, parent: parent, renderDropIndicator: renderDropIndicator }) {\n return $263ab7fc0f95ccdb$var$useCollectionRender(collection, parent, renderDropIndicator);\n }\n};\nfunction $263ab7fc0f95ccdb$var$useCollectionRender(collection, parent, renderDropIndicator) {\n return (0, $f0m83$useCachedChildren)({\n items: parent ? collection.getChildren(parent.key) : collection,\n dependencies: [\n renderDropIndicator\n ],\n children (node) {\n // Return a empty fragment since we don't want to render the content twice\n // If we don't skip the content node here, we end up rendering them twice in a Tree since we also render the content node in TreeItem\n if (node.type === 'content') return /*#__PURE__*/ (0, $f0m83$react).createElement((0, $f0m83$react).Fragment, null);\n let rendered = node.render(node);\n if (!renderDropIndicator || node.type !== 'item') return rendered;\n return /*#__PURE__*/ (0, $f0m83$react).createElement((0, $f0m83$react).Fragment, null, renderDropIndicator({\n type: 'item',\n key: node.key,\n dropPosition: 'before'\n }), rendered, $263ab7fc0f95ccdb$export$2dbbd341daed716d(collection, node, renderDropIndicator));\n }\n });\n}\nfunction $263ab7fc0f95ccdb$export$2dbbd341daed716d(collection, node, renderDropIndicator) {\n let key = node.key;\n let keyAfter = collection.getKeyAfter(key);\n let nextItemInFlattenedCollection = keyAfter != null ? collection.getItem(keyAfter) : null;\n while(nextItemInFlattenedCollection != null && nextItemInFlattenedCollection.type !== 'item'){\n keyAfter = collection.getKeyAfter(nextItemInFlattenedCollection.key);\n nextItemInFlattenedCollection = keyAfter != null ? collection.getItem(keyAfter) : null;\n }\n let nextItemInSameLevel = node.nextKey != null ? collection.getItem(node.nextKey) : null;\n while(nextItemInSameLevel != null && nextItemInSameLevel.type !== 'item')nextItemInSameLevel = nextItemInSameLevel.nextKey != null ? collection.getItem(nextItemInSameLevel.nextKey) : null;\n // Render one or more \"after\" drop indicators when the next item in the flattened collection\n // has a smaller level, is not an item, or there are no more items in the collection.\n // Otherwise, the \"after\" position is equivalent to the next item's \"before\" position.\n let afterIndicators = [];\n if (nextItemInSameLevel == null) {\n let current = node;\n while(current?.type === 'item' && (!nextItemInFlattenedCollection || current.parentKey !== nextItemInFlattenedCollection.parentKey && nextItemInFlattenedCollection.level < current.level)){\n let indicator = renderDropIndicator({\n type: 'item',\n key: current.key,\n dropPosition: 'after'\n });\n if (/*#__PURE__*/ (0, $f0m83$isValidElement)(indicator)) afterIndicators.push(/*#__PURE__*/ (0, $f0m83$cloneElement)(indicator, {\n key: `${current.key}-after`\n }));\n current = current.parentKey != null ? collection.getItem(current.parentKey) : null;\n }\n }\n return afterIndicators;\n}\nconst $263ab7fc0f95ccdb$export$4feb769f8ddf26c5 = /*#__PURE__*/ (0, $f0m83$createContext)($263ab7fc0f95ccdb$export$a164736487e3f0ae);\nfunction $263ab7fc0f95ccdb$export$90e00781bc59d8f9(focusedKey) {\n return (0, $f0m83$useMemo)(()=>focusedKey != null ? new Set([\n focusedKey\n ]) : null, [\n focusedKey\n ]);\n}\n\n\nexport {$263ab7fc0f95ccdb$export$d40e14dec8b060a8 as SectionContext, $263ab7fc0f95ccdb$export$6e2c8f0811a474ce as Section, $263ab7fc0f95ccdb$export$a164736487e3f0ae as DefaultCollectionRenderer, $263ab7fc0f95ccdb$export$2dbbd341daed716d as renderAfterDropIndicators, $263ab7fc0f95ccdb$export$4feb769f8ddf26c5 as CollectionRendererContext, $263ab7fc0f95ccdb$export$90e00781bc59d8f9 as usePersistedKeys};\n//# sourceMappingURL=Collection.mjs.map\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $901761b40e390936$export$2bb74740c4e19def(node, checkForOverflow) {\n if (!node) return false;\n let style = window.getComputedStyle(node);\n let root = document.scrollingElement || document.documentElement;\n let isScrollable = /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);\n // Root element has `visible` overflow by default, but is scrollable nonetheless.\n if (node === root && style.overflow !== 'hidden') isScrollable = true;\n if (isScrollable && checkForOverflow) isScrollable = node.scrollHeight !== node.clientHeight || node.scrollWidth !== node.clientWidth;\n return isScrollable;\n}\n\n\nexport {$901761b40e390936$export$2bb74740c4e19def as isScrollable};\n//# sourceMappingURL=isScrollable.mjs.map\n","import {isScrollable as $901761b40e390936$export$2bb74740c4e19def} from \"./isScrollable.mjs\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $76d97191f0f90600$export$94ed1c92c7beeb22(node, checkForOverflow) {\n let parentElements = [];\n let root = document.scrollingElement || document.documentElement;\n while(node){\n if ((0, $901761b40e390936$export$2bb74740c4e19def)(node, checkForOverflow)) parentElements.push(node);\n if (node === root) break;\n node = node.parentElement;\n }\n return parentElements;\n}\n\n\nexport {$76d97191f0f90600$export$94ed1c92c7beeb22 as getScrollParents};\n//# sourceMappingURL=getScrollParents.mjs.map\n","import {getScrollParents as $76d97191f0f90600$export$94ed1c92c7beeb22} from \"./getScrollParents.mjs\";\nimport {isIOS as $2add3ce32c6007eb$export$fedb369cb70207f1, isWebKit as $2add3ce32c6007eb$export$78551043582a6a98} from \"./platform.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $51a3e22a5186a962$export$53a0910f038337bd(scrollView, element, opts = {}) {\n if (scrollView === element) return;\n let target = element.getBoundingClientRect();\n $51a3e22a5186a962$export$f064fd83a2c6e9ca(scrollView, element, target, opts);\n}\nfunction $51a3e22a5186a962$export$f064fd83a2c6e9ca(scrollView, element, target, opts = {}) {\n let { block: block = 'nearest', inline: inline = 'nearest' } = opts;\n let y = scrollView.scrollTop;\n let x = scrollView.scrollLeft;\n let view = scrollView.getBoundingClientRect();\n let itemStyle = window.getComputedStyle(element);\n let viewStyle = window.getComputedStyle(scrollView);\n let root = document.scrollingElement || document.documentElement;\n let isRoot = scrollView === root;\n let viewTop = scrollView === root ? 0 : view.top;\n let viewBottom = scrollView === root ? scrollView.clientHeight : view.bottom;\n let viewLeft = scrollView === root ? 0 : view.left;\n let viewRight = scrollView === root ? scrollView.clientWidth : view.right;\n let scrollMarginTop = parseFloat(itemStyle.scrollMarginTop) || 0;\n let scrollMarginBottom = parseFloat(itemStyle.scrollMarginBottom) || 0;\n let scrollMarginLeft = parseFloat(itemStyle.scrollMarginLeft) || 0;\n let scrollMarginRight = parseFloat(itemStyle.scrollMarginRight) || 0;\n let scrollPaddingTop = parseFloat(viewStyle.scrollPaddingTop) || 0;\n let scrollPaddingBottom = parseFloat(viewStyle.scrollPaddingBottom) || 0;\n let scrollPaddingLeft = parseFloat(viewStyle.scrollPaddingLeft) || 0;\n let scrollPaddingRight = parseFloat(viewStyle.scrollPaddingRight) || 0;\n let borderTopWidth = parseFloat(viewStyle.borderTopWidth) || 0;\n let borderBottomWidth = parseFloat(viewStyle.borderBottomWidth) || 0;\n let borderLeftWidth = parseFloat(viewStyle.borderLeftWidth) || 0;\n let borderRightWidth = parseFloat(viewStyle.borderRightWidth) || 0;\n let scrollAreaTop = target.top - scrollMarginTop;\n let scrollAreaBottom = target.bottom + scrollMarginBottom;\n let scrollAreaLeft = target.left - scrollMarginLeft;\n let scrollAreaRight = target.right + scrollMarginRight;\n let scrollBarOffsetX = scrollView === root ? 0 : borderLeftWidth + borderRightWidth;\n let scrollBarOffsetY = scrollView === root ? 0 : borderTopWidth + borderBottomWidth;\n let scrollBarWidth = scrollView === root ? 0 : scrollView.offsetWidth - scrollView.clientWidth - scrollBarOffsetX;\n let scrollBarHeight = scrollView === root ? 0 : scrollView.offsetHeight - scrollView.clientHeight - scrollBarOffsetY;\n let scrollPortTop = viewTop + (isRoot ? 0 : borderTopWidth) + scrollPaddingTop;\n let scrollPortBottom = viewBottom - (isRoot ? 0 : borderBottomWidth) - scrollPaddingBottom - scrollBarHeight;\n let scrollPortLeft = viewLeft + (isRoot ? 0 : borderLeftWidth) + scrollPaddingLeft;\n let scrollPortRight = viewRight - (isRoot ? 0 : borderRightWidth) - scrollPaddingRight;\n // WebKit on iOS always positions the scrollbar on the right ¯\\_(ツ)_/¯\n if ((0, $2add3ce32c6007eb$export$fedb369cb70207f1)() && (0, $2add3ce32c6007eb$export$78551043582a6a98)() || viewStyle.direction === 'ltr') scrollPortRight -= scrollBarWidth;\n else if (viewStyle.direction === 'rtl') scrollPortLeft += scrollBarWidth;\n let shouldScrollBlock = scrollAreaTop < scrollPortTop || scrollAreaBottom > scrollPortBottom;\n let shouldScrollInline = scrollAreaLeft < scrollPortLeft || scrollAreaRight > scrollPortRight;\n if (shouldScrollBlock && block === 'start') y += scrollAreaTop - scrollPortTop;\n else if (shouldScrollBlock && block === 'center') y += (scrollAreaTop + scrollAreaBottom) / 2 - (scrollPortTop + scrollPortBottom) / 2;\n else if (shouldScrollBlock && block === 'end') y += scrollAreaBottom - scrollPortBottom;\n else if (shouldScrollBlock && block === 'nearest') {\n let start = scrollAreaTop - scrollPortTop;\n let end = scrollAreaBottom - scrollPortBottom;\n y += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n if (shouldScrollInline && inline === 'start') x += scrollAreaLeft - scrollPortLeft;\n else if (shouldScrollInline && inline === 'center') x += (scrollAreaLeft + scrollAreaRight) / 2 - (scrollPortLeft + scrollPortRight) / 2;\n else if (shouldScrollInline && inline === 'end') x += scrollAreaRight - scrollPortRight;\n else if (shouldScrollInline && inline === 'nearest') {\n let start = scrollAreaLeft - scrollPortLeft;\n let end = scrollAreaRight - scrollPortRight;\n x += Math.abs(start) <= Math.abs(end) ? start : end;\n }\n if (process.env.NODE_ENV === 'test') {\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n return;\n }\n scrollView.scrollTo({\n left: x,\n top: y\n });\n}\nfunction $51a3e22a5186a962$export$c826860796309d1b(targetElement, opts = {}) {\n let { containingElement: containingElement } = opts;\n if (targetElement && targetElement.isConnected) {\n let root = document.scrollingElement || document.documentElement;\n let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';\n if (!isScrollPrevented) {\n let { left: originalLeft, top: originalTop } = targetElement.getBoundingClientRect();\n // use scrollIntoView({block: 'nearest'}) instead of .focus to check if the element is fully in view or not since .focus()\n // won't cause a scroll if the element is already focused and doesn't behave consistently when an element is partially out of view horizontally vs vertically\n targetElement?.scrollIntoView?.({\n block: 'nearest'\n });\n let { left: newLeft, top: newTop } = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n containingElement?.scrollIntoView?.({\n block: 'center',\n inline: 'center'\n });\n targetElement.scrollIntoView?.({\n block: 'nearest'\n });\n }\n } else {\n let { left: originalLeft, top: originalTop } = targetElement.getBoundingClientRect();\n // If scrolling is prevented, we don't want to scroll the body since it might move the overlay partially offscreen and the user can't scroll it back into view.\n let scrollParents = (0, $76d97191f0f90600$export$94ed1c92c7beeb22)(targetElement, true);\n for (let scrollParent of scrollParents)$51a3e22a5186a962$export$53a0910f038337bd(scrollParent, targetElement);\n let { left: newLeft, top: newTop } = targetElement.getBoundingClientRect();\n // Account for sub pixel differences from rounding\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n scrollParents = containingElement ? (0, $76d97191f0f90600$export$94ed1c92c7beeb22)(containingElement, true) : [];\n // scroll containing element into view first, then rescroll target element into view like the non chrome flow above\n for (let scrollParent of scrollParents)$51a3e22a5186a962$export$53a0910f038337bd(scrollParent, containingElement, {\n block: 'center',\n inline: 'center'\n });\n for (let scrollParent of (0, $76d97191f0f90600$export$94ed1c92c7beeb22)(targetElement, true))$51a3e22a5186a962$export$53a0910f038337bd(scrollParent, targetElement);\n }\n }\n }\n}\n\n\nexport {$51a3e22a5186a962$export$53a0910f038337bd as scrollIntoView, $51a3e22a5186a962$export$f064fd83a2c6e9ca as scrollRectIntoView, $51a3e22a5186a962$export$c826860796309d1b as scrollIntoViewport};\n//# sourceMappingURL=scrollIntoView.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useState as $4UXHm$useState} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nlet $121970af65029459$var$descriptionId = 0;\nconst $121970af65029459$var$descriptionNodes = new Map();\nfunction $121970af65029459$export$f8aeda7b10753fa1(description) {\n let [id, setId] = (0, $4UXHm$useState)();\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (!description) return;\n let desc = $121970af65029459$var$descriptionNodes.get(description);\n if (!desc) {\n let id = `react-aria-description-${$121970af65029459$var$descriptionId++}`;\n setId(id);\n let node = document.createElement('div');\n node.id = id;\n node.style.display = 'none';\n node.textContent = description;\n document.body.appendChild(node);\n desc = {\n refCount: 0,\n element: node\n };\n $121970af65029459$var$descriptionNodes.set(description, desc);\n } else setId(desc.element.id);\n desc.refCount++;\n return ()=>{\n if (desc && --desc.refCount === 0) {\n desc.element.remove();\n $121970af65029459$var$descriptionNodes.delete(description);\n }\n };\n }, [\n description\n ]);\n return {\n 'aria-describedby': description ? id : undefined\n };\n}\n\n\nexport {$121970af65029459$export$f8aeda7b10753fa1 as useDescription};\n//# sourceMappingURL=useDescription.mjs.map\n","import {useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {SharedElement as $792f28e438b9ad5f$export$c34620ff8881d89f} from \"./SharedElementTransition.mjs\";\nimport $31sgV$react, {createContext as $31sgV$createContext, forwardRef as $31sgV$forwardRef} from \"react\";\n\n/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $91fe5e721c7f36c1$export$c9549807523555e0 = /*#__PURE__*/ (0, $31sgV$createContext)({\n isSelected: false\n});\nconst $91fe5e721c7f36c1$export$17f80983afe4e444 = /*#__PURE__*/ (0, $31sgV$forwardRef)(function SelectionIndicator(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $91fe5e721c7f36c1$export$c9549807523555e0);\n let { isSelected: isSelected, ...otherProps } = props;\n return /*#__PURE__*/ (0, $31sgV$react).createElement((0, $792f28e438b9ad5f$export$c34620ff8881d89f), {\n ...otherProps,\n ref: ref,\n className: props.className || 'react-aria-SelectionIndicator',\n name: \"SelectionIndicator\",\n isVisible: isSelected\n });\n});\n\n\nexport {$91fe5e721c7f36c1$export$c9549807523555e0 as SelectionIndicatorContext, $91fe5e721c7f36c1$export$17f80983afe4e444 as SelectionIndicator};\n//# sourceMappingURL=SelectionIndicator.mjs.map\n","import {isAppleDevice as $2add3ce32c6007eb$export$e1865c3bedcd822b} from \"../utils/platform.mjs\";\nimport {useId as $390e54f620492c70$export$f680877a34711e37} from \"../utils/useId.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $22bbea12c2567021$export$d3e3bd3e26688c04(e) {\n // Ctrl + Arrow Up/Arrow Down has a system wide meaning on macOS, so use Alt instead.\n // On Windows and Ubuntu, Alt + Space has a system wide meaning.\n return (0, $2add3ce32c6007eb$export$e1865c3bedcd822b)() ? e.altKey : e.ctrlKey;\n}\nfunction $22bbea12c2567021$export$c3d8340acf92597f(collectionRef, key) {\n let selector = `[data-key=\"${CSS.escape(String(key))}\"]`;\n let collection = collectionRef.current?.dataset.collection;\n if (collection) selector = `[data-collection=\"${CSS.escape(collection)}\"]${selector}`;\n return collectionRef.current?.querySelector(selector);\n}\nconst $22bbea12c2567021$var$collectionMap = new WeakMap();\nfunction $22bbea12c2567021$export$881eb0d9f3605d9d(collection) {\n let id = (0, $390e54f620492c70$export$f680877a34711e37)();\n $22bbea12c2567021$var$collectionMap.set(collection, id);\n return id;\n}\nfunction $22bbea12c2567021$export$6aeb1680a0ae8741(collection) {\n return $22bbea12c2567021$var$collectionMap.get(collection);\n}\n\n\nexport {$22bbea12c2567021$export$d3e3bd3e26688c04 as isNonContiguousSelectionModifier, $22bbea12c2567021$export$c3d8340acf92597f as getItemElement, $22bbea12c2567021$export$881eb0d9f3605d9d as useCollectionId, $22bbea12c2567021$export$6aeb1680a0ae8741 as getCollectionId};\n//# sourceMappingURL=utils.mjs.map\n","import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {useRef as $dLAPo$useRef, useEffect as $dLAPo$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n/**\n * Controls how long to wait before clearing the typeahead buffer.\n */ const $f5a4a9a3486154da$var$TYPEAHEAD_DEBOUNCE_WAIT_MS = 1000; // 1 second\nfunction $f5a4a9a3486154da$export$e32c88dfddc6e1d8(options) {\n let { keyboardDelegate: keyboardDelegate, selectionManager: selectionManager, onTypeSelect: onTypeSelect } = options;\n let state = (0, $dLAPo$useRef)({\n search: '',\n timeout: undefined\n });\n let onKeyDownCapture = (e)=>{\n // if we're in the middle of a search, then a spacebar should be treated as a search and we should not propagate the event\n // since we handle this one in a capture phase, we should ignore it in the bubble phase\n if (state.current.search.length > 0 && e.key === ' ') {\n e.preventDefault();\n if (!('continuePropagation' in e) || 'continuePropagation' in e && !e.isPropagationStopped()) e.stopPropagation();\n state.current.search += ' ';\n if (keyboardDelegate.getKeyForSearch != null) {\n // Use the delegate to find a key to focus.\n // Prioritize items after the currently focused item, falling back to searching the whole list.\n let key = keyboardDelegate.getKeyForSearch(state.current.search, selectionManager.focusedKey);\n // If no key found, search from the top.\n if (key == null) key = keyboardDelegate.getKeyForSearch(state.current.search);\n if (key != null) {\n selectionManager.setFocusedKey(key);\n if (onTypeSelect) onTypeSelect(key);\n }\n }\n clearTimeout(state.current.timeout);\n state.current.timeout = setTimeout(()=>{\n state.current.search = '';\n }, $f5a4a9a3486154da$var$TYPEAHEAD_DEBOUNCE_WAIT_MS);\n }\n };\n let onKeyDown = (e)=>{\n let character = $f5a4a9a3486154da$var$getStringForKey(e.key);\n if (!character || e.ctrlKey || e.metaKey || e.altKey || !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) || state.current.search.length === 0 && character === ' ') return;\n state.current.search += character;\n if (keyboardDelegate.getKeyForSearch != null) {\n // Use the delegate to find a key to focus.\n // Prioritize items after the currently focused item, falling back to searching the whole list.\n let key = keyboardDelegate.getKeyForSearch(state.current.search, selectionManager.focusedKey);\n if (key == null) key = keyboardDelegate.getKeyForSearch(state.current.search);\n if (key != null) {\n selectionManager.setFocusedKey(key);\n if (onTypeSelect) onTypeSelect(key);\n e.preventDefault();\n if (!('continuePropagation' in e)) e.stopPropagation();\n } else {\n // if still nothing then the type to select is done and everything is reset\n state.current.search = '';\n clearTimeout(state.current.timeout);\n state.current.timeout = undefined;\n return;\n }\n }\n clearTimeout(state.current.timeout);\n state.current.timeout = setTimeout(()=>{\n state.current.search = '';\n }, $f5a4a9a3486154da$var$TYPEAHEAD_DEBOUNCE_WAIT_MS);\n };\n (0, $dLAPo$useEffect)(()=>{\n let timeout = state.current.timeout;\n return ()=>{\n clearTimeout(timeout);\n };\n }, [\n state\n ]);\n return {\n typeSelectProps: {\n // Using a capturing listener to catch the keydown event before\n // other hooks in order to handle the Spacebar event.\n onKeyDownCapture: keyboardDelegate.getKeyForSearch ? onKeyDownCapture : undefined,\n onKeyDown: keyboardDelegate.getKeyForSearch ? onKeyDown : undefined\n }\n };\n}\nfunction $f5a4a9a3486154da$var$getStringForKey(key) {\n // If the key is of length 1, it is an ASCII value.\n // Otherwise, if there are no ASCII characters in the key name,\n // it is a Unicode character.\n // See https://www.w3.org/TR/uievents-key/\n if (key.length === 1 || !/^[A-Z]/i.test(key)) return key;\n return '';\n}\n\n\nexport {$f5a4a9a3486154da$export$e32c88dfddc6e1d8 as useTypeSelect};\n//# sourceMappingURL=useTypeSelect.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useRef as $cgy5r$useRef} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $a475cdc2445827b5$export$72ef708ab07251f1(effect, dependencies) {\n const isInitialMount = (0, $cgy5r$useRef)(true);\n const lastDeps = (0, $cgy5r$useRef)(null);\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n isInitialMount.current = true;\n return ()=>{\n isInitialMount.current = false;\n };\n }, []);\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (isInitialMount.current) isInitialMount.current = false;\n else if (!lastDeps.current || dependencies.some((dep, i)=>!Object.is(dep, lastDeps[i]))) effect();\n lastDeps.current = dependencies;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, dependencies);\n}\n\n\nexport {$a475cdc2445827b5$export$72ef708ab07251f1 as useUpdateLayoutEffect};\n//# sourceMappingURL=useUpdateLayoutEffect.mjs.map\n","import {CLEAR_FOCUS_EVENT as $8b2399d051d06d4c$export$447a38995de2c711, FOCUS_EVENT as $8b2399d051d06d4c$export$831c820ad60f9d12} from \"../utils/constants.mjs\";\nimport {dispatchVirtualFocus as $b72f3f7b3b5f42c6$export$2b35b76d2e30e129, moveVirtualFocus as $b72f3f7b3b5f42c6$export$76e4e37e5339496d} from \"../focus/virtualFocus.mjs\";\nimport {focusSafely as $f192c2f16961cbe0$export$80f3e147d781571c} from \"../interactions/focusSafely.mjs\";\nimport {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, isFocusWithin as $23f2114a1b82827e$export$b4f377a2b6254582, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getFocusableTreeWalker as $535772f9d2c1f38d$export$2d6ec8fc375ceafa} from \"../focus/FocusScope.mjs\";\nimport {getInteractionModality as $8f5a2122b0992be3$export$630ff653c5ada6a9} from \"../interactions/useFocusVisible.mjs\";\nimport {getItemElement as $22bbea12c2567021$export$c3d8340acf92597f, isNonContiguousSelectionModifier as $22bbea12c2567021$export$d3e3bd3e26688c04, useCollectionId as $22bbea12c2567021$export$881eb0d9f3605d9d} from \"./utils.mjs\";\nimport {isCtrlKeyPressed as $bb39c0fc1c19b34c$export$16792effe837dba3} from \"../utils/keyboard.mjs\";\nimport {isMac as $2add3ce32c6007eb$export$9ac100e40613ea10} from \"../utils/platform.mjs\";\nimport {isTabbable as $3b8b240c1bf84ab9$export$bebd5a1431fec25d} from \"../utils/isFocusable.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {scrollIntoView as $51a3e22a5186a962$export$53a0910f038337bd, scrollIntoViewport as $51a3e22a5186a962$export$c826860796309d1b} from \"../utils/scrollIntoView.mjs\";\nimport {useEvent as $600b3cf69ae46262$export$90fc3a17d93f704c} from \"../utils/useEvent.mjs\";\nimport {useKeyboard as $8296dad1a4c5e0dc$export$8f71654801c2f7cd} from \"../interactions/useKeyboard.mjs\";\nimport {useLocale as $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7} from \"../i18n/I18nProvider.mjs\";\nimport {useRouter as $caaf0dd3060ed57c$export$9a302a45f65d0572} from \"../utils/openLink.mjs\";\nimport {useTypeSelect as $f5a4a9a3486154da$export$e32c88dfddc6e1d8} from \"./useTypeSelect.mjs\";\nimport {useUpdateLayoutEffect as $a475cdc2445827b5$export$72ef708ab07251f1} from \"../utils/useUpdateLayoutEffect.mjs\";\nimport {flushSync as $V3AJM$flushSync} from \"react-dom\";\nimport {useRef as $V3AJM$useRef, useEffect as $V3AJM$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction $d667c2af82d35a98$export$d6daf82dcd84e87c(options) {\n let { selectionManager: manager, keyboardDelegate: delegate, ref: ref, autoFocus: autoFocus = false, shouldFocusWrap: shouldFocusWrap = false, disallowEmptySelection: disallowEmptySelection = false, disallowSelectAll: disallowSelectAll = false, escapeKeyBehavior: escapeKeyBehavior = 'clearSelection', selectOnFocus: selectOnFocus = manager.selectionBehavior === 'replace', disallowTypeAhead: disallowTypeAhead = false, shouldUseVirtualFocus: shouldUseVirtualFocus, allowsTabNavigation: allowsTabNavigation = false, scrollRef: // If no scrollRef is provided, assume the collection ref is the scrollable region\n scrollRef = ref, linkBehavior: linkBehavior = 'action', UNSTABLE_focusOnEntry: UNSTABLE_focusOnEntry } = options;\n let { direction: direction } = (0, $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7)();\n let router = (0, $caaf0dd3060ed57c$export$9a302a45f65d0572)();\n const navigateToKey = (e, key, childFocus)=>{\n if (key != null) {\n if (manager.isLink(key) && linkBehavior === 'selection' && selectOnFocus && !(0, $22bbea12c2567021$export$d3e3bd3e26688c04)(e)) {\n // Set focused key and re-render synchronously to bring item into view if needed.\n (0, $V3AJM$flushSync)(()=>{\n manager.setFocusedKey(key, childFocus);\n });\n let item = (0, $22bbea12c2567021$export$c3d8340acf92597f)(ref, key);\n let itemProps = manager.getItemProps(key);\n if (item) {\n router.open(item, e, itemProps.href, itemProps.routerOptions);\n return;\n }\n return false;\n }\n manager.setFocusedKey(key, childFocus);\n if (manager.isLink(key) && linkBehavior === 'override') return false;\n if (e.shiftKey && manager.selectionMode === 'multiple') {\n manager.extendSelection(key);\n return;\n } else if (selectOnFocus && !(0, $22bbea12c2567021$export$d3e3bd3e26688c04)(e)) {\n manager.replaceSelection(key);\n return;\n }\n }\n return false;\n };\n let arrowDown = (e)=>{\n if (delegate.getKeyBelow) {\n let nextKey = manager.focusedKey != null ? delegate.getKeyBelow?.(manager.focusedKey) : delegate.getFirstKey?.();\n if (nextKey == null && shouldFocusWrap) nextKey = delegate.getFirstKey?.(manager.focusedKey);\n if (nextKey != null) {\n navigateToKey(e, nextKey);\n return;\n }\n }\n return false;\n };\n let arrowUp = (e)=>{\n if (delegate.getKeyAbove) {\n let nextKey = manager.focusedKey != null ? delegate.getKeyAbove?.(manager.focusedKey) : delegate.getLastKey?.();\n if (nextKey == null && shouldFocusWrap) nextKey = delegate.getLastKey?.(manager.focusedKey);\n if (nextKey != null) {\n navigateToKey(e, nextKey);\n return;\n }\n }\n return false;\n };\n let home = (e)=>{\n if (delegate.getFirstKey) {\n if (manager.focusedKey === null && e.shiftKey) return false;\n // TODO: should Home and End also be reversed in column reverse aka Home goes to top? Or should Home always to to the \"first\" (bottom)\n let firstKey = delegate.getFirstKey(manager.focusedKey, (0, $bb39c0fc1c19b34c$export$16792effe837dba3)(e));\n manager.setFocusedKey(firstKey);\n if (firstKey != null) {\n if ((0, $bb39c0fc1c19b34c$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') {\n manager.extendSelection(firstKey);\n return;\n } else if (selectOnFocus) {\n manager.replaceSelection(firstKey);\n return;\n }\n }\n }\n return false;\n };\n let arrowLeft = (e)=>{\n if (delegate.getKeyLeftOf) {\n let nextKey = manager.focusedKey != null ? delegate.getKeyLeftOf?.(manager.focusedKey) : delegate.getFirstKey?.();\n if (nextKey == null && shouldFocusWrap) nextKey = direction === 'rtl' ? delegate.getFirstKey?.(manager.focusedKey) : delegate.getLastKey?.(manager.focusedKey);\n if (nextKey != null) {\n navigateToKey(e, nextKey, direction === 'rtl' ? 'first' : 'last');\n return;\n }\n }\n return false;\n };\n let arrowRight = (e)=>{\n if (delegate.getKeyRightOf) {\n let nextKey = manager.focusedKey != null ? delegate.getKeyRightOf?.(manager.focusedKey) : delegate.getFirstKey?.();\n if (nextKey == null && shouldFocusWrap) nextKey = direction === 'rtl' ? delegate.getLastKey?.(manager.focusedKey) : delegate.getFirstKey?.(manager.focusedKey);\n if (nextKey != null) {\n navigateToKey(e, nextKey, direction === 'rtl' ? 'last' : 'first');\n return;\n }\n }\n return false;\n };\n let end = (e)=>{\n if (delegate.getLastKey) {\n if (manager.focusedKey === null && e.shiftKey) return false;\n let lastKey = delegate.getLastKey(manager.focusedKey, (0, $bb39c0fc1c19b34c$export$16792effe837dba3)(e));\n manager.setFocusedKey(lastKey);\n if (lastKey != null) {\n if ((0, $bb39c0fc1c19b34c$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') {\n manager.extendSelection(lastKey);\n return;\n } else if (selectOnFocus) {\n manager.replaceSelection(lastKey);\n return;\n }\n }\n }\n return false;\n };\n let pageDown = (e)=>{\n if (delegate.getKeyPageBelow && manager.focusedKey != null) {\n let nextKey = delegate.getKeyPageBelow(manager.focusedKey);\n if (nextKey != null) return navigateToKey(e, nextKey);\n }\n return false;\n };\n let pageUp = (e)=>{\n if (delegate.getKeyPageAbove && manager.focusedKey != null) {\n let nextKey = delegate.getKeyPageAbove(manager.focusedKey);\n if (nextKey != null) return navigateToKey(e, nextKey);\n }\n return false;\n };\n let aHandler = ()=>{\n if (manager.selectionMode === 'multiple' && disallowSelectAll !== true) {\n manager.selectAll();\n return;\n }\n return false;\n };\n let escape = ()=>{\n if (escapeKeyBehavior === 'clearSelection' && !disallowEmptySelection && manager.selectedKeys.size !== 0) {\n manager.clearSelection();\n return;\n }\n return false;\n };\n let tab = ()=>{\n if (!allowsTabNavigation && ref.current) {\n // There may be elements that are \"tabbable\" inside a collection (e.g. in a grid cell).\n // However, collections should be treated as a single tab stop, with arrow key navigation internally.\n // We don't control the rendering of these, so we can't override the tabIndex to prevent tabbing.\n // Instead, we handle the Tab key, and move focus manually to the first/last tabbable element\n // in the collection, so that the browser default behavior will apply starting from that element\n // rather than the currently focused one.\n let walker = (0, $535772f9d2c1f38d$export$2d6ec8fc375ceafa)(ref.current, {\n tabbable: true\n });\n let next = undefined;\n let last;\n do {\n last = walker.lastChild();\n if (last) next = last;\n }while (last);\n // If the active element is NOT tabbable but is contained by an element that IS tabbable (aka the cell), the browser will actually move focus to\n // the containing element. We need to special case this so that tab will move focus out of the grid instead of looping between\n // focusing the containing cell and back to the non-tabbable child element\n let activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)();\n if (next && (!(0, $23f2114a1b82827e$export$b4f377a2b6254582)(next) || activeElement && !(0, $3b8b240c1bf84ab9$export$bebd5a1431fec25d)(activeElement))) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(next);\n }\n return {\n shouldContinuePropagation: true,\n shouldPreventDefault: false\n };\n };\n let shiftTab = ()=>{\n if (!allowsTabNavigation && ref.current) ref.current.focus();\n return {\n shouldContinuePropagation: true,\n shouldPreventDefault: false\n };\n };\n let withShiftSel = (key, callback)=>{\n return {\n [(0, $2add3ce32c6007eb$export$9ac100e40613ea10)() ? key + '+Shift+Alt' : key + '+Shift+Control']: callback,\n [key + '+Shift']: callback,\n [(0, $2add3ce32c6007eb$export$9ac100e40613ea10)() ? key + '+Alt' : key + '+Control']: callback,\n [key]: callback\n };\n };\n // oxlint-disable react/react-compiler\n let { keyboardProps: repeatKeyboardProps } = (0, $8296dad1a4c5e0dc$export$8f71654801c2f7cd)({\n shortcuts: {\n ...withShiftSel('ArrowDown', arrowDown),\n ...withShiftSel('ArrowUp', arrowUp),\n ...withShiftSel('ArrowLeft', arrowLeft),\n ...withShiftSel('ArrowRight', arrowRight),\n ...withShiftSel('PageDown', pageDown),\n ...withShiftSel('PageUp', pageUp)\n },\n allowRepeats: true\n });\n // oxlint-disable react/react-compiler\n let { keyboardProps: keyboardProps } = (0, $8296dad1a4c5e0dc$export$8f71654801c2f7cd)({\n shortcuts: {\n ...withShiftSel('Home', home),\n ...withShiftSel('End', end),\n 'Mod+A': aHandler,\n Escape: escape,\n Tab: tab,\n 'Tab+Shift': shiftTab\n }\n });\n // oxlint-enable react/react-compiler\n // Store the scroll position so we can restore it later.\n /// TODO: should this happen all the time??\n let scrollPos = (0, $V3AJM$useRef)({\n top: 0,\n left: 0\n });\n (0, $600b3cf69ae46262$export$90fc3a17d93f704c)(scrollRef, 'scroll', ()=>{\n scrollPos.current = {\n top: scrollRef.current?.scrollTop ?? 0,\n left: scrollRef.current?.scrollLeft ?? 0\n };\n });\n let onFocus = (e)=>{\n if (manager.isFocused) {\n // If a focus event bubbled through a portal, reset focus state.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) manager.setFocused(false);\n return;\n }\n // Focus events can bubble through portals. Ignore these events.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n let modality = (0, $8f5a2122b0992be3$export$630ff653c5ada6a9)();\n manager.setFocused(true);\n let navigateToKey = (key)=>{\n if (key != null) {\n manager.setFocusedKey(key);\n if (selectOnFocus && !manager.isSelected(key)) manager.replaceSelection(key);\n }\n };\n // we need the \"virtual\" modality case checks here because shift tabbing from the prompt field's attachment card back into the\n // thread is a virtual focus event (the tab handler in onKeyDown focuses the ref of the attachmentList aka TagGroup via a focus() call, hence the virtual modality)\n if (UNSTABLE_focusOnEntry && (modality === 'keyboard' || modality === 'virtual')) // always go to the first item in the Thread when tabbing forwards/backwards into the collection\n // since it is probably more important to the user to see the new prompt reply rather than go to the last focused key\n navigateToKey(UNSTABLE_focusOnEntry === 'first' ? delegate.getFirstKey?.() : delegate.getLastKey?.());\n else if (manager.focusedKey == null) {\n // If the user hasn't yet interacted with the collection, there will be no focusedKey set.\n // Attempt to detect whether the user is tabbing forward or backward into the collection\n // and either focus the first or last item accordingly.\n let relatedTarget = e.relatedTarget;\n if (relatedTarget && e.currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) navigateToKey(manager.lastSelectedKey ?? delegate.getLastKey?.());\n else navigateToKey(manager.firstSelectedKey ?? delegate.getFirstKey?.());\n } else if (scrollRef.current) {\n // Restore the scroll position to what it was before.\n scrollRef.current.scrollTop = scrollPos.current.top;\n scrollRef.current.scrollLeft = scrollPos.current.left;\n }\n if (manager.focusedKey != null && scrollRef.current) {\n // Refocus and scroll the focused item into view if it exists within the scrollable region.\n let element = (0, $22bbea12c2567021$export$c3d8340acf92597f)(ref, manager.focusedKey);\n if (element instanceof HTMLElement) {\n // This prevents a flash of focus on the first/last element in the collection, or the collection itself.\n if (!(0, $23f2114a1b82827e$export$b4f377a2b6254582)(element) && !shouldUseVirtualFocus) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n if (modality === 'keyboard' || UNSTABLE_focusOnEntry && modality === 'virtual') (0, $51a3e22a5186a962$export$c826860796309d1b)(element, {\n containingElement: ref.current\n });\n }\n }\n };\n let onBlur = (e)=>{\n // Don't set blurred and then focused again if moving focus within the collection.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, e.relatedTarget)) manager.setFocused(false);\n };\n // Ref to track whether the first item in the collection should be automatically focused. Specifically used for autocomplete when user types\n // to focus the first key AFTER the collection updates.\n // TODO: potentially expand the usage of this\n let shouldVirtualFocusFirst = (0, $V3AJM$useRef)(false);\n // Add event listeners for custom virtual events. These handle updating the focused key in response to various keyboard events\n // at the autocomplete level\n // TODO: fix type later\n (0, $600b3cf69ae46262$export$90fc3a17d93f704c)(ref, (0, $8b2399d051d06d4c$export$831c820ad60f9d12), !shouldUseVirtualFocus ? undefined : (e)=>{\n let { detail: detail } = e;\n e.stopPropagation();\n manager.setFocused(true);\n // If the user is typing forwards, autofocus the first option in the list.\n if (detail?.focusStrategy === 'first') shouldVirtualFocusFirst.current = true;\n });\n // update active descendant\n let firstKey = delegate.getFirstKey?.() ?? null;\n (0, $a475cdc2445827b5$export$72ef708ab07251f1)(()=>{\n if (shouldVirtualFocusFirst.current) {\n // If no focusable items exist in the list, make sure to clear any activedescendant that may still exist and move focus back to\n // the original active element (e.g. the autocomplete input)\n if (firstKey == null) {\n let previousActiveElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)();\n (0, $b72f3f7b3b5f42c6$export$76e4e37e5339496d)(ref.current);\n (0, $b72f3f7b3b5f42c6$export$2b35b76d2e30e129)(previousActiveElement, null);\n // If there wasn't a focusable key but the collection had items, then that means we aren't in an intermediate load state and all keys are disabled.\n // Reset shouldVirtualFocusFirst so that we don't erronously autofocus an item when the collection is filtered again.\n if (manager.collection.size > 0) shouldVirtualFocusFirst.current = false;\n } else {\n manager.setFocusedKey(firstKey);\n // Only set shouldVirtualFocusFirst to false if we've successfully set the first key as the focused key\n // If there wasn't a key to focus, we might be in a temporary loading state so we'll want to still focus the first key\n // after the collection updates after load\n shouldVirtualFocusFirst.current = false;\n }\n }\n }, [\n firstKey,\n manager.collection.size\n ]);\n // reset focus first flag\n (0, $a475cdc2445827b5$export$72ef708ab07251f1)(()=>{\n // If user causes the focused key to change in any other way, clear shouldVirtualFocusFirst so we don't\n // accidentally move focus from under them. Skip this if the collection was empty because we might be in a load\n // state and will still want to focus the first item after load\n if (manager.collection.size > 0) shouldVirtualFocusFirst.current = false;\n }, [\n manager.focusedKey\n ]);\n (0, $600b3cf69ae46262$export$90fc3a17d93f704c)(ref, (0, $8b2399d051d06d4c$export$447a38995de2c711), !shouldUseVirtualFocus ? undefined : (e)=>{\n e.stopPropagation();\n manager.setFocused(false);\n if (e.detail?.clearFocusKey) manager.setFocusedKey(null);\n });\n const autoFocusRef = (0, $V3AJM$useRef)(autoFocus);\n const didAutoFocusRef = (0, $V3AJM$useRef)(false);\n (0, $V3AJM$useEffect)(()=>{\n if (autoFocusRef.current) {\n let focusedKey = null;\n // Check focus strategy to determine which item to focus\n if (autoFocus === 'first') focusedKey = delegate.getFirstKey?.() ?? null;\n if (autoFocus === 'last') focusedKey = delegate.getLastKey?.() ?? null;\n // If there are any selected keys, make the first one the new focus target\n let selectedKeys = manager.selectedKeys;\n if (selectedKeys.size) {\n for (let key of selectedKeys)if (manager.canSelectItem(key)) {\n focusedKey = key;\n break;\n }\n }\n manager.setFocused(true);\n manager.setFocusedKey(focusedKey);\n if (focusedKey != null && selectOnFocus && !selectedKeys.size && manager.canSelectItem(focusedKey)) manager.replaceSelection(focusedKey);\n // If no default focus key is selected, focus the collection itself.\n if (focusedKey == null && !shouldUseVirtualFocus && ref.current) (0, $f192c2f16961cbe0$export$80f3e147d781571c)(ref.current);\n // Wait until the collection has items to autofocus.\n if (manager.collection.size > 0) {\n autoFocusRef.current = false;\n didAutoFocusRef.current = true;\n }\n }\n });\n // Scroll the focused element into view when the focusedKey changes.\n let lastFocusedKey = (0, $V3AJM$useRef)(manager.focusedKey);\n let raf = (0, $V3AJM$useRef)(null);\n (0, $V3AJM$useEffect)(()=>{\n if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || didAutoFocusRef.current) && scrollRef.current && ref.current) {\n let modality = (0, $8f5a2122b0992be3$export$630ff653c5ada6a9)();\n let element = (0, $22bbea12c2567021$export$c3d8340acf92597f)(ref, manager.focusedKey);\n if (!(element instanceof HTMLElement)) // If item element wasn't found, return early (don't update autoFocusRef and lastFocusedKey).\n // The collection may initially be empty (e.g. virtualizer), so wait until the element exists.\n return;\n if (modality === 'keyboard' || didAutoFocusRef.current) {\n if (raf.current) cancelAnimationFrame(raf.current);\n raf.current = requestAnimationFrame(()=>{\n if (scrollRef.current) {\n (0, $51a3e22a5186a962$export$53a0910f038337bd)(scrollRef.current, element);\n // Avoid scroll in iOS VO, since it may cause overlay to close (i.e. RAC submenu)\n if (modality !== 'virtual') (0, $51a3e22a5186a962$export$c826860796309d1b)(element, {\n containingElement: ref.current\n });\n }\n });\n }\n }\n // If the focused key becomes null (e.g. the last item is deleted), focus the whole collection.\n if (!shouldUseVirtualFocus && manager.isFocused && manager.focusedKey == null && lastFocusedKey.current != null && ref.current) (0, $f192c2f16961cbe0$export$80f3e147d781571c)(ref.current);\n lastFocusedKey.current = manager.focusedKey;\n didAutoFocusRef.current = false;\n });\n (0, $V3AJM$useEffect)(()=>{\n return ()=>{\n if (raf.current) cancelAnimationFrame(raf.current);\n };\n }, []);\n // Intercept FocusScope restoration since virtualized collections can reuse DOM nodes.\n (0, $600b3cf69ae46262$export$90fc3a17d93f704c)(ref, 'react-aria-focus-scope-restore', (e)=>{\n e.preventDefault();\n manager.setFocused(true);\n });\n let handlers = {\n ...(0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(keyboardProps, repeatKeyboardProps),\n onFocus: onFocus,\n onBlur: onBlur,\n onMouseDown (e) {\n // Ignore events that bubbled through portals.\n if (scrollRef.current === (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) // Prevent focus going to the collection when clicking on the scrollbar.\n e.preventDefault();\n }\n };\n let { typeSelectProps: typeSelectProps } = (0, $f5a4a9a3486154da$export$e32c88dfddc6e1d8)({\n keyboardDelegate: delegate,\n selectionManager: manager\n });\n if (!disallowTypeAhead) // oxlint-disable-next-line react/react-compiler\n handlers = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(typeSelectProps, handlers);\n // If nothing is focused within the collection, make the collection itself tabbable.\n // This will be marshalled to either the first or last item depending on where focus came from.\n let tabIndex = undefined;\n if (!shouldUseVirtualFocus) tabIndex = manager.focusedKey == null ? 0 : -1;\n let collectionId = (0, $22bbea12c2567021$export$881eb0d9f3605d9d)(manager.collection);\n return {\n // oxlint-disable-next-line react/react-compiler\n collectionProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(handlers, {\n tabIndex: tabIndex,\n 'data-collection': collectionId\n })\n };\n}\n\n\nexport {$d667c2af82d35a98$export$d6daf82dcd84e87c as useSelectableCollection};\n//# sourceMappingURL=useSelectableCollection.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac, getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useDescription as $121970af65029459$export$f8aeda7b10753fa1} from \"../utils/useDescription.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {usePress as $d27d541f9569d26d$export$45712eceda6fad21} from \"./usePress.mjs\";\nimport {useRef as $cZVsC$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $7b01448eaad0fe7c$var$DEFAULT_THRESHOLD = 500;\nfunction $7b01448eaad0fe7c$export$c24ed0104d07eab9(props) {\n let { isDisabled: isDisabled, pointerType: pointerType, onLongPressStart: onLongPressStart, onLongPressEnd: onLongPressEnd, onLongPress: onLongPress, threshold: threshold = $7b01448eaad0fe7c$var$DEFAULT_THRESHOLD, accessibilityDescription: accessibilityDescription } = props;\n const timeRef = (0, $cZVsC$useRef)(undefined);\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n let isAcceptedPointerType = (e)=>pointerType ? e.pointerType === pointerType : e.pointerType === 'mouse' || e.pointerType === 'touch';\n let { pressProps: pressProps } = (0, $d27d541f9569d26d$export$45712eceda6fad21)({\n isDisabled: isDisabled,\n onPressStart (e) {\n e.continuePropagation();\n if (isAcceptedPointerType(e)) {\n if (onLongPressStart) onLongPressStart({\n ...e,\n type: 'longpressstart'\n });\n timeRef.current = setTimeout(()=>{\n // Prevent other usePress handlers from also handling this event.\n e.target.dispatchEvent(new PointerEvent('pointercancel', {\n bubbles: true\n }));\n // Prevent default click action (e.g. opening a link) after a long press.\n addGlobalListener(e.target, 'click', (e)=>e.preventDefault(), {\n once: true\n });\n // Ensure target is focused. On touch devices, browsers typically focus on pointer up.\n if ((0, $d447af545b77c9f1$export$b204af158042fbac)(e.target).activeElement !== e.target) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(e.target);\n if (onLongPress) onLongPress({\n ...e,\n type: 'longpress'\n });\n timeRef.current = undefined;\n }, threshold);\n // Prevent context menu, which may be opened on long press on touch devices\n if (e.pointerType === 'touch') addGlobalListener(e.target, 'contextmenu', (e)=>e.preventDefault(), {\n once: true\n });\n let ownerWindow = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(e.target);\n addGlobalListener(ownerWindow, 'pointerup', ()=>{\n // If no contextmenu/click event is fired quickly after pointerup, remove the handler\n // so future events outside a long press are not prevented.\n setTimeout(()=>{\n removeAllGlobalListeners();\n }, 100);\n }, {\n once: true\n });\n }\n },\n onPressEnd (e) {\n if (timeRef.current) clearTimeout(timeRef.current);\n if (onLongPressEnd && isAcceptedPointerType(e)) onLongPressEnd({\n ...e,\n type: 'longpressend'\n });\n }\n });\n let descriptionProps = (0, $121970af65029459$export$f8aeda7b10753fa1)(onLongPress && !isDisabled ? accessibilityDescription : undefined);\n return {\n longPressProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(pressProps, descriptionProps)\n };\n}\n\n\nexport {$7b01448eaad0fe7c$export$c24ed0104d07eab9 as useLongPress};\n//# sourceMappingURL=useLongPress.mjs.map\n","import {chain as $a4e76a5424781910$export$e08e3b67e392101e} from \"../utils/chain.mjs\";\nimport {focusSafely as $f192c2f16961cbe0$export$80f3e147d781571c} from \"../interactions/focusSafely.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getCollectionId as $22bbea12c2567021$export$6aeb1680a0ae8741, isNonContiguousSelectionModifier as $22bbea12c2567021$export$d3e3bd3e26688c04} from \"./utils.mjs\";\nimport {isCtrlKeyPressed as $bb39c0fc1c19b34c$export$16792effe837dba3} from \"../utils/keyboard.mjs\";\nimport {isTabbable as $3b8b240c1bf84ab9$export$bebd5a1431fec25d} from \"../utils/isFocusable.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {moveVirtualFocus as $b72f3f7b3b5f42c6$export$76e4e37e5339496d} from \"../focus/virtualFocus.mjs\";\nimport {openLink as $caaf0dd3060ed57c$export$95185d699e05d4d7, useRouter as $caaf0dd3060ed57c$export$9a302a45f65d0572} from \"../utils/openLink.mjs\";\nimport {usePress as $d27d541f9569d26d$export$45712eceda6fad21} from \"../interactions/usePress.mjs\";\nimport {useId as $390e54f620492c70$export$f680877a34711e37} from \"../utils/useId.mjs\";\nimport {useLongPress as $7b01448eaad0fe7c$export$c24ed0104d07eab9} from \"../interactions/useLongPress.mjs\";\nimport {useEffect as $iQN4Y$useEffect, useRef as $iQN4Y$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\nfunction $f6ba6936bfd098a0$export$ecf600387e221c37(options) {\n let { id: id, selectionManager: manager, key: key, ref: ref, shouldSelectOnPressUp: shouldSelectOnPressUp, shouldUseVirtualFocus: shouldUseVirtualFocus, focus: focus, isDisabled: isDisabled, onAction: onAction, allowsDifferentPressOrigin: allowsDifferentPressOrigin, linkBehavior: linkBehavior = 'action' } = options;\n let router = (0, $caaf0dd3060ed57c$export$9a302a45f65d0572)();\n id = (0, $390e54f620492c70$export$f680877a34711e37)(id);\n let onSelect = (e)=>{\n if (e.pointerType === 'keyboard' && (0, $22bbea12c2567021$export$d3e3bd3e26688c04)(e)) manager.toggleSelection(key);\n else {\n if (manager.selectionMode === 'none') return;\n if (manager.isLink(key)) {\n if (linkBehavior === 'selection' && ref.current) {\n let itemProps = manager.getItemProps(key);\n router.open(ref.current, e, itemProps.href, itemProps.routerOptions);\n // Always set selected keys back to what they were so that select and combobox close.\n manager.setSelectedKeys(manager.selectedKeys);\n return;\n } else if (linkBehavior === 'override' || linkBehavior === 'none') return;\n }\n if (manager.selectionMode === 'single') {\n if (manager.isSelected(key) && !manager.disallowEmptySelection) manager.toggleSelection(key);\n else manager.replaceSelection(key);\n } else if (e && e.shiftKey) manager.extendSelection(key);\n else if (manager.selectionBehavior === 'toggle' || e && ((0, $bb39c0fc1c19b34c$export$16792effe837dba3)(e) || e.pointerType === 'touch' || e.pointerType === 'virtual')) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys\n manager.toggleSelection(key);\n else manager.replaceSelection(key);\n }\n };\n // Focus the associated DOM node when this item becomes the focusedKey\n // TODO: can't make this useLayoutEffect bacause it breaks menus inside dialogs\n // However, if this is a useEffect, it runs twice and dispatches two blur events and immediately sets\n // aria-activeDescendant in useAutocomplete... I've worked around this for now\n (0, $iQN4Y$useEffect)(()=>{\n let isFocused = key === manager.focusedKey;\n if (isFocused && manager.isFocused) {\n if (!shouldUseVirtualFocus) {\n if (focus) focus();\n else if ((0, $23f2114a1b82827e$export$cd4e5573fbe2b576)() !== ref.current && ref.current) (0, $f192c2f16961cbe0$export$80f3e147d781571c)(ref.current);\n } else (0, $b72f3f7b3b5f42c6$export$76e4e37e5339496d)(ref.current);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n ref,\n key,\n manager.focusedKey,\n manager.childFocusStrategy,\n manager.isFocused,\n shouldUseVirtualFocus\n ]);\n isDisabled = isDisabled || manager.isDisabled(key);\n // Set tabIndex to 0 if the element is focused, or -1 otherwise so that only the last focused\n // item is tabbable. If using virtual focus, don't set a tabIndex at all so that VoiceOver\n // on iOS 14 doesn't try to move real DOM focus to the item anyway.\n let itemProps = {};\n if (!shouldUseVirtualFocus && !isDisabled) itemProps = {\n tabIndex: key === manager.focusedKey ? 0 : -1,\n onFocus (e) {\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === ref.current) manager.setFocusedKey(key);\n }\n };\n else if (isDisabled) itemProps.onMouseDown = (e)=>{\n // Prevent focus going to the body when clicking on a disabled item.\n e.preventDefault();\n };\n (0, $iQN4Y$useEffect)(()=>{\n if (isDisabled && manager.focusedKey === key) manager.setFocusedKey(null);\n }, [\n manager,\n isDisabled,\n key\n ]);\n // With checkbox selection, onAction (i.e. navigation) becomes primary, and occurs on a single click of the row.\n // Clicking the checkbox enters selection mode, after which clicking anywhere on any row toggles selection for that row.\n // With highlight selection, onAction is secondary, and occurs on double click. Single click selects the row.\n // With touch, onAction occurs on single tap, and long press enters selection mode.\n let isLinkOverride = manager.isLink(key) && linkBehavior === 'override';\n let isActionOverride = onAction && options['UNSTABLE_itemBehavior'] === 'action';\n let hasLinkAction = manager.isLink(key) && linkBehavior !== 'selection' && linkBehavior !== 'none';\n let allowsSelection = !isDisabled && manager.canSelectItem(key) && !isLinkOverride && !isActionOverride;\n let allowsActions = (onAction || hasLinkAction) && !isDisabled;\n let hasPrimaryAction = allowsActions && (manager.selectionBehavior === 'replace' ? !allowsSelection : !allowsSelection || manager.isEmpty);\n let hasSecondaryAction = allowsActions && allowsSelection && manager.selectionBehavior === 'replace';\n let hasAction = hasPrimaryAction || hasSecondaryAction;\n let modality = (0, $iQN4Y$useRef)(null);\n let longPressEnabled = hasAction && allowsSelection;\n let longPressEnabledOnPressStart = (0, $iQN4Y$useRef)(false);\n let hadPrimaryActionOnPressStart = (0, $iQN4Y$useRef)(false);\n let collectionItemProps = manager.getItemProps(key);\n let performAction = (e)=>{\n if (onAction) {\n onAction();\n ref.current?.dispatchEvent(new CustomEvent('react-aria-item-action', {\n bubbles: true\n }));\n }\n if (hasLinkAction && ref.current) router.open(ref.current, e, collectionItemProps.href, collectionItemProps.routerOptions);\n };\n // By default, selection occurs on pointer down. This can be strange if selecting an\n // item causes the UI to disappear immediately (e.g. menus).\n // If shouldSelectOnPressUp is true, we use onPressUp instead of onPressStart.\n // onPress requires a pointer down event on the same element as pointer up. For menus,\n // we want to be able to have the pointer down on the trigger that opens the menu and\n // the pointer up on the menu item rather than requiring a separate press.\n // For keyboard events, selection still occurs on key down.\n let itemPressProps = {\n ref: ref\n };\n if (shouldSelectOnPressUp) {\n // oxlint-disable-next-line react/react-compiler\n itemPressProps.onPressStart = (e)=>{\n modality.current = e.pointerType;\n longPressEnabledOnPressStart.current = longPressEnabled;\n if (e.pointerType === 'keyboard' && (!hasAction || $f6ba6936bfd098a0$var$isSelectionKey(e.key))) onSelect(e);\n };\n // If allowsDifferentPressOrigin and interacting with mouse, make selection happen on pressUp (e.g. open menu on press down, selection on menu item happens on press up.)\n // Otherwise, have selection happen onPress (prevents listview row selection when clicking on interactable elements in the row)\n if (!allowsDifferentPressOrigin) // oxlint-disable-next-line react/react-compiler\n itemPressProps.onPress = (e)=>{\n if (hasPrimaryAction || hasSecondaryAction && e.pointerType !== 'mouse') {\n if (e.pointerType === 'keyboard' && !$f6ba6936bfd098a0$var$isActionKey(e.key)) return;\n performAction(e);\n } else if (e.pointerType !== 'keyboard' && allowsSelection) onSelect(e);\n };\n else {\n // oxlint-disable-next-line react/react-compiler\n itemPressProps.onPressUp = hasPrimaryAction ? undefined : (e)=>{\n if (e.pointerType === 'mouse' && allowsSelection) onSelect(e);\n };\n // oxlint-disable-next-line react/react-compiler\n itemPressProps.onPress = hasPrimaryAction ? performAction : (e)=>{\n if (e.pointerType !== 'keyboard' && e.pointerType !== 'mouse' && allowsSelection) onSelect(e);\n };\n }\n } else {\n // oxlint-disable-next-line react/react-compiler\n itemPressProps.onPressStart = (e)=>{\n modality.current = e.pointerType;\n longPressEnabledOnPressStart.current = longPressEnabled;\n hadPrimaryActionOnPressStart.current = hasPrimaryAction;\n // Select on mouse down unless there is a primary action which will occur on mouse up.\n // For keyboard, select on key down. If there is an action, the Space key selects on key down,\n // and the Enter key performs onAction on key up.\n if (allowsSelection && (e.pointerType === 'mouse' && !hasPrimaryAction || e.pointerType === 'keyboard' && (!allowsActions || $f6ba6936bfd098a0$var$isSelectionKey(e.key)))) onSelect(e);\n };\n // oxlint-disable-next-line react/react-compiler\n itemPressProps.onPress = (e)=>{\n // Selection occurs on touch up. Primary actions always occur on pointer up.\n // Both primary and secondary actions occur on Enter key up. The only exception\n // is secondary actions, which occur on double click with a mouse.\n if (e.pointerType === 'touch' || e.pointerType === 'pen' || e.pointerType === 'virtual' || e.pointerType === 'keyboard' && hasAction && $f6ba6936bfd098a0$var$isActionKey(e.key) || e.pointerType === 'mouse' && hadPrimaryActionOnPressStart.current) {\n if (hasAction) performAction(e);\n else if (allowsSelection) onSelect(e);\n }\n };\n }\n let collectionId = (0, $22bbea12c2567021$export$6aeb1680a0ae8741)(manager.collection);\n itemProps['data-collection'] = collectionId;\n itemProps['data-key'] = key;\n // oxlint-disable-next-line react/react-compiler\n itemPressProps.preventFocusOnPress = shouldUseVirtualFocus;\n // When using virtual focus, make sure the focused key gets updated on press.\n if (shouldUseVirtualFocus) // oxlint-disable-next-line react/react-compiler\n itemPressProps = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(itemPressProps, {\n onPressStart (e) {\n if (e.pointerType !== 'touch') {\n manager.setFocused(true);\n manager.setFocusedKey(key);\n }\n },\n onPress (e) {\n if (e.pointerType === 'touch') {\n manager.setFocused(true);\n manager.setFocusedKey(key);\n }\n }\n });\n if (collectionItemProps) {\n for (let key of [\n 'onPressStart',\n 'onPressEnd',\n 'onPressChange',\n 'onPress',\n 'onPressUp',\n 'onClick'\n ])if (collectionItemProps[key]) // oxlint-disable-next-line react/react-compiler\n itemPressProps[key] = (0, $a4e76a5424781910$export$e08e3b67e392101e)(itemPressProps[key], collectionItemProps[key]);\n }\n let { pressProps: pressProps, isPressed: isPressed } = (0, $d27d541f9569d26d$export$45712eceda6fad21)(itemPressProps);\n // Double clicking with a mouse with selectionBehavior = 'replace' performs an action.\n let onDoubleClick = hasSecondaryAction ? (e)=>{\n if (modality.current === 'mouse') {\n e.stopPropagation();\n e.preventDefault();\n performAction(e);\n }\n } : undefined;\n // Long pressing an item with touch when selectionBehavior = 'replace' switches the selection behavior\n // to 'toggle'. This changes the single tap behavior from performing an action (i.e. navigating) to\n // selecting, and may toggle the appearance of a UI affordance like checkboxes on each item.\n let { longPressProps: longPressProps } = (0, $7b01448eaad0fe7c$export$c24ed0104d07eab9)({\n isDisabled: !longPressEnabled,\n onLongPress (e) {\n if (e.pointerType === 'touch') {\n onSelect(e);\n manager.setSelectionBehavior('toggle');\n }\n }\n });\n // Prevent native drag and drop on long press if we also select on long press.\n // Once the user is in selection mode, they can long press again to drag.\n // Use a capturing listener to ensure this runs before useDrag, regardless of\n // the order the props get merged.\n let onDragStartCapture = (e)=>{\n if (modality.current === 'touch' && longPressEnabledOnPressStart.current) e.preventDefault();\n };\n // Prevent default on link clicks so that we control exactly\n // when they open (to match selection behavior).\n let onClick = linkBehavior !== 'none' && manager.isLink(key) ? (e)=>{\n if (!(0, $caaf0dd3060ed57c$export$95185d699e05d4d7).isOpening) e.preventDefault();\n } : undefined;\n let mergedItemProps = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(// oxlint-disable-next-line react/react-compiler\n itemProps, allowsSelection || hasPrimaryAction || shouldUseVirtualFocus && !isDisabled ? pressProps : {}, longPressEnabled ? longPressProps : {}, // oxlint-disable-next-line react/react-compiler\n {\n onDoubleClick: onDoubleClick,\n onDragStartCapture: onDragStartCapture,\n onClick: onClick,\n id: id\n }, // Prevent DOM focus from moving on mouse down when using virtual focus\n shouldUseVirtualFocus ? {\n onMouseDown: (e)=>e.preventDefault()\n } : undefined);\n // Guard against presses triggering selection when they happen on interactive children or collection items from different collections\n // will need to trigger selection if the target is itself a collection item belonging to the same collection parent (aka a cell in a row) but\n // not if the target is a child of a different collections aka taggroup in table cell.\n let isChildInteraction = (target)=>{\n let el = target;\n while(el && el !== ref.current){\n let elCollection = el.getAttribute('data-collection');\n if (elCollection != null) return elCollection !== collectionId;\n el = el.parentElement;\n }\n return (0, $3b8b240c1bf84ab9$export$bebd5a1431fec25d)(target);\n };\n let baseOnPointerDown = mergedItemProps.onPointerDown;\n mergedItemProps.onPointerDown = (e)=>{\n let target = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (target && target !== ref.current && isChildInteraction(target)) {\n e.stopPropagation();\n return;\n }\n baseOnPointerDown?.(e);\n };\n let baseOnMouseDown = mergedItemProps.onMouseDown;\n mergedItemProps.onMouseDown = (e)=>{\n let target = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (target && target !== ref.current && isChildInteraction(target)) {\n e.stopPropagation();\n return;\n }\n baseOnMouseDown?.(e);\n };\n return {\n itemProps: mergedItemProps,\n isPressed: isPressed,\n isSelected: manager.isSelected(key),\n isFocused: manager.isFocused && manager.focusedKey === key,\n isDisabled: isDisabled,\n allowsSelection: allowsSelection,\n hasAction: hasAction\n };\n}\nfunction $f6ba6936bfd098a0$var$isActionKey(key) {\n return key === 'Enter';\n}\nfunction $f6ba6936bfd098a0$var$isSelectionKey(key) {\n return key === ' ';\n}\n\n\nexport {$f6ba6936bfd098a0$export$ecf600387e221c37 as useSelectableItem};\n//# sourceMappingURL=useSelectableItem.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $cd5ea4b915021f1d$export$1005530eda016c13(node, collection) {\n // New API: call collection.getChildren with the node key.\n if (typeof collection.getChildren === 'function') return collection.getChildren(node.key);\n // Old API: access childNodes directly.\n return node.childNodes;\n}\nfunction $cd5ea4b915021f1d$export$fbdeaa6a76694f71(iterable) {\n return $cd5ea4b915021f1d$export$5f3398f8733f90e2(iterable, 0);\n}\nfunction $cd5ea4b915021f1d$export$5f3398f8733f90e2(iterable, index) {\n if (index < 0) return undefined;\n let i = 0;\n for (let item of iterable){\n if (i === index) return item;\n i++;\n }\n}\nfunction $cd5ea4b915021f1d$export$7475b2c64539e4cf(iterable) {\n let lastItem = undefined;\n for (let value of iterable)lastItem = value;\n return lastItem;\n}\nfunction $cd5ea4b915021f1d$export$8c434b3a7a4dad6(collection, a, b) {\n // If the two nodes have the same parent, compare their indices.\n if (a.parentKey === b.parentKey) return a.index - b.index;\n // Otherwise, collect all of the ancestors from each node, and find the first one that doesn't match starting from the root.\n // Include the base nodes in case we are comparing nodes of different levels so that we can compare the higher node to the lower level node's\n // ancestor of the same level\n let aAncestors = [\n ...$cd5ea4b915021f1d$var$getAncestors(collection, a),\n a\n ];\n let bAncestors = [\n ...$cd5ea4b915021f1d$var$getAncestors(collection, b),\n b\n ];\n let firstNonMatchingAncestor = aAncestors.slice(0, bAncestors.length).findIndex((a, i)=>a !== bAncestors[i]);\n if (firstNonMatchingAncestor !== -1) {\n // Compare the indices of two children within the common ancestor.\n a = aAncestors[firstNonMatchingAncestor];\n b = bAncestors[firstNonMatchingAncestor];\n return a.index - b.index;\n }\n // If there isn't a non matching ancestor, we might be in a case where one of the nodes is the ancestor of the other.\n if (aAncestors.findIndex((node)=>node === b) >= 0) return 1;\n else if (bAncestors.findIndex((node)=>node === a) >= 0) return -1;\n // 🤷\n return -1;\n}\nfunction $cd5ea4b915021f1d$var$getAncestors(collection, node) {\n let parents = [];\n let currNode = node;\n while(currNode?.parentKey != null){\n currNode = collection.getItem(currNode.parentKey);\n if (currNode) parents.unshift(currNode);\n }\n return parents;\n}\n\n\nexport {$cd5ea4b915021f1d$export$1005530eda016c13 as getChildNodes, $cd5ea4b915021f1d$export$fbdeaa6a76694f71 as getFirstItem, $cd5ea4b915021f1d$export$5f3398f8733f90e2 as getNthItem, $cd5ea4b915021f1d$export$7475b2c64539e4cf as getLastItem, $cd5ea4b915021f1d$export$8c434b3a7a4dad6 as compareNodeOrder};\n//# sourceMappingURL=getChildNodes.mjs.map\n","import {version as $gfwmN$version} from \"react\";\n\n\nfunction $b24d1bc31a0f941d$export$a9d04c5684123369(value) {\n const pieces = (0, $gfwmN$version).split('.');\n const major = parseInt(pieces[0], 10);\n if (major >= 19) return value;\n // compatibility with React < 19\n return value ? 'true' : undefined;\n}\n\n\nexport {$b24d1bc31a0f941d$export$a9d04c5684123369 as inertValue};\n//# sourceMappingURL=inertValue.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $8b2540e09867b15e$export$52baac22726c72bf extends Set {\n constructor(keys, anchorKey, currentKey){\n super(keys);\n if (keys instanceof $8b2540e09867b15e$export$52baac22726c72bf) {\n this.anchorKey = anchorKey ?? keys.anchorKey;\n this.currentKey = currentKey ?? keys.currentKey;\n } else {\n this.anchorKey = anchorKey ?? null;\n this.currentKey = currentKey ?? null;\n }\n }\n}\n\n\nexport {$8b2540e09867b15e$export$52baac22726c72bf as Selection};\n//# sourceMappingURL=Selection.mjs.map\n","import {Selection as $8b2540e09867b15e$export$52baac22726c72bf} from \"./Selection.mjs\";\nimport {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useRef as $7w3VE$useRef, useState as $7w3VE$useState, useMemo as $7w3VE$useMemo, useEffect as $7w3VE$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $60f19cefd567a3e4$var$equalSets(setA, setB) {\n if (setA.size !== setB.size) return false;\n for (let item of setA){\n if (!setB.has(item)) return false;\n }\n return true;\n}\nfunction $60f19cefd567a3e4$export$253fe78d46329472(props) {\n let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection = false, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;\n // We want synchronous updates to `isFocused` and `focusedKey` after their setters are called.\n // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async).\n let isFocusedRef = (0, $7w3VE$useRef)(false);\n let [, setFocused] = (0, $7w3VE$useState)(false);\n let focusedKeyRef = (0, $7w3VE$useRef)(null);\n let childFocusStrategyRef = (0, $7w3VE$useRef)(null);\n let [, setFocusedKey] = (0, $7w3VE$useState)(null);\n let selectedKeysProp = (0, $7w3VE$useMemo)(()=>$60f19cefd567a3e4$var$convertSelection(props.selectedKeys), [\n props.selectedKeys\n ]);\n let defaultSelectedKeys = (0, $7w3VE$useMemo)(()=>$60f19cefd567a3e4$var$convertSelection(props.defaultSelectedKeys, new (0, $8b2540e09867b15e$export$52baac22726c72bf)()), [\n props.defaultSelectedKeys\n ]);\n let [selectedKeys, setSelectedKeys] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(selectedKeysProp, defaultSelectedKeys, props.onSelectionChange);\n let disabledKeysProp = (0, $7w3VE$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let [selectionBehavior, setSelectionBehavior] = (0, $7w3VE$useState)(selectionBehaviorProp);\n // If the selectionBehavior prop is set to replace, but the current state is toggle (e.g. due to long press\n // to enter selection mode on touch), and the selection becomes empty, reset the selection behavior.\n if (selectionBehaviorProp === 'replace' && selectionBehavior === 'toggle' && typeof selectedKeys === 'object' && selectedKeys.size === 0) setSelectionBehavior('replace');\n // If the selectionBehavior prop changes, update the state as well.\n let lastSelectionBehavior = (0, $7w3VE$useRef)(selectionBehaviorProp);\n (0, $7w3VE$useEffect)(()=>{\n if (selectionBehaviorProp !== lastSelectionBehavior.current) {\n setSelectionBehavior(selectionBehaviorProp);\n lastSelectionBehavior.current = selectionBehaviorProp;\n }\n }, [\n selectionBehaviorProp\n ]);\n return {\n selectionMode: selectionMode,\n disallowEmptySelection: disallowEmptySelection,\n selectionBehavior: selectionBehavior,\n setSelectionBehavior: setSelectionBehavior,\n get isFocused () {\n return isFocusedRef.current;\n },\n setFocused (f) {\n isFocusedRef.current = f;\n setFocused(f);\n },\n get focusedKey () {\n return focusedKeyRef.current;\n },\n get childFocusStrategy () {\n return childFocusStrategyRef.current;\n },\n setFocusedKey (k, childFocusStrategy = 'first') {\n focusedKeyRef.current = k;\n childFocusStrategyRef.current = childFocusStrategy;\n setFocusedKey(k);\n },\n selectedKeys: selectedKeys,\n setSelectedKeys (keys) {\n if (allowDuplicateSelectionEvents || !$60f19cefd567a3e4$var$equalSets(keys, selectedKeys)) setSelectedKeys(keys);\n },\n disabledKeys: disabledKeysProp,\n disabledBehavior: disabledBehavior\n };\n}\nfunction $60f19cefd567a3e4$var$convertSelection(selection, defaultValue) {\n if (!selection) return defaultValue;\n return selection === 'all' ? 'all' : new (0, $8b2540e09867b15e$export$52baac22726c72bf)(selection);\n}\n\n\nexport {$60f19cefd567a3e4$export$253fe78d46329472 as useMultipleSelectionState};\n//# sourceMappingURL=useMultipleSelectionState.mjs.map\n","import {compareNodeOrder as $cd5ea4b915021f1d$export$8c434b3a7a4dad6, getChildNodes as $cd5ea4b915021f1d$export$1005530eda016c13, getFirstItem as $cd5ea4b915021f1d$export$fbdeaa6a76694f71} from \"../collections/getChildNodes.mjs\";\nimport {Selection as $8b2540e09867b15e$export$52baac22726c72bf} from \"./Selection.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $4a07ac835f260f78$export$6c8a5aaad13c9852 {\n constructor(collection, state, options){\n this.collection = collection;\n this.state = state;\n this.allowsCellSelection = options?.allowsCellSelection ?? false;\n this._isSelectAll = null;\n this.layoutDelegate = options?.layoutDelegate || null;\n this.fullCollection = options?.fullCollection || null;\n }\n /**\n * The type of selection that is allowed in the collection.\n */ get selectionMode() {\n return this.state.selectionMode;\n }\n /**\n * Whether the collection allows empty selection.\n */ get disallowEmptySelection() {\n return this.state.disallowEmptySelection;\n }\n /**\n * The selection behavior for the collection.\n */ get selectionBehavior() {\n return this.state.selectionBehavior;\n }\n /**\n * Sets the selection behavior for the collection.\n */ setSelectionBehavior(selectionBehavior) {\n this.state.setSelectionBehavior(selectionBehavior);\n }\n /**\n * Whether the collection is currently focused.\n */ get isFocused() {\n return this.state.isFocused;\n }\n /**\n * Sets whether the collection is focused.\n */ setFocused(isFocused) {\n this.state.setFocused(isFocused);\n }\n /**\n * The current focused key in the collection.\n */ get focusedKey() {\n return this.state.focusedKey;\n }\n /** Whether the first or last child of the focused key should receive focus. */ get childFocusStrategy() {\n return this.state.childFocusStrategy;\n }\n /**\n * Sets the focused key.\n */ setFocusedKey(key, childFocusStrategy) {\n if (key == null || this.collection.getItem(key)) this.state.setFocusedKey(key, childFocusStrategy);\n }\n /**\n * The currently selected keys in the collection.\n */ get selectedKeys() {\n return this.state.selectedKeys === 'all' ? new Set(this.getSelectAllKeys()) : this.state.selectedKeys;\n }\n /**\n * The raw selection value for the collection.\n * Either 'all' for select all, or a set of keys.\n */ get rawSelection() {\n return this.state.selectedKeys;\n }\n /**\n * Returns whether a key is selected.\n */ isSelected(key) {\n if (this.state.selectionMode === 'none') return false;\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return false;\n return this.state.selectedKeys === 'all' ? this.canSelectItem(mappedKey) : this.state.selectedKeys.has(mappedKey);\n }\n /**\n * Whether the selection is empty.\n */ get isEmpty() {\n return this.state.selectedKeys !== 'all' && this.state.selectedKeys.size === 0;\n }\n /**\n * Whether all items in the collection are selected.\n */ get isSelectAll() {\n if (this.isEmpty) return false;\n if (this.state.selectedKeys === 'all') return true;\n if (this._isSelectAll != null) return this._isSelectAll;\n let allKeys = this.getSelectAllKeys();\n let selectedKeys = this.state.selectedKeys;\n this._isSelectAll = allKeys.every((k)=>selectedKeys.has(k));\n return this._isSelectAll;\n }\n get firstSelectedKey() {\n let first = null;\n for (let key of this.state.selectedKeys){\n let item = this.collection.getItem(key);\n if (!first || item && (0, $cd5ea4b915021f1d$export$8c434b3a7a4dad6)(this.collection, item, first) < 0) first = item;\n }\n return first?.key ?? null;\n }\n get lastSelectedKey() {\n let last = null;\n for (let key of this.state.selectedKeys){\n let item = this.collection.getItem(key);\n if (!last || item && (0, $cd5ea4b915021f1d$export$8c434b3a7a4dad6)(this.collection, item, last) > 0) last = item;\n }\n return last?.key ?? null;\n }\n get disabledKeys() {\n return this.state.disabledKeys;\n }\n get disabledBehavior() {\n return this.state.disabledBehavior;\n }\n /**\n * Extends the selection to the given key.\n */ extendSelection(toKey) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single') {\n this.replaceSelection(toKey);\n return;\n }\n let mappedToKey = this.getKey(toKey);\n if (mappedToKey == null) return;\n let selection;\n // Only select the one key if coming from a select all.\n if (this.state.selectedKeys === 'all') selection = new (0, $8b2540e09867b15e$export$52baac22726c72bf)([\n mappedToKey\n ], mappedToKey, mappedToKey);\n else {\n let selectedKeys = this.state.selectedKeys;\n let anchorKey = selectedKeys.anchorKey ?? mappedToKey;\n selection = new (0, $8b2540e09867b15e$export$52baac22726c72bf)(selectedKeys, anchorKey, mappedToKey);\n for (let key of this.getKeyRange(anchorKey, selectedKeys.currentKey ?? mappedToKey))selection.delete(key);\n for (let key of this.getKeyRange(mappedToKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);\n }\n this.state.setSelectedKeys(selection);\n }\n getKeyRange(from, to) {\n let fromItem = this.collection.getItem(from);\n let toItem = this.collection.getItem(to);\n if (fromItem && toItem) {\n if ((0, $cd5ea4b915021f1d$export$8c434b3a7a4dad6)(this.collection, fromItem, toItem) <= 0) return this.getKeyRangeInternal(from, to);\n return this.getKeyRangeInternal(to, from);\n }\n return [];\n }\n getKeyRangeInternal(from, to) {\n if (this.layoutDelegate?.getKeyRange) return this.layoutDelegate.getKeyRange(from, to);\n let keys = [];\n let key = from;\n while(key != null){\n let item = this.collection.getItem(key);\n if (item && (item.type === 'item' || item.type === 'cell' && this.allowsCellSelection)) keys.push(key);\n if (key === to) return keys;\n key = this.collection.getKeyAfter(key);\n }\n return [];\n }\n getKey(key) {\n let item = this.collection.getItem(key);\n if (!item) // ¯\\_(ツ)_/¯\n return key;\n // If cell selection is allowed, just return the key.\n if (item.type === 'cell' && this.allowsCellSelection) return key;\n // Find a parent item to select\n while(item && item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);\n if (!item || item.type !== 'item') return null;\n return item.key;\n }\n /**\n * Toggles whether the given key is selected.\n */ toggleSelection(key) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single' && !this.isSelected(key)) {\n this.replaceSelection(key);\n return;\n }\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return;\n let keys = new (0, $8b2540e09867b15e$export$52baac22726c72bf)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys);\n if (keys.has(mappedKey)) keys.delete(mappedKey);\n else if (this.canSelectItem(mappedKey)) {\n keys.add(mappedKey);\n keys.anchorKey = mappedKey;\n keys.currentKey = mappedKey;\n }\n if (this.disallowEmptySelection && keys.size === 0) return;\n this.state.setSelectedKeys(keys);\n }\n /**\n * Replaces the selection with only the given key.\n */ replaceSelection(key) {\n if (this.selectionMode === 'none') return;\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return;\n let selection = this.canSelectItem(mappedKey) ? new (0, $8b2540e09867b15e$export$52baac22726c72bf)([\n mappedKey\n ], mappedKey, mappedKey) : new (0, $8b2540e09867b15e$export$52baac22726c72bf)();\n this.state.setSelectedKeys(selection);\n }\n /**\n * Replaces the selection with the given keys.\n */ setSelectedKeys(keys) {\n if (this.selectionMode === 'none') return;\n let selection = new (0, $8b2540e09867b15e$export$52baac22726c72bf)();\n for (let key of keys){\n let mappedKey = this.getKey(key);\n if (mappedKey != null) {\n selection.add(mappedKey);\n if (this.selectionMode === 'single') break;\n }\n }\n this.state.setSelectedKeys(selection);\n }\n getSelectAllKeys() {\n // Use the full (unfiltered) collection when available so that materializing\n // the 'all' selection includes items that are currently filtered out (e.g. by Autocomplete).\n let collection = this.fullCollection ?? this.collection;\n let keys = [];\n let addKeys = (key)=>{\n while(key != null){\n if (this.canSelectItemIn(key, collection)) {\n let item = collection.getItem(key);\n if (item?.type === 'item') keys.push(key);\n // Add child keys. If cell selection is allowed, then include item children too.\n if (item?.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) addKeys((0, $cd5ea4b915021f1d$export$fbdeaa6a76694f71)((0, $cd5ea4b915021f1d$export$1005530eda016c13)(item, collection))?.key ?? null);\n }\n key = collection.getKeyAfter(key);\n }\n };\n addKeys(collection.getFirstKey());\n return keys;\n }\n /**\n * Selects all items in the collection.\n */ selectAll() {\n if (!this.isSelectAll && this.selectionMode === 'multiple') this.state.setSelectedKeys('all');\n }\n /**\n * Removes all keys from the selection.\n */ clearSelection() {\n if (!this.disallowEmptySelection && (this.state.selectedKeys === 'all' || this.state.selectedKeys.size > 0)) this.state.setSelectedKeys(new (0, $8b2540e09867b15e$export$52baac22726c72bf)());\n }\n /**\n * Toggles between select all and an empty selection.\n */ toggleSelectAll() {\n if (this.isSelectAll) this.clearSelection();\n else this.selectAll();\n }\n select(key, e) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single') {\n if (this.isSelected(key) && !this.disallowEmptySelection) this.toggleSelection(key);\n else this.replaceSelection(key);\n } else if (this.selectionBehavior === 'toggle' || e && (e.pointerType === 'touch' || e.pointerType === 'virtual')) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys\n this.toggleSelection(key);\n else this.replaceSelection(key);\n }\n /**\n * Returns whether the current selection is equal to the given selection.\n */ isSelectionEqual(selection) {\n if (selection === this.state.selectedKeys) return true;\n // Check if the set of keys match.\n let selectedKeys = this.selectedKeys;\n if (selection.size !== selectedKeys.size) return false;\n for (let key of selection){\n if (!selectedKeys.has(key)) return false;\n }\n for (let key of selectedKeys){\n if (!selection.has(key)) return false;\n }\n return true;\n }\n canSelectItem(key) {\n return this.canSelectItemIn(key, this.collection);\n }\n canSelectItemIn(key, collection) {\n if (this.state.selectionMode === 'none' || this.state.disabledKeys.has(key)) return false;\n let item = collection.getItem(key);\n if (!item || item?.props?.isDisabled || item.type === 'cell' && !this.allowsCellSelection) return false;\n return true;\n }\n isDisabled(key) {\n let item = this.collection.getItem(key);\n return this.state.disabledBehavior === 'all' && (this.state.disabledKeys.has(key) || !!item?.props?.isDisabled) && item?.props?.disabledBehavior !== 'selection';\n }\n isLink(key) {\n return !!this.collection.getItem(key)?.props?.href;\n }\n getItemProps(key) {\n return this.collection.getItem(key)?.props;\n }\n withCollection(collection) {\n return new $4a07ac835f260f78$export$6c8a5aaad13c9852(collection, this.state, {\n allowsCellSelection: this.allowsCellSelection,\n layoutDelegate: this.layoutDelegate || undefined,\n fullCollection: this.fullCollection ?? this.collection\n });\n }\n}\n\n\nexport {$4a07ac835f260f78$export$6c8a5aaad13c9852 as SelectionManager};\n//# sourceMappingURL=SelectionManager.mjs.map\n","import $jO8i1$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nclass $bda7a7e55e1ff206$export$bf788dd355e3a401 {\n build(props, context) {\n this.context = context;\n return $bda7a7e55e1ff206$var$iterable(()=>this.iterateCollection(props));\n }\n *iterateCollection(props) {\n let { children: children, items: items } = props;\n if ((0, $jO8i1$react).isValidElement(children) && children.type === (0, $jO8i1$react).Fragment) yield* this.iterateCollection({\n children: children.props.children,\n items: items\n });\n else if (typeof children === 'function') {\n if (!items) throw new Error('props.children was a function but props.items is missing');\n let index = 0;\n for (let item of items){\n yield* this.getFullNode({\n value: item,\n index: index\n }, {\n renderer: children\n });\n index++;\n }\n } else {\n let items = [];\n (0, $jO8i1$react).Children.forEach(children, (child)=>{\n if (child) items.push(child);\n });\n let index = 0;\n for (let item of items){\n let nodes = this.getFullNode({\n element: item,\n index: index\n }, {});\n for (let node of nodes){\n index++;\n yield node;\n }\n }\n }\n }\n getKey(item, partialNode, state, parentKey) {\n if (item.key != null) return item.key;\n if (partialNode.type === 'cell' && partialNode.key != null) return `${parentKey}${partialNode.key}`;\n let v = partialNode.value;\n if (v != null) {\n let key = v.key ?? v.id;\n if (key == null) throw new Error('No key found for item');\n return key;\n }\n return parentKey ? `${parentKey}.${partialNode.index}` : `$.${partialNode.index}`;\n }\n getChildState(state, partialNode) {\n return {\n renderer: partialNode.renderer || state.renderer\n };\n }\n *getFullNode(partialNode, state, parentKey, parentNode) {\n if ((0, $jO8i1$react).isValidElement(partialNode.element) && partialNode.element.type === (0, $jO8i1$react).Fragment) {\n let children = [];\n (0, $jO8i1$react).Children.forEach(partialNode.element.props.children, (child)=>{\n children.push(child);\n });\n let index = partialNode.index ?? 0;\n for (const child of children)yield* this.getFullNode({\n element: child,\n index: index++\n }, state, parentKey, parentNode);\n return;\n }\n // If there's a value instead of an element on the node, and a parent renderer function is available,\n // use it to render an element for the value.\n let element = partialNode.element;\n if (!element && partialNode.value && state && state.renderer) {\n let cached = this.cache.get(partialNode.value);\n if (cached && (!cached.shouldInvalidate || !cached.shouldInvalidate(this.context))) {\n cached.index = partialNode.index;\n cached.parentKey = parentNode ? parentNode.key : null;\n yield cached;\n return;\n }\n element = state.renderer(partialNode.value);\n }\n // If there's an element with a getCollectionNode function on its type, then it's a supported component.\n // Call this function to get a partial node, and recursively build a full node from there.\n if ((0, $jO8i1$react).isValidElement(element)) {\n let type = element.type;\n if (typeof type !== 'function' && typeof type.getCollectionNode !== 'function') {\n let name = element.type;\n throw new Error(`Unknown element <${name}> in collection.`);\n }\n let childNodes = type.getCollectionNode(element.props, this.context);\n let index = partialNode.index ?? 0;\n let result = childNodes.next();\n while(!result.done && result.value){\n let childNode = result.value;\n partialNode.index = index;\n let nodeKey = childNode.key ?? null;\n if (nodeKey == null) nodeKey = childNode.element ? null : this.getKey(element, partialNode, state, parentKey);\n let nodes = this.getFullNode({\n ...childNode,\n key: nodeKey,\n index: index,\n wrapper: $bda7a7e55e1ff206$var$compose(partialNode.wrapper, childNode.wrapper)\n }, this.getChildState(state, childNode), parentKey ? `${parentKey}${element.key}` : element.key, parentNode);\n let children = [\n ...nodes\n ];\n for (let node of children){\n // Cache the node based on its value\n node.value = childNode.value ?? partialNode.value ?? null;\n if (node.value) this.cache.set(node.value, node);\n // The partial node may have specified a type for the child in order to specify a constraint.\n // Verify that the full node that was built recursively matches this type.\n if (partialNode.type && node.type !== partialNode.type) throw new Error(`Unsupported type <${$bda7a7e55e1ff206$var$capitalize(node.type)}> in <${$bda7a7e55e1ff206$var$capitalize(parentNode?.type ?? 'unknown parent type')}>. Only <${$bda7a7e55e1ff206$var$capitalize(partialNode.type)}> is supported.`);\n index++;\n yield node;\n }\n result = childNodes.next(children);\n }\n return;\n }\n // Ignore invalid elements\n if (partialNode.key == null || partialNode.type == null) return;\n // Create full node\n let builder = this;\n let node = {\n type: partialNode.type,\n props: partialNode.props,\n key: partialNode.key,\n parentKey: parentNode ? parentNode.key : null,\n value: partialNode.value ?? null,\n level: (parentNode?.level ?? 0) + (parentNode?.type === 'item' ? 1 : 0),\n index: partialNode.index,\n rendered: partialNode.rendered,\n textValue: partialNode.textValue ?? '',\n 'aria-label': partialNode['aria-label'],\n wrapper: partialNode.wrapper,\n shouldInvalidate: partialNode.shouldInvalidate,\n hasChildNodes: partialNode.hasChildNodes || false,\n childNodes: $bda7a7e55e1ff206$var$iterable(function*() {\n if (!partialNode.hasChildNodes || !partialNode.childNodes) return;\n let index = 0;\n for (let child of partialNode.childNodes()){\n // Ensure child keys are globally unique by prepending the parent node's key\n if (child.key != null) // TODO: Remove this line entirely and enforce that users always provide unique keys.\n // Currently this line will have issues when a parent has a key `a` and a child with key `bc`\n // but another parent has key `ab` and its child has a key `c`. The combined keys would result in both\n // children having a key of `abc`.\n child.key = `${node.key}${child.key}`;\n let nodes = builder.getFullNode({\n ...child,\n index: index\n }, builder.getChildState(state, child), node.key, node);\n for (let node of nodes){\n index++;\n yield node;\n }\n }\n })\n };\n yield node;\n }\n constructor(){\n this.cache = new WeakMap();\n }\n}\n// Wraps an iterator function as an iterable object, and caches the results.\nfunction $bda7a7e55e1ff206$var$iterable(iterator) {\n let cache = [];\n let iterable = null;\n return {\n *[Symbol.iterator] () {\n for (let item of cache)yield item;\n if (!iterable) iterable = iterator();\n for (let item of iterable){\n cache.push(item);\n yield item;\n }\n }\n };\n}\nfunction $bda7a7e55e1ff206$var$compose(outer, inner) {\n if (outer && inner) return (element)=>outer(inner(element));\n if (outer) return outer;\n if (inner) return inner;\n}\nfunction $bda7a7e55e1ff206$var$capitalize(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\n\n\nexport {$bda7a7e55e1ff206$export$bf788dd355e3a401 as CollectionBuilder};\n//# sourceMappingURL=CollectionBuilder.mjs.map\n","import {CollectionBuilder as $bda7a7e55e1ff206$export$bf788dd355e3a401} from \"./CollectionBuilder.mjs\";\nimport {useMemo as $emYU7$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $d03379b88399b8c5$export$6cd28814d92fa9c9(props, factory, context) {\n let builder = (0, $emYU7$useMemo)(()=>new (0, $bda7a7e55e1ff206$export$bf788dd355e3a401)(), []);\n let { children: children, items: items, collection: collection } = props;\n let result = (0, $emYU7$useMemo)(()=>{\n if (collection) return collection;\n let nodes = builder.build({\n children: children,\n items: items\n }, context);\n return factory(nodes);\n }, [\n builder,\n children,\n items,\n collection,\n context,\n factory\n ]);\n return result;\n}\n\n\nexport {$d03379b88399b8c5$export$6cd28814d92fa9c9 as useCollection};\n//# sourceMappingURL=useCollection.mjs.map\n","import {getFocusableTreeWalker as $535772f9d2c1f38d$export$2d6ec8fc375ceafa} from \"./FocusScope.mjs\";\nimport {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"../utils/useLayoutEffect.mjs\";\nimport {useState as $Pt4LU$useState} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $bf14c9739fda2eb3$export$eac1895992b9f3d6(ref, options) {\n let isDisabled = options?.isDisabled;\n let [hasTabbableChild, setHasTabbableChild] = (0, $Pt4LU$useState)(false);\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (ref?.current && !isDisabled) {\n let update = ()=>{\n if (ref.current) {\n let walker = (0, $535772f9d2c1f38d$export$2d6ec8fc375ceafa)(ref.current, {\n tabbable: true\n });\n setHasTabbableChild(!!walker.nextNode());\n }\n };\n update();\n // Update when new elements are inserted, or the tabIndex/disabled attribute updates.\n let observer = new MutationObserver(update);\n observer.observe(ref.current, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\n 'tabIndex',\n 'disabled'\n ]\n });\n return ()=>{\n // Disconnect mutation observer when a React update occurs on the top-level component\n // so we update synchronously after re-rendering. Otherwise React will emit act warnings\n // in tests since mutation observers fire asynchronously. The mutation observer is necessary\n // so we also update if a child component re-renders and adds/removes something tabbable.\n observer.disconnect();\n };\n }\n });\n return isDisabled ? false : hasTabbableChild;\n}\n\n\nexport {$bf14c9739fda2eb3$export$eac1895992b9f3d6 as useHasTabbableChild};\n//# sourceMappingURL=useHasTabbableChild.mjs.map\n"],"names":["$d447af545b77c9f1$export$b204af158042fbac","document","$23f2114a1b82827e$export$cd4e5573fbe2b576","$7096878c21af5e66$export$a929f3f93e2cc67e","$2add3ce32c6007eb$export$a11b0059900ceec8","screen","$23f2114a1b82827e$export$e58f029f0fbfdb29","$d447af545b77c9f1$export$f531f92e2a15358f","$2add3ce32c6007eb$export$78551043582a6a98","$3b8b240c1bf84ab9$export$4c063cf1350e6fed","$2add3ce32c6007eb$export$9ac100e40613ea10","$fe16bffc7a557bf0$export$7f54fc3180508a52","$jBdOV$useEffect","$2NO26$useMemo","$2NO26$cloneElement","React","require$$0","shim","shimModule","require$$1","$kT5Ur$createContext","$kT5Ur$useContext","$kT5Ur$react","$d7f64c32b702fe2c$export$8dc98ba7eadeaa56","$c7eafbbe1ea5834e$export$535bd6ca7f90a273","$kT5Ur$useRef","$kT5Ur$useCallback","$kT5Ur$useSyncExternalStore","$kT5Ur$useState","$6f0c29017aeec335$export$408d25a4e12db025","collection","$6f0c29017aeec335$export$d68d59712b04d9d1","$kT5Ur$forwardRef","$d1116acdf220c2da$export$f9762fab77588ecb","$kT5Ur$useMemo","$kT5Ur$createPortal","$f0m83$useCachedChildren","$f0m83$react","$f0m83$isValidElement","$f0m83$cloneElement","$f0m83$createContext","$f0m83$useMemo","$2add3ce32c6007eb$export$fedb369cb70207f1","$4UXHm$useState","$c4867b2f328c2698$export$e5c5a5f917a5871c","id","$31sgV$createContext","$31sgV$forwardRef","$7230ffa83bc0c2cf$export$29f1550f4b0d4415","$31sgV$react","$792f28e438b9ad5f$export$c34620ff8881d89f","$2add3ce32c6007eb$export$e1865c3bedcd822b","$390e54f620492c70$export$f680877a34711e37","$dLAPo$useRef","$23f2114a1b82827e$export$4282f70798064fe0","$dLAPo$useEffect","$cgy5r$useRef","$2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7","$caaf0dd3060ed57c$export$9a302a45f65d0572","$V3AJM$flushSync","firstKey","$535772f9d2c1f38d$export$2d6ec8fc375ceafa","$23f2114a1b82827e$export$b4f377a2b6254582","$3b8b240c1bf84ab9$export$bebd5a1431fec25d","$1969ac565cfec8d0$export$de79e2c695e052f3","$8296dad1a4c5e0dc$export$8f71654801c2f7cd","$V3AJM$useRef","$8f5a2122b0992be3$export$630ff653c5ada6a9","navigateToKey","$V3AJM$useEffect","$f192c2f16961cbe0$export$80f3e147d781571c","$bbaa08b3cd72f041$export$9d1611c77c2fe928","$cZVsC$useRef","$48a7d519b337145d$export$4eaf04e54aa8eed6","$d27d541f9569d26d$export$45712eceda6fad21","e","$d447af545b77c9f1$export$f21a1ffae260145a","itemProps","$iQN4Y$useEffect","$iQN4Y$useRef","key","$a4e76a5424781910$export$e08e3b67e392101e","$caaf0dd3060ed57c$export$95185d699e05d4d7","a","$gfwmN$version","$7w3VE$useRef","$7w3VE$useState","$7w3VE$useMemo","$3e6197669829fe11$export$40bfa8c7b0832715","$7w3VE$useEffect","$jO8i1$react","items","node","$emYU7$useMemo","$Pt4LU$useState"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]}
|