@cube-dev/ui-kit 0.181.0 → 0.183.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 (1133) hide show
  1. package/dist/CHANGELOG.md +34 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +48 -31
  3. package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +22 -7
  5. package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-event.js.map +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  9. package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
  10. package/dist/_internal/hooks/use-sync-ref.js +12 -4
  11. package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
  12. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  13. package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
  14. package/dist/_internal/hooks/use-timer/use-timer.js +90 -20
  15. package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
  16. package/dist/_internal/hooks/use-warn.js +4 -4
  17. package/dist/_internal/hooks/use-warn.js.map +1 -1
  18. package/dist/components/Block.js +29 -7
  19. package/dist/components/Block.js.map +1 -1
  20. package/dist/components/CollectionItem.js +1 -1
  21. package/dist/components/CollectionItem.js.map +1 -1
  22. package/dist/components/GlobalStyles.js +33 -9
  23. package/dist/components/GlobalStyles.js.map +1 -1
  24. package/dist/components/GridProvider.js +4 -4
  25. package/dist/components/GridProvider.js.map +1 -1
  26. package/dist/components/HiddenInput.js +1 -1
  27. package/dist/components/HiddenInput.js.map +1 -1
  28. package/dist/components/Root.js +137 -42
  29. package/dist/components/Root.js.map +1 -1
  30. package/dist/components/actions/Action/Action.js +20 -8
  31. package/dist/components/actions/Action/Action.js.map +1 -1
  32. package/dist/components/actions/Banner/Banner.js +91 -22
  33. package/dist/components/actions/Banner/Banner.js.map +1 -1
  34. package/dist/components/actions/Button/Button.js +7 -5
  35. package/dist/components/actions/Button/Button.js.map +1 -1
  36. package/dist/components/actions/ButtonGroup/ButtonGroup.js +15 -5
  37. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  38. package/dist/components/actions/ButtonSplit/ButtonSplit.js +6 -4
  39. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  40. package/dist/components/actions/ButtonSplit/context.js +1 -1
  41. package/dist/components/actions/ButtonSplit/context.js.map +1 -1
  42. package/dist/components/actions/CommandMenu/CommandMenu.js +76 -76
  43. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  44. package/dist/components/actions/CommandMenu/styled.js +1 -1
  45. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  46. package/dist/components/actions/ItemAction/ItemAction.js +205 -68
  47. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  48. package/dist/components/actions/ItemActionContext.js +26 -7
  49. package/dist/components/actions/ItemActionContext.js.map +1 -1
  50. package/dist/components/actions/ItemActionsWrapper.js +215 -84
  51. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  52. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  53. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  54. package/dist/components/actions/Link/Link.js +16 -7
  55. package/dist/components/actions/Link/Link.js.map +1 -1
  56. package/dist/components/actions/Menu/Menu.js +127 -72
  57. package/dist/components/actions/Menu/Menu.js.map +1 -1
  58. package/dist/components/actions/Menu/MenuItem.js +116 -43
  59. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  60. package/dist/components/actions/Menu/MenuSection.js +85 -30
  61. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  62. package/dist/components/actions/Menu/MenuTrigger.js +316 -112
  63. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  64. package/dist/components/actions/Menu/SubMenuTrigger.js +6 -6
  65. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  66. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  67. package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
  68. package/dist/components/actions/Menu/context.js +1 -1
  69. package/dist/components/actions/Menu/context.js.map +1 -1
  70. package/dist/components/actions/Menu/styled.js +1 -1
  71. package/dist/components/actions/Menu/styled.js.map +1 -1
  72. package/dist/components/actions/actions-run.js +1 -1
  73. package/dist/components/actions/actions-run.js.map +1 -1
  74. package/dist/components/actions/index.js +1 -1
  75. package/dist/components/actions/index.js.map +1 -1
  76. package/dist/components/actions/use-action.js +3 -3
  77. package/dist/components/actions/use-action.js.map +1 -1
  78. package/dist/components/actions/use-anchored-menu.js +6 -6
  79. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  80. package/dist/components/actions/use-context-menu.js +12 -12
  81. package/dist/components/actions/use-context-menu.js.map +1 -1
  82. package/dist/components/content/ActiveZone/ActiveZone.js +84 -18
  83. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  84. package/dist/components/content/Alert/Alert.js +18 -7
  85. package/dist/components/content/Alert/Alert.js.map +1 -1
  86. package/dist/components/content/Alert/use-alert.js +53 -15
  87. package/dist/components/content/Alert/use-alert.js.map +1 -1
  88. package/dist/components/content/Avatar/Avatar.js +51 -13
  89. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  90. package/dist/components/content/Badge/Badge.js +43 -10
  91. package/dist/components/content/Badge/Badge.js.map +1 -1
  92. package/dist/components/content/Card/Card.js +29 -7
  93. package/dist/components/content/Card/Card.js.map +1 -1
  94. package/dist/components/content/Content.js +29 -7
  95. package/dist/components/content/Content.js.map +1 -1
  96. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  97. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  98. package/dist/components/content/CopySnippet/CopySnippet.js +220 -60
  99. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  100. package/dist/components/content/Disclosure/Disclosure.js +453 -194
  101. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  102. package/dist/components/content/Divider.js +52 -14
  103. package/dist/components/content/Divider.js.map +1 -1
  104. package/dist/components/content/Footer.js +29 -7
  105. package/dist/components/content/Footer.js.map +1 -1
  106. package/dist/components/content/Header.js +29 -7
  107. package/dist/components/content/Header.js.map +1 -1
  108. package/dist/components/content/HotKeys/HotKeys.js +55 -27
  109. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  110. package/dist/components/content/InfoBadge/InfoBadge.js +8 -8
  111. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  112. package/dist/components/content/InlineInput/InlineInput.js +429 -188
  113. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  114. package/dist/components/content/Item/Item.js +414 -155
  115. package/dist/components/content/Item/Item.js.map +1 -1
  116. package/dist/components/content/ItemBadge/ItemBadge.js +173 -59
  117. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  118. package/dist/components/content/ItemCard/ItemCard.js +34 -9
  119. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  120. package/dist/components/content/Layout/GridLayout.js +38 -10
  121. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  122. package/dist/components/content/Layout/Layout.js +30 -13
  123. package/dist/components/content/Layout/Layout.js.map +1 -1
  124. package/dist/components/content/Layout/LayoutBlock.js +33 -8
  125. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  126. package/dist/components/content/Layout/LayoutCenter.js +48 -11
  127. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  128. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  129. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  130. package/dist/components/content/Layout/LayoutContent.js +1 -1
  131. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  132. package/dist/components/content/Layout/LayoutContext.js +30 -21
  133. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  134. package/dist/components/content/Layout/LayoutFlex.js +33 -8
  135. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  136. package/dist/components/content/Layout/LayoutFooter.js +53 -14
  137. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  138. package/dist/components/content/Layout/LayoutGrid.js +48 -11
  139. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  140. package/dist/components/content/Layout/LayoutHeader.js +211 -57
  141. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  142. package/dist/components/content/Layout/LayoutPane.js +60 -14
  143. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  144. package/dist/components/content/Layout/LayoutPanel.js +59 -17
  145. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  146. package/dist/components/content/Layout/LayoutPanelHeader.js +89 -27
  147. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  148. package/dist/components/content/Layout/LayoutToolbar.js +33 -8
  149. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  150. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +206 -119
  151. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  152. package/dist/components/content/Layout/index.js +1 -1
  153. package/dist/components/content/Layout/index.js.map +1 -1
  154. package/dist/components/content/Layout/utils.js +1 -1
  155. package/dist/components/content/Layout/utils.js.map +1 -1
  156. package/dist/components/content/Paragraph.js +25 -9
  157. package/dist/components/content/Paragraph.js.map +1 -1
  158. package/dist/components/content/Placeholder/Placeholder.js +52 -14
  159. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  160. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  161. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  162. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  163. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  164. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +52 -17
  165. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  166. package/dist/components/content/Result/Result.js +117 -38
  167. package/dist/components/content/Result/Result.js.map +1 -1
  168. package/dist/components/content/Skeleton/Skeleton.js +26 -17
  169. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  170. package/dist/components/content/Tag/Tag.js +68 -13
  171. package/dist/components/content/Tag/Tag.js.map +1 -1
  172. package/dist/components/content/Text.d.ts +14 -14
  173. package/dist/components/content/Text.js +61 -14
  174. package/dist/components/content/Text.js.map +1 -1
  175. package/dist/components/content/TextItem/TextItem.js +37 -16
  176. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  177. package/dist/components/content/Title.js +98 -23
  178. package/dist/components/content/Title.js.map +1 -1
  179. package/dist/components/content/Tree/Tree.js +32 -32
  180. package/dist/components/content/Tree/Tree.js.map +1 -1
  181. package/dist/components/content/Tree/TreeNode.js +10 -10
  182. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  183. package/dist/components/content/Tree/styled.js +1 -1
  184. package/dist/components/content/Tree/styled.js.map +1 -1
  185. package/dist/components/content/Tree/tree-index.js +1 -1
  186. package/dist/components/content/Tree/tree-index.js.map +1 -1
  187. package/dist/components/content/Tree/use-checkbox-tree.js +123 -89
  188. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  189. package/dist/components/content/Tree/use-load-data.js +52 -21
  190. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  191. package/dist/components/content/highlightText.js +1 -1
  192. package/dist/components/content/highlightText.js.map +1 -1
  193. package/dist/components/content/use-auto-tooltip.js +1 -1
  194. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  195. package/dist/components/data/DataTable/DataTable.js +31 -31
  196. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  197. package/dist/components/data/ItemTable/ItemTable.js +41 -41
  198. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  199. package/dist/components/data/ItemTable/ItemTableBulkBar.js +11 -11
  200. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  201. package/dist/components/data/ItemTable/ItemTableDragPreview.js +41 -4
  202. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  203. package/dist/components/data/ItemTable/ItemTableFooter.js +67 -30
  204. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  205. package/dist/components/data/ItemTable/ItemTableToolbar.js +95 -28
  206. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  207. package/dist/components/data/TableBase/ColumnResizer.js +90 -41
  208. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  209. package/dist/components/data/TableBase/RowCollection.js +1 -1
  210. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  211. package/dist/components/data/TableBase/TableHeaderCell.js +154 -64
  212. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  213. package/dist/components/data/TableBase/TableRow.js +211 -69
  214. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  215. package/dist/components/data/TableBase/TableView.js +119 -80
  216. package/dist/components/data/TableBase/TableView.js.map +1 -1
  217. package/dist/components/data/TableBase/column-menu.js +1 -1
  218. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  219. package/dist/components/data/TableBase/column-tint.js +1 -1
  220. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  221. package/dist/components/data/TableBase/row-menu.js +1 -1
  222. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  223. package/dist/components/data/TableBase/styled.js +1 -1
  224. package/dist/components/data/TableBase/styled.js.map +1 -1
  225. package/dist/components/data/TableBase/table-tree.js +1 -1
  226. package/dist/components/data/TableBase/table-tree.js.map +1 -1
  227. package/dist/components/data/TableBase/types.js +1 -1
  228. package/dist/components/data/TableBase/types.js.map +1 -1
  229. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  230. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  231. package/dist/components/data/TableBase/use-column-order.js +56 -12
  232. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  233. package/dist/components/data/TableBase/use-container-width.js +24 -10
  234. package/dist/components/data/TableBase/use-container-width.js.map +1 -1
  235. package/dist/components/data/TableBase/use-row-move-animation.js +68 -49
  236. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
  237. package/dist/components/data/TableBase/use-scrollability.js +32 -18
  238. package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
  239. package/dist/components/data/TableBase/use-table-columns.js +130 -60
  240. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  241. package/dist/components/data/TableBase/use-table-search.js +1 -1
  242. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  243. package/dist/components/data/TableBase/use-table-selection.js +39 -39
  244. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  245. package/dist/components/data/TableBase/use-table-sort.js +132 -68
  246. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  247. package/dist/components/data/TableBase/use-table-sorts.js +168 -101
  248. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  249. package/dist/components/data/TableBase/use-table-storage.js +2 -2
  250. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  251. package/dist/components/data/TableBase/use-table-tree-state.js +181 -86
  252. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  253. package/dist/components/fields/Checkbox/Checkbox.js +13 -6
  254. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  255. package/dist/components/fields/Checkbox/CheckboxGroup.js +101 -33
  256. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  257. package/dist/components/fields/Checkbox/context.js +1 -1
  258. package/dist/components/fields/Checkbox/context.js.map +1 -1
  259. package/dist/components/fields/ColorInput/ColorInput.js +329 -150
  260. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  261. package/dist/components/fields/ColorPicker/ColorPicker.js +16 -16
  262. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  263. package/dist/components/fields/ColorSwatch/ColorSwatch.js +52 -13
  264. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  265. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +90 -28
  266. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  267. package/dist/components/fields/ComboBox/ComboBox.js +216 -134
  268. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  269. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +21 -1
  270. package/dist/components/fields/CommandTextArea/CommandTextArea.js +26 -7
  271. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  272. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  273. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  274. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +88 -49
  275. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
  276. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  277. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  278. package/dist/components/fields/DatePicker/DateInputBase.js +129 -34
  279. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  280. package/dist/components/fields/DatePicker/DatePicker.js +194 -66
  281. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  282. package/dist/components/fields/DatePicker/DatePickerButton.js +39 -8
  283. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  284. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  285. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  286. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  287. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  288. package/dist/components/fields/DatePicker/DatePickerSegment.js +109 -29
  289. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  290. package/dist/components/fields/DatePicker/DateRangePicker.js +224 -85
  291. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  292. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +473 -177
  293. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  294. package/dist/components/fields/DatePicker/MonthPicker.js +15 -6
  295. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
  296. package/dist/components/fields/DatePicker/PeriodPicker.js +288 -91
  297. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  298. package/dist/components/fields/DatePicker/QuarterPicker.js +15 -6
  299. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
  300. package/dist/components/fields/DatePicker/TimeInput.js +15 -7
  301. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  302. package/dist/components/fields/DatePicker/WeekPicker.js +15 -6
  303. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
  304. package/dist/components/fields/DatePicker/YearPicker.js +15 -6
  305. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
  306. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  307. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  308. package/dist/components/fields/DatePicker/period.js +1 -1
  309. package/dist/components/fields/DatePicker/period.js.map +1 -1
  310. package/dist/components/fields/DatePicker/props.js +1 -1
  311. package/dist/components/fields/DatePicker/props.js.map +1 -1
  312. package/dist/components/fields/DatePicker/utils.js +15 -8
  313. package/dist/components/fields/DatePicker/utils.js.map +1 -1
  314. package/dist/components/fields/FileInput/FileInput.js +3 -3
  315. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  316. package/dist/components/fields/FilterListBox/FilterListBox.js +87 -87
  317. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  318. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +2 -0
  319. package/dist/components/fields/FilterPicker/FilterPicker.js +24 -23
  320. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  321. package/dist/components/fields/Input/Input.js +1 -1
  322. package/dist/components/fields/Input/Input.js.map +1 -1
  323. package/dist/components/fields/ListBox/DraggableListBox.js +23 -10
  324. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
  325. package/dist/components/fields/ListBox/ListBox.js +138 -53
  326. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  327. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +156 -37
  328. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  329. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  330. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
  331. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +61 -33
  332. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  333. package/dist/components/fields/NumberInput/NumberInput.js +123 -33
  334. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  335. package/dist/components/fields/NumberInput/StepButton.js +53 -15
  336. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  337. package/dist/components/fields/PasswordInput/PasswordInput.js +149 -45
  338. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  339. package/dist/components/fields/Picker/Picker.d.ts +2 -0
  340. package/dist/components/fields/Picker/Picker.js +10 -9
  341. package/dist/components/fields/Picker/Picker.js.map +1 -1
  342. package/dist/components/fields/RadioGroup/Radio.js +273 -104
  343. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  344. package/dist/components/fields/RadioGroup/RadioGroup.js +149 -48
  345. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  346. package/dist/components/fields/RadioGroup/context.js +1 -1
  347. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  348. package/dist/components/fields/SearchComboBox/SearchComboBox.js +80 -65
  349. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  350. package/dist/components/fields/SearchInput/SearchInput.js +91 -28
  351. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  352. package/dist/components/fields/Select/Select.d.ts +2 -0
  353. package/dist/components/fields/Select/Select.js +373 -118
  354. package/dist/components/fields/Select/Select.js.map +1 -1
  355. package/dist/components/fields/Slider/Gradation.js +45 -10
  356. package/dist/components/fields/Slider/Gradation.js.map +1 -1
  357. package/dist/components/fields/Slider/HueSlider.js +121 -32
  358. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  359. package/dist/components/fields/Slider/RangeSlider.js +46 -10
  360. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  361. package/dist/components/fields/Slider/Slider.js +108 -23
  362. package/dist/components/fields/Slider/Slider.js.map +1 -1
  363. package/dist/components/fields/Slider/SliderBase.js +2 -2
  364. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  365. package/dist/components/fields/Slider/SliderThumb.js +96 -37
  366. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  367. package/dist/components/fields/Slider/SliderTrack.js +64 -23
  368. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  369. package/dist/components/fields/Slider/elements.js +1 -1
  370. package/dist/components/fields/Slider/elements.js.map +1 -1
  371. package/dist/components/fields/Slider/index.js +1 -1
  372. package/dist/components/fields/Switch/Switch.js +190 -66
  373. package/dist/components/fields/Switch/Switch.js.map +1 -1
  374. package/dist/components/fields/TextArea/TextArea.js +137 -47
  375. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  376. package/dist/components/fields/TextInput/TextInput.js +80 -27
  377. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  378. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  379. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  380. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  381. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  382. package/dist/components/fields/TextInputMapper/TextInputMapper.js +156 -83
  383. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  384. package/dist/components/fields/TriggerActions.js +11 -2
  385. package/dist/components/fields/TriggerActions.js.map +1 -1
  386. package/dist/components/fields/color/ColorPanel.js +237 -59
  387. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  388. package/dist/components/fields/color/channels.js +1 -1
  389. package/dist/components/fields/color/channels.js.map +1 -1
  390. package/dist/components/fields/color/color.js +1 -1
  391. package/dist/components/fields/color/color.js.map +1 -1
  392. package/dist/components/fields/color/context.js +1 -1
  393. package/dist/components/fields/color/context.js.map +1 -1
  394. package/dist/components/form/FieldWrapper/FieldWrapper.js +195 -72
  395. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  396. package/dist/components/form/Form/Field.js +23 -9
  397. package/dist/components/form/Form/Field.js.map +1 -1
  398. package/dist/components/form/Form/Form.js +76 -30
  399. package/dist/components/form/Form/Form.js.map +1 -1
  400. package/dist/components/form/Form/ModernFormRoot.js +294 -81
  401. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  402. package/dist/components/form/Form/ResetButton/ResetButton.js +32 -10
  403. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  404. package/dist/components/form/Form/SubmitButton/SubmitButton.js +32 -10
  405. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  406. package/dist/components/form/Form/SubmitError.js +130 -32
  407. package/dist/components/form/Form/SubmitError.js.map +1 -1
  408. package/dist/components/form/Form/backend.js +1 -1
  409. package/dist/components/form/Form/backend.js.map +1 -1
  410. package/dist/components/form/Form/index.js +1 -1
  411. package/dist/components/form/Form/index.js.map +1 -1
  412. package/dist/components/form/Form/modern/actions.js +140 -45
  413. package/dist/components/form/Form/modern/actions.js.map +1 -1
  414. package/dist/components/form/Form/modern/context.js +1 -1
  415. package/dist/components/form/Form/modern/context.js.map +1 -1
  416. package/dist/components/form/Form/modern/controller.js +1 -1
  417. package/dist/components/form/Form/modern/controller.js.map +1 -1
  418. package/dist/components/form/Form/modern/field-binding.js +1 -1
  419. package/dist/components/form/Form/modern/field-binding.js.map +1 -1
  420. package/dist/components/form/Form/modern/field.js +1 -1
  421. package/dist/components/form/Form/modern/field.js.map +1 -1
  422. package/dist/components/form/Form/modern/react.js +102 -19
  423. package/dist/components/form/Form/modern/react.js.map +1 -1
  424. package/dist/components/form/Form/modern/store.js +13 -3
  425. package/dist/components/form/Form/modern/store.js.map +1 -1
  426. package/dist/components/form/Form/modern/types.d.ts +3 -1
  427. package/dist/components/form/Form/modern/validation.js +1 -1
  428. package/dist/components/form/Form/modern/validation.js.map +1 -1
  429. package/dist/components/form/Form/modern/values.js +1 -1
  430. package/dist/components/form/Form/modern/values.js.map +1 -1
  431. package/dist/components/form/Form/use-field/use-field-binding.js +236 -63
  432. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  433. package/dist/components/form/Form/use-field/use-field-props.js +106 -61
  434. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  435. package/dist/components/form/Form/use-field/use-field.js +5 -4
  436. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  437. package/dist/components/form/Form/use-form.js +2 -1
  438. package/dist/components/form/Form/use-form.js.map +1 -1
  439. package/dist/components/form/Form/validation.js +1 -1
  440. package/dist/components/form/Form/validation.js.map +1 -1
  441. package/dist/components/form/Label.js +127 -37
  442. package/dist/components/form/Label.js.map +1 -1
  443. package/dist/components/form/validation/ValidationIndicator.js +20 -5
  444. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  445. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  446. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  447. package/dist/components/form/validation/use-validation-props.js +36 -10
  448. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  449. package/dist/components/form/wrapper.js +1 -1
  450. package/dist/components/form/wrapper.js.map +1 -1
  451. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +49 -29
  452. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  453. package/dist/components/helpers/IconSwitch/IconSwitch.js +8 -8
  454. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  455. package/dist/components/layout/Board/Board.js +27 -9
  456. package/dist/components/layout/Board/Board.js.map +1 -1
  457. package/dist/components/layout/Board/BoardProvider.js +1 -1
  458. package/dist/components/layout/Board/BoardProvider.js.map +1 -1
  459. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  460. package/dist/components/layout/Board/BoardResponsive.js.map +1 -1
  461. package/dist/components/layout/Board/Widget.js +1 -1
  462. package/dist/components/layout/Board/Widget.js.map +1 -1
  463. package/dist/components/layout/Board/WidgetHost.js +159 -121
  464. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  465. package/dist/components/layout/Board/board-context.js +14 -5
  466. package/dist/components/layout/Board/board-context.js.map +1 -1
  467. package/dist/components/layout/Board/board-store.js +1 -1
  468. package/dist/components/layout/Board/board-store.js.map +1 -1
  469. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  470. package/dist/components/layout/Board/grid-core/calculate.js.map +1 -1
  471. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  472. package/dist/components/layout/Board/grid-core/collision-modes.js.map +1 -1
  473. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  474. package/dist/components/layout/Board/grid-core/collision.js.map +1 -1
  475. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  476. package/dist/components/layout/Board/grid-core/compactors.js.map +1 -1
  477. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  478. package/dist/components/layout/Board/grid-core/constraints.js.map +1 -1
  479. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  480. package/dist/components/layout/Board/grid-core/group-move.js.map +1 -1
  481. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  482. package/dist/components/layout/Board/grid-core/layout.js.map +1 -1
  483. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  484. package/dist/components/layout/Board/grid-core/placement.js.map +1 -1
  485. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  486. package/dist/components/layout/Board/grid-core/sort.js.map +1 -1
  487. package/dist/components/layout/Board/index.js +1 -1
  488. package/dist/components/layout/Board/index.js.map +1 -1
  489. package/dist/components/layout/Board/responsive-utils.js +1 -1
  490. package/dist/components/layout/Board/responsive-utils.js.map +1 -1
  491. package/dist/components/layout/Board/use-board-layout.js +8 -8
  492. package/dist/components/layout/Board/use-board-layout.js.map +1 -1
  493. package/dist/components/layout/Board/use-board-registry.js +257 -257
  494. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  495. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  496. package/dist/components/layout/Board/use-board-select-modifier-key.js.map +1 -1
  497. package/dist/components/layout/Board/use-board-selection.js +16 -16
  498. package/dist/components/layout/Board/use-board-selection.js.map +1 -1
  499. package/dist/components/layout/Flex.js +29 -7
  500. package/dist/components/layout/Flex.js.map +1 -1
  501. package/dist/components/layout/Flow.js +29 -7
  502. package/dist/components/layout/Flow.js.map +1 -1
  503. package/dist/components/layout/Grid.js +30 -7
  504. package/dist/components/layout/Grid.js.map +1 -1
  505. package/dist/components/layout/Panel.js +9 -9
  506. package/dist/components/layout/Panel.js.map +1 -1
  507. package/dist/components/layout/Prefix.js +59 -16
  508. package/dist/components/layout/Prefix.js.map +1 -1
  509. package/dist/components/layout/ResizablePanel.js +62 -32
  510. package/dist/components/layout/ResizablePanel.js.map +1 -1
  511. package/dist/components/layout/Space.js +55 -11
  512. package/dist/components/layout/Space.js.map +1 -1
  513. package/dist/components/layout/Suffix.js +59 -16
  514. package/dist/components/layout/Suffix.js.map +1 -1
  515. package/dist/components/navigation/Pagination/Pagination.js +394 -164
  516. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  517. package/dist/components/navigation/Pagination/use-pagination.js +69 -26
  518. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  519. package/dist/components/navigation/Tabs/DraggableTabList.js +25 -10
  520. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  521. package/dist/components/navigation/Tabs/TabButton.js +604 -235
  522. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  523. package/dist/components/navigation/Tabs/TabDropIndicator.js +65 -23
  524. package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
  525. package/dist/components/navigation/Tabs/TabPanel.js +47 -19
  526. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  527. package/dist/components/navigation/Tabs/TabPicker.js +105 -33
  528. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  529. package/dist/components/navigation/Tabs/Tabs.js +45 -45
  530. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  531. package/dist/components/navigation/Tabs/TabsAction.js +53 -19
  532. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  533. package/dist/components/navigation/Tabs/TabsContext.js +16 -6
  534. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  535. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  536. package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
  537. package/dist/components/navigation/Tabs/styled.js +1 -1
  538. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  539. package/dist/components/navigation/Tabs/types.js +1 -1
  540. package/dist/components/navigation/Tabs/types.js.map +1 -1
  541. package/dist/components/navigation/Tabs/use-tab-editing.js +50 -13
  542. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  543. package/dist/components/navigation/Tabs/use-tab-indicator.js +111 -63
  544. package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
  545. package/dist/components/organisms/StatsCard/StatsCard.js +54 -14
  546. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  547. package/dist/components/other/Calendar/Calendar.js +79 -31
  548. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  549. package/dist/components/other/Calendar/CalendarCell.js +66 -20
  550. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  551. package/dist/components/other/Calendar/CalendarGrid.js +90 -40
  552. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  553. package/dist/components/other/Calendar/CalendarHeader.js +80 -17
  554. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  555. package/dist/components/other/Calendar/CalendarPanel.js +568 -144
  556. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  557. package/dist/components/other/Calendar/PeriodCalendar.js +425 -134
  558. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  559. package/dist/components/other/Calendar/PeriodGrid.js +6 -6
  560. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  561. package/dist/components/other/Calendar/RangeCalendar.js +50 -24
  562. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  563. package/dist/components/other/Calendar/styled.js +1 -1
  564. package/dist/components/other/Calendar/styled.js.map +1 -1
  565. package/dist/components/other/CubeLogo/CubeLogo.js +95 -34
  566. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  567. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  568. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
  569. package/dist/components/overlays/AlertDialog/AlertDialog.js +153 -42
  570. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  571. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +76 -54
  572. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  573. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +146 -39
  574. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  575. package/dist/components/overlays/Dialog/Dialog.js +26 -10
  576. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  577. package/dist/components/overlays/Dialog/DialogContainer.js +13 -13
  578. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  579. package/dist/components/overlays/Dialog/DialogForm.d.ts +12 -7
  580. package/dist/components/overlays/Dialog/DialogForm.js +18 -7
  581. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  582. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
  583. package/dist/components/overlays/Dialog/DialogTrigger.js +214 -59
  584. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  585. package/dist/components/overlays/Dialog/ModernDialogForm.js +350 -0
  586. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -0
  587. package/dist/components/overlays/Dialog/context.js +1 -1
  588. package/dist/components/overlays/Dialog/context.js.map +1 -1
  589. package/dist/components/overlays/Dialog/index.d.ts +1 -1
  590. package/dist/components/overlays/Dialog/use-dialog-container.js +6 -6
  591. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  592. package/dist/components/overlays/Modal/Modal.js +140 -27
  593. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  594. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  595. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  596. package/dist/components/overlays/Modal/Overlay.js +4 -4
  597. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  598. package/dist/components/overlays/Modal/Popover.js +131 -29
  599. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  600. package/dist/components/overlays/Modal/Tray.js +142 -30
  601. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  602. package/dist/components/overlays/Modal/Underlay.js +36 -7
  603. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  604. package/dist/components/overlays/Notifications/Notification.js +69 -32
  605. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  606. package/dist/components/overlays/Notifications/NotificationAction.js +79 -26
  607. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  608. package/dist/components/overlays/Notifications/NotificationCard.js +138 -33
  609. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  610. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  611. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  612. package/dist/components/overlays/Notifications/NotificationItem.js +63 -16
  613. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  614. package/dist/components/overlays/Notifications/OverlayContainer.js +312 -151
  615. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  616. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  617. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  618. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +210 -58
  619. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  620. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  621. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  622. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -1
  623. package/dist/components/overlays/Notifications/format-relative-time.js +3 -3
  624. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  625. package/dist/components/overlays/Notifications/index.js +1 -1
  626. package/dist/components/overlays/Notifications/index.js.map +1 -1
  627. package/dist/components/overlays/Notifications/use-notification-state.js +51 -51
  628. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  629. package/dist/components/overlays/Notifications/use-notifications.js +12 -12
  630. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  631. package/dist/components/overlays/Notifications/use-overlay-timers.js +10 -10
  632. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  633. package/dist/components/overlays/Notifications/use-persistent-notifications.js +24 -5
  634. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  635. package/dist/components/overlays/Notifications/use-persistent-state.js +145 -43
  636. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  637. package/dist/components/overlays/Notifications/use-toast-state.js +25 -25
  638. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  639. package/dist/components/overlays/Toast/ToastItem.js +68 -15
  640. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  641. package/dist/components/overlays/Toast/index.js +100 -34
  642. package/dist/components/overlays/Toast/index.js.map +1 -1
  643. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  644. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  645. package/dist/components/overlays/Toast/useToast.js +9 -9
  646. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  647. package/dist/components/overlays/Tooltip/Tooltip.js +88 -31
  648. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  649. package/dist/components/overlays/Tooltip/TooltipProvider.js +75 -10
  650. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  651. package/dist/components/overlays/Tooltip/TooltipTrigger.js +186 -77
  652. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  653. package/dist/components/overlays/Tooltip/context.js +1 -1
  654. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  655. package/dist/components/portal/Portal.js +18 -3
  656. package/dist/components/portal/Portal.js.map +1 -1
  657. package/dist/components/portal/PortalProvider.js +11 -2
  658. package/dist/components/portal/PortalProvider.js.map +1 -1
  659. package/dist/components/portal/usePortal.js +1 -1
  660. package/dist/components/portal/usePortal.js.map +1 -1
  661. package/dist/components/shared/DraggableCollection.js +23 -23
  662. package/dist/components/shared/DraggableCollection.js.map +1 -1
  663. package/dist/components/shared/InvalidIcon.js +1 -1
  664. package/dist/components/shared/InvalidIcon.js.map +1 -1
  665. package/dist/components/shared/ValidIcon.js +1 -1
  666. package/dist/components/shared/ValidIcon.js.map +1 -1
  667. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +156 -48
  668. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  669. package/dist/components/status/Spin/Cube.js +12 -3
  670. package/dist/components/status/Spin/Cube.js.map +1 -1
  671. package/dist/components/status/Spin/InternalSpinner.js +21 -6
  672. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  673. package/dist/components/status/Spin/Spin.js +31 -7
  674. package/dist/components/status/Spin/Spin.js.map +1 -1
  675. package/dist/components/status/Spin/SpinsContainer.js +23 -6
  676. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  677. package/dist/data/item-themes.js +1 -1
  678. package/dist/data/item-themes.js.map +1 -1
  679. package/dist/data/themes.js +1 -1
  680. package/dist/data/themes.js.map +1 -1
  681. package/dist/eslint-plugin/defaults.generated.js +18 -7
  682. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  683. package/dist/eslint-plugin/index.js +1 -1
  684. package/dist/eslint-plugin/index.js.map +1 -1
  685. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  686. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  687. package/dist/i18n/I18nProvider.js +54 -13
  688. package/dist/i18n/I18nProvider.js.map +1 -1
  689. package/dist/i18n/createFormatter.js +1 -1
  690. package/dist/i18n/createFormatter.js.map +1 -1
  691. package/dist/i18n/index.js +1 -1
  692. package/dist/i18n/index.js.map +1 -1
  693. package/dist/i18n/instance.js +1 -1
  694. package/dist/i18n/instance.js.map +1 -1
  695. package/dist/i18n/locales/de-DE/uikit.js +5 -2
  696. package/dist/i18n/locales/en-US/uikit.js +5 -2
  697. package/dist/i18n/locales/en-US/uikit.json.d.ts +15 -5
  698. package/dist/i18n/locales/es-ES/uikit.js +5 -2
  699. package/dist/i18n/locales/es-MX/uikit.js +5 -2
  700. package/dist/i18n/locales/fr-FR/uikit.js +5 -2
  701. package/dist/i18n/locales/it-IT/uikit.js +5 -2
  702. package/dist/i18n/locales/ja-JP/uikit.js +5 -2
  703. package/dist/i18n/locales/nb-NO/uikit.js +5 -2
  704. package/dist/i18n/locales/pt-BR/uikit.js +5 -2
  705. package/dist/i18n/locales/pt-PT/uikit.js +5 -2
  706. package/dist/i18n/locales/sv-SE/uikit.js +5 -2
  707. package/dist/i18n/locales/vi-VN/uikit.js +5 -2
  708. package/dist/i18n/locales.js +1 -1
  709. package/dist/i18n/locales.js.map +1 -1
  710. package/dist/i18n/useFormatter.js +10 -3
  711. package/dist/i18n/useFormatter.js.map +1 -1
  712. package/dist/i18n/useI18n.js +1 -1
  713. package/dist/i18n/useI18n.js.map +1 -1
  714. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  715. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  716. package/dist/icons/AdjustmentsIcon.js +1 -1
  717. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  718. package/dist/icons/AiIcon.js +1 -1
  719. package/dist/icons/AiIcon.js.map +1 -1
  720. package/dist/icons/AreaChartIcon.js +1 -1
  721. package/dist/icons/AreaChartIcon.js.map +1 -1
  722. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  723. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  724. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  725. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  726. package/dist/icons/BackwardIcon.js +1 -1
  727. package/dist/icons/BackwardIcon.js.map +1 -1
  728. package/dist/icons/BarChartIcon.js +1 -1
  729. package/dist/icons/BarChartIcon.js.map +1 -1
  730. package/dist/icons/BellFilledIcon.js +1 -1
  731. package/dist/icons/BellFilledIcon.js.map +1 -1
  732. package/dist/icons/BellIcon.js +1 -1
  733. package/dist/icons/BellIcon.js.map +1 -1
  734. package/dist/icons/BooleanIcon.js +1 -1
  735. package/dist/icons/BooleanIcon.js.map +1 -1
  736. package/dist/icons/CalendarEditIcon.js +1 -1
  737. package/dist/icons/CalendarEditIcon.js.map +1 -1
  738. package/dist/icons/CalendarIcon.js +1 -1
  739. package/dist/icons/CalendarIcon.js.map +1 -1
  740. package/dist/icons/CaretDownIcon.js +1 -1
  741. package/dist/icons/CaretDownIcon.js.map +1 -1
  742. package/dist/icons/CaretUpIcon.js +1 -1
  743. package/dist/icons/CaretUpIcon.js.map +1 -1
  744. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  745. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  746. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  747. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  748. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  749. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  750. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  751. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  752. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  753. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  754. package/dist/icons/ChartBarLineIcon.js +1 -1
  755. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  756. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  757. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  758. package/dist/icons/ChartBarStackedIcon.js +1 -1
  759. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  760. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  761. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  762. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  763. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  764. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  765. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  766. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  767. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  768. package/dist/icons/ChartBubbleIcon.js +1 -1
  769. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  770. package/dist/icons/ChartDonut2Icon.js +1 -1
  771. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  772. package/dist/icons/ChartFunnelIcon.js +1 -1
  773. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  774. package/dist/icons/ChartHeatmapIcon.js +1 -1
  775. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  776. package/dist/icons/ChartKPIIcon.js +1 -1
  777. package/dist/icons/ChartKPIIcon.js.map +1 -1
  778. package/dist/icons/ChartPie2Icon.js +1 -1
  779. package/dist/icons/ChartPie2Icon.js.map +1 -1
  780. package/dist/icons/ChartScatterIcon.js +1 -1
  781. package/dist/icons/ChartScatterIcon.js.map +1 -1
  782. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  783. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  784. package/dist/icons/CheckCircleIcon.js +1 -1
  785. package/dist/icons/CheckCircleIcon.js.map +1 -1
  786. package/dist/icons/CheckIcon.js +1 -1
  787. package/dist/icons/CheckIcon.js.map +1 -1
  788. package/dist/icons/CircleFilledIcon.js +1 -1
  789. package/dist/icons/CircleFilledIcon.js.map +1 -1
  790. package/dist/icons/ClearIcon.js +1 -1
  791. package/dist/icons/ClearIcon.js.map +1 -1
  792. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  793. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  794. package/dist/icons/CloseCircleIcon.js +1 -1
  795. package/dist/icons/CloseCircleIcon.js.map +1 -1
  796. package/dist/icons/CloseIcon.js +1 -1
  797. package/dist/icons/CloseIcon.js.map +1 -1
  798. package/dist/icons/CodeIcon.js +1 -1
  799. package/dist/icons/CodeIcon.js.map +1 -1
  800. package/dist/icons/ColumnTotalIcon.js +1 -1
  801. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  802. package/dist/icons/CopyIcon.js +1 -1
  803. package/dist/icons/CopyIcon.js.map +1 -1
  804. package/dist/icons/CountIcon.js +1 -1
  805. package/dist/icons/CountIcon.js.map +1 -1
  806. package/dist/icons/CubeIcon.js +1 -1
  807. package/dist/icons/CubeIcon.js.map +1 -1
  808. package/dist/icons/CubePauseIcon.js +1 -1
  809. package/dist/icons/CubePauseIcon.js.map +1 -1
  810. package/dist/icons/CubePlayIcon.js +1 -1
  811. package/dist/icons/CubePlayIcon.js.map +1 -1
  812. package/dist/icons/CurrencyDollarIcon.js +1 -1
  813. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  814. package/dist/icons/DangerIcon.js +1 -1
  815. package/dist/icons/DangerIcon.js.map +1 -1
  816. package/dist/icons/DashboardIcon.js +1 -1
  817. package/dist/icons/DashboardIcon.js.map +1 -1
  818. package/dist/icons/DatabaseIcon.js +1 -1
  819. package/dist/icons/DatabaseIcon.js.map +1 -1
  820. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  821. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  822. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  823. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  824. package/dist/icons/DirectionIcon.js +67 -22
  825. package/dist/icons/DirectionIcon.js.map +1 -1
  826. package/dist/icons/DonutIcon.js +1 -1
  827. package/dist/icons/DonutIcon.js.map +1 -1
  828. package/dist/icons/DownIcon.js +1 -1
  829. package/dist/icons/DownIcon.js.map +1 -1
  830. package/dist/icons/EditIcon.js +1 -1
  831. package/dist/icons/EditIcon.js.map +1 -1
  832. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  833. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  834. package/dist/icons/ExclamationCircleIcon.js +1 -1
  835. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  836. package/dist/icons/ExclamationIcon.js +1 -1
  837. package/dist/icons/ExclamationIcon.js.map +1 -1
  838. package/dist/icons/EyeIcon.js +1 -1
  839. package/dist/icons/EyeIcon.js.map +1 -1
  840. package/dist/icons/EyeInvisibleIcon.js +1 -1
  841. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  842. package/dist/icons/FilterIcon.js +1 -1
  843. package/dist/icons/FilterIcon.js.map +1 -1
  844. package/dist/icons/FolderFilledIcon.js +1 -1
  845. package/dist/icons/FolderFilledIcon.js.map +1 -1
  846. package/dist/icons/FolderIcon.js +1 -1
  847. package/dist/icons/FolderIcon.js.map +1 -1
  848. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  849. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  850. package/dist/icons/FolderOpenIcon.js +1 -1
  851. package/dist/icons/FolderOpenIcon.js.map +1 -1
  852. package/dist/icons/ForwardIcon.js +1 -1
  853. package/dist/icons/ForwardIcon.js.map +1 -1
  854. package/dist/icons/GripVerticalIcon.js +1 -1
  855. package/dist/icons/GripVerticalIcon.js.map +1 -1
  856. package/dist/icons/HierarchyIcon.js +1 -1
  857. package/dist/icons/HierarchyIcon.js.map +1 -1
  858. package/dist/icons/HierarchyOpenIcon.js +1 -1
  859. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  860. package/dist/icons/Icon.js +60 -16
  861. package/dist/icons/Icon.js.map +1 -1
  862. package/dist/icons/InfoCircleIcon.js +1 -1
  863. package/dist/icons/InfoCircleIcon.js.map +1 -1
  864. package/dist/icons/InfoIcon.js +1 -1
  865. package/dist/icons/InfoIcon.js.map +1 -1
  866. package/dist/icons/KeyIcon.js +1 -1
  867. package/dist/icons/KeyIcon.js.map +1 -1
  868. package/dist/icons/LeftIcon.js +1 -1
  869. package/dist/icons/LeftIcon.js.map +1 -1
  870. package/dist/icons/LineChartIcon.js +1 -1
  871. package/dist/icons/LineChartIcon.js.map +1 -1
  872. package/dist/icons/LoadingIcon.js +1 -1
  873. package/dist/icons/LoadingIcon.js.map +1 -1
  874. package/dist/icons/LockFilledIcon.js +1 -1
  875. package/dist/icons/LockFilledIcon.js.map +1 -1
  876. package/dist/icons/LockIcon.js +1 -1
  877. package/dist/icons/LockIcon.js.map +1 -1
  878. package/dist/icons/MoreIcon.js +1 -1
  879. package/dist/icons/MoreIcon.js.map +1 -1
  880. package/dist/icons/NotAllowedIcon.js +1 -1
  881. package/dist/icons/NotAllowedIcon.js.map +1 -1
  882. package/dist/icons/Number123Icon.js +1 -1
  883. package/dist/icons/Number123Icon.js.map +1 -1
  884. package/dist/icons/NumberIcon.js +1 -1
  885. package/dist/icons/NumberIcon.js.map +1 -1
  886. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  887. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  888. package/dist/icons/PauseCircleIcon.js +1 -1
  889. package/dist/icons/PauseCircleIcon.js.map +1 -1
  890. package/dist/icons/PauseIcon.js +1 -1
  891. package/dist/icons/PauseIcon.js.map +1 -1
  892. package/dist/icons/PercentageIcon.js +1 -1
  893. package/dist/icons/PercentageIcon.js.map +1 -1
  894. package/dist/icons/PieChartIcon.js +1 -1
  895. package/dist/icons/PieChartIcon.js.map +1 -1
  896. package/dist/icons/PipetteIcon.js +1 -1
  897. package/dist/icons/PipetteIcon.js.map +1 -1
  898. package/dist/icons/PlayCircleIcon.js +1 -1
  899. package/dist/icons/PlayCircleIcon.js.map +1 -1
  900. package/dist/icons/PlayIcon.js +1 -1
  901. package/dist/icons/PlayIcon.js.map +1 -1
  902. package/dist/icons/PlusIcon.js +1 -1
  903. package/dist/icons/PlusIcon.js.map +1 -1
  904. package/dist/icons/ProgressBarIcon.js +1 -1
  905. package/dist/icons/ProgressBarIcon.js.map +1 -1
  906. package/dist/icons/ReloadIcon.js +1 -1
  907. package/dist/icons/ReloadIcon.js.map +1 -1
  908. package/dist/icons/ReportIcon.js +1 -1
  909. package/dist/icons/ReportIcon.js.map +1 -1
  910. package/dist/icons/ReturnIcon.js +1 -1
  911. package/dist/icons/ReturnIcon.js.map +1 -1
  912. package/dist/icons/RightIcon.js +1 -1
  913. package/dist/icons/RightIcon.js.map +1 -1
  914. package/dist/icons/RowTotalsIcon.js +1 -1
  915. package/dist/icons/RowTotalsIcon.js.map +1 -1
  916. package/dist/icons/SchemeIcon.js +1 -1
  917. package/dist/icons/SchemeIcon.js.map +1 -1
  918. package/dist/icons/SearchIcon.js +1 -1
  919. package/dist/icons/SearchIcon.js.map +1 -1
  920. package/dist/icons/SemanticQueryIcon.js +1 -1
  921. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  922. package/dist/icons/SettingsIcon.js +1 -1
  923. package/dist/icons/SettingsIcon.js.map +1 -1
  924. package/dist/icons/ShieldFilledIcon.js +1 -1
  925. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  926. package/dist/icons/ShieldIcon.js +1 -1
  927. package/dist/icons/ShieldIcon.js.map +1 -1
  928. package/dist/icons/SlashIcon.js +1 -1
  929. package/dist/icons/SlashIcon.js.map +1 -1
  930. package/dist/icons/SparklesIcon.js +1 -1
  931. package/dist/icons/SparklesIcon.js.map +1 -1
  932. package/dist/icons/SqlIcon.js +1 -1
  933. package/dist/icons/SqlIcon.js.map +1 -1
  934. package/dist/icons/StatsIcon.js +1 -1
  935. package/dist/icons/StatsIcon.js.map +1 -1
  936. package/dist/icons/StopIcon.js +1 -1
  937. package/dist/icons/StopIcon.js.map +1 -1
  938. package/dist/icons/StringIcon.js +1 -1
  939. package/dist/icons/StringIcon.js.map +1 -1
  940. package/dist/icons/SubtotalsIcon.js +1 -1
  941. package/dist/icons/SubtotalsIcon.js.map +1 -1
  942. package/dist/icons/SwitchIcon.js +1 -1
  943. package/dist/icons/SwitchIcon.js.map +1 -1
  944. package/dist/icons/TableIcon.js +1 -1
  945. package/dist/icons/TableIcon.js.map +1 -1
  946. package/dist/icons/ThumbsDownIcon.js +1 -1
  947. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  948. package/dist/icons/ThumbsUpIcon.js +1 -1
  949. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  950. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  951. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  952. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  953. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  954. package/dist/icons/ThunderboltIcon.js +1 -1
  955. package/dist/icons/ThunderboltIcon.js.map +1 -1
  956. package/dist/icons/TimeIcon.js +1 -1
  957. package/dist/icons/TimeIcon.js.map +1 -1
  958. package/dist/icons/TrashIcon.js +1 -1
  959. package/dist/icons/TrashIcon.js.map +1 -1
  960. package/dist/icons/UnlockIcon.js +1 -1
  961. package/dist/icons/UnlockIcon.js.map +1 -1
  962. package/dist/icons/UpIcon.js +1 -1
  963. package/dist/icons/UpIcon.js.map +1 -1
  964. package/dist/icons/UserGroupIcon.js +1 -1
  965. package/dist/icons/UserGroupIcon.js.map +1 -1
  966. package/dist/icons/UserIcon.js +1 -1
  967. package/dist/icons/UserIcon.js.map +1 -1
  968. package/dist/icons/UserLockIcon.js +1 -1
  969. package/dist/icons/UserLockIcon.js.map +1 -1
  970. package/dist/icons/ViewIcon.js +1 -1
  971. package/dist/icons/ViewIcon.js.map +1 -1
  972. package/dist/icons/WarningFilledIcon.js +1 -1
  973. package/dist/icons/WarningFilledIcon.js.map +1 -1
  974. package/dist/icons/WarningIcon.js +1 -1
  975. package/dist/icons/WarningIcon.js.map +1 -1
  976. package/dist/icons/wrap-icon.js +15 -7
  977. package/dist/icons/wrap-icon.js.map +1 -1
  978. package/dist/index.d.ts +22 -22
  979. package/dist/index.js +1 -1
  980. package/dist/index.js.map +1 -1
  981. package/dist/probe/canonicalize.js +2 -2
  982. package/dist/probe/canonicalize.js.map +1 -1
  983. package/dist/probe/css.js +1 -1
  984. package/dist/probe/css.js.map +1 -1
  985. package/dist/probe/index.js +1 -1
  986. package/dist/provider.js +17 -7
  987. package/dist/provider.js.map +1 -1
  988. package/dist/providers/TrackingProvider.js +33 -9
  989. package/dist/providers/TrackingProvider.js.map +1 -1
  990. package/dist/providers/navigationAdapter.default.js +1 -1
  991. package/dist/providers/navigationAdapter.default.js.map +1 -1
  992. package/dist/tokens/all-tokens.js +1 -1
  993. package/dist/tokens/all-tokens.js.map +1 -1
  994. package/dist/tokens/base.js +2 -2
  995. package/dist/tokens/base.js.map +1 -1
  996. package/dist/tokens/color-seed.js +1 -1
  997. package/dist/tokens/color-seed.js.map +1 -1
  998. package/dist/tokens/color-theme.js +18 -3
  999. package/dist/tokens/color-theme.js.map +1 -1
  1000. package/dist/tokens/colors.js +1 -1
  1001. package/dist/tokens/colors.js.map +1 -1
  1002. package/dist/tokens/layout.js +1 -1
  1003. package/dist/tokens/layout.js.map +1 -1
  1004. package/dist/tokens/lazy-styles.js +1 -1
  1005. package/dist/tokens/lazy-styles.js.map +1 -1
  1006. package/dist/tokens/legacy-color.js +1 -1
  1007. package/dist/tokens/legacy-color.js.map +1 -1
  1008. package/dist/tokens/palette-config.js +9 -2
  1009. package/dist/tokens/palette-config.js.map +1 -1
  1010. package/dist/tokens/palette.js +1 -1
  1011. package/dist/tokens/palette.js.map +1 -1
  1012. package/dist/tokens/resolve.js +85 -21
  1013. package/dist/tokens/resolve.js.map +1 -1
  1014. package/dist/tokens/shadows.js +1 -1
  1015. package/dist/tokens/shadows.js.map +1 -1
  1016. package/dist/tokens/sizes.js +1 -1
  1017. package/dist/tokens/sizes.js.map +1 -1
  1018. package/dist/tokens/spacing.js +1 -1
  1019. package/dist/tokens/spacing.js.map +1 -1
  1020. package/dist/tokens/typography.js +1 -1
  1021. package/dist/tokens/typography.js.map +1 -1
  1022. package/dist/utils/ResizeSensor.js +1 -1
  1023. package/dist/utils/ResizeSensor.js.map +1 -1
  1024. package/dist/utils/colors.js +1 -1
  1025. package/dist/utils/colors.js.map +1 -1
  1026. package/dist/utils/dotize.js +1 -1
  1027. package/dist/utils/dotize.js.map +1 -1
  1028. package/dist/utils/is-dev-env.js +1 -1
  1029. package/dist/utils/is-dev-env.js.map +1 -1
  1030. package/dist/utils/modules.js +1 -1
  1031. package/dist/utils/modules.js.map +1 -1
  1032. package/dist/utils/promise.js +1 -1
  1033. package/dist/utils/promise.js.map +1 -1
  1034. package/dist/utils/raf.js +1 -1
  1035. package/dist/utils/raf.js.map +1 -1
  1036. package/dist/utils/random.js +1 -1
  1037. package/dist/utils/random.js.map +1 -1
  1038. package/dist/utils/range.js +1 -1
  1039. package/dist/utils/range.js.map +1 -1
  1040. package/dist/utils/react/RenderCache.js +2 -2
  1041. package/dist/utils/react/RenderCache.js.map +1 -1
  1042. package/dist/utils/react/Slots.js +67 -24
  1043. package/dist/utils/react/Slots.js.map +1 -1
  1044. package/dist/utils/react/chain.js +1 -1
  1045. package/dist/utils/react/chain.js.map +1 -1
  1046. package/dist/utils/react/disabledProps.js +1 -1
  1047. package/dist/utils/react/disabledProps.js.map +1 -1
  1048. package/dist/utils/react/escapePropagation.js +1 -1
  1049. package/dist/utils/react/escapePropagation.js.map +1 -1
  1050. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  1051. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1052. package/dist/utils/react/index.js +1 -1
  1053. package/dist/utils/react/interactions.js +35 -12
  1054. package/dist/utils/react/interactions.js.map +1 -1
  1055. package/dist/utils/react/isTextOnly.js +1 -1
  1056. package/dist/utils/react/isTextOnly.js.map +1 -1
  1057. package/dist/utils/react/mapProps.js +1 -1
  1058. package/dist/utils/react/mapProps.js.map +1 -1
  1059. package/dist/utils/react/mergeProps.js +1 -1
  1060. package/dist/utils/react/mergeProps.js.map +1 -1
  1061. package/dist/utils/react/nullableValue.js +1 -1
  1062. package/dist/utils/react/nullableValue.js.map +1 -1
  1063. package/dist/utils/react/programmaticFocus.js +1 -1
  1064. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1065. package/dist/utils/react/resolveIcon.js +1 -1
  1066. package/dist/utils/react/resolveIcon.js.map +1 -1
  1067. package/dist/utils/react/sharedStore.js +13 -2
  1068. package/dist/utils/react/sharedStore.js.map +1 -1
  1069. package/dist/utils/react/useBufferedValue.js +5 -5
  1070. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1071. package/dist/utils/react/useCombinedRefs.js +20 -5
  1072. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1073. package/dist/utils/react/useControlledFocusVisible.js +53 -17
  1074. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1075. package/dist/utils/react/useEventBus.js +43 -18
  1076. package/dist/utils/react/useEventBus.js.map +1 -1
  1077. package/dist/utils/react/useId.js +2 -1
  1078. package/dist/utils/react/useId.js.map +1 -1
  1079. package/dist/utils/react/useIsDarwin.js +29 -16
  1080. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1081. package/dist/utils/react/useKeySymbols.js +23 -9
  1082. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1083. package/dist/utils/react/useLayoutEffect.js +1 -1
  1084. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1085. package/dist/utils/react/useLocalStorage.js +75 -30
  1086. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1087. package/dist/utils/react/useMergeStyles.js +1 -1
  1088. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1089. package/dist/utils/react/useOverlayEscapeGuard.js +25 -9
  1090. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1091. package/dist/utils/react/usePopoverSync.js +175 -73
  1092. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1093. package/dist/utils/react/useQaProps.js +1 -1
  1094. package/dist/utils/react/useQaProps.js.map +1 -1
  1095. package/dist/utils/react/useScheme.js +1 -1
  1096. package/dist/utils/react/useScheme.js.map +1 -1
  1097. package/dist/utils/react/useViewportSize.js +43 -19
  1098. package/dist/utils/react/useViewportSize.js.map +1 -1
  1099. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  1100. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1101. package/dist/utils/selection.js +1 -1
  1102. package/dist/utils/selection.js.map +1 -1
  1103. package/dist/utils/styles.js +1 -1
  1104. package/dist/utils/styles.js.map +1 -1
  1105. package/dist/utils/tree.js +1 -1
  1106. package/dist/utils/tree.js.map +1 -1
  1107. package/dist/utils/warnings.js +1 -1
  1108. package/dist/utils/warnings.js.map +1 -1
  1109. package/dist/version.js +2 -2
  1110. package/dist/version.js.map +1 -1
  1111. package/docs/Usage.md +9 -1
  1112. package/docs/components/actions/Button.md +1 -1
  1113. package/docs/components/content/InlineInput.md +1 -1
  1114. package/docs/components/content/Item.md +19 -0
  1115. package/docs/components/fields/ColorInput.md +13 -8
  1116. package/docs/components/fields/ColorPicker.md +13 -8
  1117. package/docs/components/fields/ComboBox.md +16 -12
  1118. package/docs/components/fields/CommandTextArea.md +3 -1
  1119. package/docs/components/fields/FilterListBox.md +24 -19
  1120. package/docs/components/fields/FilterPicker.md +25 -19
  1121. package/docs/components/fields/ListBox.md +36 -26
  1122. package/docs/components/fields/Picker.md +28 -21
  1123. package/docs/components/fields/Select.md +17 -12
  1124. package/docs/components/form/Field.md +2 -2
  1125. package/docs/components/form/Form.md +60 -579
  1126. package/docs/components/form/ModernForm.md +22 -1
  1127. package/docs/components/overlays/Dialog.md +26 -0
  1128. package/docs/components/overlays/DialogForm.md +121 -263
  1129. package/docs/components/overlays/DialogTrigger.md +1 -1
  1130. package/docs/components/overlays/UseDialogContainer.md +11 -13
  1131. package/docs/modern-form-guide.md +22 -1
  1132. package/docs/modern-form-migration.md +1 -1
  1133. package/package.json +7 -2
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
@@ -30,7 +30,7 @@ function CommandMenu(props, ref) {
30
30
  defaultSelectedKeys: defaultSelectedKeys ? new Set(defaultSelectedKeys) : void 0,
31
31
  onSelectionChange: onSelectionChange ? (keys) => {
32
32
  if (keys === "all") onSelectionChange(Array.from(treeState.collection.getKeys()).map((key) => String(key)));
33
- else if (keys instanceof Set) onSelectionChange(Array.from(keys).map((key) => String(key)));
33
+ else if (keys instanceof Set) onSelectionChange(Array.from(keys).map((key_0) => String(key_0)));
34
34
  else onSelectionChange([]);
35
35
  } : void 0
36
36
  });
@@ -55,7 +55,7 @@ function CommandMenu(props, ref) {
55
55
  const collectionFilter = useCallback((nodes) => {
56
56
  const term = searchValue.trim();
57
57
  if (!term) return nodes;
58
- if (term.toLowerCase().split(/\s+/).filter((word) => word.length > 0).length === 0) return nodes;
58
+ if (term.toLowerCase().split(/\s+/).filter((word_0) => word_0.length > 0).length === 0) return nodes;
59
59
  const filterNodes = (iter) => {
60
60
  const result = [];
61
61
  for (const node of iter) if (node.type === "section") {
@@ -75,41 +75,41 @@ function CommandMenu(props, ref) {
75
75
  shouldUseVirtualFocus: true
76
76
  });
77
77
  const collectionItems = [...treeState.collection];
78
- collectionItems.some((item) => item.type === "section");
78
+ collectionItems.some((item_0) => item_0.type === "section");
79
79
  const [focusedKey, setFocusedKey] = React.useState(null);
80
80
  const focusedKeyRef = useRef(null);
81
81
  const filteredCollectionItems = useMemo(() => {
82
- const term = searchValue.trim();
83
- if (!term) return collectionItems;
84
- if (term.toLowerCase().split(/\s+/).filter((word) => word.length > 0).length === 0) return collectionItems;
85
- const filterNodes = (items) => {
86
- const result = [];
87
- [...items].forEach((item) => {
88
- if (item.type === "section") {
89
- const filteredChildren = filterNodes(item.childNodes);
90
- if (filteredChildren.length) result.push({
91
- ...item,
92
- childNodes: filteredChildren
82
+ const term_0 = searchValue.trim();
83
+ if (!term_0) return collectionItems;
84
+ if (term_0.toLowerCase().split(/\s+/).filter((word_1) => word_1.length > 0).length === 0) return collectionItems;
85
+ const filterNodes_0 = (items) => {
86
+ const result_0 = [];
87
+ [...items].forEach((item_1) => {
88
+ if (item_1.type === "section") {
89
+ const filteredChildren_0 = filterNodes_0(item_1.childNodes);
90
+ if (filteredChildren_0.length) result_0.push({
91
+ ...item_1,
92
+ childNodes: filteredChildren_0
93
93
  });
94
- } else if (enhancedFilter(item.textValue ?? String(item.rendered ?? ""), term, item.props)) result.push(item);
94
+ } else if (enhancedFilter(item_1.textValue ?? String(item_1.rendered ?? ""), term_0, item_1.props)) result_0.push(item_1);
95
95
  });
96
- return result;
96
+ return result_0;
97
97
  };
98
- return filterNodes(collectionItems);
98
+ return filterNodes_0(collectionItems);
99
99
  }, [
100
100
  collectionItems,
101
101
  searchValue,
102
102
  enhancedFilter
103
103
  ]);
104
104
  const hasFilteredItems = filteredCollectionItems.length > 0;
105
- const viewHasSections = filteredCollectionItems.some((item) => item.type === "section");
105
+ const viewHasSections = filteredCollectionItems.some((item_2) => item_2.type === "section");
106
106
  const findFirstSelectableItem = useCallback(() => {
107
107
  const { selectionManager } = treeState;
108
- const visit = (items) => {
109
- for (const node of items) if (node?.type === "section") {
110
- const childResult = visit(Array.from(node.childNodes ?? []));
108
+ const visit = (items_0) => {
109
+ for (const node_0 of items_0) if (node_0?.type === "section") {
110
+ const childResult = visit(Array.from(node_0.childNodes ?? []));
111
111
  if (childResult != null) return childResult;
112
- } else if (node?.type === "item" && !selectionManager.isDisabled(node.key)) return node.key;
112
+ } else if (node_0?.type === "item" && !selectionManager.isDisabled(node_0.key)) return node_0.key;
113
113
  return null;
114
114
  };
115
115
  return visit(filteredCollectionItems);
@@ -122,42 +122,42 @@ function CommandMenu(props, ref) {
122
122
  shouldUseVirtualFocus: true
123
123
  }, treeState, menuRef);
124
124
  const renderedItems = useMemo(() => {
125
- const items = [];
125
+ const items_1 = [];
126
126
  let isFirstSection = true;
127
- filteredCollectionItems.forEach((item) => {
128
- if (item.type === "section") {
129
- if (!isFirstSection) items.push(/* @__PURE__ */ jsx(StyledDivider, {
127
+ filteredCollectionItems.forEach((item_3) => {
128
+ if (item_3.type === "section") {
129
+ if (!isFirstSection) items_1.push(/* @__PURE__ */ jsx(StyledDivider, {
130
130
  role: "separator",
131
131
  "aria-orientation": "horizontal"
132
- }, `divider-${String(item.key)}`));
133
- items.push(/* @__PURE__ */ jsx(MenuSection, {
134
- item,
132
+ }, `divider-${String(item_3.key)}`));
133
+ items_1.push(/* @__PURE__ */ jsx(MenuSection, {
134
+ item: item_3,
135
135
  state: treeState,
136
136
  styles: completeProps.sectionStyles,
137
137
  itemStyles: completeProps.itemStyles,
138
138
  headingStyles: completeProps.sectionHeadingStyles,
139
139
  size
140
- }, item.key));
140
+ }, item_3.key));
141
141
  isFirstSection = false;
142
142
  return;
143
143
  }
144
144
  let menuItem = /* @__PURE__ */ jsx(MenuItem, {
145
- item,
145
+ item: item_3,
146
146
  state: treeState,
147
147
  styles: completeProps.itemStyles,
148
148
  size,
149
- onAction: item.onAction
150
- }, item.key);
151
- if (item.props.tooltip) menuItem = /* @__PURE__ */ jsx(TooltipProvider, {
149
+ onAction: item_3.onAction
150
+ }, item_3.key);
151
+ if (item_3.props.tooltip) menuItem = /* @__PURE__ */ jsx(TooltipProvider, {
152
152
  activeWrap: true,
153
153
  placement: "right",
154
- ...typeof item.props.tooltip === "string" ? { title: item.props.tooltip } : item.props.tooltip,
154
+ ...typeof item_3.props.tooltip === "string" ? { title: item_3.props.tooltip } : item_3.props.tooltip,
155
155
  children: menuItem
156
- }, item.key);
157
- if (item.props.wrapper) menuItem = item.props.wrapper(menuItem);
158
- items.push(React.cloneElement(menuItem, { key: item.key }));
156
+ }, item_3.key);
157
+ if (item_3.props.wrapper) menuItem = item_3.props.wrapper(menuItem);
158
+ items_1.push(React.cloneElement(menuItem, { key: item_3.key }));
159
159
  });
160
- return items;
160
+ return items_1;
161
161
  }, [
162
162
  filteredCollectionItems,
163
163
  treeState,
@@ -175,10 +175,10 @@ function CommandMenu(props, ref) {
175
175
  }, [autoFocus]);
176
176
  React.useEffect(() => {
177
177
  if (autoFocus && contextProps.autoFocus && searchInputRef.current) {
178
- const timeoutId = setTimeout(() => {
178
+ const timeoutId_0 = setTimeout(() => {
179
179
  if (searchInputRef.current) searchInputRef.current.focus();
180
180
  }, 50);
181
- return () => clearTimeout(timeoutId);
181
+ return () => clearTimeout(timeoutId_0);
182
182
  }
183
183
  }, [autoFocus, contextProps.autoFocus]);
184
184
  const prevSearchValueRef = useRef("");
@@ -251,71 +251,71 @@ function CommandMenu(props, ref) {
251
251
  "aria-haspopup": "listbox",
252
252
  "aria-activedescendant": focusedKey != null ? `${qa || "CommandMenu"}-menu-option-${focusedKey}` : void 0,
253
253
  onChange: (e) => handleSearchChange(e.target.value),
254
- onKeyDown: (e) => {
255
- if (e.key === "ArrowDown" || e.key === "ArrowUp") {
256
- e.preventDefault();
257
- const isArrowDown = e.key === "ArrowDown";
258
- const { selectionManager } = treeState;
259
- const currentKey = focusedKeyRef.current || selectionManager.focusedKey;
254
+ onKeyDown: (e_0) => {
255
+ if (e_0.key === "ArrowDown" || e_0.key === "ArrowUp") {
256
+ e_0.preventDefault();
257
+ const isArrowDown = e_0.key === "ArrowDown";
258
+ const { selectionManager: selectionManager_0 } = treeState;
259
+ const currentKey = focusedKeyRef.current || selectionManager_0.focusedKey;
260
260
  const getVisibleItemKeys = () => {
261
- const keys = [];
262
- const visit = (items) => {
263
- for (const node of items) if (node?.type === "section") visit(Array.from(node.childNodes ?? []));
264
- else if (node?.type === "item") keys.push(node.key);
261
+ const keys_0 = [];
262
+ const visit_0 = (items_2) => {
263
+ for (const node_1 of items_2) if (node_1?.type === "section") visit_0(Array.from(node_1.childNodes ?? []));
264
+ else if (node_1?.type === "item") keys_0.push(node_1.key);
265
265
  };
266
- visit(filteredCollectionItems);
267
- return keys;
266
+ visit_0(filteredCollectionItems);
267
+ return keys_0;
268
268
  };
269
269
  const findNextSelectableKey = (currentIndex, direction, visibleKeys) => {
270
270
  const increment = direction === "forward" ? 1 : -1;
271
271
  for (let i = currentIndex + increment; i >= 0 && i < visibleKeys.length; i += increment) {
272
- const key = visibleKeys[i];
273
- if (!selectionManager.isDisabled(key)) return key;
272
+ const key_1 = visibleKeys[i];
273
+ if (!selectionManager_0.isDisabled(key_1)) return key_1;
274
274
  }
275
275
  return null;
276
276
  };
277
- const findFirstLastSelectableKey = (direction, visibleKeys) => {
278
- const keysToCheck = direction === "forward" ? visibleKeys : [...visibleKeys].reverse();
279
- for (const key of keysToCheck) if (!selectionManager.isDisabled(key)) return key;
277
+ const findFirstLastSelectableKey = (direction_0, visibleKeys_0) => {
278
+ const keysToCheck = direction_0 === "forward" ? visibleKeys_0 : [...visibleKeys_0].reverse();
279
+ for (const key_2 of keysToCheck) if (!selectionManager_0.isDisabled(key_2)) return key_2;
280
280
  return null;
281
281
  };
282
- const visibleKeys = getVisibleItemKeys();
283
- if (visibleKeys.length === 0) return;
282
+ const visibleKeys_1 = getVisibleItemKeys();
283
+ if (visibleKeys_1.length === 0) return;
284
284
  let nextKey;
285
- const direction = isArrowDown ? "forward" : "backward";
286
- if (currentKey == null) nextKey = findFirstLastSelectableKey(direction, visibleKeys);
285
+ const direction_1 = isArrowDown ? "forward" : "backward";
286
+ if (currentKey == null) nextKey = findFirstLastSelectableKey(direction_1, visibleKeys_1);
287
287
  else {
288
- const currentIndex = visibleKeys.indexOf(currentKey);
289
- if (currentIndex === -1) nextKey = findFirstLastSelectableKey(direction, visibleKeys);
288
+ const currentIndex_0 = visibleKeys_1.indexOf(currentKey);
289
+ if (currentIndex_0 === -1) nextKey = findFirstLastSelectableKey(direction_1, visibleKeys_1);
290
290
  else {
291
- nextKey = findNextSelectableKey(currentIndex, direction, visibleKeys);
292
- if (nextKey == null) nextKey = findFirstLastSelectableKey(direction, visibleKeys);
291
+ nextKey = findNextSelectableKey(currentIndex_0, direction_1, visibleKeys_1);
292
+ if (nextKey == null) nextKey = findFirstLastSelectableKey(direction_1, visibleKeys_1);
293
293
  }
294
294
  }
295
295
  if (nextKey != null) {
296
- selectionManager.setFocusedKey(nextKey);
296
+ selectionManager_0.setFocusedKey(nextKey);
297
297
  setFocusedKey(nextKey);
298
298
  focusedKeyRef.current = nextKey;
299
299
  }
300
- } else if (e.key === "Enter" || e.key === " " && !searchValue.trim()) {
300
+ } else if (e_0.key === "Enter" || e_0.key === " " && !searchValue.trim()) {
301
301
  const currentFocusedKey = focusedKey || treeState.selectionManager.focusedKey;
302
302
  if (currentFocusedKey != null) {
303
- e.preventDefault();
304
- if (treeState.selectionManager.selectionMode !== "none") treeState.selectionManager.select(currentFocusedKey, e);
303
+ e_0.preventDefault();
304
+ if (treeState.selectionManager.selectionMode !== "none") treeState.selectionManager.select(currentFocusedKey, e_0);
305
305
  else {
306
- const node = treeState.collection.getItem(currentFocusedKey);
307
- if (node) {
306
+ const node_2 = treeState.collection.getItem(currentFocusedKey);
307
+ if (node_2) {
308
308
  const onAction = completeProps.onAction;
309
309
  if (onAction) onAction(currentFocusedKey);
310
- if (node.props?.onAction) node.props.onAction(currentFocusedKey);
310
+ if (node_2.props?.onAction) node_2.props.onAction(currentFocusedKey);
311
311
  }
312
312
  }
313
313
  const { onClose, closeOnSelect } = contextProps;
314
314
  if (onClose && closeOnSelect !== false) onClose();
315
315
  }
316
- } else if (e.key === "Escape") {
316
+ } else if (e_0.key === "Escape") {
317
317
  if (searchValue) {
318
- e.preventDefault();
318
+ e_0.preventDefault();
319
319
  handleSearchChange("");
320
320
  }
321
321
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommandMenu.js","names":["mergeProps","MenuTrigger"],"sources":["../../../../src/components/actions/CommandMenu/CommandMenu.tsx"],"sourcesContent":["import { useObjectRef, useSyncRef } from '@react-aria/utils';\nimport { FocusStrategy } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n Styles,\n} from '@tenphi/tasty';\nimport React, {\n Key,\n ReactElement,\n ReactNode,\n Ref,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useFilter, useMenu } from 'react-aria';\nimport { Section, useTreeState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { mergeProps } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n// `CollectionItem` (not react-stately's bare `Item`) is what CommandMenu\n// actually renders through `MenuItem`, so it carries the `Item` props.\nimport { CollectionItem as Item } from '../../CollectionItem';\nimport { TooltipProvider } from '../../overlays/Tooltip/TooltipProvider';\nimport { useMenuContext } from '../Menu';\nimport { CubeMenuProps } from '../Menu/Menu';\nimport { MenuItem } from '../Menu/MenuItem';\nimport { MenuSection } from '../Menu/MenuSection';\nimport { MenuTrigger } from '../Menu/MenuTrigger';\nimport {\n StyledDivider,\n StyledFooter,\n StyledHeader,\n StyledMenu,\n} from '../Menu/styled';\n\nimport {\n StyledCommandMenu,\n StyledEmptyState,\n StyledLoadingWrapper,\n StyledSearchInput,\n} from './styled';\n\nexport interface CommandMenuItem {\n // Standard item props\n id: string;\n textValue: string;\n\n // Enhanced search features\n keywords?: string[];\n forceMount?: boolean;\n\n // Standard Menu item props inherited\n [key: string]: any;\n}\n\nexport interface CubeCommandMenuProps<T>\n extends BaseProps,\n ContainerStyleProps,\n Omit<\n CubeMenuProps<T>,\n 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange'\n > {\n // Search-specific props\n searchPlaceholder?: string;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n filter?: (textValue: string, inputValue: string) => boolean;\n emptyLabel?: ReactNode;\n searchInputStyles?: Styles;\n headerStyles?: Styles;\n footerStyles?: Styles;\n\n // Advanced search features\n isLoading?: boolean;\n shouldFilter?: boolean;\n\n // Focus management - override the autoFocus from CubeMenuProps to allow boolean | FocusStrategy\n autoFocus?: boolean | FocusStrategy;\n\n // Size prop\n size?: 'medium' | 'large' | (string & {});\n\n /** Currently selected keys (controlled) */\n selectedKeys?: string[];\n /** Initially selected keys (uncontrolled) */\n defaultSelectedKeys?: string[];\n /** Handler for selection changes */\n onSelectionChange?: (keys: string[]) => void;\n}\n\nfunction CommandMenu<T extends object>(\n props: CubeCommandMenuProps<T>,\n ref: Ref<HTMLDivElement>,\n) {\n const { t } = useI18n();\n\n const {\n searchPlaceholder = t(\n 'commandMenu.searchPlaceholder',\n 'Search commands...',\n ),\n searchValue: controlledSearchValue,\n onSearchChange,\n filter: customFilter,\n emptyLabel = t('commandMenu.empty', 'No commands found'),\n searchInputStyles,\n headerStyles,\n footerStyles,\n isLoading = false,\n shouldFilter = true,\n autoFocus = true,\n size = 'medium',\n qa,\n styles,\n selectedKeys,\n defaultSelectedKeys,\n onSelectionChange,\n header,\n footer,\n ...restMenuProps\n } = props;\n\n const domRef = useObjectRef(ref);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const contextProps = useMenuContext();\n\n // Convert string[] to Set<Key> for React Aria compatibility\n const ariaSelectedKeys = selectedKeys ? new Set(selectedKeys) : undefined;\n const ariaDefaultSelectedKeys = defaultSelectedKeys\n ? new Set(defaultSelectedKeys)\n : undefined;\n\n const handleSelectionChange = onSelectionChange\n ? (keys: 'all' | Set<Key>) => {\n if (keys === 'all') {\n // Handle 'all' selection case - collect all available keys\n const allKeys = Array.from(treeState.collection.getKeys()).map(\n (key: any) => String(key),\n );\n onSelectionChange(allKeys);\n } else if (keys instanceof Set) {\n onSelectionChange(Array.from(keys).map((key) => String(key)));\n } else {\n onSelectionChange([]);\n }\n }\n : undefined;\n\n const completeProps = mergeProps(contextProps, restMenuProps, {\n selectedKeys: ariaSelectedKeys,\n defaultSelectedKeys: ariaDefaultSelectedKeys,\n onSelectionChange: handleSelectionChange,\n });\n\n // Search state management\n const [internalSearchValue, setInternalSearchValue] = useState('');\n const searchValue = controlledSearchValue ?? internalSearchValue;\n\n const handleSearchChange = useCallback(\n (value: string) => {\n if (controlledSearchValue === undefined) {\n setInternalSearchValue(value);\n }\n onSearchChange?.(value);\n },\n [controlledSearchValue, onSearchChange],\n );\n\n // Filter setup\n const { contains } = useFilter({ sensitivity: 'base' });\n const textFilterFn = useMemo(\n () => customFilter || contains,\n [customFilter, contains],\n );\n\n // Enhanced filter function that supports keywords and forceMount\n const enhancedFilter = useCallback(\n (textValue: string, inputValue: string, item?: any) => {\n // Always show force-mounted items\n if (item?.forceMount) {\n return true;\n }\n\n // If shouldFilter is false, show all items\n if (!shouldFilter) {\n return true;\n }\n\n // Split input value into individual words and filter out empty strings\n const searchWords = inputValue\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((word) => word.length > 0);\n\n // If no search words, show all items\n if (searchWords.length === 0) {\n return true;\n }\n\n // Collect all searchable text for this item\n const searchableTexts: string[] = [];\n\n // Add main text value\n searchableTexts.push(textValue.toLowerCase());\n\n // Add keywords if available\n if (item?.keywords && Array.isArray(item.keywords)) {\n searchableTexts.push(\n ...item.keywords.map((keyword: string) => keyword.toLowerCase()),\n );\n }\n\n // Check if ALL search words match at least one of the searchable texts\n return searchWords.every((searchWord) =>\n searchableTexts.some((text) => text.includes(searchWord)),\n );\n },\n [shouldFilter],\n );\n\n // Collection filter for React Stately\n const collectionFilter = useCallback(\n (nodes: Iterable<any>): Iterable<any> => {\n const term = searchValue.trim();\n\n // If no search term, return all nodes\n if (!term) {\n return nodes;\n }\n\n // Split search term into words for multi-word filtering\n const searchWords = term\n .toLowerCase()\n .split(/\\s+/)\n .filter((word) => word.length > 0);\n\n // If no valid search words, return all nodes\n if (searchWords.length === 0) {\n return nodes;\n }\n\n // Recursive helper to filter sections and items\n const filterNodes = (iter: Iterable<any>): any[] => {\n const result: any[] = [];\n\n for (const node of iter) {\n if (node.type === 'section') {\n const filteredChildren = filterNodes(node.childNodes);\n\n if (filteredChildren.length) {\n result.push({\n ...node,\n childNodes: filteredChildren,\n });\n }\n } else {\n const text = node.textValue ?? String(node.rendered ?? '');\n\n if (enhancedFilter(text, term, node.props)) {\n result.push(node);\n }\n }\n }\n\n return result;\n };\n\n return filterNodes(nodes);\n },\n [searchValue, enhancedFilter],\n );\n\n // Create tree state with filter for both keyboard navigation and rendering\n const treeStateProps = {\n ...completeProps,\n filter: collectionFilter,\n shouldUseVirtualFocus: true, // Always use virtual focus for CommandMenu\n };\n\n const treeState = useTreeState(treeStateProps);\n\n const collectionItems = [...treeState.collection];\n const hasSections = collectionItems.some((item) => item.type === 'section');\n\n // Track focused key for aria-activedescendant\n const [focusedKey, setFocusedKey] = React.useState<React.Key | null>(null);\n const focusedKeyRef = useRef<React.Key | null>(null);\n\n // Apply filtering to collection items for rendering and empty state checks\n const filteredCollectionItems = useMemo(() => {\n const term = searchValue.trim();\n if (!term) {\n return collectionItems;\n }\n\n // Split search term into words for multi-word filtering\n const searchWords = term\n .toLowerCase()\n .split(/\\s+/)\n .filter((word) => word.length > 0);\n\n // If no valid search words, return all items\n if (searchWords.length === 0) {\n return collectionItems;\n }\n\n const filterNodes = (items: any[]): any[] => {\n const result: any[] = [];\n\n [...items].forEach((item) => {\n if (item.type === 'section') {\n const filteredChildren = filterNodes(item.childNodes);\n if (filteredChildren.length) {\n result.push({\n ...item,\n childNodes: filteredChildren,\n });\n }\n } else {\n const text = item.textValue ?? String(item.rendered ?? '');\n if (enhancedFilter(text, term, item.props)) {\n result.push(item);\n }\n }\n });\n\n return result;\n };\n\n return filterNodes(collectionItems);\n }, [collectionItems, searchValue, enhancedFilter]);\n\n const hasFilteredItems = filteredCollectionItems.length > 0;\n const viewHasSections = filteredCollectionItems.some(\n (item) => item.type === 'section',\n );\n\n // Helper function to find the first selectable item from filtered results\n const findFirstSelectableItem = useCallback(() => {\n const { selectionManager } = treeState;\n\n const visit = (items: any[]): Key | null => {\n for (const node of items) {\n if (node?.type === 'section') {\n const childResult = visit(Array.from(node.childNodes ?? []));\n if (childResult != null) return childResult;\n } else if (\n node?.type === 'item' &&\n !selectionManager.isDisabled(node.key)\n ) {\n return node.key;\n }\n }\n return null;\n };\n\n return visit(filteredCollectionItems);\n }, [filteredCollectionItems, treeState.selectionManager]);\n\n // Create a ref for the menu container\n const menuRef = useRef<HTMLUListElement>(null);\n\n // Use menu hook for accessibility\n const { menuProps } = useMenu(\n {\n ...completeProps,\n 'aria-label': 'Command palette menu',\n filter: collectionFilter,\n shouldUseVirtualFocus: true,\n },\n treeState,\n menuRef,\n );\n\n // Manual rendering of menu items (similar to Menu component)\n const renderedItems = useMemo(() => {\n const items: React.ReactNode[] = [];\n let isFirstSection = true;\n\n filteredCollectionItems.forEach((item) => {\n if (item.type === 'section') {\n if (!isFirstSection) {\n items.push(\n <StyledDivider\n key={`divider-${String(item.key)}`}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n />,\n );\n }\n\n items.push(\n <MenuSection\n key={item.key}\n item={item}\n state={treeState}\n styles={completeProps.sectionStyles}\n itemStyles={completeProps.itemStyles}\n headingStyles={completeProps.sectionHeadingStyles}\n size={size}\n />,\n );\n\n isFirstSection = false;\n return;\n }\n\n let menuItem = (\n <MenuItem\n key={item.key}\n item={item}\n state={treeState}\n styles={completeProps.itemStyles}\n size={size}\n onAction={item.onAction}\n />\n );\n\n // Apply tooltip wrapper if tooltip property is provided\n if (item.props.tooltip) {\n const tooltipProps =\n typeof item.props.tooltip === 'string'\n ? { title: item.props.tooltip }\n : item.props.tooltip;\n\n menuItem = (\n <TooltipProvider\n key={item.key}\n activeWrap\n placement=\"right\"\n {...tooltipProps}\n >\n {menuItem}\n </TooltipProvider>\n );\n }\n\n // Apply custom wrapper if provided\n if (item.props.wrapper) {\n menuItem = item.props.wrapper(menuItem);\n }\n\n // Ensure every child has a stable key, even if the wrapper component didn't set one.\n items.push(React.cloneElement(menuItem, { key: item.key }));\n });\n\n return items;\n }, [\n filteredCollectionItems,\n treeState,\n completeProps.sectionStyles,\n completeProps.itemStyles,\n\n completeProps.sectionHeadingStyles,\n ]);\n\n // Auto-focus search input\n React.useEffect(() => {\n if (autoFocus && searchInputRef.current) {\n // Use a small timeout to ensure the element is visible and focusable\n // This is especially important when the CommandMenu is opened in a popover\n const timeoutId = setTimeout(() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, 0);\n\n return () => clearTimeout(timeoutId);\n }\n }, [autoFocus]);\n\n // Also focus when the component becomes visible (for trigger/popover usage)\n React.useEffect(() => {\n // Check if autoFocus is enabled and we're in a trigger context\n if (autoFocus && contextProps.autoFocus && searchInputRef.current) {\n // Use a small timeout to ensure the popover is fully rendered\n const timeoutId = setTimeout(() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, 50); // Slightly longer timeout for popover context\n\n return () => clearTimeout(timeoutId);\n }\n }, [autoFocus, contextProps.autoFocus]);\n\n // Track the previous search value to only run auto-focus when search actually changes\n const prevSearchValueRef = useRef<string>('');\n\n // Auto-focus first item when search value changes (but not on initial render)\n React.useEffect(() => {\n const currentSearchValue = searchValue.trim();\n const prevSearchValue = prevSearchValueRef.current;\n\n // Only auto-focus when search value actually changes\n if (currentSearchValue !== prevSearchValue && currentSearchValue !== '') {\n const firstSelectableKey = findFirstSelectableItem();\n\n if (firstSelectableKey && hasFilteredItems) {\n // Focus the first item in the selection manager\n treeState.selectionManager.setFocusedKey(firstSelectableKey);\n setFocusedKey(firstSelectableKey);\n focusedKeyRef.current = firstSelectableKey;\n } else {\n // Clear focus if no items are available\n treeState.selectionManager.setFocusedKey(null);\n setFocusedKey(null);\n focusedKeyRef.current = null;\n }\n }\n\n // Update the previous search value\n prevSearchValueRef.current = currentSearchValue;\n }, [searchValue, findFirstSelectableItem, hasFilteredItems]);\n\n // Extract styles\n const extractedStyles = useMemo(\n () => extractStyles(props, CONTAINER_STYLES),\n [props],\n );\n\n // Determine if we should show empty state based on actual filtered collection\n const hasSearchTerm = searchValue.trim().length > 0;\n const showEmptyState = hasSearchTerm && !hasFilteredItems && !isLoading;\n\n // Sync refs\n useSyncRef(contextProps, menuRef);\n\n const mods = useMemo(() => {\n // Determine mods based on menu context\n let popoverMod = completeProps.mods?.popover;\n let trayMod = completeProps.mods?.tray;\n\n return {\n sections: viewHasSections,\n footer: !!footer,\n header: !!header,\n popover: popoverMod,\n tray: trayMod,\n };\n }, [viewHasSections, footer, header, completeProps.mods]);\n\n return (\n <StyledCommandMenu\n {...(filterBaseProps(props) as Record<string, unknown>)}\n ref={domRef}\n qa={qa || 'CommandMenu'}\n data-size={size}\n mods={mods}\n styles={mergeProps(extractedStyles, styles)}\n >\n {/* Header */}\n {header && (\n <StyledHeader\n role=\"presentation\"\n data-size={size}\n styles={{ border: 'none', ...headerStyles }}\n >\n {header}\n </StyledHeader>\n )}\n\n {/* Search Input */}\n <StyledSearchInput\n ref={searchInputRef}\n type=\"search\"\n placeholder={searchPlaceholder}\n value={searchValue}\n styles={searchInputStyles}\n data-size={size}\n aria-controls={`${qa || 'CommandMenu'}-menu`}\n role=\"combobox\"\n aria-expanded=\"true\"\n aria-haspopup=\"listbox\"\n aria-activedescendant={\n focusedKey != null\n ? `${qa || 'CommandMenu'}-menu-option-${focusedKey}`\n : undefined\n }\n onChange={(e) => handleSearchChange(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault();\n\n const isArrowDown = e.key === 'ArrowDown';\n const { selectionManager } = treeState;\n // Use the ref to get the current focused key synchronously\n const currentKey =\n focusedKeyRef.current || selectionManager.focusedKey;\n\n // Helper function to get all visible item keys accounting for sections\n const getVisibleItemKeys = (): Key[] => {\n const keys: Key[] = [];\n\n const visit = (items: any[]) => {\n for (const node of items) {\n if (node?.type === 'section') {\n visit(Array.from(node.childNodes ?? []));\n } else if (node?.type === 'item') {\n keys.push(node.key);\n }\n }\n };\n\n visit(filteredCollectionItems);\n return keys;\n };\n\n // Helper function to find next selectable key in a direction\n const findNextSelectableKey = (\n currentIndex: number,\n direction: 'forward' | 'backward',\n visibleKeys: Key[],\n ) => {\n const increment = direction === 'forward' ? 1 : -1;\n\n for (\n let i = currentIndex + increment;\n i >= 0 && i < visibleKeys.length;\n i += increment\n ) {\n const key = visibleKeys[i];\n if (!selectionManager.isDisabled(key)) {\n return key;\n }\n }\n\n return null;\n };\n\n // Helper function to find first or last selectable key\n const findFirstLastSelectableKey = (\n direction: 'forward' | 'backward',\n visibleKeys: Key[],\n ) => {\n const keysToCheck =\n direction === 'forward'\n ? visibleKeys\n : [...visibleKeys].reverse();\n\n for (const key of keysToCheck) {\n if (!selectionManager.isDisabled(key)) {\n return key;\n }\n }\n\n return null;\n };\n\n const visibleKeys = getVisibleItemKeys();\n\n if (visibleKeys.length === 0) {\n return; // No visible items to navigate\n }\n\n let nextKey;\n const direction = isArrowDown ? 'forward' : 'backward';\n\n if (currentKey == null) {\n // No current focus, start from the first/last item\n nextKey = findFirstLastSelectableKey(direction, visibleKeys);\n } else {\n // Find current position in visible keys\n const currentIndex = visibleKeys.indexOf(currentKey);\n\n if (currentIndex === -1) {\n // Current key not in visible items, start from beginning/end\n nextKey = findFirstLastSelectableKey(direction, visibleKeys);\n } else {\n // Find next selectable item from current position\n nextKey = findNextSelectableKey(\n currentIndex,\n direction,\n visibleKeys,\n );\n\n // If no next key found, wrap to first/last selectable item\n if (nextKey == null) {\n nextKey = findFirstLastSelectableKey(direction, visibleKeys);\n }\n }\n }\n\n if (nextKey != null) {\n selectionManager.setFocusedKey(nextKey);\n setFocusedKey(nextKey);\n focusedKeyRef.current = nextKey; // Update ref immediately\n }\n } else if (\n e.key === 'Enter' ||\n (e.key === ' ' && !searchValue.trim())\n ) {\n const currentFocusedKey =\n focusedKey || treeState.selectionManager.focusedKey;\n if (currentFocusedKey != null) {\n e.preventDefault();\n\n // Trigger action for the focused item (like Menu does)\n // First check if there's a selection mode, if so, handle selection\n if (treeState.selectionManager.selectionMode !== 'none') {\n treeState.selectionManager.select(currentFocusedKey, e);\n } else {\n // Default behavior: trigger action\n const node = treeState.collection.getItem(currentFocusedKey);\n if (node) {\n // Call the tree state's action handler\n const onAction = (completeProps as any).onAction;\n if (onAction) {\n onAction(currentFocusedKey);\n }\n // Also call the item's individual onAction if it exists\n if (node.props?.onAction) {\n node.props.onAction(currentFocusedKey);\n }\n }\n }\n\n // Close the menu if we're in a trigger context and closeOnSelect is enabled (default behavior)\n const { onClose, closeOnSelect } = contextProps;\n if (onClose && closeOnSelect !== false) {\n onClose();\n }\n }\n } else if (e.key === 'Escape') {\n if (searchValue) {\n e.preventDefault();\n handleSearchChange('');\n }\n }\n }}\n />\n\n {/* Loading State */}\n {isLoading && (\n <StyledLoadingWrapper>\n <LoadingIcon\n role=\"progressbar\"\n aria-label=\"Loading commands\"\n aria-hidden={false}\n />\n </StyledLoadingWrapper>\n )}\n\n {/* Menu Content - always render unless loading */}\n {!isLoading && !showEmptyState && (\n <StyledMenu\n {...menuProps}\n ref={menuRef}\n id={`${qa || 'CommandMenu'}-menu`}\n aria-label=\"Command menu\"\n qa=\"Menu\"\n data-size={size}\n mods={mods}\n styles={{\n border: 'none',\n boxShadow: 'none',\n radius: 0,\n padding: '0.5x',\n }}\n >\n {renderedItems}\n </StyledMenu>\n )}\n\n {/* Empty State - show when search term exists but no results */}\n {!isLoading && showEmptyState && (\n <StyledEmptyState>{emptyLabel}</StyledEmptyState>\n )}\n\n {/* Footer */}\n {footer && (\n <StyledFooter\n role=\"presentation\"\n data-size={size}\n styles={footerStyles}\n >\n {footer}\n </StyledFooter>\n )}\n </StyledCommandMenu>\n );\n}\n\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\nconst _CommandMenu = React.forwardRef(CommandMenu) as <T>(\n props: CubeCommandMenuProps<T> & React.RefAttributes<HTMLDivElement>,\n) => ReactElement;\n\n// Attach Trigger alias from MenuTrigger for consistent API\n// Also attach Item and Section for compound component pattern\nconst __CommandMenu = Object.assign(_CommandMenu, {\n Trigger: MenuTrigger,\n Item,\n Section,\n displayName: 'CommandMenu',\n});\n\nexport { __CommandMenu as CommandMenu };\n"],"mappings":"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"}
1
+ {"version":3,"file":"CommandMenu.js","names":["useObjectRef","useSyncRef","FocusStrategy","BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","Styles","React","Key","ReactElement","ReactNode","Ref","useCallback","useMemo","useRef","useState","useFilter","useMenu","Section","useTreeState","useI18n","LoadingIcon","mergeProps","extractStyles","CollectionItem","Item","TooltipProvider","useMenuContext","CubeMenuProps","MenuItem","MenuSection","MenuTrigger","StyledDivider","StyledFooter","StyledHeader","StyledMenu","StyledCommandMenu","StyledEmptyState","StyledLoadingWrapper","StyledSearchInput","CommandMenuItem","id","textValue","keywords","forceMount","key","CubeCommandMenuProps","Omit","T","searchPlaceholder","searchValue","onSearchChange","value","filter","inputValue","emptyLabel","searchInputStyles","headerStyles","footerStyles","isLoading","shouldFilter","autoFocus","size","selectedKeys","defaultSelectedKeys","onSelectionChange","keys","CommandMenu","props","ref","HTMLDivElement","t","controlledSearchValue","customFilter","qa","styles","header","footer","restMenuProps","domRef","searchInputRef","HTMLInputElement","contextProps","ariaSelectedKeys","Set","undefined","ariaDefaultSelectedKeys","handleSelectionChange","allKeys","Array","from","treeState","collection","getKeys","map","String","completeProps","internalSearchValue","setInternalSearchValue","handleSearchChange","contains","sensitivity","textFilterFn","enhancedFilter","item","searchWords","trim","toLowerCase","split","word","length","searchableTexts","push","isArray","keyword","every","searchWord","some","text","includes","collectionFilter","nodes","Iterable","term","filterNodes","iter","result","node","type","filteredChildren","childNodes","rendered","treeStateProps","shouldUseVirtualFocus","collectionItems","hasSections","focusedKey","setFocusedKey","focusedKeyRef","filteredCollectionItems","items","forEach","hasFilteredItems","viewHasSections","findFirstSelectableItem","selectionManager","visit","childResult","isDisabled","menuRef","HTMLUListElement","menuProps","renderedItems","isFirstSection","sectionStyles","itemStyles","sectionHeadingStyles","menuItem","onAction","tooltip","tooltipProps","title","wrapper","cloneElement","useEffect","current","timeoutId","setTimeout","focus","clearTimeout","prevSearchValueRef","currentSearchValue","prevSearchValue","firstSelectableKey","extractedStyles","hasSearchTerm","showEmptyState","mods","popoverMod","popover","trayMod","tray","sections","Record","border","e","target","preventDefault","isArrowDown","currentKey","getVisibleItemKeys","findNextSelectableKey","currentIndex","direction","visibleKeys","increment","i","findFirstLastSelectableKey","keysToCheck","reverse","nextKey","indexOf","currentFocusedKey","selectionMode","select","getItem","onClose","closeOnSelect","boxShadow","radius","padding","_CommandMenu","forwardRef","RefAttributes","__CommandMenu","Object","assign","Trigger","displayName"],"sources":["../../../../src/components/actions/CommandMenu/CommandMenu.tsx"],"sourcesContent":["import { useObjectRef, useSyncRef } from '@react-aria/utils';\nimport { FocusStrategy } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n Styles,\n} from '@tenphi/tasty';\nimport React, {\n Key,\n ReactElement,\n ReactNode,\n Ref,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useFilter, useMenu } from 'react-aria';\nimport { Section, useTreeState } from 'react-stately';\n\nimport { useI18n } from '../../../i18n';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { mergeProps } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n// `CollectionItem` (not react-stately's bare `Item`) is what CommandMenu\n// actually renders through `MenuItem`, so it carries the `Item` props.\nimport { CollectionItem as Item } from '../../CollectionItem';\nimport { TooltipProvider } from '../../overlays/Tooltip/TooltipProvider';\nimport { useMenuContext } from '../Menu';\nimport { CubeMenuProps } from '../Menu/Menu';\nimport { MenuItem } from '../Menu/MenuItem';\nimport { MenuSection } from '../Menu/MenuSection';\nimport { MenuTrigger } from '../Menu/MenuTrigger';\nimport {\n StyledDivider,\n StyledFooter,\n StyledHeader,\n StyledMenu,\n} from '../Menu/styled';\n\nimport {\n StyledCommandMenu,\n StyledEmptyState,\n StyledLoadingWrapper,\n StyledSearchInput,\n} from './styled';\n\nexport interface CommandMenuItem {\n // Standard item props\n id: string;\n textValue: string;\n\n // Enhanced search features\n keywords?: string[];\n forceMount?: boolean;\n\n // Standard Menu item props inherited\n [key: string]: any;\n}\n\nexport interface CubeCommandMenuProps<T>\n extends BaseProps,\n ContainerStyleProps,\n Omit<\n CubeMenuProps<T>,\n 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange'\n > {\n // Search-specific props\n searchPlaceholder?: string;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n filter?: (textValue: string, inputValue: string) => boolean;\n emptyLabel?: ReactNode;\n searchInputStyles?: Styles;\n headerStyles?: Styles;\n footerStyles?: Styles;\n\n // Advanced search features\n isLoading?: boolean;\n shouldFilter?: boolean;\n\n // Focus management - override the autoFocus from CubeMenuProps to allow boolean | FocusStrategy\n autoFocus?: boolean | FocusStrategy;\n\n // Size prop\n size?: 'medium' | 'large' | (string & {});\n\n /** Currently selected keys (controlled) */\n selectedKeys?: string[];\n /** Initially selected keys (uncontrolled) */\n defaultSelectedKeys?: string[];\n /** Handler for selection changes */\n onSelectionChange?: (keys: string[]) => void;\n}\n\nfunction CommandMenu<T extends object>(\n props: CubeCommandMenuProps<T>,\n ref: Ref<HTMLDivElement>,\n) {\n const { t } = useI18n();\n\n const {\n searchPlaceholder = t(\n 'commandMenu.searchPlaceholder',\n 'Search commands...',\n ),\n searchValue: controlledSearchValue,\n onSearchChange,\n filter: customFilter,\n emptyLabel = t('commandMenu.empty', 'No commands found'),\n searchInputStyles,\n headerStyles,\n footerStyles,\n isLoading = false,\n shouldFilter = true,\n autoFocus = true,\n size = 'medium',\n qa,\n styles,\n selectedKeys,\n defaultSelectedKeys,\n onSelectionChange,\n header,\n footer,\n ...restMenuProps\n } = props;\n\n const domRef = useObjectRef(ref);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const contextProps = useMenuContext();\n\n // Convert string[] to Set<Key> for React Aria compatibility\n const ariaSelectedKeys = selectedKeys ? new Set(selectedKeys) : undefined;\n const ariaDefaultSelectedKeys = defaultSelectedKeys\n ? new Set(defaultSelectedKeys)\n : undefined;\n\n const handleSelectionChange = onSelectionChange\n ? (keys: 'all' | Set<Key>) => {\n if (keys === 'all') {\n // Handle 'all' selection case - collect all available keys\n const allKeys = Array.from(treeState.collection.getKeys()).map(\n (key: any) => String(key),\n );\n onSelectionChange(allKeys);\n } else if (keys instanceof Set) {\n onSelectionChange(Array.from(keys).map((key) => String(key)));\n } else {\n onSelectionChange([]);\n }\n }\n : undefined;\n\n const completeProps = mergeProps(contextProps, restMenuProps, {\n selectedKeys: ariaSelectedKeys,\n defaultSelectedKeys: ariaDefaultSelectedKeys,\n onSelectionChange: handleSelectionChange,\n });\n\n // Search state management\n const [internalSearchValue, setInternalSearchValue] = useState('');\n const searchValue = controlledSearchValue ?? internalSearchValue;\n\n const handleSearchChange = useCallback(\n (value: string) => {\n if (controlledSearchValue === undefined) {\n setInternalSearchValue(value);\n }\n onSearchChange?.(value);\n },\n [controlledSearchValue, onSearchChange],\n );\n\n // Filter setup\n const { contains } = useFilter({ sensitivity: 'base' });\n const textFilterFn = useMemo(\n () => customFilter || contains,\n [customFilter, contains],\n );\n\n // Enhanced filter function that supports keywords and forceMount\n const enhancedFilter = useCallback(\n (textValue: string, inputValue: string, item?: any) => {\n // Always show force-mounted items\n if (item?.forceMount) {\n return true;\n }\n\n // If shouldFilter is false, show all items\n if (!shouldFilter) {\n return true;\n }\n\n // Split input value into individual words and filter out empty strings\n const searchWords = inputValue\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((word) => word.length > 0);\n\n // If no search words, show all items\n if (searchWords.length === 0) {\n return true;\n }\n\n // Collect all searchable text for this item\n const searchableTexts: string[] = [];\n\n // Add main text value\n searchableTexts.push(textValue.toLowerCase());\n\n // Add keywords if available\n if (item?.keywords && Array.isArray(item.keywords)) {\n searchableTexts.push(\n ...item.keywords.map((keyword: string) => keyword.toLowerCase()),\n );\n }\n\n // Check if ALL search words match at least one of the searchable texts\n return searchWords.every((searchWord) =>\n searchableTexts.some((text) => text.includes(searchWord)),\n );\n },\n [shouldFilter],\n );\n\n // Collection filter for React Stately\n const collectionFilter = useCallback(\n (nodes: Iterable<any>): Iterable<any> => {\n const term = searchValue.trim();\n\n // If no search term, return all nodes\n if (!term) {\n return nodes;\n }\n\n // Split search term into words for multi-word filtering\n const searchWords = term\n .toLowerCase()\n .split(/\\s+/)\n .filter((word) => word.length > 0);\n\n // If no valid search words, return all nodes\n if (searchWords.length === 0) {\n return nodes;\n }\n\n // Recursive helper to filter sections and items\n const filterNodes = (iter: Iterable<any>): any[] => {\n const result: any[] = [];\n\n for (const node of iter) {\n if (node.type === 'section') {\n const filteredChildren = filterNodes(node.childNodes);\n\n if (filteredChildren.length) {\n result.push({\n ...node,\n childNodes: filteredChildren,\n });\n }\n } else {\n const text = node.textValue ?? String(node.rendered ?? '');\n\n if (enhancedFilter(text, term, node.props)) {\n result.push(node);\n }\n }\n }\n\n return result;\n };\n\n return filterNodes(nodes);\n },\n [searchValue, enhancedFilter],\n );\n\n // Create tree state with filter for both keyboard navigation and rendering\n const treeStateProps = {\n ...completeProps,\n filter: collectionFilter,\n shouldUseVirtualFocus: true, // Always use virtual focus for CommandMenu\n };\n\n const treeState = useTreeState(treeStateProps);\n\n const collectionItems = [...treeState.collection];\n const hasSections = collectionItems.some((item) => item.type === 'section');\n\n // Track focused key for aria-activedescendant\n const [focusedKey, setFocusedKey] = React.useState<React.Key | null>(null);\n const focusedKeyRef = useRef<React.Key | null>(null);\n\n // Apply filtering to collection items for rendering and empty state checks\n const filteredCollectionItems = useMemo(() => {\n const term = searchValue.trim();\n if (!term) {\n return collectionItems;\n }\n\n // Split search term into words for multi-word filtering\n const searchWords = term\n .toLowerCase()\n .split(/\\s+/)\n .filter((word) => word.length > 0);\n\n // If no valid search words, return all items\n if (searchWords.length === 0) {\n return collectionItems;\n }\n\n const filterNodes = (items: any[]): any[] => {\n const result: any[] = [];\n\n [...items].forEach((item) => {\n if (item.type === 'section') {\n const filteredChildren = filterNodes(item.childNodes);\n if (filteredChildren.length) {\n result.push({\n ...item,\n childNodes: filteredChildren,\n });\n }\n } else {\n const text = item.textValue ?? String(item.rendered ?? '');\n if (enhancedFilter(text, term, item.props)) {\n result.push(item);\n }\n }\n });\n\n return result;\n };\n\n return filterNodes(collectionItems);\n }, [collectionItems, searchValue, enhancedFilter]);\n\n const hasFilteredItems = filteredCollectionItems.length > 0;\n const viewHasSections = filteredCollectionItems.some(\n (item) => item.type === 'section',\n );\n\n // Helper function to find the first selectable item from filtered results\n const findFirstSelectableItem = useCallback(() => {\n const { selectionManager } = treeState;\n\n const visit = (items: any[]): Key | null => {\n for (const node of items) {\n if (node?.type === 'section') {\n const childResult = visit(Array.from(node.childNodes ?? []));\n if (childResult != null) return childResult;\n } else if (\n node?.type === 'item' &&\n !selectionManager.isDisabled(node.key)\n ) {\n return node.key;\n }\n }\n return null;\n };\n\n return visit(filteredCollectionItems);\n }, [filteredCollectionItems, treeState.selectionManager]);\n\n // Create a ref for the menu container\n const menuRef = useRef<HTMLUListElement>(null);\n\n // Use menu hook for accessibility\n const { menuProps } = useMenu(\n {\n ...completeProps,\n 'aria-label': 'Command palette menu',\n filter: collectionFilter,\n shouldUseVirtualFocus: true,\n },\n treeState,\n menuRef,\n );\n\n // Manual rendering of menu items (similar to Menu component)\n const renderedItems = useMemo(() => {\n const items: React.ReactNode[] = [];\n let isFirstSection = true;\n\n filteredCollectionItems.forEach((item) => {\n if (item.type === 'section') {\n if (!isFirstSection) {\n items.push(\n <StyledDivider\n key={`divider-${String(item.key)}`}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n />,\n );\n }\n\n items.push(\n <MenuSection\n key={item.key}\n item={item}\n state={treeState}\n styles={completeProps.sectionStyles}\n itemStyles={completeProps.itemStyles}\n headingStyles={completeProps.sectionHeadingStyles}\n size={size}\n />,\n );\n\n isFirstSection = false;\n return;\n }\n\n let menuItem = (\n <MenuItem\n key={item.key}\n item={item}\n state={treeState}\n styles={completeProps.itemStyles}\n size={size}\n onAction={item.onAction}\n />\n );\n\n // Apply tooltip wrapper if tooltip property is provided\n if (item.props.tooltip) {\n const tooltipProps =\n typeof item.props.tooltip === 'string'\n ? { title: item.props.tooltip }\n : item.props.tooltip;\n\n menuItem = (\n <TooltipProvider\n key={item.key}\n activeWrap\n placement=\"right\"\n {...tooltipProps}\n >\n {menuItem}\n </TooltipProvider>\n );\n }\n\n // Apply custom wrapper if provided\n if (item.props.wrapper) {\n menuItem = item.props.wrapper(menuItem);\n }\n\n // Ensure every child has a stable key, even if the wrapper component didn't set one.\n items.push(React.cloneElement(menuItem, { key: item.key }));\n });\n\n return items;\n }, [\n filteredCollectionItems,\n treeState,\n completeProps.sectionStyles,\n completeProps.itemStyles,\n\n completeProps.sectionHeadingStyles,\n ]);\n\n // Auto-focus search input\n React.useEffect(() => {\n if (autoFocus && searchInputRef.current) {\n // Use a small timeout to ensure the element is visible and focusable\n // This is especially important when the CommandMenu is opened in a popover\n const timeoutId = setTimeout(() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, 0);\n\n return () => clearTimeout(timeoutId);\n }\n }, [autoFocus]);\n\n // Also focus when the component becomes visible (for trigger/popover usage)\n React.useEffect(() => {\n // Check if autoFocus is enabled and we're in a trigger context\n if (autoFocus && contextProps.autoFocus && searchInputRef.current) {\n // Use a small timeout to ensure the popover is fully rendered\n const timeoutId = setTimeout(() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, 50); // Slightly longer timeout for popover context\n\n return () => clearTimeout(timeoutId);\n }\n }, [autoFocus, contextProps.autoFocus]);\n\n // Track the previous search value to only run auto-focus when search actually changes\n const prevSearchValueRef = useRef<string>('');\n\n // Auto-focus first item when search value changes (but not on initial render)\n React.useEffect(() => {\n const currentSearchValue = searchValue.trim();\n const prevSearchValue = prevSearchValueRef.current;\n\n // Only auto-focus when search value actually changes\n if (currentSearchValue !== prevSearchValue && currentSearchValue !== '') {\n const firstSelectableKey = findFirstSelectableItem();\n\n if (firstSelectableKey && hasFilteredItems) {\n // Focus the first item in the selection manager\n treeState.selectionManager.setFocusedKey(firstSelectableKey);\n setFocusedKey(firstSelectableKey);\n focusedKeyRef.current = firstSelectableKey;\n } else {\n // Clear focus if no items are available\n treeState.selectionManager.setFocusedKey(null);\n setFocusedKey(null);\n focusedKeyRef.current = null;\n }\n }\n\n // Update the previous search value\n prevSearchValueRef.current = currentSearchValue;\n }, [searchValue, findFirstSelectableItem, hasFilteredItems]);\n\n // Extract styles\n const extractedStyles = useMemo(\n () => extractStyles(props, CONTAINER_STYLES),\n [props],\n );\n\n // Determine if we should show empty state based on actual filtered collection\n const hasSearchTerm = searchValue.trim().length > 0;\n const showEmptyState = hasSearchTerm && !hasFilteredItems && !isLoading;\n\n // Sync refs\n useSyncRef(contextProps, menuRef);\n\n const mods = useMemo(() => {\n // Determine mods based on menu context\n let popoverMod = completeProps.mods?.popover;\n let trayMod = completeProps.mods?.tray;\n\n return {\n sections: viewHasSections,\n footer: !!footer,\n header: !!header,\n popover: popoverMod,\n tray: trayMod,\n };\n }, [viewHasSections, footer, header, completeProps.mods]);\n\n return (\n <StyledCommandMenu\n {...(filterBaseProps(props) as Record<string, unknown>)}\n ref={domRef}\n qa={qa || 'CommandMenu'}\n data-size={size}\n mods={mods}\n styles={mergeProps(extractedStyles, styles)}\n >\n {/* Header */}\n {header && (\n <StyledHeader\n role=\"presentation\"\n data-size={size}\n styles={{ border: 'none', ...headerStyles }}\n >\n {header}\n </StyledHeader>\n )}\n\n {/* Search Input */}\n <StyledSearchInput\n ref={searchInputRef}\n type=\"search\"\n placeholder={searchPlaceholder}\n value={searchValue}\n styles={searchInputStyles}\n data-size={size}\n aria-controls={`${qa || 'CommandMenu'}-menu`}\n role=\"combobox\"\n aria-expanded=\"true\"\n aria-haspopup=\"listbox\"\n aria-activedescendant={\n focusedKey != null\n ? `${qa || 'CommandMenu'}-menu-option-${focusedKey}`\n : undefined\n }\n onChange={(e) => handleSearchChange(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault();\n\n const isArrowDown = e.key === 'ArrowDown';\n const { selectionManager } = treeState;\n // Use the ref to get the current focused key synchronously\n const currentKey =\n focusedKeyRef.current || selectionManager.focusedKey;\n\n // Helper function to get all visible item keys accounting for sections\n const getVisibleItemKeys = (): Key[] => {\n const keys: Key[] = [];\n\n const visit = (items: any[]) => {\n for (const node of items) {\n if (node?.type === 'section') {\n visit(Array.from(node.childNodes ?? []));\n } else if (node?.type === 'item') {\n keys.push(node.key);\n }\n }\n };\n\n visit(filteredCollectionItems);\n return keys;\n };\n\n // Helper function to find next selectable key in a direction\n const findNextSelectableKey = (\n currentIndex: number,\n direction: 'forward' | 'backward',\n visibleKeys: Key[],\n ) => {\n const increment = direction === 'forward' ? 1 : -1;\n\n for (\n let i = currentIndex + increment;\n i >= 0 && i < visibleKeys.length;\n i += increment\n ) {\n const key = visibleKeys[i];\n if (!selectionManager.isDisabled(key)) {\n return key;\n }\n }\n\n return null;\n };\n\n // Helper function to find first or last selectable key\n const findFirstLastSelectableKey = (\n direction: 'forward' | 'backward',\n visibleKeys: Key[],\n ) => {\n const keysToCheck =\n direction === 'forward'\n ? visibleKeys\n : [...visibleKeys].reverse();\n\n for (const key of keysToCheck) {\n if (!selectionManager.isDisabled(key)) {\n return key;\n }\n }\n\n return null;\n };\n\n const visibleKeys = getVisibleItemKeys();\n\n if (visibleKeys.length === 0) {\n return; // No visible items to navigate\n }\n\n let nextKey;\n const direction = isArrowDown ? 'forward' : 'backward';\n\n if (currentKey == null) {\n // No current focus, start from the first/last item\n nextKey = findFirstLastSelectableKey(direction, visibleKeys);\n } else {\n // Find current position in visible keys\n const currentIndex = visibleKeys.indexOf(currentKey);\n\n if (currentIndex === -1) {\n // Current key not in visible items, start from beginning/end\n nextKey = findFirstLastSelectableKey(direction, visibleKeys);\n } else {\n // Find next selectable item from current position\n nextKey = findNextSelectableKey(\n currentIndex,\n direction,\n visibleKeys,\n );\n\n // If no next key found, wrap to first/last selectable item\n if (nextKey == null) {\n nextKey = findFirstLastSelectableKey(direction, visibleKeys);\n }\n }\n }\n\n if (nextKey != null) {\n selectionManager.setFocusedKey(nextKey);\n setFocusedKey(nextKey);\n focusedKeyRef.current = nextKey; // Update ref immediately\n }\n } else if (\n e.key === 'Enter' ||\n (e.key === ' ' && !searchValue.trim())\n ) {\n const currentFocusedKey =\n focusedKey || treeState.selectionManager.focusedKey;\n if (currentFocusedKey != null) {\n e.preventDefault();\n\n // Trigger action for the focused item (like Menu does)\n // First check if there's a selection mode, if so, handle selection\n if (treeState.selectionManager.selectionMode !== 'none') {\n treeState.selectionManager.select(currentFocusedKey, e);\n } else {\n // Default behavior: trigger action\n const node = treeState.collection.getItem(currentFocusedKey);\n if (node) {\n // Call the tree state's action handler\n const onAction = (completeProps as any).onAction;\n if (onAction) {\n onAction(currentFocusedKey);\n }\n // Also call the item's individual onAction if it exists\n if (node.props?.onAction) {\n node.props.onAction(currentFocusedKey);\n }\n }\n }\n\n // Close the menu if we're in a trigger context and closeOnSelect is enabled (default behavior)\n const { onClose, closeOnSelect } = contextProps;\n if (onClose && closeOnSelect !== false) {\n onClose();\n }\n }\n } else if (e.key === 'Escape') {\n if (searchValue) {\n e.preventDefault();\n handleSearchChange('');\n }\n }\n }}\n />\n\n {/* Loading State */}\n {isLoading && (\n <StyledLoadingWrapper>\n <LoadingIcon\n role=\"progressbar\"\n aria-label=\"Loading commands\"\n aria-hidden={false}\n />\n </StyledLoadingWrapper>\n )}\n\n {/* Menu Content - always render unless loading */}\n {!isLoading && !showEmptyState && (\n <StyledMenu\n {...menuProps}\n ref={menuRef}\n id={`${qa || 'CommandMenu'}-menu`}\n aria-label=\"Command menu\"\n qa=\"Menu\"\n data-size={size}\n mods={mods}\n styles={{\n border: 'none',\n boxShadow: 'none',\n radius: 0,\n padding: '0.5x',\n }}\n >\n {renderedItems}\n </StyledMenu>\n )}\n\n {/* Empty State - show when search term exists but no results */}\n {!isLoading && showEmptyState && (\n <StyledEmptyState>{emptyLabel}</StyledEmptyState>\n )}\n\n {/* Footer */}\n {footer && (\n <StyledFooter\n role=\"presentation\"\n data-size={size}\n styles={footerStyles}\n >\n {footer}\n </StyledFooter>\n )}\n </StyledCommandMenu>\n );\n}\n\n// forwardRef doesn't support generic parameters, so cast the result to the correct type\nconst _CommandMenu = React.forwardRef(CommandMenu) as <T>(\n props: CubeCommandMenuProps<T> & React.RefAttributes<HTMLDivElement>,\n) => ReactElement;\n\n// Attach Trigger alias from MenuTrigger for consistent API\n// Also attach Item and Section for compound component pattern\nconst __CommandMenu = Object.assign(_CommandMenu, {\n Trigger: MenuTrigger,\n Item,\n Section,\n displayName: 'CommandMenu',\n});\n\nexport { __CommandMenu as CommandMenu };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.181.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.183.0 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/actions/CommandMenu/styled.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","names":[],"sources":["../../../../src/components/actions/CommandMenu/styled.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nexport const StyledCommandMenu = tasty({\n qa: 'CommandMenu',\n styles: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr)',\n gridRows: {\n '': 'max-content minmax(0, 1fr)',\n header: 'max-content max-content minmax(0, 1fr)',\n footer: 'max-content minmax(0, 1fr) max-content max-content',\n 'header & footer':\n 'max-content max-content minmax(0, 1fr) max-content max-content',\n },\n placeContent: 'stretch',\n placeItems: 'stretch',\n fill: '#surface',\n border: '#border',\n radius: '(1cr + 1bw)',\n shadow: {\n '': false,\n // Same as Menu (`src/components/actions/Menu/styled.tsx`) — use the\n // `$shadow` token instead of a literal `#dark.05` shadow so the\n // popover shadow stays a true *dark* shadow in dark mode.\n 'popover | tray': '$shadow',\n },\n overflow: 'hidden',\n height: {\n '': 'initial',\n popover: 'initial max-content (50vh - $size-md)',\n tray: 'initial max-content (100vh - $size-md)',\n },\n },\n});\n\nexport const StyledSearchInput = tasty({\n qa: 'SearchInput',\n as: 'input',\n styles: {\n recipe: 'reset input / input-autofill',\n display: 'grid',\n width: '100%',\n color: '#dark',\n border: '#border bottom',\n transition: 'theme',\n radius: 0,\n textAlign: 'left',\n preset: 't3',\n userSelect: 'auto',\n height: '($size + 1x)',\n padding: {\n '': '.5x 1.5x',\n prefix: '0 1.5x 0 .5x',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n\n Placeholder: {\n $: '&::placeholder',\n recipe: 'input-placeholder',\n },\n '&::-webkit-search-cancel-button': {\n recipe: 'input-search-cancel-button',\n },\n },\n});\n\nexport const StyledLoadingWrapper = tasty({\n qa: 'LoadingWrapper',\n styles: {\n display: 'flex',\n padding: '2x',\n placeContent: 'center',\n placeItems: 'center',\n color: '#dark-03',\n },\n});\n\nexport const StyledEmptyState = tasty({\n qa: 'EmptyState',\n styles: {\n display: 'flex',\n padding: '2x',\n placeContent: 'center',\n placeItems: 'center',\n color: '#dark-03',\n preset: 't3',\n },\n});\n\nexport const StyledMenuWrapper = tasty({\n qa: 'MenuWrapper',\n styles: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr)',\n placeContent: 'stretch',\n placeItems: 'stretch',\n width: '100%',\n overflow: 'auto',\n scrollbar: 'styled',\n },\n});\n"],"mappings":";;;;AAEA,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,aAAa;EACb,UAAU;GACR,IAAI;GACJ,QAAQ;GACR,QAAQ;GACR,mBACE;GACH;EACD,cAAc;EACd,YAAY;EACZ,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;GACN,IAAI;GAIJ,kBAAkB;GACnB;EACD,UAAU;EACV,QAAQ;GACN,IAAI;GACJ,SAAS;GACT,MAAM;GACP;EACF;CACF,CAAC;AAEF,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,WAAW;EACX,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,SAAS;GACP,IAAI;GACJ,QAAQ;GACT;EAED,OAAO;GACL,IAAI;GACJ,cAAc;GACd,eAAe;GACf,cAAc;GACf;EAED,aAAa;GACX,GAAG;GACH,QAAQ;GACT;EACD,mCAAmC,EACjC,QAAQ,8BACT;EACF;CACF,CAAC;AAEF,MAAa,uBAAuB,MAAM;CACxC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACT,cAAc;EACd,YAAY;EACZ,OAAO;EACR;CACF,CAAC;AAEF,MAAa,mBAAmB,MAAM;CACpC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACT,cAAc;EACd,YAAY;EACZ,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAEF,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,aAAa;EACb,cAAc;EACd,YAAY;EACZ,OAAO;EACP,UAAU;EACV,WAAW;EACZ;CACF,CAAC"}
1
+ {"version":3,"file":"styled.js","names":["tasty","StyledCommandMenu","qa","styles","display","flow","gridColumns","gridRows","header","footer","placeContent","placeItems","fill","border","radius","shadow","overflow","height","popover","tray","StyledSearchInput","as","recipe","width","color","transition","textAlign","preset","userSelect","padding","prefix","$size","Placeholder","$","StyledLoadingWrapper","StyledEmptyState","StyledMenuWrapper","scrollbar"],"sources":["../../../../src/components/actions/CommandMenu/styled.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nexport const StyledCommandMenu = tasty({\n qa: 'CommandMenu',\n styles: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr)',\n gridRows: {\n '': 'max-content minmax(0, 1fr)',\n header: 'max-content max-content minmax(0, 1fr)',\n footer: 'max-content minmax(0, 1fr) max-content max-content',\n 'header & footer':\n 'max-content max-content minmax(0, 1fr) max-content max-content',\n },\n placeContent: 'stretch',\n placeItems: 'stretch',\n fill: '#surface',\n border: '#border',\n radius: '(1cr + 1bw)',\n shadow: {\n '': false,\n // Same as Menu (`src/components/actions/Menu/styled.tsx`) — use the\n // `$shadow` token instead of a literal `#dark.05` shadow so the\n // popover shadow stays a true *dark* shadow in dark mode.\n 'popover | tray': '$shadow',\n },\n overflow: 'hidden',\n height: {\n '': 'initial',\n popover: 'initial max-content (50vh - $size-md)',\n tray: 'initial max-content (100vh - $size-md)',\n },\n },\n});\n\nexport const StyledSearchInput = tasty({\n qa: 'SearchInput',\n as: 'input',\n styles: {\n recipe: 'reset input / input-autofill',\n display: 'grid',\n width: '100%',\n color: '#dark',\n border: '#border bottom',\n transition: 'theme',\n radius: 0,\n textAlign: 'left',\n preset: 't3',\n userSelect: 'auto',\n height: '($size + 1x)',\n padding: {\n '': '.5x 1.5x',\n prefix: '0 1.5x 0 .5x',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n\n Placeholder: {\n $: '&::placeholder',\n recipe: 'input-placeholder',\n },\n '&::-webkit-search-cancel-button': {\n recipe: 'input-search-cancel-button',\n },\n },\n});\n\nexport const StyledLoadingWrapper = tasty({\n qa: 'LoadingWrapper',\n styles: {\n display: 'flex',\n padding: '2x',\n placeContent: 'center',\n placeItems: 'center',\n color: '#dark-03',\n },\n});\n\nexport const StyledEmptyState = tasty({\n qa: 'EmptyState',\n styles: {\n display: 'flex',\n padding: '2x',\n placeContent: 'center',\n placeItems: 'center',\n color: '#dark-03',\n preset: 't3',\n },\n});\n\nexport const StyledMenuWrapper = tasty({\n qa: 'MenuWrapper',\n styles: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr)',\n placeContent: 'stretch',\n placeItems: 'stretch',\n width: '100%',\n overflow: 'auto',\n scrollbar: 'styled',\n },\n});\n"],"mappings":";;;;AAEA,MAAaC,oBAAoBD,MAAM;CACrCE,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTC,MAAM;EACNC,aAAa;EACbC,UAAU;GACR,IAAI;GACJC,QAAQ;GACRC,QAAQ;GACR,mBACE;GACH;EACDC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;GACN,IAAI;GAIJ,kBAAkB;GACnB;EACDC,UAAU;EACVC,QAAQ;GACN,IAAI;GACJC,SAAS;GACTC,MAAM;GACR;EACF;CACD,CAAC;AAEF,MAAaC,oBAAoBpB,MAAM;CACrCE,IAAI;CACJmB,IAAI;CACJlB,QAAQ;EACNmB,QAAQ;EACRlB,SAAS;EACTmB,OAAO;EACPC,OAAO;EACPX,QAAQ;EACRY,YAAY;EACZX,QAAQ;EACRY,WAAW;EACXC,QAAQ;EACRC,YAAY;EACZX,QAAQ;EACRY,SAAS;GACP,IAAI;GACJC,QAAQ;GACT;EAEDC,OAAO;GACL,IAAI;GACJ,cAAc;GACd,eAAe;GACf,cAAc;GACf;EAEDC,aAAa;GACXC,GAAG;GACHX,QAAQ;GACT;EACD,mCAAmC,EACjCA,QAAQ,8BACV;EACF;CACD,CAAC;AAEF,MAAaY,uBAAuBlC,MAAM;CACxCE,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTyB,SAAS;EACTnB,cAAc;EACdC,YAAY;EACZa,OAAO;EACT;CACD,CAAC;AAEF,MAAaW,mBAAmBnC,MAAM;CACpCE,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTyB,SAAS;EACTnB,cAAc;EACdC,YAAY;EACZa,OAAO;EACPG,QAAQ;EACV;CACD,CAAC;AAEF,MAAaS,oBAAoBpC,MAAM;CACrCE,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTC,MAAM;EACNC,aAAa;EACbI,cAAc;EACdC,YAAY;EACZY,OAAO;EACPP,UAAU;EACVqB,WAAW;EACb;CACD,CAAC"}