@component-labs/ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/HMKTUWOU-DlOdK4rt.js +25 -0
  2. package/dist/HMKTUWOU-DlOdK4rt.js.map +1 -0
  3. package/dist/HOITXJDS-DBccNHOl.js +48 -0
  4. package/dist/HOITXJDS-DBccNHOl.js.map +1 -0
  5. package/dist/I7KWAPMF-CcAk8kiH.js +86 -0
  6. package/dist/I7KWAPMF-CcAk8kiH.js.map +1 -0
  7. package/dist/IQYAUKXT-CoP_Jrsi.js +546 -0
  8. package/dist/IQYAUKXT-CoP_Jrsi.js.map +1 -0
  9. package/dist/PZ3OL7I2-h7WHitqi.js +61 -0
  10. package/dist/PZ3OL7I2-h7WHitqi.js.map +1 -0
  11. package/dist/Provider.d.ts +8 -0
  12. package/dist/Provider.d.ts.map +1 -0
  13. package/dist/Q5W46E73-DjlVG3LH.js +353 -0
  14. package/dist/Q5W46E73-DjlVG3LH.js.map +1 -0
  15. package/dist/U6HHPQDW-BkT6kvCd.js +888 -0
  16. package/dist/U6HHPQDW-BkT6kvCd.js.map +1 -0
  17. package/dist/X6LNAU2F-DroCIVyL.js +1692 -0
  18. package/dist/X6LNAU2F-DroCIVyL.js.map +1 -0
  19. package/dist/Z32PU2LQ-CPSDShGU.js +1116 -0
  20. package/dist/Z32PU2LQ-CPSDShGU.js.map +1 -0
  21. package/dist/button.d.ts +4 -0
  22. package/dist/button.d.ts.map +1 -0
  23. package/dist/button.js +252 -0
  24. package/dist/button.js.map +1 -0
  25. package/dist/checkbox.d.ts +4 -0
  26. package/dist/checkbox.d.ts.map +1 -0
  27. package/dist/checkbox.js +210 -0
  28. package/dist/checkbox.js.map +1 -0
  29. package/dist/combobox.d.ts +4 -0
  30. package/dist/combobox.d.ts.map +1 -0
  31. package/dist/combobox.js +948 -0
  32. package/dist/combobox.js.map +1 -0
  33. package/dist/components/button/Button.d.ts +26 -0
  34. package/dist/components/button/Button.d.ts.map +1 -0
  35. package/dist/components/button/Button.docs.d.ts +4 -0
  36. package/dist/components/button/Button.docs.d.ts.map +1 -0
  37. package/dist/components/button/Button.showcase.d.ts +40 -0
  38. package/dist/components/button/Button.showcase.d.ts.map +1 -0
  39. package/dist/components/checkbox/Checkbox.d.ts +19 -0
  40. package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
  41. package/dist/components/checkbox/Checkbox.docs.d.ts +4 -0
  42. package/dist/components/checkbox/Checkbox.docs.d.ts.map +1 -0
  43. package/dist/components/checkbox/Checkbox.showcase.d.ts +35 -0
  44. package/dist/components/checkbox/Checkbox.showcase.d.ts.map +1 -0
  45. package/dist/components/combobox/Combobox.d.ts +36 -0
  46. package/dist/components/combobox/Combobox.d.ts.map +1 -0
  47. package/dist/components/combobox/Combobox.docs.d.ts +4 -0
  48. package/dist/components/combobox/Combobox.docs.d.ts.map +1 -0
  49. package/dist/components/combobox/Combobox.showcase.d.ts +43 -0
  50. package/dist/components/combobox/Combobox.showcase.d.ts.map +1 -0
  51. package/dist/components/data-table/DataTable.d.ts +86 -0
  52. package/dist/components/data-table/DataTable.d.ts.map +1 -0
  53. package/dist/components/data-table/DataTable.docs.d.ts +4 -0
  54. package/dist/components/data-table/DataTable.docs.d.ts.map +1 -0
  55. package/dist/components/data-table/DataTable.showcase.d.ts +36 -0
  56. package/dist/components/data-table/DataTable.showcase.d.ts.map +1 -0
  57. package/dist/components/date-picker/date-picker.d.ts +1 -0
  58. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  59. package/dist/components/dialog/Dialog.d.ts +56 -0
  60. package/dist/components/dialog/Dialog.d.ts.map +1 -0
  61. package/dist/components/dialog/Dialog.docs.d.ts +4 -0
  62. package/dist/components/dialog/Dialog.docs.d.ts.map +1 -0
  63. package/dist/components/input/Input.d.ts +22 -0
  64. package/dist/components/input/Input.d.ts.map +1 -0
  65. package/dist/components/input/Input.docs.d.ts +4 -0
  66. package/dist/components/input/Input.docs.d.ts.map +1 -0
  67. package/dist/components/menu/Menu.d.ts +41 -0
  68. package/dist/components/menu/Menu.d.ts.map +1 -0
  69. package/dist/components/menu/Menu.docs.d.ts +4 -0
  70. package/dist/components/menu/Menu.docs.d.ts.map +1 -0
  71. package/dist/components/menu/Menu.showcase.d.ts +43 -0
  72. package/dist/components/menu/Menu.showcase.d.ts.map +1 -0
  73. package/dist/components/slider/date-picker.d.ts +1 -0
  74. package/dist/components/slider/date-picker.d.ts.map +1 -0
  75. package/dist/components/sub-menu/date-picker.d.ts +1 -0
  76. package/dist/components/sub-menu/date-picker.d.ts.map +1 -0
  77. package/dist/components/switch/Switch.d.ts +17 -0
  78. package/dist/components/switch/Switch.d.ts.map +1 -0
  79. package/dist/components/switch/Switch.docs.d.ts +4 -0
  80. package/dist/components/switch/Switch.docs.d.ts.map +1 -0
  81. package/dist/components/toast/date-picker.d.ts +1 -0
  82. package/dist/components/toast/date-picker.d.ts.map +1 -0
  83. package/dist/data-table.d.ts +4 -0
  84. package/dist/data-table.d.ts.map +1 -0
  85. package/dist/data-table.js +298 -0
  86. package/dist/data-table.js.map +1 -0
  87. package/dist/dialog.d.ts +4 -0
  88. package/dist/dialog.d.ts.map +1 -0
  89. package/dist/dialog.js +323 -0
  90. package/dist/dialog.js.map +1 -0
  91. package/dist/index.d.ts +27 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/input.d.ts +4 -0
  94. package/dist/input.d.ts.map +1 -0
  95. package/dist/input.js +230 -0
  96. package/dist/input.js.map +1 -0
  97. package/dist/lib/IntersectionObserver.d.ts +30 -0
  98. package/dist/lib/IntersectionObserver.d.ts.map +1 -0
  99. package/dist/lib/utils.d.ts +7 -0
  100. package/dist/lib/utils.d.ts.map +1 -0
  101. package/dist/menu.d.ts +4 -0
  102. package/dist/menu.d.ts.map +1 -0
  103. package/dist/menu.js +1335 -0
  104. package/dist/menu.js.map +1 -0
  105. package/dist/switch.d.ts +4 -0
  106. package/dist/switch.d.ts.map +1 -0
  107. package/dist/switch.js +194 -0
  108. package/dist/switch.js.map +1 -0
  109. package/dist/types/docs.d.ts +24 -0
  110. package/dist/types/docs.d.ts.map +1 -0
  111. package/dist/utils-BZvHF7th.js +2806 -0
  112. package/dist/utils-BZvHF7th.js.map +1 -0
  113. package/package.json +98 -0
  114. package/src/styles.css +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"U6HHPQDW-BkT6kvCd.js","sources":["../../../node_modules/.pnpm/@ariakit+core@0.4.18/node_modules/@ariakit/core/esm/__chunks/XMCVU3LR.js","../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/YXGXYGQX.js","../../../node_modules/.pnpm/@ariakit+core@0.4.18/node_modules/@ariakit/core/esm/__chunks/3DNM6L6E.js","../../../node_modules/.pnpm/@ariakit+core@0.4.18/node_modules/@ariakit/core/esm/__chunks/SNHYQNEZ.js","../../../node_modules/.pnpm/@ariakit+core@0.4.18/node_modules/@ariakit/core/esm/utils/events.js","../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/KPHZR4MB.js","../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/GWSL6KNJ.js","../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/SWN3JYXT.js","../../../node_modules/.pnpm/@ariakit+core@0.4.18/node_modules/@ariakit/core/esm/utils/focus.js","../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/U6HHPQDW.js"],"sourcesContent":["\"use client\";\n\n// src/utils/misc.ts\nfunction noop(..._) {\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (!a) return false;\n if (!b) return false;\n if (typeof a !== \"object\") return false;\n if (typeof b !== \"object\") return false;\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n const { length } = aKeys;\n if (bKeys.length !== length) return false;\n for (const key of aKeys) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction applyState(argument, currentValue) {\n if (isUpdater(argument)) {\n const value = isLazyValue(currentValue) ? currentValue() : currentValue;\n return argument(value);\n }\n return argument;\n}\nfunction isUpdater(argument) {\n return typeof argument === \"function\";\n}\nfunction isLazyValue(value) {\n return typeof value === \"function\";\n}\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg != null;\n}\nfunction isEmpty(arg) {\n if (Array.isArray(arg)) return !arg.length;\n if (isObject(arg)) return !Object.keys(arg).length;\n if (arg == null) return true;\n if (arg === \"\") return true;\n return false;\n}\nfunction isInteger(arg) {\n if (typeof arg === \"number\") {\n return Math.floor(arg) === arg;\n }\n return String(Math.floor(Number(arg))) === arg;\n}\nfunction hasOwnProperty(object, prop) {\n if (typeof Object.hasOwn === \"function\") {\n return Object.hasOwn(object, prop);\n }\n return Object.prototype.hasOwnProperty.call(object, prop);\n}\nfunction chain(...fns) {\n return (...args) => {\n for (const fn of fns) {\n if (typeof fn === \"function\") {\n fn(...args);\n }\n }\n };\n}\nfunction cx(...args) {\n return args.filter(Boolean).join(\" \") || void 0;\n}\nfunction normalizeString(str) {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n}\nfunction omit(object, keys) {\n const result = { ...object };\n for (const key of keys) {\n if (hasOwnProperty(result, key)) {\n delete result[key];\n }\n }\n return result;\n}\nfunction pick(object, paths) {\n const result = {};\n for (const key of paths) {\n if (hasOwnProperty(object, key)) {\n result[key] = object[key];\n }\n }\n return result;\n}\nfunction identity(value) {\n return value;\n}\nfunction beforePaint(cb = noop) {\n const raf = requestAnimationFrame(cb);\n return () => cancelAnimationFrame(raf);\n}\nfunction afterPaint(cb = noop) {\n let raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(cb);\n });\n return () => cancelAnimationFrame(raf);\n}\nfunction invariant(condition, message) {\n if (condition) return;\n if (typeof message !== \"string\") throw new Error(\"Invariant failed\");\n throw new Error(message);\n}\nfunction getKeys(obj) {\n return Object.keys(obj);\n}\nfunction isFalsyBooleanCallback(booleanOrCallback, ...args) {\n const result = typeof booleanOrCallback === \"function\" ? booleanOrCallback(...args) : booleanOrCallback;\n if (result == null) return false;\n return !result;\n}\nfunction disabledFromProps(props) {\n return props.disabled || props[\"aria-disabled\"] === true || props[\"aria-disabled\"] === \"true\";\n}\nfunction removeUndefinedValues(obj) {\n const result = {};\n for (const key in obj) {\n if (obj[key] !== void 0) {\n result[key] = obj[key];\n }\n }\n return result;\n}\nfunction defaultValue(...values) {\n for (const value of values) {\n if (value !== void 0) return value;\n }\n return void 0;\n}\n\nexport {\n noop,\n shallowEqual,\n applyState,\n isObject,\n isEmpty,\n isInteger,\n hasOwnProperty,\n chain,\n cx,\n normalizeString,\n omit,\n pick,\n identity,\n beforePaint,\n afterPaint,\n invariant,\n getKeys,\n isFalsyBooleanCallback,\n disabledFromProps,\n removeUndefinedValues,\n defaultValue\n};\n","\"use client\";\n\n// src/utils/misc.ts\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nimport { isValidElement } from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\nfunction isValidElementWithRef(element) {\n if (!element) return false;\n if (!isValidElement(element)) return false;\n if (\"ref\" in element.props) return true;\n if (\"ref\" in element) return true;\n return false;\n}\nfunction getRefProperty(element) {\n if (!isValidElementWithRef(element)) return null;\n const props = { ...element.props };\n return props.ref || element.ref;\n}\nfunction mergeProps(base, overrides) {\n const props = { ...base };\n for (const key in overrides) {\n if (!hasOwnProperty(overrides, key)) continue;\n if (key === \"className\") {\n const prop = \"className\";\n props[prop] = base[prop] ? `${base[prop]} ${overrides[prop]}` : overrides[prop];\n continue;\n }\n if (key === \"style\") {\n const prop = \"style\";\n props[prop] = base[prop] ? { ...base[prop], ...overrides[prop] } : overrides[prop];\n continue;\n }\n const overrideValue = overrides[key];\n if (typeof overrideValue === \"function\" && key.startsWith(\"on\")) {\n const baseValue = base[key];\n if (typeof baseValue === \"function\") {\n props[key] = (...args) => {\n overrideValue(...args);\n baseValue(...args);\n };\n continue;\n }\n }\n props[key] = overrideValue;\n }\n return props;\n}\n\nexport {\n setRef,\n isValidElementWithRef,\n getRefProperty,\n mergeProps\n};\n","\"use client\";\n\n// src/utils/dom.ts\nvar canUseDOM = checkIsBrowser();\nfunction checkIsBrowser() {\n var _a;\n return typeof window !== \"undefined\" && !!((_a = window.document) == null ? void 0 : _a.createElement);\n}\nfunction getDocument(node) {\n if (!node) return document;\n if (\"self\" in node) return node.document;\n return node.ownerDocument || document;\n}\nfunction getWindow(node) {\n if (!node) return self;\n if (\"self\" in node) return node.self;\n return getDocument(node).defaultView || window;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n var _a;\n const { activeElement } = getDocument(node);\n if (!(activeElement == null ? void 0 : activeElement.nodeName)) {\n return null;\n }\n if (isFrame(activeElement) && ((_a = activeElement.contentDocument) == null ? void 0 : _a.body)) {\n return getActiveElement(\n activeElement.contentDocument.body,\n activeDescendant\n );\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n return parent === child || parent.contains(child);\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nfunction isButton(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"button\") return true;\n if (tagName === \"input\" && element.type) {\n return buttonInputTypes.indexOf(element.type) !== -1;\n }\n return false;\n}\nvar buttonInputTypes = [\n \"button\",\n \"color\",\n \"file\",\n \"image\",\n \"reset\",\n \"submit\"\n];\nfunction isVisible(element) {\n if (typeof element.checkVisibility === \"function\") {\n return element.checkVisibility();\n }\n const htmlElement = element;\n return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\nfunction isTextField(element) {\n try {\n const isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n const isTextArea = element.tagName === \"TEXTAREA\";\n return isTextInput || isTextArea || false;\n } catch (_error) {\n return false;\n }\n}\nfunction isTextbox(element) {\n return element.isContentEditable || isTextField(element);\n}\nfunction getTextboxValue(element) {\n if (isTextField(element)) {\n return element.value;\n }\n if (element.isContentEditable) {\n const range = getDocument(element).createRange();\n range.selectNodeContents(element);\n return range.toString();\n }\n return \"\";\n}\nfunction getTextboxSelection(element) {\n let start = 0;\n let end = 0;\n if (isTextField(element)) {\n start = element.selectionStart || 0;\n end = element.selectionEnd || 0;\n } else if (element.isContentEditable) {\n const selection = getDocument(element).getSelection();\n if ((selection == null ? void 0 : selection.rangeCount) && selection.anchorNode && contains(element, selection.anchorNode) && selection.focusNode && contains(element, selection.focusNode)) {\n const range = selection.getRangeAt(0);\n const nextRange = range.cloneRange();\n nextRange.selectNodeContents(element);\n nextRange.setEnd(range.startContainer, range.startOffset);\n start = nextRange.toString().length;\n nextRange.setEnd(range.endContainer, range.endOffset);\n end = nextRange.toString().length;\n }\n }\n return { start, end };\n}\nfunction getPopupRole(element, fallback) {\n const allowedPopupRoles = [\"dialog\", \"menu\", \"listbox\", \"tree\", \"grid\"];\n const role = element == null ? void 0 : element.getAttribute(\"role\");\n if (role && allowedPopupRoles.indexOf(role) !== -1) {\n return role;\n }\n return fallback;\n}\nfunction getPopupItemRole(element, fallback) {\n var _a;\n const itemRoleByPopupRole = {\n menu: \"menuitem\",\n listbox: \"option\",\n tree: \"treeitem\"\n };\n const popupRole = getPopupRole(element);\n if (!popupRole) return fallback;\n const key = popupRole;\n return (_a = itemRoleByPopupRole[key]) != null ? _a : fallback;\n}\nfunction scrollIntoViewIfNeeded(element, arg) {\n if (isPartiallyHidden(element) && \"scrollIntoView\" in element) {\n element.scrollIntoView(arg);\n }\n}\nfunction getScrollingElement(element) {\n if (!element) return null;\n const isScrollableOverflow = (overflow) => {\n if (overflow === \"auto\") return true;\n if (overflow === \"scroll\") return true;\n return false;\n };\n if (element.clientHeight && element.scrollHeight > element.clientHeight) {\n const { overflowY } = getComputedStyle(element);\n if (isScrollableOverflow(overflowY)) return element;\n } else if (element.clientWidth && element.scrollWidth > element.clientWidth) {\n const { overflowX } = getComputedStyle(element);\n if (isScrollableOverflow(overflowX)) return element;\n }\n return getScrollingElement(element.parentElement) || document.scrollingElement || document.body;\n}\nfunction isPartiallyHidden(element) {\n const elementRect = element.getBoundingClientRect();\n const scroller = getScrollingElement(element);\n if (!scroller) return false;\n const scrollerRect = scroller.getBoundingClientRect();\n const isHTML = scroller.tagName === \"HTML\";\n const scrollerTop = isHTML ? scrollerRect.top + scroller.scrollTop : scrollerRect.top;\n const scrollerBottom = isHTML ? scroller.clientHeight : scrollerRect.bottom;\n const scrollerLeft = isHTML ? scrollerRect.left + scroller.scrollLeft : scrollerRect.left;\n const scrollerRight = isHTML ? scroller.clientWidth : scrollerRect.right;\n const top = elementRect.top < scrollerTop;\n const left = elementRect.left < scrollerLeft;\n const bottom = elementRect.bottom > scrollerBottom;\n const right = elementRect.right > scrollerRight;\n return top || left || bottom || right;\n}\nfunction setSelectionRange(element, ...args) {\n if (/text|search|password|tel|url/i.test(element.type)) {\n element.setSelectionRange(...args);\n }\n}\nfunction sortBasedOnDOMPosition(items, getElement) {\n const pairs = items.map((item, index) => [index, item]);\n let isOrderDifferent = false;\n pairs.sort(([indexA, a], [indexB, b]) => {\n const elementA = getElement(a);\n const elementB = getElement(b);\n if (elementA === elementB) return 0;\n if (!elementA || !elementB) return 0;\n if (isElementPreceding(elementA, elementB)) {\n if (indexA > indexB) {\n isOrderDifferent = true;\n }\n return -1;\n }\n if (indexA < indexB) {\n isOrderDifferent = true;\n }\n return 1;\n });\n if (isOrderDifferent) {\n return pairs.map(([_, item]) => item);\n }\n return items;\n}\nfunction isElementPreceding(a, b) {\n return Boolean(\n b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING\n );\n}\n\nexport {\n canUseDOM,\n getDocument,\n getWindow,\n getActiveElement,\n contains,\n isFrame,\n isButton,\n isVisible,\n isTextField,\n isTextbox,\n getTextboxValue,\n getTextboxSelection,\n getPopupRole,\n getPopupItemRole,\n scrollIntoViewIfNeeded,\n getScrollingElement,\n isPartiallyHidden,\n setSelectionRange,\n sortBasedOnDOMPosition\n};\n","\"use client\";\nimport {\n canUseDOM\n} from \"./3DNM6L6E.js\";\n\n// src/utils/platform.ts\nfunction isTouchDevice() {\n return canUseDOM && !!navigator.maxTouchPoints;\n}\nfunction isApple() {\n if (!canUseDOM) return false;\n return /mac|iphone|ipad|ipod/i.test(navigator.platform);\n}\nfunction isSafari() {\n return canUseDOM && isApple() && /apple/i.test(navigator.vendor);\n}\nfunction isFirefox() {\n return canUseDOM && /firefox\\//i.test(navigator.userAgent);\n}\nfunction isMac() {\n return canUseDOM && navigator.platform.startsWith(\"Mac\") && !isTouchDevice();\n}\n\nexport {\n isTouchDevice,\n isApple,\n isSafari,\n isFirefox,\n isMac\n};\n","\"use client\";\nimport {\n isApple\n} from \"../__chunks/SNHYQNEZ.js\";\nimport {\n contains\n} from \"../__chunks/3DNM6L6E.js\";\n\n// src/utils/events.ts\nfunction isPortalEvent(event) {\n return Boolean(\n event.currentTarget && !contains(event.currentTarget, event.target)\n );\n}\nfunction isSelfTarget(event) {\n return event.target === event.currentTarget;\n}\nfunction isOpeningInNewTab(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const isAppleDevice = isApple();\n if (isAppleDevice && !event.metaKey) return false;\n if (!isAppleDevice && !event.ctrlKey) return false;\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"a\") return true;\n if (tagName === \"button\" && element.type === \"submit\") return true;\n if (tagName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\nfunction isDownloading(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const tagName = element.tagName.toLowerCase();\n if (!event.altKey) return false;\n if (tagName === \"a\") return true;\n if (tagName === \"button\" && element.type === \"submit\") return true;\n if (tagName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\nfunction fireEvent(element, type, eventInit) {\n const event = new Event(type, eventInit);\n return element.dispatchEvent(event);\n}\nfunction fireBlurEvent(element, eventInit) {\n const event = new FocusEvent(\"blur\", eventInit);\n const defaultAllowed = element.dispatchEvent(event);\n const bubbleInit = { ...eventInit, bubbles: true };\n element.dispatchEvent(new FocusEvent(\"focusout\", bubbleInit));\n return defaultAllowed;\n}\nfunction fireFocusEvent(element, eventInit) {\n const event = new FocusEvent(\"focus\", eventInit);\n const defaultAllowed = element.dispatchEvent(event);\n const bubbleInit = { ...eventInit, bubbles: true };\n element.dispatchEvent(new FocusEvent(\"focusin\", bubbleInit));\n return defaultAllowed;\n}\nfunction fireKeyboardEvent(element, type, eventInit) {\n const event = new KeyboardEvent(type, eventInit);\n return element.dispatchEvent(event);\n}\nfunction fireClickEvent(element, eventInit) {\n const event = new MouseEvent(\"click\", eventInit);\n return element.dispatchEvent(event);\n}\nfunction isFocusEventOutside(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction getInputType(event) {\n const nativeEvent = \"nativeEvent\" in event ? event.nativeEvent : event;\n if (!nativeEvent) return;\n if (!(\"inputType\" in nativeEvent)) return;\n if (typeof nativeEvent.inputType !== \"string\") return;\n return nativeEvent.inputType;\n}\nfunction queueBeforeEvent(element, type, callback, timeout) {\n const createTimer = (callback2) => {\n if (timeout) {\n const timerId2 = setTimeout(callback2, timeout);\n return () => clearTimeout(timerId2);\n }\n const timerId = requestAnimationFrame(callback2);\n return () => cancelAnimationFrame(timerId);\n };\n const cancelTimer = createTimer(() => {\n element.removeEventListener(type, callSync, true);\n callback();\n });\n const callSync = () => {\n cancelTimer();\n callback();\n };\n element.addEventListener(type, callSync, { once: true, capture: true });\n return cancelTimer;\n}\nfunction addGlobalEventListener(type, listener, options, scope = window) {\n const children = [];\n try {\n scope.document.addEventListener(type, listener, options);\n for (const frame of Array.from(scope.frames)) {\n children.push(addGlobalEventListener(type, listener, options, frame));\n }\n } catch (e) {\n }\n const removeEventListener = () => {\n try {\n scope.document.removeEventListener(type, listener, options);\n } catch (e) {\n }\n for (const remove of children) {\n remove();\n }\n };\n return removeEventListener;\n}\nexport {\n addGlobalEventListener,\n fireBlurEvent,\n fireClickEvent,\n fireEvent,\n fireFocusEvent,\n fireKeyboardEvent,\n getInputType,\n isDownloading,\n isFocusEventOutside,\n isOpeningInNewTab,\n isPortalEvent,\n isSelfTarget,\n queueBeforeEvent\n};\n","\"use client\";\nimport {\n setRef\n} from \"./YXGXYGQX.js\";\n\n// src/utils/hooks.ts\nimport { canUseDOM } from \"@ariakit/core/utils/dom\";\nimport { addGlobalEventListener } from \"@ariakit/core/utils/events\";\nimport * as React from \"react\";\nimport {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState\n} from \"react\";\nvar _React = { ...React };\nvar useReactId = _React.useId;\nvar useReactDeferredValue = _React.useDeferredValue;\nvar useReactInsertionEffect = _React.useInsertionEffect;\nvar useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nfunction useInitialValue(value) {\n const [initialValue] = useState(value);\n return initialValue;\n}\nfunction useLazyValue(init) {\n const ref = useRef(void 0);\n if (ref.current === void 0) {\n ref.current = init();\n }\n return ref.current;\n}\nfunction useLiveRef(value) {\n const ref = useRef(value);\n useSafeLayoutEffect(() => {\n ref.current = value;\n });\n return ref;\n}\nfunction usePreviousValue(value) {\n const [previousValue, setPreviousValue] = useState(value);\n if (value !== previousValue) {\n setPreviousValue(value);\n }\n return previousValue;\n}\nfunction useEvent(callback) {\n const ref = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n if (useReactInsertionEffect) {\n useReactInsertionEffect(() => {\n ref.current = callback;\n });\n } else {\n ref.current = callback;\n }\n return useCallback((...args) => {\n var _a;\n return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n }, []);\n}\nfunction useTransactionState(callback) {\n const [state, setState] = useState(null);\n useSafeLayoutEffect(() => {\n if (state == null) return;\n if (!callback) return;\n let prevState = null;\n callback((prev) => {\n prevState = prev;\n return state;\n });\n return () => {\n callback(prevState);\n };\n }, [state, callback]);\n return [state, setState];\n}\nfunction useMergeRefs(...refs) {\n return useMemo(() => {\n if (!refs.some(Boolean)) return;\n return (value) => {\n for (const ref of refs) {\n setRef(ref, value);\n }\n };\n }, refs);\n}\nfunction useId(defaultId) {\n if (useReactId) {\n const reactId = useReactId();\n if (defaultId) return defaultId;\n return reactId;\n }\n const [id, setId] = useState(defaultId);\n useSafeLayoutEffect(() => {\n if (defaultId || id) return;\n const random = Math.random().toString(36).slice(2, 8);\n setId(`id-${random}`);\n }, [defaultId, id]);\n return defaultId || id;\n}\nfunction useDeferredValue(value) {\n if (useReactDeferredValue) {\n return useReactDeferredValue(value);\n }\n const [deferredValue, setDeferredValue] = useState(value);\n useEffect(() => {\n const raf = requestAnimationFrame(() => setDeferredValue(value));\n return () => cancelAnimationFrame(raf);\n }, [value]);\n return deferredValue;\n}\nfunction useTagName(refOrElement, type) {\n const stringOrUndefined = (type2) => {\n if (typeof type2 !== \"string\") return;\n return type2;\n };\n const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n useSafeLayoutEffect(() => {\n const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n setTagName((element == null ? void 0 : element.tagName.toLowerCase()) || stringOrUndefined(type));\n }, [refOrElement, type]);\n return tagName;\n}\nfunction useAttribute(refOrElement, attributeName, defaultValue) {\n const initialValue = useInitialValue(defaultValue);\n const [attribute, setAttribute] = useState(initialValue);\n useEffect(() => {\n const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n if (!element) return;\n const callback = () => {\n const value = element.getAttribute(attributeName);\n setAttribute(value == null ? initialValue : value);\n };\n const observer = new MutationObserver(callback);\n observer.observe(element, { attributeFilter: [attributeName] });\n callback();\n return () => observer.disconnect();\n }, [refOrElement, attributeName, initialValue]);\n return attribute;\n}\nfunction useUpdateEffect(effect, deps) {\n const mounted = useRef(false);\n useEffect(() => {\n if (mounted.current) {\n return effect();\n }\n mounted.current = true;\n }, deps);\n useEffect(\n () => () => {\n mounted.current = false;\n },\n []\n );\n}\nfunction useUpdateLayoutEffect(effect, deps) {\n const mounted = useRef(false);\n useSafeLayoutEffect(() => {\n if (mounted.current) {\n return effect();\n }\n mounted.current = true;\n }, deps);\n useSafeLayoutEffect(\n () => () => {\n mounted.current = false;\n },\n []\n );\n}\nfunction useForceUpdate() {\n return useReducer(() => [], []);\n}\nfunction useBooleanEvent(booleanOrCallback) {\n return useEvent(\n typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback\n );\n}\nfunction useWrapElement(props, callback, deps = []) {\n const wrapElement = useCallback(\n (element) => {\n if (props.wrapElement) {\n element = props.wrapElement(element);\n }\n return callback(element);\n },\n [...deps, props.wrapElement]\n );\n return { ...props, wrapElement };\n}\nfunction usePortalRef(portalProp = false, portalRefProp) {\n const [portalNode, setPortalNode] = useState(null);\n const portalRef = useMergeRefs(setPortalNode, portalRefProp);\n const domReady = !portalProp || portalNode;\n return { portalRef, portalNode, domReady };\n}\nfunction useMetadataProps(props, key, value) {\n const parent = props.onLoadedMetadataCapture;\n const onLoadedMetadataCapture = useMemo(() => {\n return Object.assign(() => {\n }, { ...parent, [key]: value });\n }, [parent, key, value]);\n return [parent == null ? void 0 : parent[key], { onLoadedMetadataCapture }];\n}\nvar hasInstalledGlobalEventListeners = false;\nfunction useIsMouseMoving() {\n useEffect(() => {\n if (hasInstalledGlobalEventListeners) return;\n addGlobalEventListener(\"mousemove\", setMouseMoving, true);\n addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n hasInstalledGlobalEventListeners = true;\n }, []);\n const isMouseMoving = useEvent(() => mouseMoving);\n return isMouseMoving;\n}\nvar mouseMoving = false;\nvar previousScreenX = 0;\nvar previousScreenY = 0;\nfunction hasMouseMovement(event) {\n const movementX = event.movementX || event.screenX - previousScreenX;\n const movementY = event.movementY || event.screenY - previousScreenY;\n previousScreenX = event.screenX;\n previousScreenY = event.screenY;\n return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\nfunction setMouseMoving(event) {\n if (!hasMouseMovement(event)) return;\n mouseMoving = true;\n}\nfunction resetMouseMoving() {\n mouseMoving = false;\n}\n\nexport {\n useSafeLayoutEffect,\n useInitialValue,\n useLazyValue,\n useLiveRef,\n usePreviousValue,\n useEvent,\n useTransactionState,\n useMergeRefs,\n useId,\n useDeferredValue,\n useTagName,\n useAttribute,\n useUpdateEffect,\n useUpdateLayoutEffect,\n useForceUpdate,\n useBooleanEvent,\n useWrapElement,\n usePortalRef,\n useMetadataProps,\n useIsMouseMoving\n};\n","\"use client\";\nimport {\n useMergeRefs\n} from \"./KPHZR4MB.js\";\nimport {\n getRefProperty,\n mergeProps\n} from \"./YXGXYGQX.js\";\n\n// src/utils/system.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction forwardRef2(render) {\n const Role = React.forwardRef(\n // @ts-ignore Incompatible with React 19 types. Ignore for now.\n (props, ref) => render({ ...props, ref })\n );\n Role.displayName = render.displayName || render.name;\n return Role;\n}\nfunction memo2(Component, propsAreEqual) {\n return React.memo(Component, propsAreEqual);\n}\nfunction createElement(Type, props) {\n const { wrapElement, render, ...rest } = props;\n const mergedRef = useMergeRefs(props.ref, getRefProperty(render));\n let element;\n if (React.isValidElement(render)) {\n const renderProps = {\n // @ts-ignore Incompatible with React 19 types. Ignore for now.\n ...render.props,\n ref: mergedRef\n };\n element = React.cloneElement(render, mergeProps(rest, renderProps));\n } else if (render) {\n element = render(rest);\n } else {\n element = /* @__PURE__ */ jsx(Type, { ...rest });\n }\n if (wrapElement) {\n return wrapElement(element);\n }\n return element;\n}\nfunction createHook(useProps) {\n const useRole = (props = {}) => {\n return useProps(props);\n };\n useRole.displayName = useProps.name;\n return useRole;\n}\nfunction createStoreContext(providers = [], scopedProviders = []) {\n const context = React.createContext(void 0);\n const scopedContext = React.createContext(void 0);\n const useContext2 = () => React.useContext(context);\n const useScopedContext = (onlyScoped = false) => {\n const scoped = React.useContext(scopedContext);\n const store = useContext2();\n if (onlyScoped) return scoped;\n return scoped || store;\n };\n const useProviderContext = () => {\n const scoped = React.useContext(scopedContext);\n const store = useContext2();\n if (scoped && scoped === store) return;\n return store;\n };\n const ContextProvider = (props) => {\n return providers.reduceRight(\n (children, Provider) => /* @__PURE__ */ jsx(Provider, { ...props, children }),\n /* @__PURE__ */ jsx(context.Provider, { ...props })\n );\n };\n const ScopedContextProvider = (props) => {\n return /* @__PURE__ */ jsx(ContextProvider, { ...props, children: scopedProviders.reduceRight(\n (children, Provider) => /* @__PURE__ */ jsx(Provider, { ...props, children }),\n /* @__PURE__ */ jsx(scopedContext.Provider, { ...props })\n ) });\n };\n return {\n context,\n scopedContext,\n useContext: useContext2,\n useScopedContext,\n useProviderContext,\n ContextProvider,\n ScopedContextProvider\n };\n}\n\nexport {\n forwardRef2 as forwardRef,\n memo2 as memo,\n createElement,\n createHook,\n createStoreContext\n};\n","\"use client\";\n\n// src/focusable/focusable-context.tsx\nimport { createContext } from \"react\";\nvar FocusableContext = createContext(true);\n\nexport {\n FocusableContext\n};\n","\"use client\";\nimport {\n contains,\n getActiveElement,\n isFrame,\n isVisible\n} from \"../__chunks/3DNM6L6E.js\";\n\n// src/utils/focus.ts\nvar selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], summary, iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])\";\nfunction hasNegativeTabIndex(element) {\n const tabIndex = Number.parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n return tabIndex < 0;\n}\nfunction isFocusable(element) {\n if (!element.matches(selector)) return false;\n if (!isVisible(element)) return false;\n if (element.closest(\"[inert]\")) return false;\n return true;\n}\nfunction isTabbable(element) {\n if (!isFocusable(element)) return false;\n if (hasNegativeTabIndex(element)) return false;\n if (!(\"form\" in element)) return true;\n if (!element.form) return true;\n if (element.checked) return true;\n if (element.type !== \"radio\") return true;\n const radioGroup = element.form.elements.namedItem(element.name);\n if (!radioGroup) return true;\n if (!(\"length\" in radioGroup)) return true;\n const activeElement = getActiveElement(element);\n if (!activeElement) return true;\n if (activeElement === element) return true;\n if (!(\"form\" in activeElement)) return true;\n if (activeElement.form !== element.form) return true;\n if (activeElement.name !== element.name) return true;\n return false;\n}\nfunction getAllFocusableIn(container, includeContainer) {\n const elements = Array.from(\n container.querySelectorAll(selector)\n );\n if (includeContainer) {\n elements.unshift(container);\n }\n const focusableElements = elements.filter(isFocusable);\n focusableElements.forEach((element, i) => {\n var _a;\n if (!isFrame(element)) return;\n const frameBody = (_a = element.contentDocument) == null ? void 0 : _a.body;\n if (!frameBody) return;\n focusableElements.splice(i, 1, ...getAllFocusableIn(frameBody));\n });\n return focusableElements;\n}\nfunction getAllFocusable(includeBody) {\n return getAllFocusableIn(document.body, includeBody);\n}\nfunction getFirstFocusableIn(container, includeContainer) {\n const [first] = getAllFocusableIn(container, includeContainer);\n return first || null;\n}\nfunction getFirstFocusable(includeBody) {\n return getFirstFocusableIn(document.body, includeBody);\n}\nfunction getAllTabbableIn(container, includeContainer, fallbackToFocusable) {\n const elements = Array.from(\n container.querySelectorAll(selector)\n );\n const tabbableElements = elements.filter(isTabbable);\n if (includeContainer && isTabbable(container)) {\n tabbableElements.unshift(container);\n }\n tabbableElements.forEach((element, i) => {\n var _a;\n if (!isFrame(element)) return;\n const frameBody = (_a = element.contentDocument) == null ? void 0 : _a.body;\n if (!frameBody) return;\n const allFrameTabbable = getAllTabbableIn(\n frameBody,\n false,\n fallbackToFocusable\n );\n tabbableElements.splice(i, 1, ...allFrameTabbable);\n });\n if (!tabbableElements.length && fallbackToFocusable) {\n return elements;\n }\n return tabbableElements;\n}\nfunction getAllTabbable(fallbackToFocusable) {\n return getAllTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getFirstTabbableIn(container, includeContainer, fallbackToFocusable) {\n const [first] = getAllTabbableIn(\n container,\n includeContainer,\n fallbackToFocusable\n );\n return first || null;\n}\nfunction getFirstTabbable(fallbackToFocusable) {\n return getFirstTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getLastTabbableIn(container, includeContainer, fallbackToFocusable) {\n const allTabbable = getAllTabbableIn(\n container,\n includeContainer,\n fallbackToFocusable\n );\n return allTabbable[allTabbable.length - 1] || null;\n}\nfunction getLastTabbable(fallbackToFocusable) {\n return getLastTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getNextTabbableIn(container, includeContainer, fallbackToFirst, fallbackToFocusable) {\n const activeElement = getActiveElement(container);\n const allFocusable = getAllFocusableIn(container, includeContainer);\n const activeIndex = allFocusable.indexOf(activeElement);\n const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n return nextFocusableElements.find(isTabbable) || (fallbackToFirst ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? nextFocusableElements[0] : null) || null;\n}\nfunction getNextTabbable(fallbackToFirst, fallbackToFocusable) {\n return getNextTabbableIn(\n document.body,\n false,\n fallbackToFirst,\n fallbackToFocusable\n );\n}\nfunction getPreviousTabbableIn(container, includeContainer, fallbackToLast, fallbackToFocusable) {\n const activeElement = getActiveElement(container);\n const allFocusable = getAllFocusableIn(container, includeContainer).reverse();\n const activeIndex = allFocusable.indexOf(activeElement);\n const previousFocusableElements = allFocusable.slice(activeIndex + 1);\n return previousFocusableElements.find(isTabbable) || (fallbackToLast ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? previousFocusableElements[0] : null) || null;\n}\nfunction getPreviousTabbable(fallbackToFirst, fallbackToFocusable) {\n return getPreviousTabbableIn(\n document.body,\n false,\n fallbackToFirst,\n fallbackToFocusable\n );\n}\nfunction getClosestFocusable(element) {\n while (element && !isFocusable(element)) {\n element = element.closest(selector);\n }\n return element || null;\n}\nfunction hasFocus(element) {\n const activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (activeElement === element) return true;\n const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n return activeDescendant === element.id;\n}\nfunction hasFocusWithin(element) {\n const activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (contains(element, activeElement)) return true;\n const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n if (!(\"id\" in element)) return false;\n if (activeDescendant === element.id) return true;\n return !!element.querySelector(`#${CSS.escape(activeDescendant)}`);\n}\nfunction focusIfNeeded(element) {\n if (!hasFocusWithin(element) && isFocusable(element)) {\n element.focus();\n }\n}\nfunction disableFocus(element) {\n var _a;\n const currentTabindex = (_a = element.getAttribute(\"tabindex\")) != null ? _a : \"\";\n element.setAttribute(\"data-tabindex\", currentTabindex);\n element.setAttribute(\"tabindex\", \"-1\");\n}\nfunction disableFocusIn(container, includeContainer) {\n const tabbableElements = getAllTabbableIn(container, includeContainer);\n for (const element of tabbableElements) {\n disableFocus(element);\n }\n}\nfunction restoreFocusIn(container) {\n const elements = container.querySelectorAll(\"[data-tabindex]\");\n const restoreTabIndex = (element) => {\n const tabindex = element.getAttribute(\"data-tabindex\");\n element.removeAttribute(\"data-tabindex\");\n if (tabindex) {\n element.setAttribute(\"tabindex\", tabindex);\n } else {\n element.removeAttribute(\"tabindex\");\n }\n };\n if (container.hasAttribute(\"data-tabindex\")) {\n restoreTabIndex(container);\n }\n for (const element of elements) {\n restoreTabIndex(element);\n }\n}\nfunction focusIntoView(element, options) {\n if (!(\"scrollIntoView\" in element)) {\n element.focus();\n } else {\n element.focus({ preventScroll: true });\n element.scrollIntoView({ block: \"nearest\", inline: \"nearest\", ...options });\n }\n}\nexport {\n disableFocus,\n disableFocusIn,\n focusIfNeeded,\n focusIntoView,\n getAllFocusable,\n getAllFocusableIn,\n getAllTabbable,\n getAllTabbableIn,\n getClosestFocusable,\n getFirstFocusable,\n getFirstFocusableIn,\n getFirstTabbable,\n getFirstTabbableIn,\n getLastTabbable,\n getLastTabbableIn,\n getNextTabbable,\n getNextTabbableIn,\n getPreviousTabbable,\n getPreviousTabbableIn,\n hasFocus,\n hasFocusWithin,\n isFocusable,\n isTabbable,\n restoreFocusIn\n};\n","\"use client\";\nimport {\n FocusableContext\n} from \"./SWN3JYXT.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./GWSL6KNJ.js\";\nimport {\n useEvent,\n useMergeRefs,\n useTagName\n} from \"./KPHZR4MB.js\";\n\n// src/focusable/focusable.tsx\nimport { isButton } from \"@ariakit/core/utils/dom\";\nimport {\n addGlobalEventListener,\n isFocusEventOutside,\n isPortalEvent,\n isSelfTarget,\n queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport {\n focusIfNeeded,\n getClosestFocusable,\n hasFocus,\n isFocusable\n} from \"@ariakit/core/utils/focus\";\nimport {\n disabledFromProps,\n removeUndefinedValues\n} from \"@ariakit/core/utils/misc\";\nimport { isSafari } from \"@ariakit/core/utils/platform\";\nimport { useContext, useEffect, useMemo, useRef, useState } from \"react\";\nvar TagName = \"div\";\nvar isSafariBrowser = isSafari();\nvar alwaysFocusVisibleInputTypes = [\n \"text\",\n \"search\",\n \"url\",\n \"tel\",\n \"email\",\n \"password\",\n \"number\",\n \"date\",\n \"month\",\n \"week\",\n \"time\",\n \"datetime\",\n \"datetime-local\"\n];\nvar safariFocusAncestorSymbol = Symbol(\"safariFocusAncestor\");\nfunction isSafariFocusAncestor(element) {\n if (!element) return false;\n return !!element[safariFocusAncestorSymbol];\n}\nfunction markSafariFocusAncestor(element, value) {\n if (!element) return;\n element[safariFocusAncestorSymbol] = value;\n}\nfunction isAlwaysFocusVisible(element) {\n const { tagName, readOnly, type } = element;\n if (tagName === \"TEXTAREA\" && !readOnly) return true;\n if (tagName === \"SELECT\" && !readOnly) return true;\n if (tagName === \"INPUT\" && !readOnly) {\n return alwaysFocusVisibleInputTypes.includes(type);\n }\n if (element.isContentEditable) return true;\n const role = element.getAttribute(\"role\");\n if (role === \"combobox\" && element.dataset.name) {\n return true;\n }\n return false;\n}\nfunction getLabels(element) {\n if (\"labels\" in element) {\n return element.labels;\n }\n return null;\n}\nfunction isNativeCheckboxOrRadio(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"input\" && element.type) {\n return element.type === \"radio\" || element.type === \"checkbox\";\n }\n return false;\n}\nfunction isNativeTabbable(tagName) {\n if (!tagName) return true;\n return tagName === \"button\" || tagName === \"summary\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\nfunction supportsDisabledAttribute(tagName) {\n if (!tagName) return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n if (!focusable) {\n return tabIndexProp;\n }\n if (trulyDisabled) {\n if (nativeTabbable && !supportsDisabled) {\n return -1;\n }\n return;\n }\n if (nativeTabbable) {\n return tabIndexProp;\n }\n return tabIndexProp || 0;\n}\nfunction useDisableEvent(onEvent, disabled) {\n return useEvent((event) => {\n onEvent == null ? void 0 : onEvent(event);\n if (event.defaultPrevented) return;\n if (disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n });\n}\nvar hasInstalledGlobalEventListeners = false;\nvar isKeyboardModality = true;\nfunction onGlobalMouseDown(event) {\n const target = event.target;\n if (target && \"hasAttribute\" in target) {\n if (!target.hasAttribute(\"data-focus-visible\")) {\n isKeyboardModality = false;\n }\n }\n}\nfunction onGlobalKeyDown(event) {\n if (event.metaKey) return;\n if (event.ctrlKey) return;\n if (event.altKey) return;\n isKeyboardModality = true;\n}\nvar useFocusable = createHook(\n function useFocusable2({\n focusable = true,\n accessibleWhenDisabled,\n autoFocus,\n onFocusVisible,\n ...props\n }) {\n const ref = useRef(null);\n useEffect(() => {\n if (!focusable) return;\n if (hasInstalledGlobalEventListeners) return;\n addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n hasInstalledGlobalEventListeners = true;\n }, [focusable]);\n if (isSafariBrowser) {\n useEffect(() => {\n if (!focusable) return;\n const element = ref.current;\n if (!element) return;\n if (!isNativeCheckboxOrRadio(element)) return;\n const labels = getLabels(element);\n if (!labels) return;\n const onMouseUp = () => queueMicrotask(() => element.focus());\n for (const label of labels) {\n label.addEventListener(\"mouseup\", onMouseUp);\n }\n return () => {\n for (const label of labels) {\n label.removeEventListener(\"mouseup\", onMouseUp);\n }\n };\n }, [focusable]);\n }\n const disabled = focusable && disabledFromProps(props);\n const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n const [focusVisible, setFocusVisible] = useState(false);\n useEffect(() => {\n if (!focusable) return;\n if (trulyDisabled && focusVisible) {\n setFocusVisible(false);\n }\n }, [focusable, trulyDisabled, focusVisible]);\n useEffect(() => {\n if (!focusable) return;\n if (!focusVisible) return;\n const element = ref.current;\n if (!element) return;\n if (typeof IntersectionObserver === \"undefined\") return;\n const observer = new IntersectionObserver(() => {\n if (!isFocusable(element)) {\n setFocusVisible(false);\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [focusable, focusVisible]);\n const onKeyPressCapture = useDisableEvent(\n props.onKeyPressCapture,\n disabled\n );\n const onMouseDownCapture = useDisableEvent(\n props.onMouseDownCapture,\n disabled\n );\n const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent((event) => {\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n const element = event.currentTarget;\n if (!isSafariBrowser) return;\n if (isPortalEvent(event)) return;\n if (!isButton(element) && !isNativeCheckboxOrRadio(element)) return;\n let receivedFocus = false;\n const onFocus = () => {\n receivedFocus = true;\n };\n const options = { capture: true, once: true };\n element.addEventListener(\"focusin\", onFocus, options);\n const focusableContainer = getClosestFocusable(element.parentElement);\n markSafariFocusAncestor(focusableContainer, true);\n queueBeforeEvent(element, \"mouseup\", () => {\n element.removeEventListener(\"focusin\", onFocus, true);\n markSafariFocusAncestor(focusableContainer, false);\n if (receivedFocus) return;\n focusIfNeeded(element);\n });\n });\n const handleFocusVisible = (event, currentTarget) => {\n if (currentTarget) {\n event.currentTarget = currentTarget;\n }\n if (!focusable) return;\n const element = event.currentTarget;\n if (!element) return;\n if (!hasFocus(element)) return;\n onFocusVisible == null ? void 0 : onFocusVisible(event);\n if (event.defaultPrevented) return;\n element.dataset.focusVisible = \"true\";\n setFocusVisible(true);\n };\n const onKeyDownCaptureProp = props.onKeyDownCapture;\n const onKeyDownCapture = useEvent((event) => {\n onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n if (focusVisible) return;\n if (event.metaKey) return;\n if (event.altKey) return;\n if (event.ctrlKey) return;\n if (!isSelfTarget(event)) return;\n const element = event.currentTarget;\n const applyFocusVisible = () => handleFocusVisible(event, element);\n queueBeforeEvent(element, \"focusout\", applyFocusVisible);\n });\n const onFocusCaptureProp = props.onFocusCapture;\n const onFocusCapture = useEvent((event) => {\n onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n if (!isSelfTarget(event)) {\n setFocusVisible(false);\n return;\n }\n const element = event.currentTarget;\n const applyFocusVisible = () => handleFocusVisible(event, element);\n if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n } else {\n setFocusVisible(false);\n }\n });\n const onBlurProp = props.onBlur;\n const onBlur = useEvent((event) => {\n onBlurProp == null ? void 0 : onBlurProp(event);\n if (!focusable) return;\n if (!isFocusEventOutside(event)) return;\n event.currentTarget.removeAttribute(\"data-focus-visible\");\n setFocusVisible(false);\n });\n const autoFocusOnShow = useContext(FocusableContext);\n const autoFocusRef = useEvent((element) => {\n if (!focusable) return;\n if (!autoFocus) return;\n if (!element) return;\n if (!autoFocusOnShow) return;\n queueMicrotask(() => {\n if (hasFocus(element)) return;\n if (!isFocusable(element)) return;\n element.focus();\n });\n });\n const tagName = useTagName(ref);\n const nativeTabbable = focusable && isNativeTabbable(tagName);\n const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n const styleProp = props.style;\n const style = useMemo(() => {\n if (trulyDisabled) {\n return { pointerEvents: \"none\", ...styleProp };\n }\n return styleProp;\n }, [trulyDisabled, styleProp]);\n props = {\n \"data-focus-visible\": focusable && focusVisible || void 0,\n \"data-autofocus\": autoFocus || void 0,\n \"aria-disabled\": disabled || void 0,\n ...props,\n ref: useMergeRefs(ref, autoFocusRef, props.ref),\n style,\n tabIndex: getTabIndex(\n focusable,\n trulyDisabled,\n nativeTabbable,\n supportsDisabled,\n props.tabIndex\n ),\n disabled: supportsDisabled && trulyDisabled ? true : void 0,\n // TODO: Test Focusable contentEditable.\n contentEditable: disabled ? void 0 : props.contentEditable,\n onKeyPressCapture,\n onClickCapture,\n onMouseDownCapture,\n onMouseDown,\n onKeyDownCapture,\n onFocusCapture,\n onBlur\n };\n return removeUndefinedValues(props);\n }\n);\nvar Focusable = forwardRef(function Focusable2(props) {\n const htmlProps = useFocusable(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n isSafariFocusAncestor,\n useFocusable,\n Focusable\n};\n"],"names":["noop","_","shallowEqual","a","b","aKeys","bKeys","length","key","applyState","argument","currentValue","isUpdater","value","isLazyValue","hasOwnProperty","object","prop","chain","fns","args","fn","normalizeString","str","omit","keys","result","pick","paths","identity","invariant","condition","message","getKeys","obj","isFalsyBooleanCallback","booleanOrCallback","disabledFromProps","props","removeUndefinedValues","defaultValue","values","setRef","ref","isValidElementWithRef","element","isValidElement","getRefProperty","mergeProps","base","overrides","overrideValue","baseValue","canUseDOM","checkIsBrowser","_a","getDocument","node","getWindow","getActiveElement","activeDescendant","activeElement","isFrame","id","contains","parent","child","isButton","tagName","buttonInputTypes","isVisible","htmlElement","isTextField","isTextInput","isTextArea","isTextbox","getTextboxValue","range","getTextboxSelection","start","end","selection","nextRange","getPopupRole","fallback","allowedPopupRoles","role","getPopupItemRole","itemRoleByPopupRole","popupRole","getScrollingElement","isScrollableOverflow","overflow","overflowY","overflowX","setSelectionRange","sortBasedOnDOMPosition","items","getElement","pairs","item","index","isOrderDifferent","indexA","indexB","elementA","elementB","isElementPreceding","isTouchDevice","isApple","isSafari","isFirefox","isMac","isPortalEvent","event","isSelfTarget","isOpeningInNewTab","isAppleDevice","isDownloading","fireEvent","type","eventInit","fireBlurEvent","defaultAllowed","bubbleInit","fireKeyboardEvent","fireClickEvent","isFocusEventOutside","container","containerElement","relatedTarget","queueBeforeEvent","callback","timeout","cancelTimer","callback2","timerId","callSync","addGlobalEventListener","listener","options","scope","children","frame","remove","_React","React","useReactId","useReactInsertionEffect","useSafeLayoutEffect","useLayoutEffect","useEffect","useInitialValue","initialValue","useState","useLiveRef","useRef","useEvent","useCallback","useTransactionState","state","setState","prevState","prev","useMergeRefs","refs","useMemo","useId","defaultId","reactId","setId","random","useTagName","refOrElement","stringOrUndefined","type2","setTagName","useAttribute","attributeName","attribute","setAttribute","observer","useUpdateEffect","effect","deps","mounted","useUpdateLayoutEffect","useForceUpdate","useReducer","useBooleanEvent","useWrapElement","wrapElement","usePortalRef","portalProp","portalRefProp","portalNode","setPortalNode","useMetadataProps","onLoadedMetadataCapture","hasInstalledGlobalEventListeners","useIsMouseMoving","setMouseMoving","resetMouseMoving","mouseMoving","previousScreenX","previousScreenY","hasMouseMovement","movementX","movementY","forwardRef2","render","Role","memo2","Component","propsAreEqual","createElement","Type","rest","mergedRef","renderProps","jsx","createHook","useProps","useRole","createStoreContext","providers","scopedProviders","context","scopedContext","useContext2","useScopedContext","onlyScoped","scoped","store","useProviderContext","ContextProvider","Provider","FocusableContext","createContext","selector","hasNegativeTabIndex","isFocusable","isTabbable","radioGroup","getAllFocusableIn","includeContainer","elements","focusableElements","i","frameBody","getAllTabbableIn","fallbackToFocusable","tabbableElements","allFrameTabbable","getFirstTabbableIn","first","getNextTabbableIn","fallbackToFirst","allFocusable","activeIndex","nextFocusableElements","getNextTabbable","getPreviousTabbableIn","fallbackToLast","getPreviousTabbable","getClosestFocusable","hasFocus","hasFocusWithin","focusIfNeeded","disableFocus","currentTabindex","disableFocusIn","restoreFocusIn","restoreTabIndex","tabindex","focusIntoView","TagName","isSafariBrowser","alwaysFocusVisibleInputTypes","safariFocusAncestorSymbol","isSafariFocusAncestor","markSafariFocusAncestor","isAlwaysFocusVisible","readOnly","getLabels","isNativeCheckboxOrRadio","isNativeTabbable","supportsDisabledAttribute","getTabIndex","focusable","trulyDisabled","nativeTabbable","supportsDisabled","tabIndexProp","useDisableEvent","onEvent","disabled","isKeyboardModality","onGlobalMouseDown","target","onGlobalKeyDown","useFocusable","accessibleWhenDisabled","autoFocus","onFocusVisible","labels","onMouseUp","label","focusVisible","setFocusVisible","onKeyPressCapture","onMouseDownCapture","onClickCapture","onMouseDownProp","onMouseDown","receivedFocus","onFocus","focusableContainer","handleFocusVisible","currentTarget","onKeyDownCaptureProp","onKeyDownCapture","onFocusCaptureProp","onFocusCapture","applyFocusVisible","onBlurProp","onBlur","autoFocusOnShow","useContext","autoFocusRef","styleProp","style","forwardRef","htmlProps"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}