@optiaxiom/react 1.2.5 → 1.3.0

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 (457) hide show
  1. package/dist/{PopoverContent-D7WFp-Jh.d.ts → PopoverContent-D6Cc7TfW.d.ts} +3 -23
  2. package/dist/cjs/{Skeleton-DE4URqWE.js → Skeleton-D9kBwl_6.js} +134 -213
  3. package/dist/{esm/assets/src/actions-content/ActionsContent.css.ts.vanilla-Bz7PeMPd.css → cjs/assets/src/actions-content/ActionsContent.css.ts.vanilla-CC3tXVjV.css} +7 -7
  4. package/dist/cjs/assets/src/actions-root/ActionsRoot.css.ts.vanilla-BuhN_n9G.css +4 -0
  5. package/dist/cjs/assets/src/alert/Alert.css.ts.vanilla-Dx3l548k.css +6 -0
  6. package/dist/cjs/assets/src/alert-dialog-content/AlertDialogContent.css.ts.vanilla-ByCjrIMH.css +27 -0
  7. package/dist/cjs/assets/src/alert-dialog-footer/AlertDialogFooter.css.ts.vanilla-B9xMbSMx.css +6 -0
  8. package/dist/cjs/assets/src/avatar/{Avatar.css.ts.vanilla-CJHPh2rv.css → Avatar.css.ts.vanilla-DnmPKsAO.css} +18 -18
  9. package/dist/{esm/assets/src/backdrop/Backdrop.css.ts.vanilla-TqOwdkqK.css → cjs/assets/src/backdrop/Backdrop.css.ts.vanilla-BeqTH3mM.css} +3 -3
  10. package/dist/cjs/assets/src/badge/Badge.css.ts.vanilla-DyqEtima.css +46 -0
  11. package/dist/cjs/assets/src/banner/Banner.css.ts.vanilla-rRvp60j9.css +6 -0
  12. package/dist/{esm/assets/src/box/Box.css.ts.vanilla-Dy0kxHbJ.css → cjs/assets/src/box/Box.css.ts.vanilla-CBWU659a.css} +22 -22
  13. package/dist/cjs/assets/src/breadcrumb-item/BreadcrumbItem.css.ts.vanilla-DWZetct8.css +8 -0
  14. package/dist/{esm/assets/src/breadcrumb-link/BreadcrumbLink.css.ts.vanilla-CWx9s0VY.css → cjs/assets/src/breadcrumb-link/BreadcrumbLink.css.ts.vanilla-BbqzwWHh.css} +5 -5
  15. package/dist/cjs/assets/src/button-base/ButtonBase.css.ts.vanilla-Cs-zXoZj.css +147 -0
  16. package/dist/cjs/assets/src/button-loadable/ButtonLoadable.css.ts.vanilla-BmuWE4Qq.css +9 -0
  17. package/dist/{esm/assets/src/calendar/CalendarDayButton.css.ts.vanilla-4BAxMnL5.css → cjs/assets/src/calendar/CalendarDayButton.css.ts.vanilla-VdS4O7gs.css} +24 -24
  18. package/dist/cjs/assets/src/calendar/CalendarMonths.css.ts.vanilla-CV3jww0a.css +6 -0
  19. package/dist/cjs/assets/src/calendar/CalendarNav.css.ts.vanilla-KqCd-2ik.css +6 -0
  20. package/dist/cjs/assets/src/card/Card.css.ts.vanilla-CrsxV1vR.css +11 -0
  21. package/dist/cjs/assets/src/card-action/CardAction.css.ts.vanilla-CyOOeLcY.css +8 -0
  22. package/dist/cjs/assets/src/card-image/CardImage.css.ts.vanilla-MqvDJoWy.css +12 -0
  23. package/dist/{esm/assets/src/card-overflow/CardOverflow.css.ts.vanilla-DFwtJh9H.css → cjs/assets/src/card-overflow/CardOverflow.css.ts.vanilla-By_KKDNi.css} +5 -5
  24. package/dist/cjs/assets/src/checkbox-control/{CheckboxControl.css.ts.vanilla-Cow23haB.css → CheckboxControl.css.ts.vanilla-Lqy6ibue.css} +7 -7
  25. package/dist/cjs/assets/src/code/Code.css.ts.vanilla-gz4dgqef.css +10 -0
  26. package/dist/cjs/assets/src/cover/Cover.css.ts.vanilla-QdHEU1mZ.css +34 -0
  27. package/dist/{esm/assets/src/data-table-body/DataTableBody.css.ts.vanilla-MsX92Doe.css → cjs/assets/src/data-table-body/DataTableBody.css.ts.vanilla-BUSMEieY.css} +24 -24
  28. package/dist/cjs/assets/src/data-table-footer/DataTableFooter.css.ts.vanilla-YMRroFsN.css +6 -0
  29. package/dist/cjs/assets/src/data-table-header-cell/{DataTableHeaderCell.css.ts.vanilla-CrqZmJXD.css → DataTableHeaderCell.css.ts.vanilla-DQZuvEQA.css} +9 -9
  30. package/dist/cjs/assets/src/date-input/{DateInput.css.ts.vanilla-BR8vi6FR.css → DateInput.css.ts.vanilla-BCONQNF4.css} +3 -3
  31. package/dist/cjs/assets/src/date-picker-content/DatePickerContent.css.ts.vanilla-D8qogbi-.css +6 -0
  32. package/dist/cjs/assets/src/dialog-body/DialogBody.css.ts.vanilla-DZdBKCaB.css +6 -0
  33. package/dist/cjs/assets/src/dialog-content/{DialogContent.css.ts.vanilla-CTrZhzGF.css → DialogContent.css.ts.vanilla-Rq_MWFQh.css} +10 -10
  34. package/dist/cjs/assets/src/dialog-header/DialogHeader.css.ts.vanilla-BKx5_XPN.css +15 -0
  35. package/dist/cjs/assets/src/disclosure-content/{DisclosureContent.css.ts.vanilla-Cf8_KbPG.css → DisclosureContent.css.ts.vanilla-DiFktDjh.css} +4 -4
  36. package/dist/{esm/assets/src/disclosure-trigger/DisclosureTrigger.css.ts.vanilla-Defa1rUD.css → cjs/assets/src/disclosure-trigger/DisclosureTrigger.css.ts.vanilla-CfABJMa5.css} +7 -7
  37. package/dist/cjs/assets/src/highlight/Highlight.css.ts.vanilla-D9VKrY0d.css +7 -0
  38. package/dist/cjs/assets/src/indicator/Indicator.css.ts.vanilla-RHUT1F_l.css +37 -0
  39. package/dist/cjs/assets/src/inline-input/{InlineInput.css.ts.vanilla-BdKXpj1z.css → InlineInput.css.ts.vanilla-DrggWV9x.css} +4 -4
  40. package/dist/{esm/assets/src/input-control/InputControl.css.ts.vanilla-BlFqBxdI.css → cjs/assets/src/input-control/InputControl.css.ts.vanilla-Djmx4C5o.css} +8 -8
  41. package/dist/cjs/assets/src/input-root/InputRoot.css.ts.vanilla-Cih6Anrm.css +70 -0
  42. package/dist/cjs/assets/src/kbd/Kbd.css.ts.vanilla-DQZ0Czao.css +12 -0
  43. package/dist/cjs/assets/src/label-menu-button/LabelMenuButton.css.ts.vanilla-C1QpA097.css +7 -0
  44. package/dist/cjs/assets/src/layers/layers.css.ts.vanilla-9E2kDjKk.css +1 -0
  45. package/dist/cjs/assets/src/layout/Layouts.css.ts.vanilla-jn7W4Vx_.css +7 -0
  46. package/dist/{esm/assets/src/link/Link.css.ts.vanilla-DsprUWN_.css → cjs/assets/src/link/Link.css.ts.vanilla-B3y4Cor7.css} +13 -13
  47. package/dist/cjs/assets/src/listbox-checkbox-item/ListboxCheckboxItem.css.ts.vanilla-DOCfa7Zk.css +15 -0
  48. package/dist/cjs/assets/src/listbox-item/ListboxItem.css.ts.vanilla-T_bauynn.css +48 -0
  49. package/dist/cjs/assets/src/listbox-item-indicator/{ListboxItemIndicator.css.ts.vanilla-dIk7ESAB.css → ListboxItemIndicator.css.ts.vanilla-BAisdqe5.css} +4 -4
  50. package/dist/cjs/assets/src/menu-input/MenuInput.css.ts.vanilla-CrjgCTO4.css +6 -0
  51. package/dist/cjs/assets/src/menu-sub-content/SelectContent.css.ts.vanilla-DCAKMvfS.css +7 -0
  52. package/dist/cjs/assets/src/nav/Nav.css.ts.vanilla-D0WNNLdw.css +6 -0
  53. package/dist/cjs/assets/src/nav-account-item/NavAccountItem.css.ts.vanilla-Bif2yyXY.css +9 -0
  54. package/dist/{esm/assets/src/nav-item/NavItem.css.ts.vanilla-D5cxyXcF.css → cjs/assets/src/nav-item/NavItem.css.ts.vanilla-zB0o2LeN.css} +13 -13
  55. package/dist/cjs/assets/src/overlay-listbox/OverlayListbox.css.ts.vanilla-chiiITqE.css +33 -0
  56. package/dist/{esm/assets/src/pagination/Pagination.css.ts.vanilla-xLDa2Hwh.css → cjs/assets/src/pagination/Pagination.css.ts.vanilla-CrrHJq3H.css} +5 -5
  57. package/dist/cjs/assets/src/pill/{Pill.css.ts.vanilla-DKrCo1ZD.css → Pill.css.ts.vanilla-Dt9oEgDm.css} +7 -7
  58. package/dist/cjs/assets/src/progress/Progress.css.ts.vanilla-BFKb9lu8.css +6 -0
  59. package/dist/cjs/assets/src/radio/Radio.css.ts.vanilla-MkXQcu00.css +13 -0
  60. package/dist/cjs/assets/src/search-input/SearchInput.css.ts.vanilla-CvWIeABv.css +6 -0
  61. package/dist/{esm/assets/src/separator/Separator.css.ts.vanilla-Bj8DiXwJ.css → cjs/assets/src/separator/Separator.css.ts.vanilla-Duu7HDfq.css} +8 -8
  62. package/dist/cjs/assets/src/skeleton/Skeleton.css.ts.vanilla-Bzcsi9C4.css +6 -0
  63. package/dist/cjs/assets/src/spinner/{Spinner.css.ts.vanilla-BGvCoOzl.css → Spinner.css.ts.vanilla-08euzODu.css} +4 -4
  64. package/dist/cjs/assets/src/sprinkles/{properties.css.ts.vanilla-CUMPevOq.css → properties.css.ts.vanilla-zOSre7IM.css} +723 -723
  65. package/dist/cjs/assets/src/sub-nav/SubNav.css.ts.vanilla-D14-vCH8.css +6 -0
  66. package/dist/cjs/assets/src/switch/Switch.css.ts.vanilla-6E-nJX2J.css +45 -0
  67. package/dist/cjs/assets/src/table/Table.css.ts.vanilla-9FeooTji.css +15 -0
  68. package/dist/cjs/assets/src/table-body/TableBody.css.ts.vanilla-BUg4jUW-.css +6 -0
  69. package/dist/cjs/assets/src/table-cell/TableCell.css.ts.vanilla-WEAPDuXd.css +10 -0
  70. package/dist/{esm/assets/src/table-header-cell/TableHeaderCell.css.ts.vanilla-Cz62bqT8.css → cjs/assets/src/table-header-cell/TableHeaderCell.css.ts.vanilla-5cVo8-8R.css} +4 -4
  71. package/dist/cjs/assets/src/table-row/{TableRow.css.ts.vanilla-Dzxs57Ca.css → TableRow.css.ts.vanilla-CxBIRqIz.css} +5 -5
  72. package/dist/cjs/assets/src/tabs/Tabs.css.ts.vanilla-Bbmpcxf3.css +9 -0
  73. package/dist/cjs/assets/src/tabs-list/{TabsList.css.ts.vanilla-C3yYrnWg.css → TabsList.css.ts.vanilla-Dxan7uxA.css} +4 -4
  74. package/dist/{esm/assets/src/tabs-trigger/TabsTrigger.css.ts.vanilla-B6yVf8gr.css → cjs/assets/src/tabs-trigger/TabsTrigger.css.ts.vanilla-DxisoHwO.css} +10 -10
  75. package/dist/{esm/assets/src/text/Text.css.ts.vanilla-B5VbRhB3.css → cjs/assets/src/text/Text.css.ts.vanilla-FQ1NB0hD.css} +8 -8
  76. package/dist/cjs/assets/src/textarea-autosize/TextareaAutosize.css.ts.vanilla-vhg4GSql.css +34 -0
  77. package/dist/cjs/assets/src/toast/Toast.css.ts.vanilla-D-fgXyQL.css +104 -0
  78. package/dist/cjs/assets/src/toast-provider/{ToastProvider.css.ts.vanilla-BzErTYdw.css → ToastProvider.css.ts.vanilla-kpdTOWop.css} +9 -9
  79. package/dist/cjs/assets/src/toggle-input/ToggleInput.css.ts.vanilla-BD9DPgTh.css +25 -0
  80. package/dist/cjs/assets/src/toggle-input-control/ToggleInputControl.css.ts.vanilla-YDkEAbGj.css +10 -0
  81. package/dist/{esm/assets/src/transition/Transition.css.ts.vanilla-D_jnqlSi.css → cjs/assets/src/transition/Transition.css.ts.vanilla-CvRF_XVl.css} +26 -26
  82. package/dist/cjs/index.js +253 -161
  83. package/dist/cjs/unstable.js +987 -994
  84. package/dist/{cjs/assets/src/actions-content/ActionsContent.css.ts.vanilla-Bz7PeMPd.css → esm/assets/src/actions-content/ActionsContent.css.ts.vanilla-CC3tXVjV.css} +7 -7
  85. package/dist/esm/assets/src/actions-root/ActionsRoot.css.ts.vanilla-BuhN_n9G.css +4 -0
  86. package/dist/esm/assets/src/alert/Alert.css.ts.vanilla-Dx3l548k.css +6 -0
  87. package/dist/esm/assets/src/alert-dialog-content/AlertDialogContent.css.ts.vanilla-ByCjrIMH.css +27 -0
  88. package/dist/esm/assets/src/alert-dialog-footer/AlertDialogFooter.css.ts.vanilla-B9xMbSMx.css +6 -0
  89. package/dist/esm/assets/src/avatar/{Avatar.css.ts.vanilla-CJHPh2rv.css → Avatar.css.ts.vanilla-DnmPKsAO.css} +18 -18
  90. package/dist/{cjs/assets/src/backdrop/Backdrop.css.ts.vanilla-TqOwdkqK.css → esm/assets/src/backdrop/Backdrop.css.ts.vanilla-BeqTH3mM.css} +3 -3
  91. package/dist/esm/assets/src/badge/Badge.css.ts.vanilla-DyqEtima.css +46 -0
  92. package/dist/esm/assets/src/banner/Banner.css.ts.vanilla-rRvp60j9.css +6 -0
  93. package/dist/{cjs/assets/src/box/Box.css.ts.vanilla-Dy0kxHbJ.css → esm/assets/src/box/Box.css.ts.vanilla-CBWU659a.css} +22 -22
  94. package/dist/esm/assets/src/breadcrumb-item/BreadcrumbItem.css.ts.vanilla-DWZetct8.css +8 -0
  95. package/dist/{cjs/assets/src/breadcrumb-link/BreadcrumbLink.css.ts.vanilla-CWx9s0VY.css → esm/assets/src/breadcrumb-link/BreadcrumbLink.css.ts.vanilla-BbqzwWHh.css} +5 -5
  96. package/dist/esm/assets/src/button-base/ButtonBase.css.ts.vanilla-Cs-zXoZj.css +147 -0
  97. package/dist/esm/assets/src/button-loadable/ButtonLoadable.css.ts.vanilla-BmuWE4Qq.css +9 -0
  98. package/dist/{cjs/assets/src/calendar/CalendarDayButton.css.ts.vanilla-4BAxMnL5.css → esm/assets/src/calendar/CalendarDayButton.css.ts.vanilla-VdS4O7gs.css} +24 -24
  99. package/dist/esm/assets/src/calendar/CalendarMonths.css.ts.vanilla-CV3jww0a.css +6 -0
  100. package/dist/esm/assets/src/calendar/CalendarNav.css.ts.vanilla-KqCd-2ik.css +6 -0
  101. package/dist/esm/assets/src/card/Card.css.ts.vanilla-CrsxV1vR.css +11 -0
  102. package/dist/esm/assets/src/card-action/CardAction.css.ts.vanilla-CyOOeLcY.css +8 -0
  103. package/dist/esm/assets/src/card-image/CardImage.css.ts.vanilla-MqvDJoWy.css +12 -0
  104. package/dist/{cjs/assets/src/card-overflow/CardOverflow.css.ts.vanilla-DFwtJh9H.css → esm/assets/src/card-overflow/CardOverflow.css.ts.vanilla-By_KKDNi.css} +5 -5
  105. package/dist/esm/assets/src/checkbox-control/{CheckboxControl.css.ts.vanilla-Cow23haB.css → CheckboxControl.css.ts.vanilla-Lqy6ibue.css} +7 -7
  106. package/dist/esm/assets/src/code/Code.css.ts.vanilla-gz4dgqef.css +10 -0
  107. package/dist/esm/assets/src/cover/Cover.css.ts.vanilla-QdHEU1mZ.css +34 -0
  108. package/dist/{cjs/assets/src/data-table-body/DataTableBody.css.ts.vanilla-MsX92Doe.css → esm/assets/src/data-table-body/DataTableBody.css.ts.vanilla-BUSMEieY.css} +24 -24
  109. package/dist/esm/assets/src/data-table-footer/DataTableFooter.css.ts.vanilla-YMRroFsN.css +6 -0
  110. package/dist/esm/assets/src/data-table-header-cell/{DataTableHeaderCell.css.ts.vanilla-CrqZmJXD.css → DataTableHeaderCell.css.ts.vanilla-DQZuvEQA.css} +9 -9
  111. package/dist/esm/assets/src/date-input/{DateInput.css.ts.vanilla-BR8vi6FR.css → DateInput.css.ts.vanilla-BCONQNF4.css} +3 -3
  112. package/dist/esm/assets/src/date-picker-content/DatePickerContent.css.ts.vanilla-D8qogbi-.css +6 -0
  113. package/dist/esm/assets/src/dialog-body/DialogBody.css.ts.vanilla-DZdBKCaB.css +6 -0
  114. package/dist/esm/assets/src/dialog-content/{DialogContent.css.ts.vanilla-CTrZhzGF.css → DialogContent.css.ts.vanilla-Rq_MWFQh.css} +10 -10
  115. package/dist/esm/assets/src/dialog-header/DialogHeader.css.ts.vanilla-BKx5_XPN.css +15 -0
  116. package/dist/esm/assets/src/disclosure-content/{DisclosureContent.css.ts.vanilla-Cf8_KbPG.css → DisclosureContent.css.ts.vanilla-DiFktDjh.css} +4 -4
  117. package/dist/{cjs/assets/src/disclosure-trigger/DisclosureTrigger.css.ts.vanilla-Defa1rUD.css → esm/assets/src/disclosure-trigger/DisclosureTrigger.css.ts.vanilla-CfABJMa5.css} +7 -7
  118. package/dist/esm/assets/src/highlight/Highlight.css.ts.vanilla-D9VKrY0d.css +7 -0
  119. package/dist/esm/assets/src/indicator/Indicator.css.ts.vanilla-RHUT1F_l.css +37 -0
  120. package/dist/esm/assets/src/inline-input/{InlineInput.css.ts.vanilla-BdKXpj1z.css → InlineInput.css.ts.vanilla-DrggWV9x.css} +4 -4
  121. package/dist/{cjs/assets/src/input-control/InputControl.css.ts.vanilla-BlFqBxdI.css → esm/assets/src/input-control/InputControl.css.ts.vanilla-Djmx4C5o.css} +8 -8
  122. package/dist/esm/assets/src/input-root/InputRoot.css.ts.vanilla-Cih6Anrm.css +70 -0
  123. package/dist/esm/assets/src/kbd/Kbd.css.ts.vanilla-DQZ0Czao.css +12 -0
  124. package/dist/esm/assets/src/label-menu-button/LabelMenuButton.css.ts.vanilla-C1QpA097.css +7 -0
  125. package/dist/esm/assets/src/layers/layers.css.ts.vanilla-9E2kDjKk.css +1 -0
  126. package/dist/esm/assets/src/layout/Layouts.css.ts.vanilla-jn7W4Vx_.css +7 -0
  127. package/dist/{cjs/assets/src/link/Link.css.ts.vanilla-DsprUWN_.css → esm/assets/src/link/Link.css.ts.vanilla-B3y4Cor7.css} +13 -13
  128. package/dist/esm/assets/src/listbox-checkbox-item/ListboxCheckboxItem.css.ts.vanilla-DOCfa7Zk.css +15 -0
  129. package/dist/esm/assets/src/listbox-item/ListboxItem.css.ts.vanilla-T_bauynn.css +48 -0
  130. package/dist/esm/assets/src/listbox-item-indicator/{ListboxItemIndicator.css.ts.vanilla-dIk7ESAB.css → ListboxItemIndicator.css.ts.vanilla-BAisdqe5.css} +4 -4
  131. package/dist/esm/assets/src/menu-input/MenuInput.css.ts.vanilla-CrjgCTO4.css +6 -0
  132. package/dist/esm/assets/src/menu-sub-content/SelectContent.css.ts.vanilla-DCAKMvfS.css +7 -0
  133. package/dist/esm/assets/src/nav/Nav.css.ts.vanilla-D0WNNLdw.css +6 -0
  134. package/dist/esm/assets/src/nav-account-item/NavAccountItem.css.ts.vanilla-Bif2yyXY.css +9 -0
  135. package/dist/{cjs/assets/src/nav-item/NavItem.css.ts.vanilla-D5cxyXcF.css → esm/assets/src/nav-item/NavItem.css.ts.vanilla-zB0o2LeN.css} +13 -13
  136. package/dist/esm/assets/src/overlay-listbox/OverlayListbox.css.ts.vanilla-chiiITqE.css +33 -0
  137. package/dist/{cjs/assets/src/pagination/Pagination.css.ts.vanilla-xLDa2Hwh.css → esm/assets/src/pagination/Pagination.css.ts.vanilla-CrrHJq3H.css} +5 -5
  138. package/dist/esm/assets/src/pill/{Pill.css.ts.vanilla-DKrCo1ZD.css → Pill.css.ts.vanilla-Dt9oEgDm.css} +7 -7
  139. package/dist/esm/assets/src/progress/Progress.css.ts.vanilla-BFKb9lu8.css +6 -0
  140. package/dist/esm/assets/src/radio/Radio.css.ts.vanilla-MkXQcu00.css +13 -0
  141. package/dist/esm/assets/src/search-input/SearchInput.css.ts.vanilla-CvWIeABv.css +6 -0
  142. package/dist/{cjs/assets/src/separator/Separator.css.ts.vanilla-Bj8DiXwJ.css → esm/assets/src/separator/Separator.css.ts.vanilla-Duu7HDfq.css} +8 -8
  143. package/dist/esm/assets/src/skeleton/Skeleton.css.ts.vanilla-Bzcsi9C4.css +6 -0
  144. package/dist/esm/assets/src/spinner/{Spinner.css.ts.vanilla-BGvCoOzl.css → Spinner.css.ts.vanilla-08euzODu.css} +4 -4
  145. package/dist/esm/assets/src/sprinkles/{properties.css.ts.vanilla-CUMPevOq.css → properties.css.ts.vanilla-zOSre7IM.css} +723 -723
  146. package/dist/esm/assets/src/sub-nav/SubNav.css.ts.vanilla-D14-vCH8.css +6 -0
  147. package/dist/esm/assets/src/switch/Switch.css.ts.vanilla-6E-nJX2J.css +45 -0
  148. package/dist/esm/assets/src/table/Table.css.ts.vanilla-9FeooTji.css +15 -0
  149. package/dist/esm/assets/src/table-body/TableBody.css.ts.vanilla-BUg4jUW-.css +6 -0
  150. package/dist/esm/assets/src/table-cell/TableCell.css.ts.vanilla-WEAPDuXd.css +10 -0
  151. package/dist/{cjs/assets/src/table-header-cell/TableHeaderCell.css.ts.vanilla-Cz62bqT8.css → esm/assets/src/table-header-cell/TableHeaderCell.css.ts.vanilla-5cVo8-8R.css} +4 -4
  152. package/dist/esm/assets/src/table-row/{TableRow.css.ts.vanilla-Dzxs57Ca.css → TableRow.css.ts.vanilla-CxBIRqIz.css} +5 -5
  153. package/dist/esm/assets/src/tabs/Tabs.css.ts.vanilla-Bbmpcxf3.css +9 -0
  154. package/dist/esm/assets/src/tabs-list/{TabsList.css.ts.vanilla-C3yYrnWg.css → TabsList.css.ts.vanilla-Dxan7uxA.css} +4 -4
  155. package/dist/{cjs/assets/src/tabs-trigger/TabsTrigger.css.ts.vanilla-B6yVf8gr.css → esm/assets/src/tabs-trigger/TabsTrigger.css.ts.vanilla-DxisoHwO.css} +10 -10
  156. package/dist/{cjs/assets/src/text/Text.css.ts.vanilla-B5VbRhB3.css → esm/assets/src/text/Text.css.ts.vanilla-FQ1NB0hD.css} +8 -8
  157. package/dist/esm/assets/src/textarea-autosize/TextareaAutosize.css.ts.vanilla-vhg4GSql.css +34 -0
  158. package/dist/esm/assets/src/toast/Toast.css.ts.vanilla-D-fgXyQL.css +104 -0
  159. package/dist/esm/assets/src/toast-provider/{ToastProvider.css.ts.vanilla-BzErTYdw.css → ToastProvider.css.ts.vanilla-kpdTOWop.css} +9 -9
  160. package/dist/esm/assets/src/toggle-input/ToggleInput.css.ts.vanilla-BD9DPgTh.css +25 -0
  161. package/dist/esm/assets/src/toggle-input-control/ToggleInputControl.css.ts.vanilla-YDkEAbGj.css +10 -0
  162. package/dist/{cjs/assets/src/transition/Transition.css.ts.vanilla-D_jnqlSi.css → esm/assets/src/transition/Transition.css.ts.vanilla-CvRF_XVl.css} +26 -26
  163. package/dist/esm/packages/react/package.json.js +1 -1
  164. package/dist/esm/packages/react/src/actions-content/ActionsContent-css.js +4 -4
  165. package/dist/esm/packages/react/src/actions-root/ActionsRoot-css.js +3 -3
  166. package/dist/esm/packages/react/src/alert/Alert-css.js +3 -3
  167. package/dist/esm/packages/react/src/alert-dialog-content/AlertDialogContent-css.js +6 -6
  168. package/dist/esm/packages/react/src/alert-dialog-footer/AlertDialogFooter-css.js +3 -3
  169. package/dist/esm/packages/react/src/alert-dialog-header/AlertDialogHeader.js +1 -0
  170. package/dist/esm/packages/react/src/avatar/Avatar-css.js +4 -4
  171. package/dist/esm/packages/react/src/avatar-group/AvatarGroup-css.js +3 -3
  172. package/dist/esm/packages/react/src/backdrop/Backdrop-css.js +3 -3
  173. package/dist/esm/packages/react/src/badge/Badge-css.js +3 -3
  174. package/dist/esm/packages/react/src/banner/Banner-css.js +3 -3
  175. package/dist/esm/packages/react/src/box/Box-css.js +4 -4
  176. package/dist/esm/packages/react/src/breadcrumb-item/BreadcrumbItem-css.js +3 -3
  177. package/dist/esm/packages/react/src/breadcrumb-link/BreadcrumbLink-css.js +3 -3
  178. package/dist/esm/packages/react/src/button/Button.js +1 -0
  179. package/dist/esm/packages/react/src/button-base/ButtonBase-css.js +5 -5
  180. package/dist/esm/packages/react/src/button-base/ButtonBase.js +1 -0
  181. package/dist/esm/packages/react/src/button-group/ButtonGroup-css.js +3 -3
  182. package/dist/esm/packages/react/src/button-loadable/ButtonLoadable-css.js +5 -5
  183. package/dist/esm/packages/react/src/calendar/Calendar.js +3 -0
  184. package/dist/esm/packages/react/src/calendar/CalendarDayButton-css.js +4 -4
  185. package/dist/esm/packages/react/src/calendar/CalendarDayButton.js +2 -1
  186. package/dist/esm/packages/react/src/calendar/CalendarMonths-css.js +3 -3
  187. package/dist/esm/packages/react/src/calendar/CalendarNav-css.js +3 -3
  188. package/dist/esm/packages/react/src/calendar/CalendarWeek.js +1 -1
  189. package/dist/esm/packages/react/src/card/Card-css.js +5 -5
  190. package/dist/esm/packages/react/src/card-action/CardAction-css.js +4 -4
  191. package/dist/esm/packages/react/src/card-image/CardImage-css.js +3 -3
  192. package/dist/esm/packages/react/src/card-overflow/CardOverflow-css.js +3 -3
  193. package/dist/esm/packages/react/src/checkbox-control/CheckboxControl-css.js +6 -6
  194. package/dist/esm/packages/react/src/clock/Clock.js +9 -14
  195. package/dist/esm/packages/react/src/code/Code-css.js +3 -3
  196. package/dist/esm/packages/react/src/command/Command.js +42 -66
  197. package/dist/esm/packages/react/src/command-context/CommandContext.js +2 -1
  198. package/dist/esm/packages/react/src/command-input/CommandInput.js +7 -44
  199. package/dist/esm/packages/react/src/command-item/CommandItem.js +70 -8
  200. package/dist/esm/packages/react/src/command-listbox/CommandListbox.js +12 -26
  201. package/dist/esm/packages/react/src/cover/Cover-css.js +3 -3
  202. package/dist/esm/packages/react/src/data-table-body/DataTableBody-css.js +10 -10
  203. package/dist/esm/packages/react/src/data-table-footer/DataTableFooter-css.js +3 -3
  204. package/dist/esm/packages/react/src/data-table-footer/DataTableFooter.js +5 -2
  205. package/dist/esm/packages/react/src/data-table-header-cell/DataTableHeaderCell-css.js +5 -5
  206. package/dist/esm/packages/react/src/date-input/DateInput-css.js +3 -3
  207. package/dist/esm/packages/react/src/date-input/DateInput.js +1 -0
  208. package/dist/esm/packages/react/src/date-picker-content/DatePickerContent-css.js +3 -3
  209. package/dist/esm/packages/react/src/date-range-picker-content/DateRangePickerContent-css.js +2 -3
  210. package/dist/esm/packages/react/src/date-range-picker-content/DateRangePickerContent.js +2 -0
  211. package/dist/esm/packages/react/src/dialog-body/DialogBody-css.js +3 -3
  212. package/dist/esm/packages/react/src/dialog-content/DialogContent-css.js +5 -5
  213. package/dist/esm/packages/react/src/dialog-content/DialogContent.js +1 -0
  214. package/dist/esm/packages/react/src/dialog-footer/DialogFooter-css.js +1 -1
  215. package/dist/esm/packages/react/src/dialog-header/DialogHeader-css.js +6 -6
  216. package/dist/esm/packages/react/src/disclosure-content/DisclosureContent-css.js +4 -4
  217. package/dist/esm/packages/react/src/disclosure-trigger/DisclosureTrigger-css.js +5 -5
  218. package/dist/esm/packages/react/src/dropdown-menu-content/DropdownMenuContent.js +2 -2
  219. package/dist/esm/packages/react/src/dropdown-menu-sub-content/DropdownMenuSubContent.js +18 -9
  220. package/dist/esm/packages/react/src/field/Field.js +1 -0
  221. package/dist/esm/packages/react/src/filtered-slot/FilteredSlot.js +3 -1
  222. package/dist/esm/packages/react/src/highlight/Highlight-css.js +3 -3
  223. package/dist/esm/packages/react/src/indicator/Indicator-css.js +5 -5
  224. package/dist/esm/packages/react/src/inline-input/InlineInput-css.js +4 -4
  225. package/dist/esm/packages/react/src/input/Input-css.js +1 -1
  226. package/dist/esm/packages/react/src/input/Input.js +1 -0
  227. package/dist/esm/packages/react/src/input-control/InputControl-css.js +3 -3
  228. package/dist/esm/packages/react/src/input-root/InputRoot-css.js +5 -5
  229. package/dist/esm/packages/react/src/kbd/Kbd-css.js +4 -4
  230. package/dist/esm/packages/react/src/label-menu-button/LabelMenuButton-css.js +5 -5
  231. package/dist/esm/packages/react/src/layers/layers-css.js +3 -3
  232. package/dist/esm/packages/react/src/layout/Layouts-css.js +3 -3
  233. package/dist/esm/packages/react/src/link/Link-css.js +4 -4
  234. package/dist/esm/packages/react/src/link/Link.js +1 -0
  235. package/dist/esm/packages/react/src/listbox-checkbox-item/ListboxCheckboxItem-css.js +7 -0
  236. package/dist/esm/packages/react/src/listbox-checkbox-item/ListboxCheckboxItem.js +21 -7
  237. package/dist/esm/packages/react/src/listbox-item/ListboxItem-css.js +5 -5
  238. package/dist/esm/packages/react/src/listbox-item/ListboxItem.js +1 -1
  239. package/dist/esm/packages/react/src/listbox-item-indicator/ListboxItemIndicator-css.js +3 -3
  240. package/dist/esm/packages/react/src/listbox-itemized/ListboxItemized.js +53 -0
  241. package/dist/esm/packages/react/src/listbox-virtualized/ListboxVirtualized.js +2 -2
  242. package/dist/esm/packages/react/src/menu/Menu.js +138 -0
  243. package/dist/esm/packages/react/src/menu-checkbox-item/MenuCheckboxItem.js +24 -0
  244. package/dist/esm/packages/react/src/menu-content/MenuContent.js +50 -0
  245. package/dist/esm/packages/react/src/menu-context/MenuContext.js +6 -0
  246. package/dist/esm/packages/react/src/menu-dialog-content/MenuDialogContent.js +25 -0
  247. package/dist/esm/packages/react/src/menu-input/MenuInput-css.js +7 -0
  248. package/dist/esm/packages/react/src/{combobox-input/ComboboxInput.js → menu-input/MenuInput.js} +25 -9
  249. package/dist/esm/packages/react/src/menu-item/MenuItem.js +23 -0
  250. package/dist/esm/packages/react/src/menu-listbox/MenuListbox.js +37 -14
  251. package/dist/esm/packages/react/src/{combobox-popover/ComboboxPopover.js → menu-popover/MenuPopover.js} +3 -3
  252. package/dist/esm/packages/react/src/{combobox-popover-content/ComboboxPopoverContent.js → menu-popover-content/MenuPopoverContent.js} +3 -3
  253. package/dist/esm/packages/react/src/menu-radio-item/MenuRadioItem.js +23 -0
  254. package/dist/esm/packages/react/src/menu-sub/MenuSub.js +40 -0
  255. package/dist/esm/packages/react/src/menu-sub-content/MenuSubContent.js +154 -0
  256. package/dist/esm/packages/react/src/menu-sub-content/SelectContent-css.js +7 -0
  257. package/dist/esm/packages/react/src/menu-sub-context/MenuSubContext.js +6 -0
  258. package/dist/esm/packages/react/src/menu-sub-trigger/MenuSubTrigger.js +65 -0
  259. package/dist/esm/packages/react/src/{combobox-trigger/ComboboxTrigger.js → menu-trigger/MenuTrigger.js} +9 -8
  260. package/dist/esm/packages/react/src/nav/Nav-css.js +3 -3
  261. package/dist/esm/packages/react/src/nav-account-item/NavAccountItem-css.js +3 -3
  262. package/dist/esm/packages/react/src/nav-body/NavBody-css.js +1 -1
  263. package/dist/esm/packages/react/src/nav-item/NavItem-css.js +6 -6
  264. package/dist/esm/packages/react/src/nav-item/NavItem.js +1 -0
  265. package/dist/esm/packages/react/src/overlay-listbox/OverlayListbox-css.js +7 -0
  266. package/dist/esm/packages/react/src/overlay-listbox/OverlayListbox.js +22 -0
  267. package/dist/esm/packages/react/src/pagination/Pagination-css.js +5 -5
  268. package/dist/esm/packages/react/src/paper/Paper-css.js +1 -1
  269. package/dist/esm/packages/react/src/pill/Pill-css.js +3 -3
  270. package/dist/esm/packages/react/src/popover-content/PopoverContent.js +3 -2
  271. package/dist/esm/packages/react/src/progress/Progress-css.js +3 -3
  272. package/dist/esm/packages/react/src/radio/Radio-css.js +8 -8
  273. package/dist/esm/packages/react/src/search-input/SearchInput-css.js +4 -4
  274. package/dist/esm/packages/react/src/select/Select.js +10 -17
  275. package/dist/esm/packages/react/src/select-content/SelectContent.js +61 -59
  276. package/dist/esm/packages/react/src/select-hidden-select/SelectHiddenSelect.js +3 -7
  277. package/dist/esm/packages/react/src/select-trigger/SelectTrigger.js +3 -2
  278. package/dist/esm/packages/react/src/separator/Separator-css.js +3 -3
  279. package/dist/esm/packages/react/src/skeleton/Skeleton-css.js +3 -3
  280. package/dist/esm/packages/react/src/spinner/Spinner-css.js +3 -3
  281. package/dist/esm/packages/react/src/spotlight/Spotlight.js +3 -17
  282. package/dist/esm/packages/react/src/spotlight-content/SpotlightContent.js +4 -20
  283. package/dist/esm/packages/react/src/spotlight-trigger/SpotlightTrigger.js +5 -6
  284. package/dist/esm/packages/react/src/sprinkles/properties-css.js +4 -4
  285. package/dist/esm/packages/react/src/sub-nav/SubNav-css.js +3 -3
  286. package/dist/esm/packages/react/src/switch/Switch-css.js +8 -8
  287. package/dist/esm/packages/react/src/table/Table-css.js +4 -4
  288. package/dist/esm/packages/react/src/table-body/TableBody-css.js +3 -3
  289. package/dist/esm/packages/react/src/table-cell/TableCell-css.js +4 -4
  290. package/dist/esm/packages/react/src/table-header-cell/TableHeaderCell-css.js +4 -4
  291. package/dist/esm/packages/react/src/table-row/TableRow-css.js +3 -3
  292. package/dist/esm/packages/react/src/tabs/Tabs-css.js +3 -3
  293. package/dist/esm/packages/react/src/tabs-list/TabsList-css.js +3 -3
  294. package/dist/esm/packages/react/src/tabs-trigger/TabsTrigger-css.js +4 -4
  295. package/dist/esm/packages/react/src/text/Text-css.js +3 -3
  296. package/dist/esm/packages/react/src/textarea/Textarea.js +1 -0
  297. package/dist/esm/packages/react/src/textarea-autosize/TextareaAutosize-css.js +5 -5
  298. package/dist/esm/packages/react/src/toast/Toast-css.js +6 -6
  299. package/dist/esm/packages/react/src/toast-provider/ToastProvider-css.js +3 -3
  300. package/dist/esm/packages/react/src/toggle-input/ToggleInput-css.js +4 -4
  301. package/dist/esm/packages/react/src/toggle-input-control/ToggleInputControl-css.js +5 -5
  302. package/dist/esm/packages/react/src/toggle-input-hidden-input/ToggleInputHiddenInput-css.js +3 -3
  303. package/dist/esm/packages/react/src/tooltip-content/TooltipContent-css.js +1 -1
  304. package/dist/esm/packages/react/src/transition/Transition-css.js +3 -3
  305. package/dist/esm/packages/react/src/use-command-items/fuzzysearch.js +1 -1
  306. package/dist/esm/packages/react/src/use-command-items/useCommandItems.js +21 -35
  307. package/dist/esm/packages/react/src/use-responsive-matches/useResponsiveMatches.js +1 -0
  308. package/dist/esm/packages/react/src/utils/fallbackSpan.js +2 -2
  309. package/dist/esm/packages/react/src/utils/isHoverSupported.js +3 -0
  310. package/dist/esm/packages/react/src/visually-hidden/VisuallyHidden.js +14 -0
  311. package/dist/esm/unstable.js +3 -30
  312. package/dist/index.d.ts +49 -7
  313. package/dist/unstable.d.ts +357 -559
  314. package/package.json +1 -1
  315. package/dist/cjs/assets/src/actions-root/ActionsRoot.css.ts.vanilla-CjfwYd9Q.css +0 -4
  316. package/dist/cjs/assets/src/alert/Alert.css.ts.vanilla-Cy8zT0nw.css +0 -6
  317. package/dist/cjs/assets/src/alert-dialog-content/AlertDialogContent.css.ts.vanilla-D7U642ns.css +0 -27
  318. package/dist/cjs/assets/src/alert-dialog-footer/AlertDialogFooter.css.ts.vanilla-DtoO7rwi.css +0 -6
  319. package/dist/cjs/assets/src/badge/Badge.css.ts.vanilla-i6CsKaj9.css +0 -46
  320. package/dist/cjs/assets/src/banner/Banner.css.ts.vanilla-DubsfXuY.css +0 -6
  321. package/dist/cjs/assets/src/breadcrumb-item/BreadcrumbItem.css.ts.vanilla-CV-bql3a.css +0 -8
  322. package/dist/cjs/assets/src/button-base/ButtonBase.css.ts.vanilla-Cnjh6ZE6.css +0 -147
  323. package/dist/cjs/assets/src/button-loadable/ButtonLoadable.css.ts.vanilla-DlcmsaMY.css +0 -9
  324. package/dist/cjs/assets/src/calendar/CalendarMonths.css.ts.vanilla-Bun2UNFP.css +0 -6
  325. package/dist/cjs/assets/src/calendar/CalendarNav.css.ts.vanilla-DHSTTORm.css +0 -6
  326. package/dist/cjs/assets/src/card/Card.css.ts.vanilla-CRUkZJ0N.css +0 -11
  327. package/dist/cjs/assets/src/card-action/CardAction.css.ts.vanilla-G-MAb5WN.css +0 -8
  328. package/dist/cjs/assets/src/card-image/CardImage.css.ts.vanilla-DaibQxBG.css +0 -12
  329. package/dist/cjs/assets/src/code/Code.css.ts.vanilla-fXMNilrx.css +0 -10
  330. package/dist/cjs/assets/src/command-focusable-item/CommandFocusableItem.css.ts.vanilla-BfzbPCLF.css +0 -7
  331. package/dist/cjs/assets/src/cover/Cover.css.ts.vanilla-MaOs4its.css +0 -34
  332. package/dist/cjs/assets/src/data-table-footer/DataTableFooter.css.ts.vanilla-BSLfrkW1.css +0 -6
  333. package/dist/cjs/assets/src/date-picker-content/DatePickerContent.css.ts.vanilla-DhKbHjAB.css +0 -6
  334. package/dist/cjs/assets/src/date-range-picker-content/DateRangePickerContent.css.ts.vanilla-CaPBBNgA.css +0 -6
  335. package/dist/cjs/assets/src/dialog-body/DialogBody.css.ts.vanilla-D34fEDom.css +0 -6
  336. package/dist/cjs/assets/src/dialog-header/DialogHeader.css.ts.vanilla-0DbxmJJE.css +0 -15
  337. package/dist/cjs/assets/src/highlight/Highlight.css.ts.vanilla-Xw-ns80B.css +0 -7
  338. package/dist/cjs/assets/src/indicator/Indicator.css.ts.vanilla-Dv1nMsUG.css +0 -37
  339. package/dist/cjs/assets/src/input-root/InputRoot.css.ts.vanilla-I6c00poA.css +0 -70
  340. package/dist/cjs/assets/src/kbd/Kbd.css.ts.vanilla-BEL6gmdd.css +0 -12
  341. package/dist/cjs/assets/src/label-menu-button/LabelMenuButton.css.ts.vanilla-D7RfKeTc.css +0 -7
  342. package/dist/cjs/assets/src/layers/layers.css.ts.vanilla-BIlp7Els.css +0 -1
  343. package/dist/cjs/assets/src/layout/Layouts.css.ts.vanilla-4_F9ttVI.css +0 -7
  344. package/dist/cjs/assets/src/listbox-item/ListboxItem.css.ts.vanilla-CKKVEFPs.css +0 -48
  345. package/dist/cjs/assets/src/menu-listbox/MenuListbox.css.ts.vanilla-Cqb0w2i5.css +0 -33
  346. package/dist/cjs/assets/src/nav/Nav.css.ts.vanilla-CcQI-qaQ.css +0 -6
  347. package/dist/cjs/assets/src/nav-account-item/NavAccountItem.css.ts.vanilla-BPtAVSY9.css +0 -9
  348. package/dist/cjs/assets/src/progress/Progress.css.ts.vanilla-DJKvvyRC.css +0 -6
  349. package/dist/cjs/assets/src/radio/Radio.css.ts.vanilla-DNj1iOwo.css +0 -13
  350. package/dist/cjs/assets/src/search-input/SearchInput.css.ts.vanilla-TCOQpsRY.css +0 -6
  351. package/dist/cjs/assets/src/select-content/SelectContent.css.ts.vanilla-DXggbRTQ.css +0 -7
  352. package/dist/cjs/assets/src/skeleton/Skeleton.css.ts.vanilla-R1bNynwK.css +0 -6
  353. package/dist/cjs/assets/src/spotlight-input/SpotlightInput.css.ts.vanilla-CFXSuLJN.css +0 -6
  354. package/dist/cjs/assets/src/spotlight-radio-item/SpotlightRadioItem.css.ts.vanilla-DnWR9h1S.css +0 -12
  355. package/dist/cjs/assets/src/spotlight-sub-item/SpotlightSubItem.css.ts.vanilla-Bwmx5Lqj.css +0 -9
  356. package/dist/cjs/assets/src/sub-nav/SubNav.css.ts.vanilla-RmwT-ALz.css +0 -6
  357. package/dist/cjs/assets/src/switch/Switch.css.ts.vanilla-rsLFkaMs.css +0 -45
  358. package/dist/cjs/assets/src/table/Table.css.ts.vanilla-DA5H5_FY.css +0 -15
  359. package/dist/cjs/assets/src/table-body/TableBody.css.ts.vanilla-gyrGzzA_.css +0 -6
  360. package/dist/cjs/assets/src/table-cell/TableCell.css.ts.vanilla-DARtrZn8.css +0 -10
  361. package/dist/cjs/assets/src/tabs/Tabs.css.ts.vanilla-0oLewras.css +0 -9
  362. package/dist/cjs/assets/src/textarea-autosize/TextareaAutosize.css.ts.vanilla-Cd1HgnK0.css +0 -34
  363. package/dist/cjs/assets/src/toast/Toast.css.ts.vanilla-DWFqTQ4_.css +0 -104
  364. package/dist/cjs/assets/src/toggle-input/ToggleInput.css.ts.vanilla-DNCCDGec.css +0 -25
  365. package/dist/cjs/assets/src/toggle-input-control/ToggleInputControl.css.ts.vanilla-D4QUtJqT.css +0 -10
  366. package/dist/esm/assets/src/actions-root/ActionsRoot.css.ts.vanilla-CjfwYd9Q.css +0 -4
  367. package/dist/esm/assets/src/alert/Alert.css.ts.vanilla-Cy8zT0nw.css +0 -6
  368. package/dist/esm/assets/src/alert-dialog-content/AlertDialogContent.css.ts.vanilla-D7U642ns.css +0 -27
  369. package/dist/esm/assets/src/alert-dialog-footer/AlertDialogFooter.css.ts.vanilla-DtoO7rwi.css +0 -6
  370. package/dist/esm/assets/src/badge/Badge.css.ts.vanilla-i6CsKaj9.css +0 -46
  371. package/dist/esm/assets/src/banner/Banner.css.ts.vanilla-DubsfXuY.css +0 -6
  372. package/dist/esm/assets/src/breadcrumb-item/BreadcrumbItem.css.ts.vanilla-CV-bql3a.css +0 -8
  373. package/dist/esm/assets/src/button-base/ButtonBase.css.ts.vanilla-Cnjh6ZE6.css +0 -147
  374. package/dist/esm/assets/src/button-loadable/ButtonLoadable.css.ts.vanilla-DlcmsaMY.css +0 -9
  375. package/dist/esm/assets/src/calendar/CalendarMonths.css.ts.vanilla-Bun2UNFP.css +0 -6
  376. package/dist/esm/assets/src/calendar/CalendarNav.css.ts.vanilla-DHSTTORm.css +0 -6
  377. package/dist/esm/assets/src/card/Card.css.ts.vanilla-CRUkZJ0N.css +0 -11
  378. package/dist/esm/assets/src/card-action/CardAction.css.ts.vanilla-G-MAb5WN.css +0 -8
  379. package/dist/esm/assets/src/card-image/CardImage.css.ts.vanilla-DaibQxBG.css +0 -12
  380. package/dist/esm/assets/src/code/Code.css.ts.vanilla-fXMNilrx.css +0 -10
  381. package/dist/esm/assets/src/command-focusable-item/CommandFocusableItem.css.ts.vanilla-BfzbPCLF.css +0 -7
  382. package/dist/esm/assets/src/cover/Cover.css.ts.vanilla-MaOs4its.css +0 -34
  383. package/dist/esm/assets/src/data-table-footer/DataTableFooter.css.ts.vanilla-BSLfrkW1.css +0 -6
  384. package/dist/esm/assets/src/date-picker-content/DatePickerContent.css.ts.vanilla-DhKbHjAB.css +0 -6
  385. package/dist/esm/assets/src/date-range-picker-content/DateRangePickerContent.css.ts.vanilla-CaPBBNgA.css +0 -6
  386. package/dist/esm/assets/src/dialog-body/DialogBody.css.ts.vanilla-D34fEDom.css +0 -6
  387. package/dist/esm/assets/src/dialog-header/DialogHeader.css.ts.vanilla-0DbxmJJE.css +0 -15
  388. package/dist/esm/assets/src/highlight/Highlight.css.ts.vanilla-Xw-ns80B.css +0 -7
  389. package/dist/esm/assets/src/indicator/Indicator.css.ts.vanilla-Dv1nMsUG.css +0 -37
  390. package/dist/esm/assets/src/input-root/InputRoot.css.ts.vanilla-I6c00poA.css +0 -70
  391. package/dist/esm/assets/src/kbd/Kbd.css.ts.vanilla-BEL6gmdd.css +0 -12
  392. package/dist/esm/assets/src/label-menu-button/LabelMenuButton.css.ts.vanilla-D7RfKeTc.css +0 -7
  393. package/dist/esm/assets/src/layers/layers.css.ts.vanilla-BIlp7Els.css +0 -1
  394. package/dist/esm/assets/src/layout/Layouts.css.ts.vanilla-4_F9ttVI.css +0 -7
  395. package/dist/esm/assets/src/listbox-item/ListboxItem.css.ts.vanilla-CKKVEFPs.css +0 -48
  396. package/dist/esm/assets/src/menu-listbox/MenuListbox.css.ts.vanilla-Cqb0w2i5.css +0 -33
  397. package/dist/esm/assets/src/nav/Nav.css.ts.vanilla-CcQI-qaQ.css +0 -6
  398. package/dist/esm/assets/src/nav-account-item/NavAccountItem.css.ts.vanilla-BPtAVSY9.css +0 -9
  399. package/dist/esm/assets/src/progress/Progress.css.ts.vanilla-DJKvvyRC.css +0 -6
  400. package/dist/esm/assets/src/radio/Radio.css.ts.vanilla-DNj1iOwo.css +0 -13
  401. package/dist/esm/assets/src/search-input/SearchInput.css.ts.vanilla-TCOQpsRY.css +0 -6
  402. package/dist/esm/assets/src/select-content/SelectContent.css.ts.vanilla-DXggbRTQ.css +0 -7
  403. package/dist/esm/assets/src/skeleton/Skeleton.css.ts.vanilla-R1bNynwK.css +0 -6
  404. package/dist/esm/assets/src/spotlight-input/SpotlightInput.css.ts.vanilla-CFXSuLJN.css +0 -6
  405. package/dist/esm/assets/src/spotlight-radio-item/SpotlightRadioItem.css.ts.vanilla-DnWR9h1S.css +0 -12
  406. package/dist/esm/assets/src/spotlight-sub-item/SpotlightSubItem.css.ts.vanilla-Bwmx5Lqj.css +0 -9
  407. package/dist/esm/assets/src/sub-nav/SubNav.css.ts.vanilla-RmwT-ALz.css +0 -6
  408. package/dist/esm/assets/src/switch/Switch.css.ts.vanilla-rsLFkaMs.css +0 -45
  409. package/dist/esm/assets/src/table/Table.css.ts.vanilla-DA5H5_FY.css +0 -15
  410. package/dist/esm/assets/src/table-body/TableBody.css.ts.vanilla-gyrGzzA_.css +0 -6
  411. package/dist/esm/assets/src/table-cell/TableCell.css.ts.vanilla-DARtrZn8.css +0 -10
  412. package/dist/esm/assets/src/tabs/Tabs.css.ts.vanilla-0oLewras.css +0 -9
  413. package/dist/esm/assets/src/textarea-autosize/TextareaAutosize.css.ts.vanilla-Cd1HgnK0.css +0 -34
  414. package/dist/esm/assets/src/toast/Toast.css.ts.vanilla-DWFqTQ4_.css +0 -104
  415. package/dist/esm/assets/src/toggle-input/ToggleInput.css.ts.vanilla-DNCCDGec.css +0 -25
  416. package/dist/esm/assets/src/toggle-input-control/ToggleInputControl.css.ts.vanilla-D4QUtJqT.css +0 -10
  417. package/dist/esm/packages/react/src/combobox/Combobox.js +0 -42
  418. package/dist/esm/packages/react/src/combobox-checkbox-item/ComboboxCheckboxItem.js +0 -12
  419. package/dist/esm/packages/react/src/combobox-content/ComboboxContent.js +0 -39
  420. package/dist/esm/packages/react/src/combobox-context/ComboboxContext.js +0 -6
  421. package/dist/esm/packages/react/src/combobox-dialog-content/ComboboxDialogContent.js +0 -16
  422. package/dist/esm/packages/react/src/combobox-footer/ComboboxFooter.js +0 -13
  423. package/dist/esm/packages/react/src/combobox-group/ComboboxGroup.js +0 -13
  424. package/dist/esm/packages/react/src/combobox-item/ComboboxItem.js +0 -11
  425. package/dist/esm/packages/react/src/combobox-label/ComboboxLabel.js +0 -13
  426. package/dist/esm/packages/react/src/combobox-listbox/ComboboxListbox.js +0 -18
  427. package/dist/esm/packages/react/src/combobox-radio-item/ComboboxRadioItem.js +0 -12
  428. package/dist/esm/packages/react/src/combobox-separator/ComboboxSeparator.js +0 -11
  429. package/dist/esm/packages/react/src/command-focusable-item/CommandFocusableItem-css.js +0 -7
  430. package/dist/esm/packages/react/src/command-focusable-item/CommandFocusableItem.js +0 -27
  431. package/dist/esm/packages/react/src/command-sub/CommandSub.js +0 -16
  432. package/dist/esm/packages/react/src/command-sub-context/CommandSubContext.js +0 -6
  433. package/dist/esm/packages/react/src/command-sub-item/CommandSubItem.js +0 -76
  434. package/dist/esm/packages/react/src/dropdown-menu-autocomplete-item/DropdownMenuAutocompleteItem.js +0 -12
  435. package/dist/esm/packages/react/src/dropdown-menu-combobox/DropdownMenuCombobox.js +0 -41
  436. package/dist/esm/packages/react/src/dropdown-menu-combobox-content/DropdownMenuComboboxContent.js +0 -48
  437. package/dist/esm/packages/react/src/dropdown-menu-combobox-context/DropdownMenuComboboxContext.js +0 -6
  438. package/dist/esm/packages/react/src/dropdown-menu-combobox-input/DropdownMenuComboboxInput.js +0 -38
  439. package/dist/esm/packages/react/src/dropdown-menu-combobox-listbox/DropdownMenuComboboxListbox.js +0 -16
  440. package/dist/esm/packages/react/src/dropdown-menu-combobox-trigger/DropdownMenuComboboxTrigger.js +0 -11
  441. package/dist/esm/packages/react/src/menu-listbox/MenuListbox-css.js +0 -7
  442. package/dist/esm/packages/react/src/select-content/SelectContent-css.js +0 -7
  443. package/dist/esm/packages/react/src/select-group/SelectGroup.js +0 -13
  444. package/dist/esm/packages/react/src/select-label/SelectLabel.js +0 -13
  445. package/dist/esm/packages/react/src/select-separator/SelectSeparator.js +0 -13
  446. package/dist/esm/packages/react/src/spotlight-context/SpotlightContext.js +0 -6
  447. package/dist/esm/packages/react/src/spotlight-empty/SpotlightEmpty.js +0 -13
  448. package/dist/esm/packages/react/src/spotlight-input/SpotlightInput-css.js +0 -7
  449. package/dist/esm/packages/react/src/spotlight-input/SpotlightInput.js +0 -40
  450. package/dist/esm/packages/react/src/spotlight-item/SpotlightItem.js +0 -11
  451. package/dist/esm/packages/react/src/spotlight-label/SpotlightLabel.js +0 -28
  452. package/dist/esm/packages/react/src/spotlight-listbox/SpotlightListbox.js +0 -9
  453. package/dist/esm/packages/react/src/spotlight-radio-item/SpotlightRadioItem-css.js +0 -7
  454. package/dist/esm/packages/react/src/spotlight-radio-item/SpotlightRadioItem.js +0 -24
  455. package/dist/esm/packages/react/src/spotlight-sub/SpotlightSub.js +0 -14
  456. package/dist/esm/packages/react/src/spotlight-sub-item/SpotlightSubItem-css.js +0 -8
  457. package/dist/esm/packages/react/src/spotlight-sub-item/SpotlightSubItem.js +0 -30
@@ -3,90 +3,87 @@
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
- var Skeleton = require('./Skeleton-DE4URqWE.js');
7
- require('./assets/src/layers/layers.css.ts.vanilla-BIlp7Els.css');
8
- require('./assets/src/breadcrumb-item/BreadcrumbItem.css.ts.vanilla-CV-bql3a.css');
9
- require('./assets/src/breadcrumb-link/BreadcrumbLink.css.ts.vanilla-CWx9s0VY.css');
6
+ var Skeleton = require('./Skeleton-D9kBwl_6.js');
7
+ require('./assets/src/layers/layers.css.ts.vanilla-9E2kDjKk.css');
8
+ require('./assets/src/breadcrumb-item/BreadcrumbItem.css.ts.vanilla-DWZetct8.css');
9
+ require('./assets/src/breadcrumb-link/BreadcrumbLink.css.ts.vanilla-BbqzwWHh.css');
10
10
  var reactComposeRefs = require('@radix-ui/react-compose-refs');
11
11
  var reactUseControllableState = require('@radix-ui/react-use-controllable-state');
12
12
  var reactDayPicker = require('react-day-picker');
13
13
  var reactPopper = require('@radix-ui/react-popper');
14
14
  var downshift = require('downshift');
15
15
  var reactContext = require('@radix-ui/react-context');
16
- var reactVisuallyHidden = require('@radix-ui/react-visually-hidden');
16
+ var RadixVisuallyHidden = require('@radix-ui/react-visually-hidden');
17
17
  var reactPortal = require('@radix-ui/react-portal');
18
18
  var reactVirtual = require('@tanstack/react-virtual');
19
- require('./assets/src/select-content/SelectContent.css.ts.vanilla-DXggbRTQ.css');
20
19
  var reactSlot = require('@radix-ui/react-slot');
21
- require('./assets/src/calendar/CalendarDayButton.css.ts.vanilla-4BAxMnL5.css');
22
- require('./assets/src/calendar/CalendarMonths.css.ts.vanilla-Bun2UNFP.css');
23
- require('./assets/src/calendar/CalendarNav.css.ts.vanilla-DHSTTORm.css');
20
+ require('./assets/src/calendar/CalendarDayButton.css.ts.vanilla-VdS4O7gs.css');
21
+ require('./assets/src/calendar/CalendarMonths.css.ts.vanilla-CV3jww0a.css');
22
+ require('./assets/src/calendar/CalendarNav.css.ts.vanilla-KqCd-2ik.css');
24
23
  var reactId = require('@radix-ui/react-id');
25
- require('./assets/src/actions-root/ActionsRoot.css.ts.vanilla-CjfwYd9Q.css');
26
- require('./assets/src/cover/Cover.css.ts.vanilla-MaOs4its.css');
27
- require('./assets/src/link/Link.css.ts.vanilla-DsprUWN_.css');
28
- require('./assets/src/card/Card.css.ts.vanilla-CRUkZJ0N.css');
29
- require('./assets/src/actions-content/ActionsContent.css.ts.vanilla-Bz7PeMPd.css');
30
- require('./assets/src/card-overflow/CardOverflow.css.ts.vanilla-DFwtJh9H.css');
31
- require('./assets/src/card-action/CardAction.css.ts.vanilla-G-MAb5WN.css');
24
+ require('./assets/src/actions-root/ActionsRoot.css.ts.vanilla-BuhN_n9G.css');
25
+ require('./assets/src/cover/Cover.css.ts.vanilla-QdHEU1mZ.css');
26
+ require('./assets/src/link/Link.css.ts.vanilla-B3y4Cor7.css');
27
+ require('./assets/src/card/Card.css.ts.vanilla-CrsxV1vR.css');
28
+ require('./assets/src/actions-content/ActionsContent.css.ts.vanilla-CC3tXVjV.css');
29
+ require('./assets/src/card-overflow/CardOverflow.css.ts.vanilla-By_KKDNi.css');
30
+ require('./assets/src/card-action/CardAction.css.ts.vanilla-CyOOeLcY.css');
32
31
  var clsx = require('clsx');
33
- require('./assets/src/card-image/CardImage.css.ts.vanilla-DaibQxBG.css');
34
- var RadixDialog = require('@radix-ui/react-dialog');
35
- require('./assets/src/command-focusable-item/CommandFocusableItem.css.ts.vanilla-BfzbPCLF.css');
32
+ require('./assets/src/card-image/CardImage.css.ts.vanilla-MqvDJoWy.css');
36
33
  var reactTable = require('@tanstack/react-table');
37
34
  var dynamic = require('@vanilla-extract/dynamic');
38
- require('./assets/src/table-header-cell/TableHeaderCell.css.ts.vanilla-Cz62bqT8.css');
39
- require('./assets/src/data-table-header-cell/DataTableHeaderCell.css.ts.vanilla-CrqZmJXD.css');
40
- require('./assets/src/table/Table.css.ts.vanilla-DA5H5_FY.css');
41
- require('./assets/src/table-body/TableBody.css.ts.vanilla-gyrGzzA_.css');
42
- require('./assets/src/table-row/TableRow.css.ts.vanilla-Dzxs57Ca.css');
43
- require('./assets/src/table-cell/TableCell.css.ts.vanilla-DARtrZn8.css');
44
- require('./assets/src/data-table-body/DataTableBody.css.ts.vanilla-MsX92Doe.css');
45
- require('./assets/src/data-table-footer/DataTableFooter.css.ts.vanilla-BSLfrkW1.css');
46
- require('./assets/src/date-input/DateInput.css.ts.vanilla-BR8vi6FR.css');
47
- require('./assets/src/date-picker-content/DatePickerContent.css.ts.vanilla-DhKbHjAB.css');
48
- require('./assets/src/date-range-picker-content/DateRangePickerContent.css.ts.vanilla-CaPBBNgA.css');
49
- require('./assets/src/highlight/Highlight.css.ts.vanilla-Xw-ns80B.css');
50
- require('./assets/src/inline-input/InlineInput.css.ts.vanilla-BdKXpj1z.css');
35
+ require('./assets/src/table-header-cell/TableHeaderCell.css.ts.vanilla-5cVo8-8R.css');
36
+ require('./assets/src/data-table-header-cell/DataTableHeaderCell.css.ts.vanilla-DQZuvEQA.css');
37
+ require('./assets/src/table/Table.css.ts.vanilla-9FeooTji.css');
38
+ require('./assets/src/table-body/TableBody.css.ts.vanilla-BUg4jUW-.css');
39
+ require('./assets/src/table-row/TableRow.css.ts.vanilla-CxBIRqIz.css');
40
+ require('./assets/src/table-cell/TableCell.css.ts.vanilla-WEAPDuXd.css');
41
+ require('./assets/src/data-table-body/DataTableBody.css.ts.vanilla-BUSMEieY.css');
42
+ require('./assets/src/data-table-footer/DataTableFooter.css.ts.vanilla-YMRroFsN.css');
43
+ require('./assets/src/date-input/DateInput.css.ts.vanilla-BCONQNF4.css');
44
+ require('./assets/src/date-picker-content/DatePickerContent.css.ts.vanilla-D8qogbi-.css');
45
+ require('./assets/src/highlight/Highlight.css.ts.vanilla-D9VKrY0d.css');
46
+ require('./assets/src/inline-input/InlineInput.css.ts.vanilla-DrggWV9x.css');
51
47
  var RadixLabel = require('@radix-ui/react-label');
52
- require('./assets/src/actions-root/ActionsRoot.css.ts.vanilla-CjfwYd9Q.css');
53
- require('./assets/src/button-base/ButtonBase.css.ts.vanilla-Cnjh6ZE6.css');
54
- require('./assets/src/label-menu-button/LabelMenuButton.css.ts.vanilla-D7RfKeTc.css');
55
- require('./assets/src/layout/Layouts.css.ts.vanilla-4_F9ttVI.css');
56
- require('./assets/src/pill/Pill.css.ts.vanilla-DKrCo1ZD.css');
57
- require('./assets/src/spotlight-input/SpotlightInput.css.ts.vanilla-CFXSuLJN.css');
58
- require('./assets/src/spotlight-radio-item/SpotlightRadioItem.css.ts.vanilla-DnWR9h1S.css');
59
- require('./assets/src/badge/Badge.css.ts.vanilla-i6CsKaj9.css');
60
- require('./assets/src/spotlight-sub-item/SpotlightSubItem.css.ts.vanilla-Bwmx5Lqj.css');
61
- require('./assets/src/backdrop/Backdrop.css.ts.vanilla-TqOwdkqK.css');
62
- require('./assets/src/dialog-content/DialogContent.css.ts.vanilla-CTrZhzGF.css');
48
+ require('./assets/src/actions-root/ActionsRoot.css.ts.vanilla-BuhN_n9G.css');
49
+ require('./assets/src/button-base/ButtonBase.css.ts.vanilla-Cs-zXoZj.css');
50
+ require('./assets/src/label-menu-button/LabelMenuButton.css.ts.vanilla-C1QpA097.css');
51
+ require('./assets/src/layout/Layouts.css.ts.vanilla-jn7W4Vx_.css');
52
+ require('./assets/src/menu-input/MenuInput.css.ts.vanilla-CrjgCTO4.css');
53
+ var RadixMenu = require('@radix-ui/react-dropdown-menu');
54
+ require('./assets/src/menu-sub-content/SelectContent.css.ts.vanilla-DCAKMvfS.css');
55
+ require('./assets/src/pill/Pill.css.ts.vanilla-Dt9oEgDm.css');
56
+ require('@radix-ui/react-dialog');
57
+ require('./assets/src/backdrop/Backdrop.css.ts.vanilla-BeqTH3mM.css');
58
+ require('./assets/src/dialog-content/DialogContent.css.ts.vanilla-Rq_MWFQh.css');
59
+ require('./assets/src/dialog-header/DialogHeader.css.ts.vanilla-BKx5_XPN.css');
63
60
  require('@radix-ui/react-separator');
64
- require('./assets/src/separator/Separator.css.ts.vanilla-Bj8DiXwJ.css');
65
- require('@radix-ui/react-dropdown-menu');
66
- require('./assets/src/input-control/InputControl.css.ts.vanilla-BlFqBxdI.css');
67
- require('./assets/src/input-root/InputRoot.css.ts.vanilla-I6c00poA.css');
68
- require('./assets/src/actions-root/ActionsRoot.css.ts.vanilla-CjfwYd9Q.css');
69
- require('./assets/src/toggle-input/ToggleInput.css.ts.vanilla-DNCCDGec.css');
70
- require('./assets/src/toggle-input-control/ToggleInputControl.css.ts.vanilla-D4QUtJqT.css');
71
- require('./assets/src/checkbox-control/CheckboxControl.css.ts.vanilla-Cow23haB.css');
72
- require('./assets/src/listbox-item/ListboxItem.css.ts.vanilla-CKKVEFPs.css');
73
- require('./assets/src/listbox-item-indicator/ListboxItemIndicator.css.ts.vanilla-dIk7ESAB.css');
61
+ require('./assets/src/separator/Separator.css.ts.vanilla-Duu7HDfq.css');
62
+ require('./assets/src/input-control/InputControl.css.ts.vanilla-Djmx4C5o.css');
63
+ require('./assets/src/input-root/InputRoot.css.ts.vanilla-Cih6Anrm.css');
64
+ require('./assets/src/actions-root/ActionsRoot.css.ts.vanilla-BuhN_n9G.css');
65
+ require('./assets/src/toggle-input/ToggleInput.css.ts.vanilla-BD9DPgTh.css');
66
+ require('./assets/src/toggle-input-control/ToggleInputControl.css.ts.vanilla-YDkEAbGj.css');
67
+ require('./assets/src/checkbox-control/CheckboxControl.css.ts.vanilla-Lqy6ibue.css');
68
+ require('./assets/src/listbox-checkbox-item/ListboxCheckboxItem.css.ts.vanilla-DOCfa7Zk.css');
69
+ require('./assets/src/listbox-item/ListboxItem.css.ts.vanilla-T_bauynn.css');
70
+ require('./assets/src/listbox-item-indicator/ListboxItemIndicator.css.ts.vanilla-BAisdqe5.css');
74
71
  require('@radix-ui/react-dismissable-layer');
75
72
  require('@radix-ui/react-focus-guards');
76
73
  require('react-remove-scroll');
77
74
  require('@optiaxiom/globals');
78
75
  require('@radix-ui/react-tooltip');
79
- require('./assets/src/text/Text.css.ts.vanilla-B5VbRhB3.css');
80
- require('./assets/src/pagination/Pagination.css.ts.vanilla-xLDa2Hwh.css');
76
+ require('./assets/src/text/Text.css.ts.vanilla-FQ1NB0hD.css');
77
+ require('./assets/src/pagination/Pagination.css.ts.vanilla-CrrHJq3H.css');
81
78
  require('@radix-ui/react-popover');
82
- require('./assets/src/menu-listbox/MenuListbox.css.ts.vanilla-Cqb0w2i5.css');
83
- require('./assets/src/button-loadable/ButtonLoadable.css.ts.vanilla-DlcmsaMY.css');
84
- require('./assets/src/spinner/Spinner.css.ts.vanilla-BGvCoOzl.css');
85
- require('./assets/src/transition/Transition.css.ts.vanilla-D_jnqlSi.css');
79
+ require('./assets/src/overlay-listbox/OverlayListbox.css.ts.vanilla-chiiITqE.css');
80
+ require('./assets/src/button-loadable/ButtonLoadable.css.ts.vanilla-BmuWE4Qq.css');
81
+ require('./assets/src/spinner/Spinner.css.ts.vanilla-08euzODu.css');
82
+ require('./assets/src/transition/Transition.css.ts.vanilla-CvRF_XVl.css');
86
83
  require('@optiaxiom/globals/fonts');
87
- require('./assets/src/sprinkles/properties.css.ts.vanilla-CUMPevOq.css');
88
- require('./assets/src/box/Box.css.ts.vanilla-Dy0kxHbJ.css');
89
- require('./assets/src/skeleton/Skeleton.css.ts.vanilla-R1bNynwK.css');
84
+ require('./assets/src/sprinkles/properties.css.ts.vanilla-zOSre7IM.css');
85
+ require('./assets/src/box/Box.css.ts.vanilla-CBWU659a.css');
86
+ require('./assets/src/skeleton/Skeleton.css.ts.vanilla-Bzcsi9C4.css');
90
87
 
91
88
  function _interopNamespaceDefault(e) {
92
89
  var n = Object.create(null);
@@ -105,7 +102,7 @@ function _interopNamespaceDefault(e) {
105
102
  return Object.freeze(n);
106
103
  }
107
104
 
108
- var RadixDialog__namespace = /*#__PURE__*/_interopNamespaceDefault(RadixDialog);
105
+ var RadixVisuallyHidden__namespace = /*#__PURE__*/_interopNamespaceDefault(RadixVisuallyHidden);
109
106
 
110
107
  const toPlainDateTime = (date) => new Date(date.getTime() - new Date(date).getTimezoneOffset() * 60 * 1e3).toISOString().slice(0, -1);
111
108
 
@@ -248,17 +245,17 @@ function BreadcrumbEllipsis({ ...props }) {
248
245
  }
249
246
  BreadcrumbEllipsis.displayName = "@optiaxiom/react/BreadcrumbEllipsis";
250
247
 
251
- var item$3 = Skeleton.recipeRuntime({base:[{alignItems:'center',display:'inline-flex'},'_8zt3s1']});
248
+ var item = Skeleton.recipeRuntime({base:[{alignItems:'center',display:'inline-flex'},'_178wu0q']});
252
249
 
253
250
  const BreadcrumbItem = React.forwardRef(
254
251
  ({ children, className, ...props }, ref) => {
255
252
  const { boxProps, restProps } = Skeleton.extractBoxProps(props);
256
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...item$3({}, className), ...boxProps, children: /* @__PURE__ */ jsxRuntime.jsx("li", { ref, ...restProps, children }) });
253
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...item({}, className), ...boxProps, children: /* @__PURE__ */ jsxRuntime.jsx("li", { ref, ...restProps, children }) });
257
254
  }
258
255
  );
259
256
  BreadcrumbItem.displayName = "@optiaxiom/react/BreadcrumbItem";
260
257
 
261
- var link = Skeleton.recipeRuntime({base:[{alignItems:'center',display:'flex',fontSize:'md',h:'md',rounded:'md'},'qgo5fk']});
258
+ var link = Skeleton.recipeRuntime({base:[{alignItems:'center',display:'flex',fontSize:'md',h:'md',rounded:'md'},'_1cs9h3b']});
262
259
 
263
260
  const BreadcrumbLink = React.forwardRef(({ className, ...props }, ref) => {
264
261
  return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Link, { ...link({}, className), ref, ...props });
@@ -300,26 +297,13 @@ function usePortalPatch(initialHighlightedIndex = -1) {
300
297
 
301
298
  const [SelectProvider, useSelectContext] = reactContext.createContext("@optiaxiom/react/Select");
302
299
 
303
- function useEffectEvent(callback) {
304
- const callbackRef = React.useRef(callback);
305
- React.useEffect(() => {
306
- callbackRef.current = callback;
307
- });
308
- return React.useCallback((...args) => {
309
- return callbackRef.current(...args);
310
- }, []);
311
- }
312
-
313
300
  const SelectHiddenSelect = React.forwardRef(({ defaultValue, disabled, name, onChange, required, value }, ref) => {
314
- const { items, itemToValue } = useSelectContext(
315
- "@optiaxiom/react/SelectHiddenSelect"
316
- );
317
- const itemToValueStable = useEffectEvent(itemToValue);
301
+ const { items } = useSelectContext("@optiaxiom/react/SelectHiddenSelect");
318
302
  const options = React.useMemo(
319
- () => items.map((item) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: itemToValueStable(item), children: itemToValueStable(item) }, itemToValueStable(item))),
320
- [itemToValueStable, items]
303
+ () => items.map((item) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: item.value, children: item.value }, item.value)),
304
+ [items]
321
305
  );
322
- return /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsxs(
306
+ return /* @__PURE__ */ jsxRuntime.jsx(RadixVisuallyHidden.VisuallyHidden, { "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsxs(
323
307
  "select",
324
308
  {
325
309
  defaultValue,
@@ -361,16 +345,14 @@ const Select = React.forwardRef(
361
345
  defaultOpen = false,
362
346
  defaultValue,
363
347
  disabled,
364
- isItemDisabled = () => false,
365
- items,
366
- itemToLabel = (value2) => value2 ? String(value2) : "",
367
- itemToValue = (item) => item,
348
+ loading,
368
349
  name,
369
350
  onBlur,
370
351
  onChange,
371
352
  onOpenChange,
372
353
  onValueChange,
373
354
  open,
355
+ options: items,
374
356
  required,
375
357
  value
376
358
  }, outerRef) => {
@@ -383,10 +365,9 @@ const Select = React.forwardRef(
383
365
  });
384
366
  const forceValueChange = Skeleton.useObserveValue(innerRef, setShadowValue);
385
367
  useObserveReset(innerRef, setShadowValue);
386
- const itemToValueStable = useEffectEvent(itemToValue);
387
368
  const selectedItem = React.useMemo(
388
- () => shadowValue !== void 0 ? items.find((item) => itemToValueStable(item) === shadowValue) : void 0,
389
- [itemToValueStable, items, shadowValue]
369
+ () => shadowValue !== void 0 ? items.find((item) => item.value === shadowValue) : void 0,
370
+ [items, shadowValue]
390
371
  );
391
372
  const [isOpen, setIsOpen] = reactUseControllableState.useControllableState({
392
373
  defaultProp: defaultOpen,
@@ -394,18 +375,16 @@ const Select = React.forwardRef(
394
375
  prop: open
395
376
  });
396
377
  const [highlightedIndex, setHighlightedIndex, placed, setPlaced] = usePortalPatch(
397
- () => selectedItem ? items.findIndex(
398
- (item) => itemToValue(selectedItem) === itemToValue(item)
399
- ) : -1
378
+ () => selectedItem ? items.findIndex((item) => selectedItem.value === item.value) : -1
400
379
  );
401
380
  const downshift$1 = downshift.useSelect({
402
381
  highlightedIndex,
403
- isItemDisabled,
382
+ isItemDisabled: (item) => !!item.disabledReason,
404
383
  isOpen: placed,
405
384
  // @ts-expect-error -- no harm in supporting read only arrays
406
385
  items,
407
- itemToKey: (item) => item !== null ? itemToValue(item) : item,
408
- itemToString: (item) => item !== null ? itemToLabel(item) : "",
386
+ itemToKey: (item) => item !== null ? item.value : item,
387
+ itemToString: (item) => item !== null ? item.label : "",
409
388
  onHighlightedIndexChange(changes) {
410
389
  if ((changes.type === downshift.useSelect.stateChangeTypes.ItemMouseMove || changes.type === downshift.useSelect.stateChangeTypes.MenuMouseLeave) && isOpen || changes.isOpen) {
411
390
  setHighlightedIndex(changes.highlightedIndex);
@@ -415,7 +394,7 @@ const Select = React.forwardRef(
415
394
  setIsOpen(isOpen2);
416
395
  },
417
396
  onSelectedItemChange({ selectedItem: selectedItem2 }) {
418
- forceValueChange(itemToValue(selectedItem2) ?? "");
397
+ forceValueChange(selectedItem2?.value ?? "");
419
398
  },
420
399
  selectedItem: selectedItem ?? null
421
400
  });
@@ -428,8 +407,7 @@ const Select = React.forwardRef(
428
407
  highlightedItem: items[highlightedIndex],
429
408
  isOpen,
430
409
  items,
431
- itemToLabel,
432
- itemToValue,
410
+ loading,
433
411
  onBlur,
434
412
  placed,
435
413
  selectedItem,
@@ -514,13 +492,13 @@ const ListboxVirtualized = React.forwardRef(({ children, highlightedItem, items,
514
492
  paddingBottom,
515
493
  paddingTop
516
494
  },
517
- children: rowVirtualizer.getVirtualItems().map((virtualItem) => /* @__PURE__ */ jsxRuntime.jsxs(
495
+ children: virtualItems.map((virtualItem) => /* @__PURE__ */ jsxRuntime.jsxs(
518
496
  Skeleton.Box,
519
497
  {
520
498
  "data-index": virtualItem.index,
521
499
  ref: rowVirtualizer.measureElement,
522
500
  children: [
523
- children(items[virtualItem.index]),
501
+ children(items[virtualItem.index], virtualItem.index),
524
502
  virtualItem.index < items.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { pb: "2" })
525
503
  ]
526
504
  },
@@ -531,6 +509,56 @@ const ListboxVirtualized = React.forwardRef(({ children, highlightedItem, items,
531
509
  });
532
510
  ListboxVirtualized.displayName = "@optiaxiom/react/ListboxVirtualized";
533
511
 
512
+ function useEffectEvent(callback) {
513
+ const callbackRef = React.useRef(callback);
514
+ React.useEffect(() => {
515
+ callbackRef.current = callback;
516
+ });
517
+ return React.useCallback((...args) => {
518
+ return callbackRef.current(...args);
519
+ }, []);
520
+ }
521
+
522
+ const VIRTUALIZE_THRESHOLD = 50;
523
+ const ListboxItemized = React.forwardRef(
524
+ ({
525
+ children,
526
+ empty = "No results found.",
527
+ highlightedItem,
528
+ items,
529
+ itemToKey,
530
+ loading,
531
+ onPlacedChange,
532
+ placed,
533
+ ...props
534
+ }, ref) => {
535
+ const onPlacedChangeStable = useEffectEvent(onPlacedChange ?? (() => {
536
+ }));
537
+ React.useEffect(() => {
538
+ requestAnimationFrame(() => onPlacedChangeStable(true));
539
+ return () => onPlacedChangeStable(false);
540
+ }, [onPlacedChangeStable]);
541
+ return /* @__PURE__ */ jsxRuntime.jsx(
542
+ Skeleton.Listbox,
543
+ {
544
+ asChild: typeof children === "function" && items.length > VIRTUALIZE_THRESHOLD && placed,
545
+ ref,
546
+ tabIndex: -1,
547
+ ...props,
548
+ children: loading ? /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { display: "flex", justifyContent: "center", p: "16", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Spinner, {}) }) : typeof children === "function" ? items.length > VIRTUALIZE_THRESHOLD ? placed && /* @__PURE__ */ jsxRuntime.jsx(
549
+ ListboxVirtualized,
550
+ {
551
+ highlightedItem,
552
+ items,
553
+ children
554
+ }
555
+ ) : items.length > 0 ? items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: children(item, index) }, itemToKey(item))) : /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxEmpty, { children: empty }) : items.length > 0 ? children : /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxEmpty, { children: empty })
556
+ }
557
+ );
558
+ }
559
+ );
560
+ ListboxItemized.displayName = "@optiaxiom/react/ListboxItemized";
561
+
534
562
  const SelectItem = React.forwardRef(
535
563
  ({ children, item, onMouseMove, size, ...props }, ref) => {
536
564
  const { downshift, highlightedItem, isOpen, selectedItem } = useSelectContext("@optiaxiom/react/SelectItem");
@@ -573,74 +601,76 @@ const SelectRadioItem = React.forwardRef(
573
601
  );
574
602
  SelectRadioItem.displayName = "@optiaxiom/react/SelectRadioItem";
575
603
 
576
- var content$3 = Skeleton.recipeRuntime({base:['fwayxp']});
577
-
578
604
  const SelectContent = React.forwardRef(
579
- ({
580
- align = "start",
581
- children,
582
- className,
583
- loading,
584
- side = "bottom",
585
- ...props
586
- }, ref) => {
587
- const { boxProps, restProps } = Skeleton.extractBoxProps(props);
605
+ ({ align = "start", children, side = "bottom", size, ...props }, ref) => {
588
606
  const {
589
607
  downshift,
590
608
  highlightedItem,
591
609
  isOpen,
592
610
  items,
593
- itemToLabel,
594
- itemToValue,
611
+ loading,
595
612
  placed,
596
613
  setPlaced
597
614
  } = useSelectContext("@optiaxiom/react/SelectContent");
598
- return /* @__PURE__ */ jsxRuntime.jsx(
599
- Skeleton.TransitionGroup,
615
+ let isFirstItem = true;
616
+ let lastGroup = void 0;
617
+ const shouldShowSeparator = (group) => {
618
+ const show = !isFirstItem;
619
+ isFirstItem = false;
620
+ return show && group && group !== lastGroup && group.separator;
621
+ };
622
+ const shouldShowGroup = (group) => {
623
+ const show = group !== lastGroup;
624
+ lastGroup = group;
625
+ return show && !group?.hidden;
626
+ };
627
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.TransitionGroup, { open: isOpen, children: /* @__PURE__ */ jsxRuntime.jsx(reactPortal.Portal, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ModalLayer, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
628
+ Skeleton.OverlayListbox,
600
629
  {
601
- onPresenceChange: (presence) => {
602
- if (!presence) {
603
- setPlaced(presence);
604
- }
605
- },
606
- open: isOpen,
607
- children: /* @__PURE__ */ jsxRuntime.jsx(reactPortal.Portal, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ModalLayer, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
608
- Skeleton.MenuListbox,
630
+ asChild: true,
631
+ maxH: "sm",
632
+ minW: "trigger",
633
+ provider: "popper",
634
+ ref,
635
+ role: "dialog",
636
+ size,
637
+ ...props,
638
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactPopper.PopperContent, { align, side, sideOffset: 5, children: /* @__PURE__ */ jsxRuntime.jsx(
639
+ ListboxItemized,
609
640
  {
610
- asChild: true,
611
- maxH: "sm",
612
- minW: "trigger",
613
- provider: "popper",
614
- ...content$3({}, className),
615
- ...boxProps,
616
- ...downshift.getMenuProps(
617
- { ref, ...restProps },
618
- { suppressRefError: !placed }
619
- ),
620
- children: /* @__PURE__ */ jsxRuntime.jsx(
621
- reactPopper.PopperContent,
622
- {
623
- align,
624
- asChild: !loading && typeof children === "function",
625
- onPlaced: () => setPlaced(true),
626
- side,
627
- sideOffset: 5,
628
- children: loading ? /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { display: "flex", justifyContent: "center", p: "16", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Spinner, {}) }) : children ? typeof children === "function" ? /* @__PURE__ */ jsxRuntime.jsx(
629
- ListboxVirtualized,
630
- {
631
- highlightedItem,
632
- items,
633
- children
634
- }
635
- ) : children : items.map((item) => {
636
- return /* @__PURE__ */ jsxRuntime.jsx(SelectRadioItem, { item, children: itemToLabel(item) }, itemToValue(item));
637
- })
641
+ highlightedItem,
642
+ items,
643
+ itemToKey: (item) => item.value,
644
+ loading,
645
+ onPlacedChange: setPlaced,
646
+ placed,
647
+ ...downshift.getMenuProps({}, { suppressRefError: !placed }),
648
+ children: children ?? ((item, index) => {
649
+ if (index === 0) {
650
+ isFirstItem = true;
651
+ lastGroup = void 0;
638
652
  }
639
- )
653
+ const group = item.group;
654
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
655
+ shouldShowSeparator(group) && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxSeparator, {}),
656
+ shouldShowGroup(group) && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxLabel, { children: group.label }),
657
+ /* @__PURE__ */ jsxRuntime.jsx(
658
+ SelectRadioItem,
659
+ {
660
+ addonBefore: item.addon,
661
+ "aria-label": item["aria-label"],
662
+ description: item.description,
663
+ item,
664
+ children: item.label
665
+ },
666
+ item.value
667
+ )
668
+ ] });
669
+ })
640
670
  }
641
- ) }) })
671
+ ) })
642
672
  }
643
- );
673
+ ) }) }) });
644
674
  }
645
675
  );
646
676
  SelectContent.displayName = "@optiaxiom/react/SelectContent";
@@ -673,7 +703,7 @@ const SelectTrigger = React.forwardRef(
673
703
  placeholder,
674
704
  ...props
675
705
  }, ref) => {
676
- const { disabled, downshift, isOpen, itemToLabel, onBlur, selectedItem } = useSelectContext("@optiaxiom/react/SelectTrigger");
706
+ const { disabled, downshift, isOpen, onBlur, selectedItem } = useSelectContext("@optiaxiom/react/SelectTrigger");
677
707
  const { boxProps, restProps } = Skeleton.extractBoxProps(props);
678
708
  const buttonRef = React.useRef(null);
679
709
  const labelId = useFieldLabelTrigger(buttonRef, ariaLabelledBy);
@@ -686,7 +716,7 @@ const SelectTrigger = React.forwardRef(
686
716
  },
687
717
  [focusOnOpen]
688
718
  );
689
- const value = selectedItem ? itemToLabel(selectedItem) || placeholder : placeholder;
719
+ const value = selectedItem?.value ? selectedItem.label || placeholder : placeholder;
690
720
  return /* @__PURE__ */ jsxRuntime.jsx(
691
721
  reactPopper.PopperAnchor,
692
722
  {
@@ -757,8 +787,8 @@ const Clock = React.forwardRef(
757
787
  /* @__PURE__ */ jsxRuntime.jsxs(
758
788
  Select,
759
789
  {
760
- items: hours,
761
790
  onValueChange: (hour) => hour && setValue(format({ ...parsed, hour })),
791
+ options: hours.map((hour) => ({ label: hour, value: hour })),
762
792
  value: parsed.hour,
763
793
  children: [
764
794
  /* @__PURE__ */ jsxRuntime.jsx(SelectTrigger, { "aria-label": "Select hour", flex: "1", placeholder: "HH" }),
@@ -769,28 +799,24 @@ const Clock = React.forwardRef(
769
799
  /* @__PURE__ */ jsxRuntime.jsxs(
770
800
  Select,
771
801
  {
772
- items: minutes,
773
802
  onValueChange: (minute) => minute && setValue(format({ ...parsed, minute })),
803
+ options: minutes.map((minute) => ({
804
+ ariaLabel: `${parseInt(minute)}`,
805
+ label: minute,
806
+ value: minute
807
+ })),
774
808
  value: parsed.minute,
775
809
  children: [
776
810
  /* @__PURE__ */ jsxRuntime.jsx(SelectTrigger, { "aria-label": "Select minute", flex: "1", placeholder: "MM" }),
777
- /* @__PURE__ */ jsxRuntime.jsx(SelectContent, { children: minutes.map((minute) => /* @__PURE__ */ jsxRuntime.jsx(
778
- SelectRadioItem,
779
- {
780
- "aria-label": `${parseInt(minute)}`,
781
- item: minute,
782
- children: minute
783
- },
784
- minute
785
- )) })
811
+ /* @__PURE__ */ jsxRuntime.jsx(SelectContent, {})
786
812
  ]
787
813
  }
788
814
  ),
789
815
  /* @__PURE__ */ jsxRuntime.jsxs(
790
816
  Select,
791
817
  {
792
- items: periods,
793
- onValueChange: (meridiem) => meridiem && setValue(format({ ...parsed, meridiem })),
818
+ onValueChange: (meridiem) => (meridiem === "AM" || meridiem === "PM") && setValue(format({ ...parsed, meridiem })),
819
+ options: periods.map((period) => ({ label: period, value: period })),
794
820
  value: parsed.meridiem,
795
821
  children: [
796
822
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -838,8 +864,8 @@ function CalendarDay({ children, ...props }) {
838
864
  }
839
865
  CalendarDay.displayName = "@optiaxiom/react/CalendarDay";
840
866
 
841
- var button$2 = Skeleton.recipeRuntime({base:[{color:'fg.default',fontSize:'md',mt:'2',size:'md',transition:'colors'},'_1h13b5x'],variants:{appearance:{'default':'_1b49ntc',holiday:[{color:'fg.error'},'_1rm900o'],range_middle:'_479fpg',selected:[{color:'fg.white'},'pnh3z4'],weekend:[{color:'fg.tertiary'},'a1a5uk']},range:{end:['_150ve9g'],middle:['tvmewa'],start:['_19go4d4']}}});
842
- var today = Skeleton.recipeRuntime({base:[{bg:'current',mx:'auto',rounded:'full'},'_5zsqp5']});
867
+ var button$2 = Skeleton.recipeRuntime({base:[{color:'fg.default',fontSize:'md',size:'md',transition:'colors'},'_1cpennm'],variants:{appearance:{'default':'lpugor',holiday:[{color:'fg.error'},'_8xcodz'],range_middle:'_2szeva',selected:[{color:'fg.white'},'_1uve59g'],weekend:[{color:'fg.tertiary'},'_1oc1irp']},range:{end:['ep0dtw'],middle:['_1cw1l2p'],start:['h31ien']}}});
868
+ var today = Skeleton.recipeRuntime({base:[{bg:'current',mx:'auto',rounded:'full'},'_1j50ags']});
843
869
 
844
870
  function CalendarDayButton({
845
871
  children,
@@ -859,10 +885,11 @@ function CalendarDayButton({
859
885
  Skeleton.Box,
860
886
  {
861
887
  asChild: true,
888
+ "data-disabled": modifiers.outside || props.disabled,
862
889
  ...button$2(
863
890
  {
864
891
  appearance: modifiers.range_middle ? "range_middle" : modifiers.selected ? "selected" : modifiers.holiday ? "holiday" : modifiers.weekend ? "weekend" : "default",
865
- range: modifiers.range_start && modifiers.range_end ? void 0 : modifiers.range_start ? "start" : modifiers.range_middle ? "middle" : modifiers.range_end ? "end" : void 0
892
+ range: modifiers.outside || modifiers.range_start && modifiers.range_end ? void 0 : modifiers.range_start ? "start" : modifiers.range_middle ? "middle" : modifiers.range_end ? "end" : void 0
866
893
  },
867
894
  className
868
895
  ),
@@ -904,14 +931,14 @@ function CalendarMonthGrid({
904
931
  }
905
932
  CalendarMonthGrid.displayName = "@optiaxiom/react/CalendarMonthGrid";
906
933
 
907
- var months = Skeleton.recipeRuntime({base:[{alignItems:'start',flexDirection:'row'},'_1w3br18']});
934
+ var months = Skeleton.recipeRuntime({base:[{alignItems:'start',flexDirection:'row'},'_1ukbjap']});
908
935
 
909
936
  function CalendarMonths({ children, ...props }) {
910
937
  return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Flex, { asChild: true, ...months(), children: /* @__PURE__ */ jsxRuntime.jsx(reactDayPicker.Months, { ...props, children }) });
911
938
  }
912
939
  CalendarMonths.displayName = "@optiaxiom/react/CalendarMonths";
913
940
 
914
- var nav = Skeleton.recipeRuntime({base:[{display:'flex',justifyContent:'space-between',w:'full'},'_84h1eu']});
941
+ var nav = Skeleton.recipeRuntime({base:[{display:'flex',justifyContent:'space-between',w:'full'},'_1ja9z4b']});
915
942
 
916
943
  function CalendarNav({ children, ...props }) {
917
944
  return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...nav(), children: /* @__PURE__ */ jsxRuntime.jsx(reactDayPicker.Nav, { ...props, children }) });
@@ -937,7 +964,7 @@ function CalendarPreviousMonthButton({
937
964
  CalendarPreviousMonthButton.displayName = "@optiaxiom/react/CalendarPreviousMonthButton";
938
965
 
939
966
  function CalendarWeek({ children, ...props }) {
940
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, display: "flex", gap: "2", children: /* @__PURE__ */ jsxRuntime.jsx(reactDayPicker.Week, { ...props, children }) });
967
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, display: "flex", gap: "2", mt: "2", children: /* @__PURE__ */ jsxRuntime.jsx(reactDayPicker.Week, { ...props, children }) });
941
968
  }
942
969
  CalendarWeek.displayName = "@optiaxiom/react/CalendarWeek";
943
970
 
@@ -1038,6 +1065,7 @@ const Calendar = React.forwardRef(
1038
1065
  ...min ? [{ before: min }] : [],
1039
1066
  ...max ? [{ after: max }] : []
1040
1067
  ],
1068
+ fixedWeeks: mode === "range",
1041
1069
  mode,
1042
1070
  modifiers: { holiday, weekend },
1043
1071
  numberOfMonths: mode === "range" ? numberOfMonths : 1,
@@ -1048,6 +1076,7 @@ const Calendar = React.forwardRef(
1048
1076
  },
1049
1077
  required: true,
1050
1078
  selected: value,
1079
+ showOutsideDays: mode === "range",
1051
1080
  today
1052
1081
  }
1053
1082
  ),
@@ -1076,7 +1105,7 @@ const Calendar = React.forwardRef(
1076
1105
  );
1077
1106
  Calendar.displayName = "@optiaxiom/react/Calendar";
1078
1107
 
1079
- var root = Skeleton.recipeRuntime({base:'_1bsyws2'});
1108
+ var root = Skeleton.recipeRuntime({base:'m9j138'});
1080
1109
 
1081
1110
  const ActionsRoot = React.forwardRef(
1082
1111
  ({ children, className, ...props }, ref) => {
@@ -1087,7 +1116,7 @@ ActionsRoot.displayName = "@optiaxiom/react/ActionsRoot";
1087
1116
 
1088
1117
  const [CardProvider, useCardContext] = reactContext.createContext("@optiaxiom/react/Card");
1089
1118
 
1090
- var card = Skeleton.recipeRuntime({base:['_9v3ucd',{border:'1',borderColor:'border.tertiary',color:'fg.default',gap:'12',p:'16',transition:'transform'},'u4v2ms']});
1119
+ var card = Skeleton.recipeRuntime({base:['_1440ip6',{border:'1',borderColor:'border.tertiary',color:'fg.default',gap:'12',p:'16',transition:'transform'},'sddc3c']});
1091
1120
 
1092
1121
  const mapOrientationToFlexDirection = {
1093
1122
  horizontal: "row",
@@ -1119,16 +1148,16 @@ const Card = React.forwardRef(
1119
1148
  );
1120
1149
  Card.displayName = "@optiaxiom/react/Card";
1121
1150
 
1122
- var content$2 = Skeleton.recipeRuntime({base:[{display:'flex',justifyContent:'space-between'},'jproer'],variants:{visible:{false:'ym8uww',true:'fign15'}}});
1151
+ var content$3 = Skeleton.recipeRuntime({base:[{display:'flex',justifyContent:'space-between'},'_1lt85ke'],variants:{visible:{false:'_1rygawp',true:'_1ucphw9'}}});
1123
1152
 
1124
1153
  const ActionsContent = React.forwardRef(
1125
1154
  ({ children, className, visible = false, ...props }, ref) => {
1126
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { ref, ...content$2({ visible }, className), ...props, children });
1155
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { ref, ...content$3({ visible }, className), ...props, children });
1127
1156
  }
1128
1157
  );
1129
1158
  ActionsContent.displayName = "@optiaxiom/react/ActionsContent";
1130
1159
 
1131
- var action = Skeleton.recipeRuntime({base:['oxlg66']});
1160
+ var action = Skeleton.recipeRuntime({base:['_1cpbj8u']});
1132
1161
 
1133
1162
  const CardAction = React.forwardRef(
1134
1163
  ({ children, className, ...props }, ref) => {
@@ -1164,7 +1193,7 @@ const CardCheckbox = React.forwardRef(
1164
1193
  shift: Boolean(children)
1165
1194
  }
1166
1195
  ),
1167
- /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsxs(Skeleton.Box, { id: labelPrefixId, children: [
1196
+ /* @__PURE__ */ jsxRuntime.jsx(RadixVisuallyHidden.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsxs(Skeleton.Box, { id: labelPrefixId, children: [
1168
1197
  "Check to ",
1169
1198
  checked ? "unselect" : "select"
1170
1199
  ] }) })
@@ -1198,7 +1227,7 @@ const CardDescription = React.forwardRef(({ children, ...props }, ref) => {
1198
1227
  });
1199
1228
  CardDescription.displayName = "@optiaxiom/react/CardDescription";
1200
1229
 
1201
- var cardImage = Skeleton.recipeRuntime({base:[{h:'full',rounded:'inherit'},'_9fsv0m'],variants:{orientation:{horizontal:[{w:'auto'},'m10qi7'],vertical:[{w:'full'},'x4dzne']}}});
1230
+ var cardImage = Skeleton.recipeRuntime({base:[{h:'full',rounded:'inherit'},'_1wbz9af'],variants:{orientation:{horizontal:[{w:'auto'},'_1lqtcet'],vertical:[{w:'full'},'dp5jov']}}});
1202
1231
 
1203
1232
  const CardImage = React.forwardRef(
1204
1233
  ({ alt = "", asChild, children, className, src, ...props }, ref) => {
@@ -1224,7 +1253,7 @@ const CardLink = React.forwardRef(
1224
1253
  );
1225
1254
  CardLink.displayName = "@optiaxiom/react/CardLink";
1226
1255
 
1227
- var cardOverflow = Skeleton.recipeRuntime({base:['_1lx6sij',{alignSelf:'stretch'},'nmpkrw'],variants:{orientation:{horizontal:['_1s6v127'],vertical:['_4rrvmw']}}});
1256
+ var cardOverflow = Skeleton.recipeRuntime({base:['_1vhbqt2',{alignSelf:'stretch'},'_12oievt'],variants:{orientation:{horizontal:['_1pkn190'],vertical:['_4l5cdf']}}});
1228
1257
 
1229
1258
  const CardOverflow = React.forwardRef(
1230
1259
  ({ children, className, ...props }, ref) => {
@@ -1262,26 +1291,7 @@ const CardTitle = React.forwardRef(
1262
1291
  );
1263
1292
  CardTitle.displayName = "@optiaxiom/react/CardTitle";
1264
1293
 
1265
- const [ComboboxProvider, useComboboxContext] = reactContext.createContext("@optiaxiom/react/Combobox");
1266
-
1267
- const ComboboxDialogContent = React.forwardRef(({ "aria-label": ariaLabel, children, minW: _minW, ...props }, ref) => {
1268
- return /* @__PURE__ */ jsxRuntime.jsxs(Skeleton.DialogContent, { ref, ...props, children: [
1269
- /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Title, { children: ariaLabel }) }),
1270
- children
1271
- ] });
1272
- });
1273
- ComboboxDialogContent.displayName = "@optiaxiom/react/ComboboxDialogContent";
1274
-
1275
- function ComboboxPopover(props) {
1276
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Popover, { modal: true, ...props });
1277
- }
1278
- ComboboxPopover.displayName = "@optiaxiom/react/ComboboxPopover";
1279
-
1280
- const ComboboxPopoverContent = React.forwardRef((props, ref) => {
1281
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.PopoverContent, { maxH: "sm", minW: "trigger", ref, ...props });
1282
- });
1283
- ComboboxPopoverContent.displayName = "@optiaxiom/react/ComboboxPopoverContent";
1284
-
1294
+ const resolveItemProperty = (property, ...context) => typeof property === "function" ? property(...context) : property;
1285
1295
  const [CommandProvider, useCommandContext] = reactContext.createContext("@optiaxiom/react/Command");
1286
1296
 
1287
1297
  const collator = new Intl.Collator(void 0, {
@@ -1295,7 +1305,7 @@ function fuzzysearch(haystack, needle) {
1295
1305
  return false;
1296
1306
  }
1297
1307
  if (nlen === hlen) {
1298
- return needle === haystack;
1308
+ return collator.compare(needle, haystack) === 0;
1299
1309
  }
1300
1310
  outer:
1301
1311
  for (let i = 0, j = 0; i < nlen; i++) {
@@ -1311,105 +1321,80 @@ function fuzzysearch(haystack, needle) {
1311
1321
  }
1312
1322
 
1313
1323
  const useCommandItems = ({
1314
- defaultFilter,
1315
- defaultItems,
1316
- inputValue: inputValueProp,
1317
- items: itemsProp,
1318
- itemToLabel,
1319
- onInputValueChange
1324
+ inputValue,
1325
+ options
1320
1326
  }) => {
1321
- const [inputValue, setInputValue] = reactUseControllableState.useControllableState({
1322
- defaultProp: "",
1323
- onChange: onInputValueChange,
1324
- prop: inputValueProp
1327
+ const filterFn = useEffectEvent((item, inputValue2) => {
1328
+ const string = resolveItemProperty(item.label, {
1329
+ inputValue: inputValue2
1330
+ }).normalize();
1331
+ return item.visible ? resolveItemProperty(item.visible, { inputValue: inputValue2 }) : inputValue2 ? fuzzysearch(string, inputValue2) || item.keywords && fuzzysearch(item.keywords, inputValue2) : true;
1325
1332
  });
1326
- const filterFn = useEffectEvent(
1327
- defaultFilter ?? ((item, inputValue2) => {
1328
- const string = itemToLabel(item).normalize();
1329
- return fuzzysearch(string, inputValue2);
1330
- })
1331
- );
1332
- const [itemsState, setItemsState] = React.useState(
1333
- defaultItems ? filter(defaultItems, inputValue, filterFn) : []
1334
- );
1335
- const items = typeof itemsProp !== "undefined" ? itemsProp : itemsState;
1336
- return [
1337
- items,
1338
- inputValue,
1339
- useEffectEvent((inputValue2) => {
1340
- setInputValue(inputValue2);
1341
- if (typeof itemsProp === "undefined" && defaultItems) {
1342
- setItemsState(filter(defaultItems, inputValue2, filterFn));
1333
+ return React.useMemo(() => {
1334
+ const substring = (inputValue ?? "").normalize();
1335
+ return options.flatMap((item) => {
1336
+ if (item.subOptions && substring) {
1337
+ return item.subOptions.filter((item2) => filterFn(item2, substring)).map((subItem) => ({
1338
+ ...subItem,
1339
+ parentOption: item
1340
+ }));
1341
+ } else {
1342
+ return filterFn(item, substring) ? [item] : [];
1343
1343
  }
1344
- })
1345
- ];
1346
- };
1347
- const filter = (items, inputValue, filterFn) => {
1348
- const substring = (inputValue ?? "").normalize();
1349
- return inputValue ? items.filter((item) => filterFn(item, substring)) : items;
1344
+ });
1345
+ }, [options, filterFn, inputValue]);
1350
1346
  };
1351
1347
 
1352
1348
  function Command({
1353
1349
  children,
1354
- defaultFilter,
1355
- defaultItems,
1350
+ empty,
1356
1351
  inputValue: inputValueProp,
1357
- isItemDisabled = () => false,
1358
- isItemSelected = () => false,
1359
- items: itemsProp,
1360
- itemToLabel = (value) => value ? String(value) : "",
1361
- itemToSubItems,
1352
+ loading,
1353
+ onHover,
1362
1354
  onInputValueChange,
1363
- onItemSelect
1355
+ onSelect: onItemSelect,
1356
+ options
1364
1357
  }) {
1365
- const [items, inputValue, setInputValue] = useCommandItems({
1366
- defaultFilter,
1367
- defaultItems,
1368
- inputValue: inputValueProp,
1369
- items: itemsProp,
1370
- itemToLabel,
1371
- onInputValueChange
1358
+ const [inputValue, setInputValue] = reactUseControllableState.useControllableState({
1359
+ defaultProp: "",
1360
+ onChange: onInputValueChange,
1361
+ prop: inputValueProp
1372
1362
  });
1373
- const [lastInteractionSource, setLastInteractionSource] = React.useState("pointer");
1363
+ const items = useCommandItems({ inputValue, options });
1374
1364
  const [highlightedIndex, setHighlightedIndex, placed, setPlaced] = usePortalPatch(
1375
- () => items.findIndex((item, index) => isItemSelected(item, index))
1365
+ () => items.findIndex((item) => resolveItemProperty(item.selected))
1376
1366
  );
1377
- const [highlightedSubIndex, setHighlightedSubIndex] = React.useState(-1);
1367
+ const setInputValueStable = useEffectEvent(setInputValue);
1368
+ React.useEffect(() => {
1369
+ if (placed) {
1370
+ setInputValueStable("");
1371
+ }
1372
+ }, [placed, setInputValueStable]);
1373
+ const pauseInteractionRef = React.useRef({
1374
+ timer: void 0,
1375
+ triangle: null
1376
+ });
1378
1377
  const downshift$1 = downshift.useCombobox({
1379
- highlightedIndex: highlightedIndex === -1 ? items.findIndex((item, index) => !isItemDisabled(item, index)) : highlightedIndex,
1378
+ highlightedIndex: highlightedIndex === -1 ? items.findIndex((item) => !resolveItemProperty(item.disabledReason)) : highlightedIndex,
1380
1379
  inputValue,
1381
- isItemDisabled,
1380
+ isItemDisabled: (item) => Boolean(resolveItemProperty(item?.disabledReason)),
1382
1381
  isOpen: placed,
1383
- // @ts-expect-error -- no harm in supporting read only arrays
1384
1382
  items,
1385
- itemToString: (item) => item !== null ? itemToLabel(item) : "",
1383
+ itemToString: (item) => item !== null ? resolveItemProperty(item.label, { inputValue }) : "",
1386
1384
  onHighlightedIndexChange({ highlightedIndex: highlightedIndex2, type }) {
1387
- if (type !== downshift.useCombobox.stateChangeTypes.MenuMouseLeave) {
1388
- setHighlightedIndex(highlightedIndex2);
1389
- }
1390
- if (type === downshift.useCombobox.stateChangeTypes.InputKeyDownArrowDown || type === downshift.useCombobox.stateChangeTypes.InputKeyDownArrowUp || type === downshift.useCombobox.stateChangeTypes.InputKeyDownPageDown || type === downshift.useCombobox.stateChangeTypes.InputKeyDownPageUp) {
1391
- setLastInteractionSource("keyboard");
1392
- } else {
1393
- setLastInteractionSource("pointer");
1394
- }
1395
- if (highlightedIndex2 !== -1 && itemToSubItems?.(items[highlightedIndex2])?.length) {
1396
- setHighlightedSubIndex(0);
1397
- } else {
1398
- setHighlightedSubIndex(-1);
1385
+ if (type === downshift.useCombobox.stateChangeTypes.MenuMouseLeave) {
1386
+ return;
1399
1387
  }
1400
- },
1401
- onIsOpenChange({ isOpen, type }) {
1402
- if (isOpen) {
1403
- if (type === downshift.useCombobox.stateChangeTypes.InputClick || type === downshift.useCombobox.stateChangeTypes.ToggleButtonClick) {
1404
- setLastInteractionSource("pointer");
1405
- } else {
1406
- setLastInteractionSource("keyboard");
1407
- }
1388
+ setHighlightedIndex(highlightedIndex2);
1389
+ if (highlightedIndex2 !== -1 && type === downshift.useCombobox.stateChangeTypes.ItemMouseMove) {
1390
+ onHover?.(items[highlightedIndex2]);
1408
1391
  }
1409
1392
  },
1410
1393
  onSelectedItemChange({ selectedItem, type }) {
1411
1394
  if (type !== downshift.useCombobox.stateChangeTypes.InputBlur && selectedItem !== null) {
1412
- onItemSelect?.(selectedItem);
1395
+ onItemSelect?.(selectedItem, {
1396
+ close: type !== downshift.useCombobox.stateChangeTypes.FunctionSelectItem
1397
+ });
1413
1398
  }
1414
1399
  },
1415
1400
  selectedItem: null,
@@ -1424,6 +1409,7 @@ function Command({
1424
1409
  ...changes,
1425
1410
  /**
1426
1411
  * Keep the selected option highlighted rather than resetting to -1
1412
+ * TODO: reset if activePath had values
1427
1413
  */
1428
1414
  highlightedIndex: state.highlightedIndex
1429
1415
  };
@@ -1438,30 +1424,15 @@ function Command({
1438
1424
  CommandProvider,
1439
1425
  {
1440
1426
  downshift: downshift$1,
1427
+ empty,
1441
1428
  highlightedItem: items[downshift$1.highlightedIndex],
1442
- highlightedSubIndex: highlightedSubIndex === -1 && items[downshift$1.highlightedIndex] && itemToSubItems?.(items[downshift$1.highlightedIndex])?.length ? 0 : highlightedSubIndex,
1443
- isItemDisabled,
1444
- isItemSelected,
1429
+ inputValue,
1445
1430
  items,
1446
- itemToLabel,
1447
- itemToSubItems,
1448
- lastInteractionSource,
1431
+ loading,
1432
+ pauseInteractionRef,
1449
1433
  placed,
1450
- setHighlightedIndex: (index, source) => {
1451
- setHighlightedIndex(index);
1452
- setLastInteractionSource(source);
1453
- },
1454
- setHighlightedSubIndex: (index, source) => {
1455
- setHighlightedSubIndex(index);
1456
- setLastInteractionSource(source);
1457
- },
1458
- setInputValue: useEffectEvent((newInputValue) => {
1459
- if (inputValue === "" && newInputValue === "") {
1460
- onInputValueChange?.("");
1461
- } else {
1462
- setInputValue(newInputValue);
1463
- }
1464
- }),
1434
+ setHighlightedIndex,
1435
+ setInputValue,
1465
1436
  setPlaced,
1466
1437
  children
1467
1438
  }
@@ -1469,331 +1440,147 @@ function Command({
1469
1440
  }
1470
1441
  Command.displayName = "@optiaxiom/react/Command";
1471
1442
 
1472
- function Combobox({
1473
- children,
1474
- defaultOpen = false,
1475
- onOpenChange,
1476
- open: openProp,
1477
- ...props
1478
- }) {
1479
- const components = useResponsiveMatches({
1480
- base: {
1481
- Content: ComboboxDialogContent,
1482
- Root: Skeleton.Dialog,
1483
- Trigger: Skeleton.DialogTrigger
1484
- },
1485
- sm: {
1486
- Content: ComboboxPopoverContent,
1487
- Root: ComboboxPopover,
1488
- Trigger: Skeleton.PopoverTrigger
1489
- }
1490
- });
1491
- const [open, setOpen] = reactUseControllableState.useControllableState({
1492
- defaultProp: defaultOpen,
1493
- onChange: onOpenChange,
1494
- prop: openProp
1495
- });
1496
- return /* @__PURE__ */ jsxRuntime.jsx(components.Root, { onOpenChange: setOpen, open, children: /* @__PURE__ */ jsxRuntime.jsx(ComboboxProvider, { components, open, setOpen, children: /* @__PURE__ */ jsxRuntime.jsx(Command, { ...props, children }) }) });
1497
- }
1498
- Combobox.displayName = "@optiaxiom/react/Combobox";
1499
-
1500
- var item$2 = Skeleton.recipeRuntime({base:'_14286wt'});
1501
-
1502
- const CommandFocusableItem = React.forwardRef(({ children, className, ...props }, ref) => {
1503
- const { lastInteractionSource } = useCommandContext(
1504
- "@optiaxiom/react/CommandFocusableItem"
1505
- );
1506
- return /* @__PURE__ */ jsxRuntime.jsx(
1507
- Skeleton.Box,
1508
- {
1509
- "data-focus-visible": lastInteractionSource === "keyboard" ? "" : void 0,
1510
- ref,
1511
- ...item$2({}, className),
1512
- ...props,
1513
- children
1514
- }
1515
- );
1516
- });
1517
- CommandFocusableItem.displayName = "@optiaxiom/react/CommandFocusableItem";
1443
+ const CommandInput = React.forwardRef(
1444
+ ({ size, ...props }, ref) => {
1445
+ const { downshift, setInputValue } = useCommandContext(
1446
+ "@optiaxiom/react/CommandInput"
1447
+ );
1448
+ return /* @__PURE__ */ jsxRuntime.jsx(
1449
+ Skeleton.Input,
1450
+ {
1451
+ addonBefore: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconMagnifyingGlass, {}),
1452
+ size,
1453
+ ...downshift.getInputProps({
1454
+ ref,
1455
+ ...props,
1456
+ onChange: (event) => {
1457
+ setInputValue("value" in event.target ? event.target.value : "");
1458
+ }
1459
+ })
1460
+ }
1461
+ );
1462
+ }
1463
+ );
1464
+ CommandInput.displayName = "@optiaxiom/react/CommandInput";
1518
1465
 
1519
1466
  const CommandItem = React.forwardRef(
1520
- ({ children, item, selected, size, ...props }, ref) => {
1521
- const { downshift, highlightedItem, isItemSelected, items } = useCommandContext("@optiaxiom/react/CommandItem");
1467
+ ({ asChild, children, item, selected, size, ...props }, ref) => {
1468
+ const { downshift, highlightedItem, inputValue, pauseInteractionRef } = useCommandContext("@optiaxiom/react/CommandItem");
1522
1469
  const itemProps = downshift.getItemProps({
1523
- "aria-selected": selected ?? isItemSelected(item, items.indexOf(item)),
1470
+ "aria-selected": selected ?? resolveItemProperty(item.selected),
1524
1471
  item,
1472
+ onClick: (event) => {
1473
+ if (event.currentTarget instanceof HTMLAnchorElement) {
1474
+ event.preventDefault();
1475
+ }
1476
+ },
1477
+ onMouseMove: (event) => {
1478
+ if (resolveItemProperty(item.disabledReason)) {
1479
+ event.preventDefault();
1480
+ Object.assign(event.nativeEvent, {
1481
+ preventDownshiftDefault: true
1482
+ });
1483
+ return;
1484
+ }
1485
+ if (!pauseInteractionRef.current.triangle) {
1486
+ return;
1487
+ }
1488
+ if (isInsideTriangle(pauseInteractionRef.current.triangle, {
1489
+ x: event.clientX,
1490
+ y: event.clientY
1491
+ })) {
1492
+ event.preventDefault();
1493
+ Object.assign(event.nativeEvent, {
1494
+ preventDownshiftDefault: true
1495
+ });
1496
+ window.clearTimeout(pauseInteractionRef.current.timer);
1497
+ pauseInteractionRef.current.timer = window.setTimeout(() => {
1498
+ pauseInteractionRef.current.triangle = null;
1499
+ }, 50);
1500
+ } else {
1501
+ pauseInteractionRef.current.triangle = null;
1502
+ }
1503
+ },
1525
1504
  ref,
1526
1505
  ...props
1527
1506
  });
1507
+ const detail = resolveItemProperty(item.detail, { inputValue });
1528
1508
  return /* @__PURE__ */ jsxRuntime.jsx(
1529
- CommandFocusableItem,
1509
+ Skeleton.Box,
1530
1510
  {
1511
+ asChild,
1531
1512
  "data-disabled": itemProps["aria-disabled"] ? "" : void 0,
1532
1513
  "data-highlighted": highlightedItem === item ? "" : void 0,
1533
1514
  size,
1534
1515
  tabIndex: -1,
1535
1516
  ...itemProps,
1536
- children
1517
+ ...item.link && { href: item.link },
1518
+ children: Skeleton.decorateChildren(
1519
+ { asChild, children },
1520
+ (children2) => children2 ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1521
+ item.parentOption && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1522
+ /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Text, { color: "fg.secondary", children: resolveItemProperty(item.parentOption.label, {
1523
+ inputValue
1524
+ }) }),
1525
+ /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, h: "10", w: "auto", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconAngleRight, {}) })
1526
+ ] }),
1527
+ resolveItemProperty(item.label, { inputValue }),
1528
+ detail && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Text, { color: "fg.secondary", children: detail })
1529
+ ] })
1530
+ )
1537
1531
  }
1538
1532
  );
1539
1533
  }
1540
1534
  );
1541
1535
  CommandItem.displayName = "@optiaxiom/react/CommandItem";
1536
+ function isInsideTriangle({
1537
+ bottom,
1538
+ side,
1539
+ top
1540
+ }, target) {
1541
+ const b0 = (top.x - side.x) * (bottom.y - side.y) - (bottom.x - side.x) * (top.y - side.y), b1 = ((top.x - target.x) * (bottom.y - target.y) - (bottom.x - target.x) * (top.y - target.y)) / b0, b2 = ((bottom.x - target.x) * (side.y - target.y) - (side.x - target.x) * (bottom.y - target.y)) / b0, b3 = ((side.x - target.x) * (top.y - target.y) - (top.x - target.x) * (side.y - target.y)) / b0;
1542
+ return b1 > 0 && b2 > 0 && b3 > 0;
1543
+ }
1542
1544
 
1543
- const ComboboxItem = React.forwardRef(
1544
- (props, ref) => /* @__PURE__ */ jsxRuntime.jsx(CommandItem, { ref, ...props })
1545
+ const CommandListbox = React.forwardRef(
1546
+ ({ children, size, ...props }, ref) => {
1547
+ const { downshift, highlightedItem, inputValue, items, placed, setPlaced } = useCommandContext("@optiaxiom/react/CommandListbox");
1548
+ return /* @__PURE__ */ jsxRuntime.jsx(
1549
+ ListboxItemized,
1550
+ {
1551
+ highlightedItem,
1552
+ items,
1553
+ itemToKey: (item) => item.key ?? resolveItemProperty(item.label, { inputValue }),
1554
+ onPlacedChange: setPlaced,
1555
+ placed,
1556
+ size,
1557
+ ...downshift.getMenuProps({ ref, ...props }),
1558
+ children
1559
+ }
1560
+ );
1561
+ }
1545
1562
  );
1546
- ComboboxItem.displayName = "@optiaxiom/react/ComboboxItem";
1563
+ CommandListbox.displayName = "@optiaxiom/react/CommandListbox";
1547
1564
 
1548
- const ComboboxCheckboxItem = React.forwardRef(({ children, ...props }, ref) => {
1549
- return /* @__PURE__ */ jsxRuntime.jsx(ComboboxItem, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxCheckboxItem, { children }) });
1550
- });
1551
- ComboboxCheckboxItem.displayName = "@optiaxiom/react/ComboboxCheckboxItem";
1565
+ const [DataTableProvider, useDataTableContext] = reactContext.createContext("@optiaxiom/react/DataTable");
1552
1566
 
1553
- const CommandInput = React.forwardRef(
1554
- ({ onKeyDown, size, ...props }, ref) => {
1555
- const {
1556
- downshift,
1557
- highlightedItem,
1558
- highlightedSubIndex,
1559
- itemToSubItems,
1560
- setHighlightedSubIndex,
1561
- setInputValue
1562
- } = useCommandContext("@optiaxiom/react/CommandInput");
1563
- React.useEffect(() => {
1564
- setInputValue("");
1565
- }, [setInputValue]);
1567
+ const DataTable = React.forwardRef(
1568
+ ({ children, table, ...props }, ref) => {
1566
1569
  return /* @__PURE__ */ jsxRuntime.jsx(
1567
- Skeleton.Input,
1570
+ Skeleton.Flex,
1568
1571
  {
1569
- addonBefore: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconMagnifyingGlass, {}),
1570
- size,
1571
- ...downshift.getInputProps({
1572
- ...props,
1573
- onChange: (event) => {
1574
- setInputValue("value" in event.target ? event.target.value : "");
1575
- },
1576
- onKeyDown: (event) => {
1577
- onKeyDown?.(event);
1578
- if (event.defaultPrevented) {
1579
- return;
1580
- }
1581
- if (highlightedItem && highlightedSubIndex !== -1 && (event.key === "ArrowLeft" || event.key === "ArrowRight" || event.key === "Enter")) {
1582
- const subItems = itemToSubItems?.(highlightedItem) ?? [];
1583
- if (subItems.length === 0) {
1584
- return;
1585
- }
1586
- event.preventDefault();
1587
- Object.assign(event.nativeEvent, {
1588
- preventDownshiftDefault: true
1589
- });
1590
- if (event.key === "ArrowRight") {
1591
- setHighlightedSubIndex(
1592
- highlightedSubIndex === subItems.length - 1 ? 0 : highlightedSubIndex + 1,
1593
- "keyboard"
1594
- );
1595
- } else if (event.key === "ArrowLeft") {
1596
- setHighlightedSubIndex(
1597
- highlightedSubIndex === 0 ? subItems.length - 1 : highlightedSubIndex - 1,
1598
- "keyboard"
1599
- );
1600
- } else if (event.key === "Enter") {
1601
- downshift.selectItem(subItems[highlightedSubIndex]);
1602
- }
1603
- }
1604
- },
1605
- ref
1606
- })
1572
+ gap: "8",
1573
+ justifyContent: "flex-start",
1574
+ maxH: "full",
1575
+ maxW: "full",
1576
+ ref,
1577
+ ...props,
1578
+ children: /* @__PURE__ */ jsxRuntime.jsx(DataTableProvider, { table, children })
1607
1579
  }
1608
1580
  );
1609
1581
  }
1610
1582
  );
1611
- CommandInput.displayName = "@optiaxiom/react/CommandInput";
1612
-
1613
- const ComboboxInput = React.forwardRef(
1614
- (props, ref) => {
1615
- const { downshift, highlightedItem } = useCommandContext(
1616
- "@optiaxiom/react/ComboboxInput"
1617
- );
1618
- const { open } = useComboboxContext("@optiaxiom/react/ComboboxInput");
1619
- const [minWidth, setMinWidth] = React.useState(160);
1620
- const containerRef = React.useRef(null);
1621
- React.useEffect(() => {
1622
- if (!containerRef.current) {
1623
- return;
1624
- }
1625
- const rect = containerRef.current.getBoundingClientRect();
1626
- if (open && rect.width > minWidth) {
1627
- setMinWidth(rect.width);
1628
- }
1629
- }, [downshift.inputValue, minWidth, open]);
1630
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { ref: containerRef, style: { minWidth }, children: /* @__PURE__ */ jsxRuntime.jsx(
1631
- CommandInput,
1632
- {
1633
- htmlSize: 1,
1634
- m: "4",
1635
- onKeyDown: (event) => {
1636
- if (!(event.target instanceof HTMLInputElement)) {
1637
- return;
1638
- }
1639
- if (event.key === " " && !event.target.value) {
1640
- event.preventDefault();
1641
- downshift.selectItem(highlightedItem);
1642
- }
1643
- },
1644
- ref,
1645
- ...props
1646
- }
1647
- ) });
1648
- }
1649
- );
1650
- ComboboxInput.displayName = "@optiaxiom/react/ComboboxInput";
1651
-
1652
- const ComboboxRadioItem = React.forwardRef(({ children, ...props }, ref) => {
1653
- return /* @__PURE__ */ jsxRuntime.jsx(ComboboxItem, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxRadioItem, { children }) });
1654
- });
1655
- ComboboxRadioItem.displayName = "@optiaxiom/react/ComboboxRadioItem";
1656
-
1657
- const VIRTUALIZE_THRESHOLD = 50;
1658
- const CommandListbox = React.forwardRef(
1659
- ({ children, empty = "No results found.", loading, size, ...props }, ref) => {
1660
- const { downshift, highlightedItem, items, placed, setPlaced } = useCommandContext("@optiaxiom/react/CommandListbox");
1661
- React.useEffect(() => {
1662
- requestAnimationFrame(() => setPlaced(true));
1663
- return () => setPlaced(false);
1664
- }, [setPlaced]);
1665
- return /* @__PURE__ */ jsxRuntime.jsx(
1666
- Skeleton.Listbox,
1667
- {
1668
- asChild: typeof children === "function" && items.length > VIRTUALIZE_THRESHOLD && placed,
1669
- size,
1670
- ...downshift.getMenuProps({ ref, ...props }),
1671
- children: loading ? /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { display: "flex", justifyContent: "center", p: "16", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Spinner, {}) }) : typeof children === "function" ? items.length > VIRTUALIZE_THRESHOLD ? placed && /* @__PURE__ */ jsxRuntime.jsx(
1672
- ListboxVirtualized,
1673
- {
1674
- highlightedItem,
1675
- items,
1676
- children
1677
- }
1678
- ) : items.length > 0 ? items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: children(item) }, index)) : /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxEmpty, { children: empty }) : items.length > 0 ? children : /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxEmpty, { children: empty })
1679
- }
1680
- );
1681
- }
1682
- );
1683
- CommandListbox.displayName = "@optiaxiom/react/CommandListbox";
1684
-
1685
- const ComboboxListbox = React.forwardRef(
1686
- ({ children, ...props }, ref) => {
1687
- const { itemToLabel } = useCommandContext(
1688
- "@optiaxiom/react/ComboboxListbox"
1689
- );
1690
- return /* @__PURE__ */ jsxRuntime.jsx(CommandListbox, { ref, tabIndex: -1, ...props, children: children ?? ((item) => /* @__PURE__ */ jsxRuntime.jsx(ComboboxRadioItem, { item, children: itemToLabel(item) })) });
1691
- }
1692
- );
1693
- ComboboxListbox.displayName = "@optiaxiom/react/ComboboxListbox";
1694
-
1695
- const ComboboxContent = React.forwardRef(
1696
- ({ children, ...props }, ref) => {
1697
- const p = useResponsiveMatches({
1698
- base: "8",
1699
- sm: "4"
1700
- });
1701
- const { labelId } = Skeleton.useFieldContext();
1702
- const { components } = useComboboxContext(
1703
- "@optiaxiom/react/ComboboxContent"
1704
- );
1705
- return /* @__PURE__ */ jsxRuntime.jsx(
1706
- components.Content,
1707
- {
1708
- "aria-labelledby": labelId,
1709
- overflow: "hidden",
1710
- p,
1711
- ref,
1712
- ...props,
1713
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1714
- /* @__PURE__ */ jsxRuntime.jsx(ComboboxInput, { placeholder: "Search..." }),
1715
- /* @__PURE__ */ jsxRuntime.jsx(ComboboxListbox, {})
1716
- ] })
1717
- }
1718
- );
1719
- }
1720
- );
1721
- ComboboxContent.displayName = "@optiaxiom/react/ComboboxContent";
1722
-
1723
- const ComboboxFooter = React.forwardRef(
1724
- (props, ref) => {
1725
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxFooter, { ref, ...props });
1726
- }
1727
- );
1728
- ComboboxFooter.displayName = "@optiaxiom/react/ComboboxFooter";
1729
-
1730
- const ComboboxGroup = React.forwardRef(
1731
- (props, ref) => {
1732
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxGroup, { ref, ...props });
1733
- }
1734
- );
1735
- ComboboxGroup.displayName = "@optiaxiom/react/ComboboxGroup";
1736
-
1737
- const ComboboxLabel = React.forwardRef(
1738
- (props, ref) => {
1739
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxLabel, { ref, ...props });
1740
- }
1741
- );
1742
- ComboboxLabel.displayName = "@optiaxiom/react/ComboboxLabel";
1743
-
1744
- const ComboboxSeparator = React.forwardRef((props, ref) => {
1745
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxSeparator, { ref, ...props });
1746
- });
1747
- ComboboxSeparator.displayName = "@optiaxiom/react/ComboboxSeparator";
1748
-
1749
- const ComboboxTrigger = React.forwardRef(
1750
- ({ "aria-labelledby": ariaLabelledBy, asChild, children, ...props }, outerRef) => {
1751
- const { components, setOpen } = useComboboxContext(
1752
- "@optiaxiom/react/ComboboxTrigger"
1753
- );
1754
- const buttonRef = React.useRef(null);
1755
- const ref = reactComposeRefs.useComposedRefs(outerRef, buttonRef);
1756
- const labelId = useFieldLabelTrigger(buttonRef, ariaLabelledBy);
1757
- return /* @__PURE__ */ jsxRuntime.jsx(
1758
- components.Trigger,
1759
- {
1760
- "aria-labelledby": labelId,
1761
- asChild: true,
1762
- onKeyDown: (event) => {
1763
- switch (event.key) {
1764
- case "ArrowDown":
1765
- case "ArrowUp":
1766
- setOpen(true);
1767
- }
1768
- },
1769
- ref,
1770
- ...props,
1771
- children: asChild ? children : /* @__PURE__ */ jsxRuntime.jsx(Skeleton.AngleMenuButton, { children })
1772
- }
1773
- );
1774
- }
1775
- );
1776
- ComboboxTrigger.displayName = "@optiaxiom/react/ComboboxTrigger";
1777
-
1778
- const [DataTableProvider, useDataTableContext] = reactContext.createContext("@optiaxiom/react/DataTable");
1779
-
1780
- const DataTable = React.forwardRef(
1781
- ({ children, table, ...props }, ref) => {
1782
- return /* @__PURE__ */ jsxRuntime.jsx(
1783
- Skeleton.Flex,
1784
- {
1785
- gap: "8",
1786
- justifyContent: "flex-start",
1787
- maxH: "full",
1788
- maxW: "full",
1789
- ref,
1790
- ...props,
1791
- children: /* @__PURE__ */ jsxRuntime.jsx(DataTableProvider, { table, children })
1792
- }
1793
- );
1794
- }
1795
- );
1796
- DataTable.displayName = "@optiaxiom/react/DataTable";
1583
+ DataTable.displayName = "@optiaxiom/react/DataTable";
1797
1584
 
1798
1585
  const IconSort = Skeleton.withIcon(
1799
1586
  {
@@ -1840,17 +1627,17 @@ const IconSortUp = Skeleton.withIcon(
1840
1627
  )
1841
1628
  );
1842
1629
 
1843
- var cell$2 = Skeleton.recipeRuntime({base:'_22k295'});
1844
- var content$1 = Skeleton.recipeRuntime({base:[{alignItems:'center',bg:'bg.default',color:'fg.tertiary',display:'flex',fontSize:'sm',fontWeight:'400',size:'full'},'pafxzm']});
1630
+ var cell$2 = Skeleton.recipeRuntime({base:'_1yvi2ai'});
1631
+ var content$2 = Skeleton.recipeRuntime({base:[{alignItems:'center',bg:'bg.default',color:'fg.tertiary',display:'flex',fontSize:'sm',fontWeight:'400',size:'full'},'_19wv8hx']});
1845
1632
 
1846
1633
  const TableHeaderCell = React.forwardRef(
1847
- ({ children, className, colSpan, p, px = "16", py = "12", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...cell$2({}, className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("th", { colSpan, ref, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { ...content$1(), px: p ?? px, py: p ?? py, children }) }) })
1634
+ ({ children, className, colSpan, p, px = "16", py = "12", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...cell$2({}, className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("th", { colSpan, ref, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { ...content$2(), px: p ?? px, py: p ?? py, children }) }) })
1848
1635
  );
1849
1636
  TableHeaderCell.displayName = "@optiaxiom/react/TableHeaderCell";
1850
1637
 
1851
- var button$1 = Skeleton.recipeRuntime({base:[{alignItems:'center',display:'flex',gap:'4',justifyContent:'flex-start',rounded:'md',textAlign:'start',transition:'colors',w:'full'},'_1kzywp6']});
1852
- var handle = Skeleton.recipeRuntime({base:[{h:'full',z:'10'},'xuzae'],variants:{resizing:{false:{},true:{borderColor:'border.focus'}}}});
1853
- var icon = Skeleton.recipeRuntime({base:[{h:'12',mx:'2',transition:'opacity'},'_12oj5j7'],variants:{active:{false:'_1usa78f',true:'_1ytyt7y'}}});
1638
+ var button$1 = Skeleton.recipeRuntime({base:[{alignItems:'center',display:'flex',gap:'4',justifyContent:'flex-start',rounded:'md',textAlign:'start',transition:'colors',w:'full'},'_1qa9e13']});
1639
+ var handle = Skeleton.recipeRuntime({base:[{h:'full',z:'10'},'t7297c'],variants:{resizing:{false:{},true:{borderColor:'border.focus'}}}});
1640
+ var icon = Skeleton.recipeRuntime({base:[{h:'12',mx:'2',transition:'opacity'},'_1k2m83v'],variants:{active:{false:'_6qodpz',true:'w9nuaz'}}});
1854
1641
 
1855
1642
  const DataTableHeaderCell = React.forwardRef(({ children, header, ...props }, ref) => {
1856
1643
  const sortDir = header.column.getIsSorted();
@@ -1879,7 +1666,7 @@ const DataTableHeaderCell = React.forwardRef(({ children, header, ...props }, re
1879
1666
  ) }),
1880
1667
  header.column.columnDef.enableSorting ? /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Cover, { asChild: true, inset: true, ...button$1(), children: /* @__PURE__ */ jsxRuntime.jsxs("button", { onClick: () => header.column.toggleSorting(), children: [
1881
1668
  children,
1882
- sortDir && /* @__PURE__ */ jsxRuntime.jsxs(reactVisuallyHidden.VisuallyHidden, { children: [
1669
+ sortDir && /* @__PURE__ */ jsxRuntime.jsxs(RadixVisuallyHidden.VisuallyHidden, { children: [
1883
1670
  "sorted ",
1884
1671
  sortDir === "asc" ? "ascending" : "descending"
1885
1672
  ] }),
@@ -1903,22 +1690,22 @@ const DataTableHeaderCell = React.forwardRef(({ children, header, ...props }, re
1903
1690
  });
1904
1691
  DataTableHeaderCell.displayName = "@optiaxiom/react/DataTableHeaderCell";
1905
1692
 
1906
- var table$1 = Skeleton.recipeRuntime({base:[{color:'fg.default',fontSize:'md',w:'full'},'_19hiexi'],variants:{layout:{auto:['lpim7t'],fixed:[{display:'grid'},'_448yrh']}}});
1907
- var wrapper = Skeleton.recipeRuntime({base:[{bg:'bg.default',border:'1',borderColor:'border.tertiary',maxW:'full',overflow:'auto',rounded:'lg'},'_1gftj40']});
1693
+ var table$1 = Skeleton.recipeRuntime({base:[{color:'fg.default',fontSize:'md',w:'full'},'_1g7ux9z'],variants:{layout:{auto:['e8nfzw'],fixed:[{display:'grid'},'_1h0pzle']}}});
1694
+ var wrapper = Skeleton.recipeRuntime({base:[{bg:'bg.default',border:'1',borderColor:'border.tertiary',maxW:'full',overflow:'auto',rounded:'lg'},'_1i4rsac']});
1908
1695
 
1909
1696
  const Table = React.forwardRef(
1910
1697
  ({ children, className, layout = "auto", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { ...wrapper({}, className), ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...table$1({ layout }), children: /* @__PURE__ */ jsxRuntime.jsx("table", { children }) }) })
1911
1698
  );
1912
1699
  Table.displayName = "@optiaxiom/react/Table";
1913
1700
 
1914
- var body = Skeleton.recipeRuntime({base:['jli4x9']});
1701
+ var body = Skeleton.recipeRuntime({base:['u4hmdj']});
1915
1702
 
1916
1703
  const TableBody = React.forwardRef(
1917
1704
  ({ children, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...body({}, className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { ref, children }) })
1918
1705
  );
1919
1706
  TableBody.displayName = "@optiaxiom/react/TableBody";
1920
1707
 
1921
- var cell$1 = Skeleton.recipeRuntime({base:[{borderColor:'border.tertiary',p:'16'},'p72438']});
1708
+ var cell$1 = Skeleton.recipeRuntime({base:[{borderColor:'border.tertiary',p:'16'},'_1qd7285']});
1922
1709
 
1923
1710
  const TableCell = React.forwardRef(
1924
1711
  ({ children, className, colSpan, ...props }, ref) => {
@@ -1930,20 +1717,20 @@ TableCell.displayName = "@optiaxiom/react/TableCell";
1930
1717
  const TableHeader = React.forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...props, children: /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, children }) }));
1931
1718
  TableHeader.displayName = "@optiaxiom/react/TableHeader";
1932
1719
 
1933
- var row = Skeleton.recipeRuntime({base:['_14xes2s',{transition:'colors',w:'full'},'_1qlkiw3']});
1720
+ var row = Skeleton.recipeRuntime({base:['xzaq7',{transition:'colors',w:'full'},'_7m0yfi']});
1934
1721
 
1935
1722
  const TableRow = React.forwardRef(
1936
1723
  ({ children, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ActionsRoot, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { asChild: true, ...row({}, className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx("tr", { ref, children }) }) })
1937
1724
  );
1938
1725
  TableRow.displayName = "@optiaxiom/react/TableRow";
1939
1726
 
1940
- var cell = Skeleton.recipeRuntime({base:[{alignItems:'start',display:'flex'},'_1iuw7iz'],variants:{pinned:{left:'y2wztl',right:'n26krp'},pinnedType:{body:'_1k2vu7v',header:{}}}});
1941
- var cellOffsetVar = 'var(--_1r7wj72)';
1942
- var cellSizeVar = 'var(--oqs8rg)';
1943
- var header = Skeleton.recipeRuntime({base:[{display:'grid'},'_1dvu9uq']});
1944
- var leftTotalSizeVar = 'var(--_12zd1fa)';
1945
- var rightTotalSizeVar = 'var(--dm8p5p)';
1946
- var table = Skeleton.recipeRuntime({base:'cl3n7r',variants:{pinned:{both:'_1v0nhcu',left:'_1xvq3du',none:{},right:'tjzwgn'}}});
1727
+ var cell = Skeleton.recipeRuntime({base:[{alignItems:'start',display:'flex'},'fn31b3'],variants:{pinned:{left:'_1va33xd',right:'_12s5zow'},pinnedType:{body:'njuhvp',header:{}}}});
1728
+ var cellOffsetVar = 'var(--_1k9vy4o)';
1729
+ var cellSizeVar = 'var(--mns3gj)';
1730
+ var header = Skeleton.recipeRuntime({base:[{display:'grid'},'_6fagj0']});
1731
+ var leftTotalSizeVar = 'var(--eenlqt)';
1732
+ var rightTotalSizeVar = 'var(--_134ot22)';
1733
+ var table = Skeleton.recipeRuntime({base:'_1hdzyaq',variants:{pinned:{both:'_1me3eba',left:'xn1i0a',none:{},right:'_1kjpl6r'}}});
1947
1734
 
1948
1735
  const COL_VIRTUALIZATION_THRESHOLD = 20;
1949
1736
  const ROW_VIRTUALIZATION_THRESHOLD = 20;
@@ -2121,9 +1908,12 @@ const fakeRow = (table, rowIndex) => ({
2121
1908
  id: "loading" + rowIndex
2122
1909
  });
2123
1910
 
2124
- var addon = Skeleton.recipeRuntime({base:'w0mlxs',variants:{position:{end:{textAlign:'end'},start:{}}}});
1911
+ var addon = Skeleton.recipeRuntime({base:'_1r9phfc',variants:{position:{end:{textAlign:'end'},start:{}}}});
2125
1912
 
2126
- const DEFAULT_PAGE_SIZES = ["10", "20", "30", "50", "100"];
1913
+ const DEFAULT_PAGE_SIZES = ["10", "20", "30", "50", "100"].map((size) => ({
1914
+ label: size,
1915
+ value: size
1916
+ }));
2127
1917
  const DataTableFooter = React.forwardRef(
2128
1918
  ({ pageSizeOptions = DEFAULT_PAGE_SIZES, showPageSizeOptions, ...props }, ref) => {
2129
1919
  const { table } = useDataTableContext("@optiaxiom/react/DataTableFooter");
@@ -2145,8 +1935,8 @@ const DataTableFooter = React.forwardRef(
2145
1935
  /* @__PURE__ */ jsxRuntime.jsxs(
2146
1936
  Select,
2147
1937
  {
2148
- items: pageSizeOptions,
2149
1938
  onValueChange: (value) => value && table.setPageSize(parseFloat(value)),
1939
+ options: pageSizeOptions,
2150
1940
  value: pagination.pageSize.toString(),
2151
1941
  children: [
2152
1942
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2203,7 +1993,7 @@ const IconCalendar = Skeleton.withIcon(
2203
1993
  )
2204
1994
  );
2205
1995
 
2206
- var picker = Skeleton.recipeRuntime({base:'_3xxe0i'});
1996
+ var picker = Skeleton.recipeRuntime({base:'_1wwhkc9'});
2207
1997
 
2208
1998
  function toInstant(str) {
2209
1999
  const rawDate = str && typeof str === "string" ? new Date(str) : void 0;
@@ -2377,7 +2167,7 @@ function DatePicker({
2377
2167
  }
2378
2168
  DatePicker.displayName = "@optiaxiom/react/DatePicker";
2379
2169
 
2380
- var panels$1 = Skeleton.recipeRuntime({base:[{alignItems:'stretch',flexDirection:'row',gap:'0'},'_1jbn8se']});
2170
+ var panels$1 = Skeleton.recipeRuntime({base:[{alignItems:'stretch',flexDirection:'row',gap:'0'},'snk0cb']});
2381
2171
 
2382
2172
  const DatePickerContent = React.forwardRef(
2383
2173
  ({
@@ -2504,7 +2294,7 @@ function DateRangePicker({
2504
2294
  }
2505
2295
  DateRangePicker.displayName = "@optiaxiom/react/DateRangePicker";
2506
2296
 
2507
- var panels = Skeleton.recipeRuntime({base:[{alignItems:'stretch',flexDirection:'row',gap:'0'},'_142opfz']});
2297
+ var panels = Skeleton.recipeRuntime({base:[{alignItems:'stretch',flexDirection:'row',gap:'0'}]});
2508
2298
 
2509
2299
  const DateRangePickerContent = React.forwardRef(
2510
2300
  ({
@@ -2536,6 +2326,7 @@ const DateRangePickerContent = React.forwardRef(
2536
2326
  /* @__PURE__ */ jsxRuntime.jsx(
2537
2327
  Calendar,
2538
2328
  {
2329
+ alignSelf: "start",
2539
2330
  holiday,
2540
2331
  max,
2541
2332
  min,
@@ -2607,124 +2398,7 @@ const DateRangePickerTrigger = React.forwardRef(
2607
2398
  );
2608
2399
  DateRangePickerTrigger.displayName = "@optiaxiom/react/DateRangePickerTrigger";
2609
2400
 
2610
- const [DropdownMenuComboboxProvider, useDropdownMenuComboboxContext] = reactContext.createContext("@optiaxiom/react/DropdownMenuCombobox");
2611
-
2612
- function DropdownMenuCombobox({
2613
- children,
2614
- defaultOpen,
2615
- onItemSelect,
2616
- onOpenChange,
2617
- open: openProp,
2618
- ...props
2619
- }) {
2620
- const { setOpen: setOpenRoot } = Skeleton.useDropdownMenuContext(
2621
- "@optiaxiom/react/DropdownMenuCombobox"
2622
- );
2623
- const [open, setOpen] = reactUseControllableState.useControllableState({
2624
- defaultProp: defaultOpen,
2625
- onChange: onOpenChange,
2626
- prop: openProp
2627
- });
2628
- const inputRef = React.useRef(null);
2629
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.DropdownMenuSub, { onOpenChange: setOpen, open, children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuComboboxProvider, { inputRef, children: /* @__PURE__ */ jsxRuntime.jsx(
2630
- Command,
2631
- {
2632
- onItemSelect: (item) => {
2633
- onItemSelect?.(item);
2634
- setOpenRoot(false);
2635
- },
2636
- ...props,
2637
- children
2638
- }
2639
- ) }) });
2640
- }
2641
- DropdownMenuCombobox.displayName = "@optiaxiom/react/DropdownMenuCombobox";
2642
-
2643
- const DropdownMenuComboboxInput = React.forwardRef((props, outerRef) => {
2644
- const { downshift, highlightedItem } = useCommandContext(
2645
- "@optiaxiom/react/DropdownMenuComboboxInput"
2646
- );
2647
- const { inputRef } = useDropdownMenuComboboxContext(
2648
- "@optiaxiom/react/DropdownMenuComboboxInput"
2649
- );
2650
- const ref = reactComposeRefs.useComposedRefs(inputRef, outerRef);
2651
- return /* @__PURE__ */ jsxRuntime.jsx(
2652
- CommandInput,
2653
- {
2654
- htmlSize: 10,
2655
- m: "4",
2656
- onKeyDown: (event) => {
2657
- if (!(event.target instanceof HTMLInputElement)) {
2658
- return;
2659
- }
2660
- if (event.key === " " && !event.target.value) {
2661
- event.preventDefault();
2662
- downshift.selectItem(highlightedItem);
2663
- }
2664
- },
2665
- ref,
2666
- ...props
2667
- }
2668
- );
2669
- });
2670
- DropdownMenuComboboxInput.displayName = "@optiaxiom/react/DropdownMenuComboboxInput";
2671
-
2672
- const DropdownMenuAutocompleteItem = React.forwardRef(({ children, ...props }, ref) => {
2673
- return /* @__PURE__ */ jsxRuntime.jsx(CommandItem, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxItem, { children }) });
2674
- });
2675
- DropdownMenuAutocompleteItem.displayName = "@optiaxiom/react/DropdownMenuAutocompleteItem";
2676
-
2677
- const DropdownMenuComboboxListbox = React.forwardRef(({ children, ...props }, ref) => {
2678
- const { itemToLabel } = useCommandContext(
2679
- "@optiaxiom/react/DropdownMenuComboboxListbox"
2680
- );
2681
- return /* @__PURE__ */ jsxRuntime.jsx(CommandListbox, { ref, ...props, children: children ?? ((item) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuAutocompleteItem, { item, children: itemToLabel(item) }, item)) });
2682
- });
2683
- DropdownMenuComboboxListbox.displayName = "@optiaxiom/react/DropdownMenuComboboxListbox";
2684
-
2685
- const DropdownMenuComboboxContent = React.forwardRef(({ children, onMouseMove, ...props }, outerRef) => {
2686
- const { presence } = Skeleton.useDropdownMenuSubContext(
2687
- "@optiaxiom/react/DropdownMenuComboboxContent"
2688
- );
2689
- const { inputRef } = useDropdownMenuComboboxContext(
2690
- "@optiaxiom/react/DropdownMenuComboboxContent"
2691
- );
2692
- const innerRef = React.useRef(null);
2693
- const ref = reactComposeRefs.useComposedRefs(innerRef, outerRef);
2694
- React.useEffect(() => {
2695
- const container = innerRef.current;
2696
- if (!container || !presence) {
2697
- return;
2698
- }
2699
- const listener = () => inputRef.current?.focus();
2700
- container.addEventListener("focus", listener);
2701
- return () => container.removeEventListener("focus", listener);
2702
- }, [inputRef, presence]);
2703
- return /* @__PURE__ */ jsxRuntime.jsx(
2704
- Skeleton.DropdownMenuSubContent,
2705
- {
2706
- onMouseMove: (event) => {
2707
- onMouseMove?.(event);
2708
- inputRef.current?.focus();
2709
- },
2710
- ref,
2711
- role: "dialog",
2712
- ...props,
2713
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2714
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuComboboxInput, { placeholder: "Search..." }),
2715
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuComboboxListbox, {})
2716
- ] })
2717
- }
2718
- );
2719
- });
2720
- DropdownMenuComboboxContent.displayName = "@optiaxiom/react/DropdownMenuComboboxContent";
2721
-
2722
- const DropdownMenuComboboxTrigger = React.forwardRef((props, ref) => {
2723
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.DropdownMenuSubTrigger, { "aria-haspopup": "dialog", ref, ...props });
2724
- });
2725
- DropdownMenuComboboxTrigger.displayName = "@optiaxiom/react/DropdownMenuComboboxTrigger";
2726
-
2727
- var mark = Skeleton.recipeRuntime({base:'i6obck'});
2401
+ var mark = Skeleton.recipeRuntime({base:'_1mepjeg'});
2728
2402
 
2729
2403
  const useHighlightedChunks = (content, query) => {
2730
2404
  const terms = React.useMemo(
@@ -2756,8 +2430,8 @@ const Highlight = React.forwardRef(
2756
2430
  );
2757
2431
  Highlight.displayName = "@optiaxiom/react/Highlight";
2758
2432
 
2759
- var editor = Skeleton.recipeRuntime({base:'_7a7gm',variants:{empty:{false:{},true:'v0acjn'}}});
2760
- var input$1 = Skeleton.recipeRuntime({base:'w0lpc1'});
2433
+ var editor = Skeleton.recipeRuntime({base:'osf8rr',variants:{empty:{false:{},true:'hsmubj'}}});
2434
+ var input$1 = Skeleton.recipeRuntime({base:'h6o0je'});
2761
2435
 
2762
2436
  const InlineInput = React.forwardRef(
2763
2437
  ({
@@ -2837,8 +2511,8 @@ function getText(element) {
2837
2511
  return text;
2838
2512
  }
2839
2513
 
2840
- var button = Skeleton.recipeRuntime({base:[{justifyContent:'space-between'},'k31rlt']});
2841
- var content = Skeleton.recipeRuntime({base:[{fontSize:'sm',transition:'all'}],variants:{filled:{false:{h:'0'},true:{h:'16'}}}});
2514
+ var button = Skeleton.recipeRuntime({base:[{justifyContent:'space-between'},'_10a1w0f']});
2515
+ var content$1 = Skeleton.recipeRuntime({base:[{fontSize:'sm',transition:'all'}],variants:{filled:{false:{h:'0'},true:{h:'16'}}}});
2842
2516
  var label = Skeleton.recipeRuntime({base:[{color:'fg.secondary',cursor:'pointer',maxW:'full',transition:'all'}],variants:{filled:{false:{fontSize:'md'},true:{fontSize:'xs'}}}});
2843
2517
 
2844
2518
  const LabelMenuButton = React.forwardRef(
@@ -2858,7 +2532,7 @@ const LabelMenuButton = React.forwardRef(
2858
2532
  children: [
2859
2533
  /* @__PURE__ */ jsxRuntime.jsxs(Skeleton.Flex, { gap: "0", overflow: "hidden", textAlign: "start", children: [
2860
2534
  /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Text, { asChild: true, id: labelId, truncate: true, ...label({ filled }), children: /* @__PURE__ */ jsxRuntime.jsx(RadixLabel.Label, { children: label$1 }) }),
2861
- /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Text, { id: valueId, truncate: true, ...content({ filled }), children: children ?? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: "\xA0" }) })
2535
+ /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Text, { id: valueId, truncate: true, ...content$1({ filled }), children: children ?? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: "\xA0" }) })
2862
2536
  ] }),
2863
2537
  /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ButtonAddon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconAngleDown, {}) })
2864
2538
  ]
@@ -2868,7 +2542,7 @@ const LabelMenuButton = React.forwardRef(
2868
2542
  );
2869
2543
  LabelMenuButton.displayName = "@optiaxiom/react/LabelMenuButton";
2870
2544
 
2871
- var layout = Skeleton.recipeRuntime({base:[{bg:'bg.page',display:'flex',flexDirection:'column',fontSize:'md'},'ikdrzs']});
2545
+ var layout = Skeleton.recipeRuntime({base:[{bg:'bg.page',display:'flex',flexDirection:'column',fontSize:'md'},'_45vo41']});
2872
2546
 
2873
2547
  const Layout = React.forwardRef(
2874
2548
  ({ children, className, header, sidebar, ...props }, ref) => {
@@ -2893,289 +2567,635 @@ const Layout = React.forwardRef(
2893
2567
  );
2894
2568
  Layout.displayName = "@optiaxiom/react/Layout";
2895
2569
 
2896
- var pill = Skeleton.recipeRuntime({base:[{alignItems:'center',color:'fg.default',display:'flex',fontSize:'sm',gap:'4',px:'6',rounded:'md',whiteSpace:'nowrap'},'_18b6ch8'],variants:{size:{xs:{h:'xs'},sm:{h:'sm'}}}});
2897
-
2898
- const Pill = React.forwardRef(
2899
- ({ asChild, children, className, disabled, size = "sm", ...props }, ref) => {
2900
- const Comp = asChild ? reactSlot.Slot : "button";
2901
- const { boxProps, restProps } = Skeleton.extractBoxProps(props);
2902
- return /* @__PURE__ */ jsxRuntime.jsx(
2903
- Skeleton.Box,
2904
- {
2905
- asChild: true,
2906
- "data-disabled": disabled ? "" : void 0,
2907
- ...pill({ size }, className),
2908
- ...boxProps,
2909
- children: /* @__PURE__ */ jsxRuntime.jsxs(Comp, { disabled, ref, ...restProps, children: [
2910
- /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Text, { truncate: true, children }),
2911
- /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Icon, { asChild: true, h: "12", ml: "auto", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconX, {}) })
2912
- ] })
2913
- }
2914
- );
2915
- }
2916
- );
2917
- Pill.displayName = "@optiaxiom/react/Pill";
2918
-
2919
- const PillGroup = React.forwardRef(
2920
- ({ children, ...props }, ref) => {
2921
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Flex, { flexDirection: "row", gap: "12", ref, ...props, children });
2922
- }
2923
- );
2924
- PillGroup.displayName = "@optiaxiom/react/PillGroup";
2925
-
2926
- const SelectGroup = React.forwardRef(
2927
- (props, ref) => {
2928
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxGroup, { ref, ...props });
2929
- }
2930
- );
2931
- SelectGroup.displayName = "@optiaxiom/react/SelectGroup";
2932
-
2933
- const SelectLabel = React.forwardRef(
2934
- (props, ref) => {
2935
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxLabel, { ref, ...props });
2936
- }
2937
- );
2938
- SelectLabel.displayName = "@optiaxiom/react/SelectLabel";
2939
-
2940
- const SelectSeparator = React.forwardRef(
2941
- (props, ref) => {
2942
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxSeparator, { ref, ...props });
2943
- }
2944
- );
2945
- SelectSeparator.displayName = "@optiaxiom/react/SelectSeparator";
2570
+ const [MenuProvider, useMenuContext] = reactContext.createContext("@optiaxiom/react/Menu");
2946
2571
 
2947
- const [SpotlightProvider, useSpotlightContext] = reactContext.createContext("@optiaxiom/react/Spotlight");
2572
+ function MenuPopover(props) {
2573
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Popover, { modal: true, ...props });
2574
+ }
2575
+ MenuPopover.displayName = "@optiaxiom/react/MenuPopover";
2948
2576
 
2949
- function Spotlight({
2577
+ function Menu({
2950
2578
  children,
2579
+ defaultInputVisible,
2951
2580
  defaultOpen = false,
2581
+ inputValue: inputValueProp,
2582
+ onInputValueChange,
2952
2583
  onOpenChange,
2953
2584
  open: openProp,
2585
+ options: optionsProp,
2586
+ placeholder = "Filter...",
2587
+ size: sizeProp,
2954
2588
  ...props
2955
2589
  }) {
2590
+ const size = useResponsiveMatches({
2591
+ base: "lg",
2592
+ sm: sizeProp ?? "sm"
2593
+ });
2594
+ const Comp = size === "sm" ? MenuPopover : Skeleton.Dialog;
2956
2595
  const [open, setOpen] = reactUseControllableState.useControllableState({
2957
2596
  defaultProp: defaultOpen,
2958
2597
  onChange: onOpenChange,
2959
2598
  prop: openProp
2960
2599
  });
2961
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Dialog, { onOpenChange: setOpen, open, children: /* @__PURE__ */ jsxRuntime.jsx(SpotlightProvider, { open, setOpen, children: /* @__PURE__ */ jsxRuntime.jsx(Command, { ...props, children }) }) });
2962
- }
2963
- Spotlight.displayName = "@optiaxiom/react/Spotlight";
2964
-
2965
- const SpotlightContent = React.forwardRef(({ "aria-label": ariaLabel, children, size: _size, ...props }, ref) => {
2966
- return /* @__PURE__ */ jsxRuntime.jsxs(
2967
- Skeleton.DialogContent,
2968
- {
2969
- gap: "0",
2970
- overflow: "hidden",
2971
- pb: "24",
2972
- ref,
2973
- transitionType: "pop",
2974
- ...props,
2975
- children: [
2976
- /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Title, { children: ariaLabel ?? "Quick search" }) }),
2977
- children
2978
- ]
2600
+ const [inputValue, setInputValue] = reactUseControllableState.useControllableState({
2601
+ defaultProp: "",
2602
+ onChange: onInputValueChange,
2603
+ prop: inputValueProp
2604
+ });
2605
+ const [activePath, setActivePath] = React.useState([]);
2606
+ React.useEffect(() => {
2607
+ if (inputValue && size === "sm") {
2608
+ setActivePath((path) => path.length ? [] : path);
2979
2609
  }
2980
- );
2981
- });
2982
- SpotlightContent.displayName = "@optiaxiom/react/SpotlightContent";
2610
+ }, [inputValue, size]);
2611
+ React.useEffect(() => {
2612
+ if (size === "sm") {
2613
+ if (!open) {
2614
+ setActivePath((path) => path.length ? [] : path);
2615
+ }
2616
+ } else {
2617
+ if (open) {
2618
+ setActivePath((path) => path.length ? [] : path);
2619
+ }
2620
+ }
2621
+ }, [open, size]);
2622
+ const inputRef = React.useRef(null);
2623
+ const options = React.useMemo(
2624
+ () => activePath.length && size === "lg" ? optionsProp[activePath[0]].subOptions ?? [] : size === "sm" ? optionsProp.map((option) => ({
2625
+ ...option,
2626
+ label: option.subOptions ? resolveItemProperty(option.label, { inputValue }).replace(
2627
+ "\u2026",
2628
+ ""
2629
+ ) : resolveItemProperty(option.label, { inputValue })
2630
+ })) : optionsProp,
2631
+ [activePath, inputValue, optionsProp, size]
2632
+ );
2633
+ const hasSelectableItem = React.useMemo(
2634
+ () => options.some((item) => "selected" in item),
2635
+ [options]
2636
+ );
2637
+ const inputDefaultVisibleRef = React.useRef(hasSelectableItem);
2638
+ inputDefaultVisibleRef.current = hasSelectableItem || defaultInputVisible || false;
2639
+ const [inputVisible, setInputVisible] = React.useState(
2640
+ inputDefaultVisibleRef.current
2641
+ );
2642
+ React.useEffect(() => {
2643
+ if (inputValue) {
2644
+ setInputVisible(true);
2645
+ }
2646
+ }, [inputValue]);
2647
+ React.useEffect(() => {
2648
+ if (open) {
2649
+ setInputVisible(inputDefaultVisibleRef.current);
2650
+ }
2651
+ }, [activePath, open]);
2652
+ return /* @__PURE__ */ jsxRuntime.jsx(Comp, { onOpenChange: setOpen, open, children: /* @__PURE__ */ jsxRuntime.jsx(
2653
+ MenuProvider,
2654
+ {
2655
+ activePath,
2656
+ inputRef,
2657
+ inputVisible,
2658
+ onSelect: (item, { close }) => {
2659
+ item.execute?.({ inputValue });
2660
+ if (typeof openProp === "undefined" && close) {
2661
+ setOpen(false);
2662
+ }
2663
+ },
2664
+ open,
2665
+ placeholder,
2666
+ setActivePath,
2667
+ setOpen,
2668
+ size,
2669
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2670
+ Command,
2671
+ {
2672
+ inputValue,
2673
+ onHover: (item) => {
2674
+ if (item.subOptions?.length) {
2675
+ const index = options.indexOf(item);
2676
+ setActivePath((path) => !path.includes(index) ? [index] : path);
2677
+ } else {
2678
+ setActivePath((path) => path.length ? [] : path);
2679
+ }
2680
+ },
2681
+ onInputValueChange: setInputValue,
2682
+ onSelect: (item, { close }) => {
2683
+ if (item.subOptions?.length) {
2684
+ const index = options.indexOf(item);
2685
+ setActivePath((path) => !path.includes(index) ? [index] : path);
2686
+ } else {
2687
+ item.execute?.({ inputValue });
2688
+ if (typeof openProp === "undefined" && close) {
2689
+ setOpen(false);
2690
+ }
2691
+ }
2692
+ },
2693
+ options,
2694
+ ...props,
2695
+ children
2696
+ }
2697
+ )
2698
+ }
2699
+ ) });
2700
+ }
2701
+ Menu.displayName = "@optiaxiom/react/Menu";
2983
2702
 
2984
- const SpotlightEmpty = React.forwardRef(
2985
- (props, ref) => {
2986
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxEmpty, { fontSize: "lg", gap: "12", p: "32", ref, ...props });
2703
+ const MenuDialogContent = React.forwardRef(
2704
+ ({
2705
+ align: _align,
2706
+ "aria-label": ariaLabel,
2707
+ children,
2708
+ side: _side,
2709
+ sideOffset: _sideOffset,
2710
+ ...props
2711
+ }, ref) => {
2712
+ return /* @__PURE__ */ jsxRuntime.jsxs(Skeleton.DialogContent, { ref, transitionType: "pop", ...props, children: [
2713
+ /* @__PURE__ */ jsxRuntime.jsx(RadixVisuallyHidden.VisuallyHidden, { tabIndex: -1, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.DialogHeader, { children: ariaLabel }) }),
2714
+ children
2715
+ ] });
2987
2716
  }
2988
2717
  );
2989
- SpotlightEmpty.displayName = "@optiaxiom/react/SpotlightEmpty";
2718
+ MenuDialogContent.displayName = "@optiaxiom/react/MenuDialogContent";
2990
2719
 
2991
- var input = Skeleton.recipeRuntime({base:[{border:'0',borderB:'1',borderColor:'border.secondary',rounded:'none'},'_1e8glwj']});
2720
+ var input = Skeleton.recipeRuntime({variants:{size:{sm:{m:'4'},lg:[{border:'0',borderB:'1',borderColor:'border.secondary',rounded:'none'},'f6257q']}}});
2992
2721
 
2993
- const SpotlightInput = React.forwardRef(
2994
- ({ addonAfter, className, ...props }, ref) => {
2995
- return /* @__PURE__ */ jsxRuntime.jsx(
2722
+ const MenuInput = React.forwardRef(
2723
+ ({ className, ...props }, outerRef) => {
2724
+ const { inputRef, open, size } = useMenuContext(
2725
+ "@optiaxiom/react/MenuInput"
2726
+ );
2727
+ const { downshift, highlightedItem } = useCommandContext(
2728
+ "@optiaxiom/react/MenuInput"
2729
+ );
2730
+ const ref = reactComposeRefs.useComposedRefs(inputRef, outerRef);
2731
+ const [minWidth, setMinWidth] = React.useState(160);
2732
+ const containerRef = React.useRef(null);
2733
+ React.useEffect(() => {
2734
+ if (!containerRef.current) {
2735
+ return;
2736
+ }
2737
+ const rect = containerRef.current.getBoundingClientRect();
2738
+ if (open && rect.width > minWidth) {
2739
+ setMinWidth(rect.width);
2740
+ }
2741
+ }, [downshift.inputValue, minWidth, open]);
2742
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { ref: containerRef, style: { minWidth }, children: /* @__PURE__ */ jsxRuntime.jsx(
2996
2743
  CommandInput,
2997
2744
  {
2998
- addonAfter: /* @__PURE__ */ jsxRuntime.jsxs(Skeleton.Flex, { flexDirection: "row", children: [
2999
- addonAfter,
3000
- /* @__PURE__ */ jsxRuntime.jsx(
3001
- Skeleton.DialogClose,
3002
- {
3003
- appearance: "default",
3004
- fontSize: "xs",
3005
- fontWeight: "500",
3006
- h: "xs",
3007
- size: "sm",
3008
- children: "ESC"
3009
- }
3010
- )
3011
- ] }),
3012
- addonBefore: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconMagnifyingGlass, {}),
2745
+ htmlSize: 1,
2746
+ onKeyDown: (event) => {
2747
+ if (!(event.target instanceof HTMLInputElement)) {
2748
+ return;
2749
+ }
2750
+ if (event.target.value) {
2751
+ return;
2752
+ }
2753
+ if (!highlightedItem) {
2754
+ return;
2755
+ }
2756
+ const subOptions = highlightedItem.subOptions;
2757
+ if (event.key === " ") {
2758
+ event.preventDefault();
2759
+ downshift.selectItem(highlightedItem);
2760
+ } else if (event.key === "ArrowRight" && subOptions?.length) {
2761
+ event.preventDefault();
2762
+ downshift.selectItem(highlightedItem);
2763
+ }
2764
+ },
3013
2765
  ref,
3014
- size: "xl",
3015
- ...input({}, className),
2766
+ size: size === "sm" ? "md" : "xl",
2767
+ ...input({ size }, className),
3016
2768
  ...props
3017
2769
  }
3018
- );
2770
+ ) });
3019
2771
  }
3020
2772
  );
3021
- SpotlightInput.displayName = "@optiaxiom/react/SpotlightInput";
2773
+ MenuInput.displayName = "@optiaxiom/react/MenuInput";
2774
+
2775
+ const MenuCheckboxItem = React.forwardRef(({ children, ...props }, ref) => {
2776
+ const Comp = props.item.link ? "a" : "div";
2777
+ const { inputValue } = useCommandContext("@optiaxiom/react/MenuCheckboxItem");
2778
+ return /* @__PURE__ */ jsxRuntime.jsx(CommandItem, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
2779
+ Skeleton.ListboxCheckboxItem,
2780
+ {
2781
+ addonBefore: props.item.addon,
2782
+ asChild: true,
2783
+ description: props.item.description,
2784
+ onCheckedChange: () => props.item.execute?.({ inputValue }),
2785
+ children: /* @__PURE__ */ jsxRuntime.jsx(Comp, { ...props.item.link && { href: props.item.link }, children })
2786
+ }
2787
+ ) });
2788
+ });
2789
+ MenuCheckboxItem.displayName = "@optiaxiom/react/MenuCheckboxItem";
3022
2790
 
3023
- const SpotlightItem = React.forwardRef(
3024
- (props, ref) => /* @__PURE__ */ jsxRuntime.jsx(CommandItem, { ref, ...props })
2791
+ const MenuItem = React.forwardRef(
2792
+ ({ children, ...props }, ref) => {
2793
+ const Comp = props.item.link ? "a" : "div";
2794
+ return /* @__PURE__ */ jsxRuntime.jsx(CommandItem, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
2795
+ Skeleton.ListboxItem,
2796
+ {
2797
+ addonBefore: props.item.addon,
2798
+ asChild: true,
2799
+ description: props.item.description,
2800
+ children: /* @__PURE__ */ jsxRuntime.jsx(Comp, { ...props.item.link && { href: props.item.link }, children })
2801
+ }
2802
+ ) });
2803
+ }
3025
2804
  );
3026
- SpotlightItem.displayName = "@optiaxiom/react/SpotlightItem";
2805
+ MenuItem.displayName = "@optiaxiom/react/MenuItem";
3027
2806
 
3028
- const SpotlightLabel = React.forwardRef(
2807
+ const MenuRadioItem = React.forwardRef(
3029
2808
  ({ children, ...props }, ref) => {
3030
- return /* @__PURE__ */ jsxRuntime.jsx(
3031
- Skeleton.Box,
2809
+ const Comp = props.item.link ? "a" : "div";
2810
+ return /* @__PURE__ */ jsxRuntime.jsx(CommandItem, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
2811
+ Skeleton.ListboxRadioItem,
3032
2812
  {
3033
- color: "fg.default",
3034
- fontSize: "lg",
3035
- fontWeight: "600",
3036
- pb: "12",
3037
- pt: "16",
3038
- px: "24",
2813
+ addonBefore: props.item.addon,
2814
+ asChild: true,
2815
+ description: props.item.description,
2816
+ children: /* @__PURE__ */ jsxRuntime.jsx(Comp, { ...props.item.link && { href: props.item.link }, children })
2817
+ }
2818
+ ) });
2819
+ }
2820
+ );
2821
+ MenuRadioItem.displayName = "@optiaxiom/react/MenuRadioItem";
2822
+
2823
+ const [MenuSubProvider, useMenuSubContext] = reactContext.createContext("@optiaxiom/react/MenuSub");
2824
+
2825
+ var content = Skeleton.recipeRuntime({base:['fy6jej']});
2826
+
2827
+ const MenuSubContent = React.forwardRef(
2828
+ ({ align = "start", children, className, item, side = "right", ...props }, outerRef) => {
2829
+ const { activePath, inputRef, onSelect, setOpen } = useMenuContext(
2830
+ "@optiaxiom/react/MenuSubContent"
2831
+ );
2832
+ const { inputValue, setInputValue } = useCommandContext(
2833
+ "@optiaxiom/react/MenuSubContent"
2834
+ );
2835
+ const {
2836
+ contentRef,
2837
+ open,
2838
+ setOpen: setSubOpen,
2839
+ setPresence
2840
+ } = useMenuSubContext("@optiaxiom/react/MenuSubContent");
2841
+ const ref = reactComposeRefs.useComposedRefs(contentRef, outerRef);
2842
+ let isFirstItem = true;
2843
+ let lastGroup = void 0;
2844
+ const shouldShowSeparator = (group) => {
2845
+ const show = !isFirstItem;
2846
+ isFirstItem = false;
2847
+ return show && group && group !== lastGroup && group.separator;
2848
+ };
2849
+ const shouldShowGroup = (group) => {
2850
+ const show = group !== lastGroup;
2851
+ lastGroup = group;
2852
+ return show && !group?.hidden;
2853
+ };
2854
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.TransitionGroup, { onPresenceChange: setPresence, open, children: /* @__PURE__ */ jsxRuntime.jsx(RadixMenu.DropdownMenuPortal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(
2855
+ Skeleton.OverlayListbox,
2856
+ {
2857
+ asChild: true,
2858
+ maxH: "sm",
2859
+ minW: "trigger",
3039
2860
  ref,
2861
+ ...content({}, className),
3040
2862
  ...props,
3041
- children
2863
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2864
+ RadixMenu.DropdownMenuContent,
2865
+ {
2866
+ align,
2867
+ alignOffset: -4,
2868
+ loop: true,
2869
+ onCloseAutoFocus: (event) => {
2870
+ if (activePath.length) {
2871
+ return;
2872
+ }
2873
+ event.preventDefault();
2874
+ inputRef.current?.focus();
2875
+ },
2876
+ onEscapeKeyDown: () => {
2877
+ setOpen(false);
2878
+ },
2879
+ onKeyDown: (event) => {
2880
+ if (event.key === "ArrowLeft") {
2881
+ event.preventDefault();
2882
+ setSubOpen(false);
2883
+ } else if (/^[A-Za-z0-9]$/.test(event.key)) {
2884
+ event.preventDefault();
2885
+ event.stopPropagation();
2886
+ inputRef.current?.focus();
2887
+ setInputValue(event.key);
2888
+ }
2889
+ },
2890
+ side,
2891
+ sideOffset: 0,
2892
+ children: children ?? item.subOptions?.map((item2, index) => {
2893
+ const type = "selected" in item2 ? item2.multi ? "checkbox" : "radio" : "action";
2894
+ let element;
2895
+ switch (type) {
2896
+ case "action":
2897
+ element = /* @__PURE__ */ jsxRuntime.jsx(
2898
+ RadixMenu.DropdownMenuItem,
2899
+ {
2900
+ asChild: true,
2901
+ onSelect: () => onSelect(item2, { close: true }),
2902
+ children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxItem, { addonBefore: item2.addon, children: resolveItemProperty(item2.label, { inputValue }) })
2903
+ }
2904
+ );
2905
+ break;
2906
+ case "checkbox":
2907
+ element = /* @__PURE__ */ jsxRuntime.jsx(
2908
+ RadixMenu.DropdownMenuCheckboxItem,
2909
+ {
2910
+ asChild: true,
2911
+ checked: resolveItemProperty(item2.selected),
2912
+ onKeyDown: (event) => {
2913
+ if (event.key === " ") {
2914
+ event.preventDefault();
2915
+ onSelect(item2, { close: false });
2916
+ }
2917
+ },
2918
+ onSelect: () => onSelect(item2, { close: true }),
2919
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2920
+ Skeleton.ListboxCheckboxItem,
2921
+ {
2922
+ addonBefore: item2.addon,
2923
+ onCheckedChange: () => onSelect(item2, { close: false }),
2924
+ children: resolveItemProperty(item2.label, { inputValue })
2925
+ }
2926
+ )
2927
+ }
2928
+ );
2929
+ break;
2930
+ case "radio":
2931
+ element = /* @__PURE__ */ jsxRuntime.jsx(
2932
+ RadixMenu.DropdownMenuCheckboxItem,
2933
+ {
2934
+ asChild: true,
2935
+ checked: resolveItemProperty(item2.selected),
2936
+ onKeyDown: (event) => {
2937
+ if (event.key === " ") {
2938
+ event.preventDefault();
2939
+ onSelect(item2, { close: false });
2940
+ }
2941
+ },
2942
+ onSelect: () => onSelect(item2, { close: true }),
2943
+ children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxRadioItem, { addonBefore: item2.addon, children: resolveItemProperty(item2.label, { inputValue }) })
2944
+ }
2945
+ );
2946
+ break;
2947
+ }
2948
+ const group = item2.group;
2949
+ return /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
2950
+ shouldShowSeparator(group) && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Separator, {}),
2951
+ shouldShowGroup(group) && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxLabel, { children: group.name }),
2952
+ element
2953
+ ] }, index);
2954
+ })
2955
+ }
2956
+ )
3042
2957
  }
3043
- );
2958
+ ) }) });
3044
2959
  }
3045
2960
  );
3046
- SpotlightLabel.displayName = "@optiaxiom/react/SpotlightLabel";
3047
-
3048
- const SpotlightListbox = React.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(CommandListbox, { gap: "8", ref, ...props }));
3049
- SpotlightListbox.displayName = "@optiaxiom/react/SpotlightListbox";
2961
+ MenuSubContent.displayName = "@optiaxiom/react/MenuSubContent";
3050
2962
 
3051
- var item$1 = Skeleton.recipeRuntime({base:[{fontWeight:'500',mx:'24',px:'16',py:'12'},'_1hz708r']});
2963
+ const MenuSubTrigger = React.forwardRef(
2964
+ ({ children, item, onPointerDown, ...props }, ref) => {
2965
+ const { downshift, pauseInteractionRef } = useCommandContext(
2966
+ "@optiaxiom/react/MenuSubTrigger"
2967
+ );
2968
+ const { contentRef, open } = useMenuSubContext(
2969
+ "@optiaxiom/react/MenuSubTrigger"
2970
+ );
2971
+ return /* @__PURE__ */ jsxRuntime.jsx(RadixMenu.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.FilteredSlot, { exclude: "disabled", children: /* @__PURE__ */ jsxRuntime.jsx(
2972
+ MenuItem,
2973
+ {
2974
+ addonAfter: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconAngleRight, {}),
2975
+ item,
2976
+ onPointerDown: (event) => {
2977
+ onPointerDown?.(event);
2978
+ if (open) {
2979
+ event.preventDefault();
2980
+ }
2981
+ },
2982
+ onPointerEnter: () => {
2983
+ downshift.selectItem(item);
2984
+ },
2985
+ onPointerLeave: (event) => {
2986
+ const box = contentRef.current?.getBoundingClientRect();
2987
+ if (!box) {
2988
+ return;
2989
+ }
2990
+ pauseInteractionRef.current.triangle = {
2991
+ bottom: {
2992
+ x: box.left,
2993
+ y: box.top + box.height
2994
+ },
2995
+ side: {
2996
+ x: event.clientX + 10 * (box.left > event.clientX ? -1 : 1),
2997
+ y: event.clientY
2998
+ },
2999
+ top: {
3000
+ x: box.left,
3001
+ y: box.top
3002
+ }
3003
+ };
3004
+ pauseInteractionRef.current.timer = window.setTimeout(() => {
3005
+ pauseInteractionRef.current.triangle = null;
3006
+ }, 50);
3007
+ },
3008
+ ref,
3009
+ ...props,
3010
+ children
3011
+ }
3012
+ ) }) });
3013
+ }
3014
+ );
3015
+ MenuSubTrigger.displayName = "@optiaxiom/react/MenuSubTrigger";
3052
3016
 
3053
- const SpotlightRadioItem = React.forwardRef(({ addonAfter, children, className, description, ...props }, ref) => {
3054
- return /* @__PURE__ */ jsxRuntime.jsx(SpotlightItem, { asChild: true, ref, ...item$1({}, className), ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
3055
- Skeleton.ListboxRadioItem,
3017
+ function MenuSub({ children, item }) {
3018
+ const { activePath, setActivePath } = useMenuContext(
3019
+ "@optiaxiom/react/MenuSub"
3020
+ );
3021
+ const { items } = useCommandContext("@optiaxiom/react/MenuSub");
3022
+ const index = items.indexOf(item);
3023
+ const [presence, setPresence] = React.useState();
3024
+ const contentRef = React.useRef(null);
3025
+ return /* @__PURE__ */ jsxRuntime.jsx(
3026
+ MenuSubProvider,
3056
3027
  {
3057
- addonAfter: addonAfter ?? /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconAngleRight, {}),
3058
- description: description && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { fontSize: "md", mt: "2", children: description }),
3059
- children
3028
+ contentRef,
3029
+ open: activePath[0] === index,
3030
+ presence,
3031
+ setOpen: () => {
3032
+ setActivePath(
3033
+ (path) => path.at(-1) === index ? path.slice(0, -1) : path
3034
+ );
3035
+ },
3036
+ setPresence,
3037
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(RadixMenu.DropdownMenu, { modal: false, open: activePath[0] === index || presence, children: [
3038
+ /* @__PURE__ */ jsxRuntime.jsx(MenuSubTrigger, { item }),
3039
+ /* @__PURE__ */ jsxRuntime.jsx(MenuSubContent, { item })
3040
+ ] })
3060
3041
  }
3061
- ) });
3062
- });
3063
- SpotlightRadioItem.displayName = "@optiaxiom/react/SpotlightRadioItem";
3064
-
3065
- const [CommandSubProvider, useCommandSubContext] = reactContext.createContext("@optiaxiom/react/CommandSub");
3042
+ );
3043
+ }
3044
+ MenuSub.displayName = "@optiaxiom/react/MenuSub";
3066
3045
 
3067
- const CommandSub = React.forwardRef(
3068
- ({ children, item, ...props }, ref) => {
3069
- return /* @__PURE__ */ jsxRuntime.jsx(CommandSubProvider, { item, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { ref, role: "group", ...props, children }) });
3046
+ const MenuListbox = React.forwardRef(
3047
+ ({ children, ...props }, ref) => {
3048
+ const { size } = useMenuContext("@optiaxiom/react/MenuListbox");
3049
+ let isFirstItem = true;
3050
+ let lastGroup = void 0;
3051
+ const shouldShowSeparator = (group) => {
3052
+ const show = !isFirstItem;
3053
+ isFirstItem = false;
3054
+ return show && group && group !== lastGroup && group.separator;
3055
+ };
3056
+ const shouldShowGroup = (group) => {
3057
+ const show = group !== lastGroup;
3058
+ lastGroup = group;
3059
+ return show && !group?.hidden;
3060
+ };
3061
+ return /* @__PURE__ */ jsxRuntime.jsx(CommandListbox, { ref, ...props, children: children ?? ((item, index) => {
3062
+ if (index === 0) {
3063
+ isFirstItem = true;
3064
+ lastGroup = void 0;
3065
+ }
3066
+ const Comp = item.subOptions?.length ? size === "sm" ? MenuSub : MenuItem : "selected" in item ? item.multi ? MenuCheckboxItem : MenuRadioItem : MenuItem;
3067
+ const group = item.group;
3068
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3069
+ shouldShowSeparator(group) && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxSeparator, {}),
3070
+ shouldShowGroup(group) && /* @__PURE__ */ jsxRuntime.jsx(Skeleton.ListboxLabel, { children: group.name }),
3071
+ /* @__PURE__ */ jsxRuntime.jsx(Comp, { item })
3072
+ ] });
3073
+ }) });
3070
3074
  }
3071
3075
  );
3072
- CommandSub.displayName = "@optiaxiom/react/CommandSub";
3076
+ MenuListbox.displayName = "@optiaxiom/react/MenuListbox";
3073
3077
 
3074
- const SpotlightSub = React.forwardRef(
3075
- ({ children, ...props }, ref) => {
3076
- return /* @__PURE__ */ jsxRuntime.jsx(CommandSub, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Flex, { flexDirection: "row", gap: "8", pt: "12", px: "24", children }) });
3078
+ const MenuPopoverContent = React.forwardRef((props, ref) => {
3079
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.PopoverContent, { maxH: "sm", minW: "trigger", ref, ...props });
3080
+ });
3081
+ MenuPopoverContent.displayName = "@optiaxiom/react/MenuPopoverContent";
3082
+
3083
+ const VisuallyHidden = React.forwardRef(
3084
+ ({ children, disabled, ...props }, ref) => {
3085
+ return /* @__PURE__ */ jsxRuntime.jsx(RadixVisuallyHidden__namespace.Root, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.FilteredSlot, { exclude: disabled ? "style" : void 0, children: /* @__PURE__ */ jsxRuntime.jsx("span", { children }) }) });
3077
3086
  }
3078
3087
  );
3079
- SpotlightSub.displayName = "@optiaxiom/react/SpotlightSub";
3088
+ VisuallyHidden.displayName = "@optiaxiom/react/VisuallyHidden";
3080
3089
 
3081
- const CommandSubItem = React.forwardRef(
3082
- ({ children, item, onClick, onMouseDown, onMouseMove, selected, ...props }, outerRef) => {
3083
- const {
3084
- downshift,
3085
- highlightedItem,
3086
- highlightedSubIndex,
3087
- isItemDisabled,
3088
- isItemSelected,
3089
- items,
3090
- itemToSubItems,
3091
- setHighlightedIndex,
3092
- setHighlightedSubIndex
3093
- } = useCommandContext("@optiaxiom/react/CommandSubItem");
3094
- const { item: parentItem } = useCommandSubContext(
3095
- "@optiaxiom/react/CommandSubItem"
3090
+ const MenuContent = React.forwardRef(
3091
+ ({ children, ...props }, ref) => {
3092
+ const { labelId } = Skeleton.useFieldContext();
3093
+ const { inputVisible, placeholder, size } = useMenuContext(
3094
+ "@optiaxiom/react/MenuContent"
3096
3095
  );
3097
- const subItems = itemToSubItems?.(parentItem) ?? [];
3098
- const highlightedSubItem = highlightedItem === parentItem && highlightedSubIndex !== -1 ? subItems[highlightedSubIndex] : null;
3099
- const index = items.indexOf(parentItem);
3100
- const subIndex = subItems.indexOf(item);
3101
- const disabled = isItemDisabled(item, subIndex);
3102
- const highlighted = highlightedSubItem === item;
3103
- const isSelected = selected ?? isItemSelected(item, index);
3104
- const innerRef = React.useRef(null);
3105
- const ref = reactComposeRefs.useComposedRefs(innerRef, outerRef);
3106
- React.useEffect(() => {
3107
- if (innerRef.current && isSelected) {
3108
- innerRef.current.scrollIntoView({ block: "nearest" });
3096
+ const { empty, loading } = useCommandContext(
3097
+ "@optiaxiom/react/MenuContent"
3098
+ );
3099
+ const Comp = size === "sm" ? MenuPopoverContent : MenuDialogContent;
3100
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3101
+ Comp,
3102
+ {
3103
+ "aria-labelledby": labelId,
3104
+ overflow: "hidden",
3105
+ p: size === "sm" ? "4" : "0",
3106
+ ref,
3107
+ ...props,
3108
+ children: [
3109
+ /* @__PURE__ */ jsxRuntime.jsx(VisuallyHidden, { disabled: inputVisible, children: /* @__PURE__ */ jsxRuntime.jsx(MenuInput, { placeholder }) }),
3110
+ /* @__PURE__ */ jsxRuntime.jsx(
3111
+ MenuListbox,
3112
+ {
3113
+ empty,
3114
+ loading,
3115
+ p: size === "lg" ? "6" : "0",
3116
+ children
3117
+ }
3118
+ )
3119
+ ]
3109
3120
  }
3110
- }, [isSelected]);
3121
+ );
3122
+ }
3123
+ );
3124
+ MenuContent.displayName = "@optiaxiom/react/MenuContent";
3125
+
3126
+ const MenuTrigger = React.forwardRef(
3127
+ ({ "aria-labelledby": ariaLabelledBy, asChild, children, ...props }, outerRef) => {
3128
+ const { setOpen, size } = useMenuContext("@optiaxiom/react/MenuTrigger");
3129
+ const Comp = size === "sm" ? Skeleton.PopoverTrigger : Skeleton.DialogTrigger;
3130
+ const buttonRef = React.useRef(null);
3131
+ const ref = reactComposeRefs.useComposedRefs(outerRef, buttonRef);
3132
+ const labelId = useFieldLabelTrigger(buttonRef, ariaLabelledBy);
3111
3133
  return /* @__PURE__ */ jsxRuntime.jsx(
3112
- CommandFocusableItem,
3134
+ Comp,
3113
3135
  {
3114
- "aria-disabled": disabled,
3115
- "aria-selected": isSelected,
3116
- "data-disabled": disabled ? "" : void 0,
3117
- "data-highlighted": highlighted ? "" : void 0,
3118
- onClick: (event) => {
3119
- onClick?.(event);
3120
- if (event.defaultPrevented) {
3121
- return;
3122
- }
3123
- event.preventDefault();
3124
- downshift.selectItem(item);
3125
- },
3126
- onMouseDown: (event) => {
3127
- onMouseDown?.(event);
3128
- event.preventDefault();
3129
- },
3130
- onMouseMove: (event) => {
3131
- onMouseMove?.(event);
3132
- if (event.defaultPrevented) {
3133
- return;
3136
+ "aria-labelledby": labelId,
3137
+ asChild: true,
3138
+ onKeyDown: (event) => {
3139
+ switch (event.key) {
3140
+ case "ArrowDown":
3141
+ case "ArrowUp":
3142
+ setOpen(true);
3134
3143
  }
3135
- setHighlightedIndex(index, "pointer");
3136
- setHighlightedSubIndex(subIndex, "pointer");
3137
3144
  },
3138
3145
  ref,
3139
- role: "option",
3140
3146
  ...props,
3141
- children
3147
+ children: asChild ? children : /* @__PURE__ */ jsxRuntime.jsx(Skeleton.AngleMenuButton, { children })
3142
3148
  }
3143
3149
  );
3144
3150
  }
3145
3151
  );
3146
- CommandSubItem.displayName = "@optiaxiom/react/CommandSubItem";
3152
+ MenuTrigger.displayName = "@optiaxiom/react/MenuTrigger";
3147
3153
 
3148
- var item = Skeleton.recipeRuntime({base:[{cursor:'pointer'}],variants:{active:{false:'_1d3ixq',true:'ojdloy'}}});
3154
+ var pill = Skeleton.recipeRuntime({base:[{alignItems:'center',color:'fg.default',display:'flex',fontSize:'sm',gap:'4',px:'6',rounded:'md',whiteSpace:'nowrap'},'tdfzjm'],variants:{size:{xs:{h:'xs'},sm:{h:'sm'}}}});
3149
3155
 
3150
- const SpotlightSubItem = React.forwardRef(({ children, className, selected, ...props }, ref) => {
3151
- return /* @__PURE__ */ jsxRuntime.jsx(
3152
- CommandSubItem,
3153
- {
3154
- asChild: true,
3155
- ref,
3156
- selected,
3157
- ...item({ active: selected || false }, className),
3158
- ...props,
3159
- children: /* @__PURE__ */ jsxRuntime.jsx(
3160
- Skeleton.Badge,
3161
- {
3162
- intent: selected ? "information" : "neutral",
3163
- variant: selected ? "strong" : "subtle",
3164
- children
3165
- }
3166
- )
3167
- }
3168
- );
3156
+ const Pill = React.forwardRef(
3157
+ ({ asChild, children, className, disabled, size = "sm", ...props }, ref) => {
3158
+ const Comp = asChild ? reactSlot.Slot : "button";
3159
+ const { boxProps, restProps } = Skeleton.extractBoxProps(props);
3160
+ return /* @__PURE__ */ jsxRuntime.jsx(
3161
+ Skeleton.Box,
3162
+ {
3163
+ asChild: true,
3164
+ "data-disabled": disabled ? "" : void 0,
3165
+ ...pill({ size }, className),
3166
+ ...boxProps,
3167
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Comp, { disabled, ref, ...restProps, children: [
3168
+ /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Text, { truncate: true, children }),
3169
+ /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Icon, { asChild: true, h: "12", ml: "auto", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconX, {}) })
3170
+ ] })
3171
+ }
3172
+ );
3173
+ }
3174
+ );
3175
+ Pill.displayName = "@optiaxiom/react/Pill";
3176
+
3177
+ const PillGroup = React.forwardRef(
3178
+ ({ children, ...props }, ref) => {
3179
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Flex, { flexDirection: "row", gap: "12", ref, ...props, children });
3180
+ }
3181
+ );
3182
+ PillGroup.displayName = "@optiaxiom/react/PillGroup";
3183
+
3184
+ function Spotlight({ children, ...props }) {
3185
+ return /* @__PURE__ */ jsxRuntime.jsx(Menu, { defaultInputVisible: true, size: "lg", ...props, children });
3186
+ }
3187
+ Spotlight.displayName = "@optiaxiom/react/Spotlight";
3188
+
3189
+ const SpotlightContent = React.forwardRef((props, ref) => {
3190
+ return /* @__PURE__ */ jsxRuntime.jsx(MenuContent, { "aria-label": "Quick search", ref, ...props });
3169
3191
  });
3170
- SpotlightSubItem.displayName = "@optiaxiom/react/SpotlightSubItem";
3192
+ SpotlightContent.displayName = "@optiaxiom/react/SpotlightContent";
3171
3193
 
3172
3194
  const DEFAULT_HOTKEY = "mod+K";
3173
3195
  const SpotlightTrigger = React.forwardRef(({ children, hotkey = DEFAULT_HOTKEY, ...props }, ref) => {
3174
- const { open, setOpen } = useSpotlightContext(
3175
- "@optiaxiom/react/SpotlightTrigger"
3176
- );
3196
+ const { open, setOpen } = useMenuContext("@optiaxiom/react/SpotlightTrigger");
3177
3197
  useHotkeys([[hotkey, () => setOpen(!open)]]);
3178
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton.DialogTrigger, { icon: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconMagnifyingGlass, {}), ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { color: "fg.tertiary", children }) });
3198
+ return /* @__PURE__ */ jsxRuntime.jsx(MenuTrigger, { asChild: true, ref, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Button, { icon: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.IconMagnifyingGlass, {}), children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton.Box, { color: "fg.tertiary", children }) }) });
3179
3199
  });
3180
3200
  SpotlightTrigger.displayName = "@optiaxiom/react/SpotlightTrigger";
3181
3201
 
@@ -3202,18 +3222,6 @@ exports.CardLink = CardLink;
3202
3222
  exports.CardOverflow = CardOverflow;
3203
3223
  exports.CardTitle = CardTitle;
3204
3224
  exports.Clock = Clock;
3205
- exports.Combobox = Combobox;
3206
- exports.ComboboxCheckboxItem = ComboboxCheckboxItem;
3207
- exports.ComboboxContent = ComboboxContent;
3208
- exports.ComboboxFooter = ComboboxFooter;
3209
- exports.ComboboxGroup = ComboboxGroup;
3210
- exports.ComboboxInput = ComboboxInput;
3211
- exports.ComboboxItem = ComboboxItem;
3212
- exports.ComboboxLabel = ComboboxLabel;
3213
- exports.ComboboxListbox = ComboboxListbox;
3214
- exports.ComboboxRadioItem = ComboboxRadioItem;
3215
- exports.ComboboxSeparator = ComboboxSeparator;
3216
- exports.ComboboxTrigger = ComboboxTrigger;
3217
3225
  exports.Command = Command;
3218
3226
  exports.CommandInput = CommandInput;
3219
3227
  exports.CommandItem = CommandItem;
@@ -3228,35 +3236,20 @@ exports.DatePickerTrigger = DatePickerTrigger;
3228
3236
  exports.DateRangePicker = DateRangePicker;
3229
3237
  exports.DateRangePickerContent = DateRangePickerContent;
3230
3238
  exports.DateRangePickerTrigger = DateRangePickerTrigger;
3231
- exports.DropdownMenuCombobox = DropdownMenuCombobox;
3232
- exports.DropdownMenuComboboxContent = DropdownMenuComboboxContent;
3233
- exports.DropdownMenuComboboxInput = DropdownMenuComboboxInput;
3234
- exports.DropdownMenuComboboxListbox = DropdownMenuComboboxListbox;
3235
- exports.DropdownMenuComboboxTrigger = DropdownMenuComboboxTrigger;
3236
3239
  exports.Highlight = Highlight;
3237
3240
  exports.InlineInput = InlineInput;
3238
3241
  exports.LabelMenuButton = LabelMenuButton;
3239
3242
  exports.Layout = Layout;
3243
+ exports.Menu = Menu;
3244
+ exports.MenuContent = MenuContent;
3245
+ exports.MenuTrigger = MenuTrigger;
3240
3246
  exports.Pill = Pill;
3241
3247
  exports.PillGroup = PillGroup;
3242
3248
  exports.Select = Select;
3243
3249
  exports.SelectContent = SelectContent;
3244
- exports.SelectGroup = SelectGroup;
3245
- exports.SelectItem = SelectItem;
3246
- exports.SelectLabel = SelectLabel;
3247
- exports.SelectRadioItem = SelectRadioItem;
3248
- exports.SelectSeparator = SelectSeparator;
3249
3250
  exports.SelectTrigger = SelectTrigger;
3250
3251
  exports.Spotlight = Spotlight;
3251
3252
  exports.SpotlightContent = SpotlightContent;
3252
- exports.SpotlightEmpty = SpotlightEmpty;
3253
- exports.SpotlightInput = SpotlightInput;
3254
- exports.SpotlightItem = SpotlightItem;
3255
- exports.SpotlightLabel = SpotlightLabel;
3256
- exports.SpotlightListbox = SpotlightListbox;
3257
- exports.SpotlightRadioItem = SpotlightRadioItem;
3258
- exports.SpotlightSub = SpotlightSub;
3259
- exports.SpotlightSubItem = SpotlightSubItem;
3260
3253
  exports.SpotlightTrigger = SpotlightTrigger;
3261
3254
  exports.Table = Table;
3262
3255
  exports.TableAction = TableAction;