@cube-dev/ui-kit 0.142.9 → 0.143.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 (456) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +29 -0
  3. package/dist/README.md +1 -1
  4. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  5. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  6. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  7. package/dist/_internal/hooks/use-event.js +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  9. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  10. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  11. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/dist/_internal/hooks/use-warn.js +1 -1
  13. package/dist/components/Block.js +1 -1
  14. package/dist/components/CollectionItem.js +1 -1
  15. package/dist/components/GlobalStyles.js +1 -1
  16. package/dist/components/GridProvider.js +1 -1
  17. package/dist/components/HiddenInput.js +1 -1
  18. package/dist/components/Root.js +1 -1
  19. package/dist/components/actions/Action/Action.js +1 -1
  20. package/dist/components/actions/Banner/Banner.js +1 -1
  21. package/dist/components/actions/Button/Button.js +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  24. package/dist/components/actions/ButtonSplit/context.js +1 -1
  25. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  26. package/dist/components/actions/CommandMenu/styled.js +1 -1
  27. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  30. package/dist/components/actions/Link/Link.js +1 -1
  31. package/dist/components/actions/Menu/Menu.js +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +1 -1
  33. package/dist/components/actions/Menu/MenuSection.js +1 -1
  34. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +1 -1
  39. package/dist/components/actions/index.js +1 -1
  40. package/dist/components/actions/use-action.js +1 -1
  41. package/dist/components/actions/use-anchored-menu.js +1 -1
  42. package/dist/components/actions/use-context-menu.js +1 -1
  43. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  44. package/dist/components/content/Alert/Alert.js +1 -1
  45. package/dist/components/content/Alert/use-alert.js +1 -1
  46. package/dist/components/content/Avatar/Avatar.js +1 -1
  47. package/dist/components/content/Badge/Badge.js +1 -1
  48. package/dist/components/content/Card/Card.js +1 -1
  49. package/dist/components/content/Content.js +1 -1
  50. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  51. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  58. package/dist/components/content/Item/Item.js +11 -2
  59. package/dist/components/content/Item/Item.js.map +1 -1
  60. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  61. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  62. package/dist/components/content/Layout/GridLayout.js +1 -1
  63. package/dist/components/content/Layout/Layout.js +1 -1
  64. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  65. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  66. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  67. package/dist/components/content/Layout/LayoutContent.js +1 -1
  68. package/dist/components/content/Layout/LayoutContext.js +1 -1
  69. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  70. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  71. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  72. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  73. package/dist/components/content/Layout/LayoutPane.js +1 -1
  74. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  76. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  77. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  78. package/dist/components/content/Layout/index.js +1 -1
  79. package/dist/components/content/Layout/utils.js +1 -1
  80. package/dist/components/content/Paragraph.js +1 -1
  81. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  82. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  83. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  84. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  85. package/dist/components/content/Result/Result.js +1 -1
  86. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  87. package/dist/components/content/Tag/Tag.js +1 -1
  88. package/dist/components/content/Text.js +1 -1
  89. package/dist/components/content/TextItem/TextItem.js +1 -1
  90. package/dist/components/content/Title.js +1 -1
  91. package/dist/components/content/Tree/Tree.js +1 -1
  92. package/dist/components/content/Tree/TreeNode.js +8 -2
  93. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  94. package/dist/components/content/Tree/styled.js +2 -1
  95. package/dist/components/content/Tree/styled.js.map +1 -1
  96. package/dist/components/content/Tree/tree-index.js +1 -1
  97. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  98. package/dist/components/content/Tree/use-load-data.js +1 -1
  99. package/dist/components/content/highlightText.js +1 -1
  100. package/dist/components/content/use-auto-tooltip.js +1 -1
  101. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  102. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  103. package/dist/components/fields/Checkbox/context.js +1 -1
  104. package/dist/components/fields/ComboBox/ComboBox.js +17 -213
  105. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  106. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +99 -0
  107. package/dist/components/fields/CommandTextArea/CommandTextArea.js +402 -0
  108. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -0
  109. package/dist/components/fields/CommandTextArea/caretPosition.js +89 -0
  110. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -0
  111. package/dist/components/fields/CommandTextArea/index.d.ts +2 -0
  112. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +68 -0
  113. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -0
  114. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  115. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  116. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  117. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  118. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  119. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  120. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  121. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  122. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  123. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  124. package/dist/components/fields/DatePicker/intl.js +1 -1
  125. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  126. package/dist/components/fields/DatePicker/props.js +1 -1
  127. package/dist/components/fields/DatePicker/utils.js +1 -1
  128. package/dist/components/fields/FileInput/FileInput.js +1 -1
  129. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  131. package/dist/components/fields/Input/Input.js +1 -1
  132. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  133. package/dist/components/fields/ListBox/ListBox.d.ts +5 -0
  134. package/dist/components/fields/ListBox/ListBox.js +10 -4
  135. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  136. package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +5 -0
  137. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +164 -0
  138. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -0
  139. package/dist/components/fields/ListBoxPopover/index.d.ts +4 -0
  140. package/dist/components/fields/ListBoxPopover/listNavigation.d.ts +24 -0
  141. package/dist/components/fields/ListBoxPopover/listNavigation.js +102 -0
  142. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -0
  143. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +2 -0
  144. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +53 -0
  145. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -0
  146. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  147. package/dist/components/fields/NumberInput/StepButton.js +8 -4
  148. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  149. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  150. package/dist/components/fields/Picker/Picker.js +1 -1
  151. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  152. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  153. package/dist/components/fields/RadioGroup/context.js +1 -1
  154. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  155. package/dist/components/fields/Select/Select.js +1 -1
  156. package/dist/components/fields/Slider/Gradation.js +1 -1
  157. package/dist/components/fields/Slider/HueSlider.js +1 -1
  158. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  159. package/dist/components/fields/Slider/Slider.js +1 -1
  160. package/dist/components/fields/Slider/SliderBase.js +1 -1
  161. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  162. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  163. package/dist/components/fields/Slider/elements.js +1 -1
  164. package/dist/components/fields/Slider/index.js +1 -1
  165. package/dist/components/fields/Switch/Switch.js +1 -1
  166. package/dist/components/fields/TextArea/TextArea.js +1 -1
  167. package/dist/components/fields/TextInput/TextInput.js +1 -1
  168. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  169. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  170. package/dist/components/fields/index.d.ts +2 -0
  171. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/dist/components/form/Form/Field.js +1 -1
  174. package/dist/components/form/Form/Form.js +1 -1
  175. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  176. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  177. package/dist/components/form/Form/SubmitError.js +1 -1
  178. package/dist/components/form/Form/index.js +1 -1
  179. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  180. package/dist/components/form/Form/use-field/use-field.js +1 -1
  181. package/dist/components/form/Form/use-form.js +1 -1
  182. package/dist/components/form/Form/validation.js +1 -1
  183. package/dist/components/form/Label.js +1 -1
  184. package/dist/components/form/wrapper.js +1 -1
  185. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  186. package/dist/components/helpers/IconSwitch/IconSwitch.js +2 -1
  187. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  188. package/dist/components/layout/Flex.js +1 -1
  189. package/dist/components/layout/Flow.js +1 -1
  190. package/dist/components/layout/Grid.js +1 -1
  191. package/dist/components/layout/Panel.js +1 -1
  192. package/dist/components/layout/Prefix.js +1 -1
  193. package/dist/components/layout/ResizablePanel.js +1 -1
  194. package/dist/components/layout/Space.js +1 -1
  195. package/dist/components/layout/Suffix.js +1 -1
  196. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  197. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  198. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  199. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  200. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  201. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  202. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  203. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  204. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  205. package/dist/components/navigation/Tabs/styled.js +1 -1
  206. package/dist/components/navigation/Tabs/types.js +1 -1
  207. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  208. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  209. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  210. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  211. package/dist/components/other/Calendar/Calendar.js +1 -1
  212. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  213. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  214. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  215. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  216. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  217. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  218. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  219. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  220. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  221. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  222. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  223. package/dist/components/overlays/Dialog/context.js +1 -1
  224. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  225. package/dist/components/overlays/Modal/Modal.js +1 -1
  226. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  227. package/dist/components/overlays/Modal/Overlay.js +1 -1
  228. package/dist/components/overlays/Modal/Popover.js +1 -1
  229. package/dist/components/overlays/Modal/Tray.js +1 -1
  230. package/dist/components/overlays/Modal/Underlay.js +1 -1
  231. package/dist/components/overlays/Notifications/Notification.js +1 -1
  232. package/dist/components/overlays/Notifications/NotificationAction.d.ts +2 -1
  233. package/dist/components/overlays/Notifications/NotificationAction.js +4 -6
  234. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  235. package/dist/components/overlays/Notifications/NotificationCard.js +34 -20
  236. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  237. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  238. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  239. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  240. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  241. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  242. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  243. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  244. package/dist/components/overlays/Notifications/index.js +1 -1
  245. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  246. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  247. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  248. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  249. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  250. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  251. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  252. package/dist/components/overlays/Toast/index.js +1 -1
  253. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  254. package/dist/components/overlays/Toast/useToast.js +1 -1
  255. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  256. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  257. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  258. package/dist/components/overlays/Tooltip/context.js +1 -1
  259. package/dist/components/portal/Portal.js +1 -1
  260. package/dist/components/portal/PortalProvider.js +1 -1
  261. package/dist/components/portal/usePortal.js +1 -1
  262. package/dist/components/shared/DraggableCollection.js +1 -1
  263. package/dist/components/shared/InvalidIcon.js +1 -1
  264. package/dist/components/shared/ValidIcon.js +1 -1
  265. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  266. package/dist/components/status/Spin/Cube.js +1 -1
  267. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  268. package/dist/components/status/Spin/Spin.js +1 -1
  269. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  270. package/dist/data/item-themes.js +1 -1
  271. package/dist/data/themes.js +1 -1
  272. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  273. package/dist/icons/AdjustmentsIcon.js +1 -1
  274. package/dist/icons/AiIcon.js +1 -1
  275. package/dist/icons/AreaChartIcon.js +1 -1
  276. package/dist/icons/BackwardIcon.js +1 -1
  277. package/dist/icons/BarChartIcon.js +1 -1
  278. package/dist/icons/BellFilledIcon.js +1 -1
  279. package/dist/icons/BellIcon.js +1 -1
  280. package/dist/icons/BooleanIcon.js +1 -1
  281. package/dist/icons/CalendarEditIcon.js +1 -1
  282. package/dist/icons/CalendarIcon.js +1 -1
  283. package/dist/icons/CaretDownIcon.js +1 -1
  284. package/dist/icons/CaretUpIcon.js +1 -1
  285. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  286. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  287. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  288. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  289. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  290. package/dist/icons/ChartBarLineIcon.js +1 -1
  291. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  292. package/dist/icons/ChartBarStackedIcon.js +1 -1
  293. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  294. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  295. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  296. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  297. package/dist/icons/ChartBubbleIcon.js +1 -1
  298. package/dist/icons/ChartDonut2Icon.js +1 -1
  299. package/dist/icons/ChartFunnelIcon.js +1 -1
  300. package/dist/icons/ChartHeatmapIcon.js +1 -1
  301. package/dist/icons/ChartKPIIcon.js +1 -1
  302. package/dist/icons/ChartPie2Icon.js +1 -1
  303. package/dist/icons/ChartScatterIcon.js +1 -1
  304. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  305. package/dist/icons/CheckCircleIcon.js +1 -1
  306. package/dist/icons/CheckIcon.js +1 -1
  307. package/dist/icons/CircleFilledIcon.js +1 -1
  308. package/dist/icons/ClearIcon.js +1 -1
  309. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  310. package/dist/icons/CloseCircleIcon.js +1 -1
  311. package/dist/icons/CloseIcon.js +1 -1
  312. package/dist/icons/CodeIcon.js +1 -1
  313. package/dist/icons/ColumnTotalIcon.js +1 -1
  314. package/dist/icons/CopyIcon.js +1 -1
  315. package/dist/icons/CountIcon.js +1 -1
  316. package/dist/icons/CubeIcon.js +1 -1
  317. package/dist/icons/CubePauseIcon.js +1 -1
  318. package/dist/icons/CubePlayIcon.js +1 -1
  319. package/dist/icons/CurrencyDollarIcon.js +1 -1
  320. package/dist/icons/DangerIcon.js +1 -1
  321. package/dist/icons/DashboardIcon.js +1 -1
  322. package/dist/icons/DatabaseIcon.js +1 -1
  323. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  324. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  325. package/dist/icons/DirectionIcon.js +1 -1
  326. package/dist/icons/DonutIcon.js +1 -1
  327. package/dist/icons/DownIcon.js +1 -1
  328. package/dist/icons/EditIcon.js +1 -1
  329. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  330. package/dist/icons/ExclamationCircleIcon.js +1 -1
  331. package/dist/icons/ExclamationIcon.js +1 -1
  332. package/dist/icons/EyeIcon.js +1 -1
  333. package/dist/icons/EyeInvisibleIcon.js +1 -1
  334. package/dist/icons/FilterIcon.js +1 -1
  335. package/dist/icons/FolderFilledIcon.js +1 -1
  336. package/dist/icons/FolderIcon.js +1 -1
  337. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  338. package/dist/icons/FolderOpenIcon.js +1 -1
  339. package/dist/icons/ForwardIcon.js +1 -1
  340. package/dist/icons/GripVerticalIcon.js +1 -1
  341. package/dist/icons/HierarchyIcon.js +1 -1
  342. package/dist/icons/HierarchyOpenIcon.js +1 -1
  343. package/dist/icons/Icon.js +1 -1
  344. package/dist/icons/InfoCircleIcon.js +1 -1
  345. package/dist/icons/InfoIcon.js +1 -1
  346. package/dist/icons/KeyIcon.js +1 -1
  347. package/dist/icons/LeftIcon.js +1 -1
  348. package/dist/icons/LineChartIcon.js +1 -1
  349. package/dist/icons/LoadingIcon.js +1 -1
  350. package/dist/icons/LockFilledIcon.js +1 -1
  351. package/dist/icons/LockIcon.js +1 -1
  352. package/dist/icons/MoreIcon.js +1 -1
  353. package/dist/icons/NotAllowedIcon.js +1 -1
  354. package/dist/icons/Number123Icon.js +1 -1
  355. package/dist/icons/NumberIcon.js +1 -1
  356. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  357. package/dist/icons/PauseCircleIcon.js +1 -1
  358. package/dist/icons/PauseIcon.js +1 -1
  359. package/dist/icons/PercentageIcon.js +1 -1
  360. package/dist/icons/PieChartIcon.js +1 -1
  361. package/dist/icons/PlayCircleIcon.js +1 -1
  362. package/dist/icons/PlayIcon.js +1 -1
  363. package/dist/icons/PlusIcon.js +1 -1
  364. package/dist/icons/ProgressBarIcon.js +1 -1
  365. package/dist/icons/ReloadIcon.js +1 -1
  366. package/dist/icons/ReportIcon.js +1 -1
  367. package/dist/icons/ReturnIcon.js +1 -1
  368. package/dist/icons/RightIcon.js +1 -1
  369. package/dist/icons/RowTotalsIcon.js +1 -1
  370. package/dist/icons/SchemeIcon.js +1 -1
  371. package/dist/icons/SearchIcon.js +1 -1
  372. package/dist/icons/SemanticQueryIcon.js +1 -1
  373. package/dist/icons/SettingsIcon.js +1 -1
  374. package/dist/icons/ShieldFilledIcon.js +1 -1
  375. package/dist/icons/ShieldIcon.js +1 -1
  376. package/dist/icons/SlashIcon.js +1 -1
  377. package/dist/icons/SparklesIcon.js +1 -1
  378. package/dist/icons/SqlIcon.js +1 -1
  379. package/dist/icons/StatsIcon.js +1 -1
  380. package/dist/icons/StopIcon.js +1 -1
  381. package/dist/icons/StringIcon.js +1 -1
  382. package/dist/icons/SubtotalsIcon.js +1 -1
  383. package/dist/icons/SwitchIcon.js +1 -1
  384. package/dist/icons/TableIcon.js +1 -1
  385. package/dist/icons/ThumbsDownIcon.js +1 -1
  386. package/dist/icons/ThumbsUpIcon.js +1 -1
  387. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  388. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  389. package/dist/icons/ThunderboltIcon.js +1 -1
  390. package/dist/icons/TimeIcon.js +1 -1
  391. package/dist/icons/TrashIcon.js +1 -1
  392. package/dist/icons/UnlockIcon.js +1 -1
  393. package/dist/icons/UpIcon.js +1 -1
  394. package/dist/icons/UserGroupIcon.js +1 -1
  395. package/dist/icons/UserIcon.js +1 -1
  396. package/dist/icons/UserLockIcon.js +1 -1
  397. package/dist/icons/ViewIcon.js +1 -1
  398. package/dist/icons/WarningFilledIcon.js +1 -1
  399. package/dist/icons/WarningIcon.js +1 -1
  400. package/dist/icons/wrap-icon.js +1 -1
  401. package/dist/index.d.ts +2 -1
  402. package/dist/index.js +3 -2
  403. package/dist/index.js.map +1 -1
  404. package/dist/provider.js +1 -1
  405. package/dist/providers/TrackingProvider.js +1 -1
  406. package/dist/providers/navigationAdapter.default.js +1 -1
  407. package/dist/tokens/base.js +1 -1
  408. package/dist/tokens/colors.js +1 -1
  409. package/dist/tokens/index.js +1 -1
  410. package/dist/tokens/layout.js +1 -1
  411. package/dist/tokens/palette.js +1 -1
  412. package/dist/tokens/shadows.js +1 -1
  413. package/dist/tokens/sizes.js +1 -1
  414. package/dist/tokens/spacing.js +1 -1
  415. package/dist/tokens/typography.js +1 -1
  416. package/dist/utils/ResizeSensor.js +1 -1
  417. package/dist/utils/is-dev-env.js +1 -1
  418. package/dist/utils/modules.js +1 -1
  419. package/dist/utils/promise.js +1 -1
  420. package/dist/utils/raf.js +1 -1
  421. package/dist/utils/random.js +1 -1
  422. package/dist/utils/range.js +1 -1
  423. package/dist/utils/react/RenderCache.js +1 -1
  424. package/dist/utils/react/Slots.js +1 -1
  425. package/dist/utils/react/chain.js +1 -1
  426. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  427. package/dist/utils/react/index.js +1 -1
  428. package/dist/utils/react/interactions.js +1 -1
  429. package/dist/utils/react/isTextOnly.js +1 -1
  430. package/dist/utils/react/mapProps.js +1 -1
  431. package/dist/utils/react/mergeProps.js +1 -1
  432. package/dist/utils/react/nullableValue.js +1 -1
  433. package/dist/utils/react/resolveIcon.js +1 -1
  434. package/dist/utils/react/sharedStore.js +1 -1
  435. package/dist/utils/react/useCombinedRefs.js +1 -1
  436. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  437. package/dist/utils/react/useEventBus.js +1 -1
  438. package/dist/utils/react/useId.js +1 -1
  439. package/dist/utils/react/useIsDarwin.js +1 -1
  440. package/dist/utils/react/useKeySymbols.js +1 -1
  441. package/dist/utils/react/useLayoutEffect.js +1 -1
  442. package/dist/utils/react/useLocalStorage.js +1 -1
  443. package/dist/utils/react/useMergeStyles.js +1 -1
  444. package/dist/utils/react/usePopoverSync.js +1 -1
  445. package/dist/utils/react/useQaProps.js +1 -1
  446. package/dist/utils/react/useViewportSize.js +1 -1
  447. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  448. package/dist/utils/selection.js +1 -1
  449. package/dist/utils/styles.js +1 -1
  450. package/dist/utils/tree.js +1 -1
  451. package/dist/utils/warnings.js +1 -1
  452. package/dist/version.js +3 -3
  453. package/docs/components/fields/CommandTextArea.md +153 -0
  454. package/docs/tasty/dsl.md +110 -1
  455. package/docs/tasty/pipeline.md +40 -2
  456. package/package.json +7 -20
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","names":["Item"],"sources":["../../../../src/components/content/Tree/styled.ts"],"sourcesContent":["import { Styles, tasty } from '@tenphi/tasty';\n\nimport { Action } from '../../actions/Action/Action';\nimport { Item } from '../Item';\n\n/**\n * Tree root.\n *\n * Renders as `role=\"treegrid\"` (set on `gridProps` from `useTree`).\n * This element is the outer flex layout container; scrolling is\n * delegated to the inner `TreeScrollContainer` so the virtualized\n * sizer (a flex item here would be squashed by `flex-shrink: 1`) is\n * placed inside a normal block formatting context.\n *\n * Tree-wide modifiers (set on `TreeElement` itself):\n * - `has-height` — paired with `--tree-height` on inline `style`\n * when the consumer passes a numeric `height` prop.\n */\nexport const TreeElement = tasty({\n qa: 'Tree',\n styles: {\n display: 'flex',\n flow: 'column',\n width: '100%',\n height: { '': 'auto', 'has-height': 'fixed $tree-height' },\n flexGrow: { '': 1, 'has-height': 0 },\n flexShrink: { '': 1, 'has-height': 0 },\n flexBasis: { '': 0, 'has-height': 'auto' },\n minHeight: 0,\n fill: '#clear',\n color: '#dark',\n transition: 'theme',\n outline: 0,\n padding: 0,\n radius: { '': 0, 'shape=card': '1cr' },\n border: { '': 0, 'shape=card': true },\n },\n});\n\n/**\n * Inner scroll viewport. Block-level on purpose — placing the\n * virtualizer's sizer (`height: ${totalSize}px`) directly inside the\n * flex `TreeElement` lets `flex-shrink: 1` collapse it, which makes\n * the scroll area visibly grow as `@tanstack/react-virtual`\n * re-measures rows during scroll.\n */\nexport const TreeScrollContainer = tasty({\n qa: 'TreeScrollContainer',\n styles: {\n display: 'block',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: 'auto',\n width: '0 100% initial',\n height: 'min 0',\n overflow: 'auto',\n scrollbar: 'thin',\n },\n});\n\n/**\n * Per-row wrapper carrying `role=\"row\"`, `rowProps` from\n * `useTreeItem`, and the `--tree-level` CSS custom property used by\n * `TreeRowItem` to compute its left padding.\n *\n * Has no visual styles of its own — the row's appearance lives on\n * the inner `TreeRowItem` (which extends `Item`).\n */\nexport const TreeNodeRow = tasty({\n qa: 'TreeRow',\n styles: {\n display: 'block',\n outline: 0,\n },\n});\n\n/**\n * The visible row: an `Item` extension that owns layout (full-width,\n * tree indent) only. Color treatment is delegated to the\n * `default.item` variant (see `DEFAULT_ITEM_STYLES` in\n * `data/item-themes.ts`) so the Tree row matches the canonical Item\n * look out of the box. `hovered` / `focused` / `pressed` mods are\n * propagated from `TreeNode` because react-aria's treegrid uses a\n * roving-tabindex \"virtual focus\" model and never sets those data\n * attributes itself.\n */\nexport const TreeRowItem = tasty(Item, {\n qa: 'TreeItem',\n type: 'item',\n size: 'medium',\n as: 'div',\n styles: {\n /**\n * `Item` is `inline-grid` by default, which leaves baseline\n * descender space below the row inside the block-level\n * `TreeNodeRow` and visually inflates the gap between rows\n * past the intended `1bw`. Force block-level grid here.\n */\n display: 'grid',\n width: '100%',\n /**\n * Per-level indent. `$tree-indent` is a local token that reads\n * `--tree-level` (set inline on the parent `TreeNodeRow`) with a\n * `0` fallback. Using `padding` shorthand (instead of\n * `paddingInlineStart`) so it overrides `Item`'s default\n * `padding: 0` reliably — a longhand override on a shorthand\n * loses to it in the cascade when both are emitted from the same\n * declaration block.\n */\n padding: 'left ($tree-indent * 1.5x)',\n '$tree-indent': '($tree-level, 0)',\n cursor: {\n '': 'pointer',\n disabled: 'not-allowed',\n },\n },\n});\n\n/**\n * Wraps the checkbox sitting in `Item`'s `prefix` slot. `Item`'s\n * built-in Prefix padding collapses to `0` whenever there's an icon\n * (which is always true for tree rows because the toggle/placeholder\n * occupies the icon slot). We re-introduce a small inline gap on\n * both sides so the checkbox isn't flush against the chevron and the\n * title.\n */\nexport const TreeNodeCheckboxWrapper = tasty({\n qa: 'TreeNodeCheckboxWrapper',\n styles: {\n display: 'grid',\n placeItems: 'center',\n placeContent: 'center',\n padding: '0 1x',\n },\n});\n\nconst TOGGLE_BASE_STYLES: Styles = {\n display: 'grid',\n placeItems: 'center',\n placeContent: 'center',\n width: '3x',\n height: '3x',\n radius: true,\n transition: 'theme',\n};\n\n/**\n * Chevron toggle button placed in `Item`'s `icon` slot. Spreads\n * `expandButtonProps` from `useTreeItem` (an AriaButtonProps) and\n * stops the press from bubbling to the row's selection handler via\n * React Aria's PressResponder.\n */\nexport const TreeNodeToggle = tasty(Action, {\n qa: 'TreeNodeToggle',\n styles: {\n ...TOGGLE_BASE_STYLES,\n color: { '': '#dark-02', ':hover': '#dark' },\n fill: { '': '#clear', ':hover': '#dark.04' },\n },\n});\n\n/**\n * Non-interactive placeholder that occupies the same footprint as\n * `TreeNodeToggle` so leaf rows visually align with siblings that\n * have a chevron.\n */\nexport const TreeNodeTogglePlaceholder = tasty({\n styles: TOGGLE_BASE_STYLES,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,MAAa,cAAc,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,OAAO;EACP,QAAQ;GAAE,IAAI;GAAQ,cAAc;GAAsB;EAC1D,UAAU;GAAE,IAAI;GAAG,cAAc;GAAG;EACpC,YAAY;GAAE,IAAI;GAAG,cAAc;GAAG;EACtC,WAAW;GAAE,IAAI;GAAG,cAAc;GAAQ;EAC1C,WAAW;EACX,MAAM;EACN,OAAO;EACP,YAAY;EACZ,SAAS;EACT,SAAS;EACT,QAAQ;GAAE,IAAI;GAAG,cAAc;GAAO;EACtC,QAAQ;GAAE,IAAI;GAAG,cAAc;GAAM;EACtC;CACF,CAAC;;;;;;;;AASF,MAAa,sBAAsB,MAAM;CACvC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,UAAU;EACV,YAAY;EACZ,WAAW;EACX,OAAO;EACP,QAAQ;EACR,UAAU;EACV,WAAW;EACZ;CACF,CAAC;;;;;;;;;AAUF,MAAa,cAAc,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACV;CACF,CAAC;;;;;;;;;;;AAYF,MAAa,cAAc,MAAMA,OAAM;CACrC,IAAI;CACJ,MAAM;CACN,MAAM;CACN,IAAI;CACJ,QAAQ;EAON,SAAS;EACT,OAAO;EAUP,SAAS;EACT,gBAAgB;EAChB,QAAQ;GACN,IAAI;GACJ,UAAU;GACX;EACF;CACF,CAAC;;;;;;;;;AAUF,MAAa,0BAA0B,MAAM;CAC3C,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,cAAc;EACd,SAAS;EACV;CACF,CAAC;AAEF,MAAM,qBAA6B;CACjC,SAAS;CACT,YAAY;CACZ,cAAc;CACd,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,YAAY;CACb;;;;;;;AAQD,MAAa,iBAAiB,MAAM,QAAQ;CAC1C,IAAI;CACJ,QAAQ;EACN,GAAG;EACH,OAAO;GAAE,IAAI;GAAY,UAAU;GAAS;EAC5C,MAAM;GAAE,IAAI;GAAU,UAAU;GAAY;EAC7C;CACF,CAAC;;;;;;AAOF,MAAa,4BAA4B,MAAM,EAC7C,QAAQ,oBACT,CAAC"}
1
+ {"version":3,"file":"styled.js","names":["Item"],"sources":["../../../../src/components/content/Tree/styled.ts"],"sourcesContent":["import { Styles, tasty } from '@tenphi/tasty';\n\nimport { Action } from '../../actions/Action/Action';\nimport { Item } from '../Item';\n\n/**\n * Tree root.\n *\n * Renders as `role=\"treegrid\"` (set on `gridProps` from `useTree`).\n * This element is the outer flex layout container; scrolling is\n * delegated to the inner `TreeScrollContainer` so the virtualized\n * sizer (a flex item here would be squashed by `flex-shrink: 1`) is\n * placed inside a normal block formatting context.\n *\n * Tree-wide modifiers (set on `TreeElement` itself):\n * - `has-height` — paired with `--tree-height` on inline `style`\n * when the consumer passes a numeric `height` prop.\n */\nexport const TreeElement = tasty({\n qa: 'Tree',\n styles: {\n display: 'flex',\n flow: 'column',\n width: '100%',\n height: { '': 'auto', 'has-height': 'fixed $tree-height' },\n flexGrow: { '': 1, 'has-height': 0 },\n flexShrink: { '': 1, 'has-height': 0 },\n flexBasis: { '': 0, 'has-height': 'auto' },\n minHeight: 0,\n fill: '#clear',\n color: '#dark',\n transition: 'theme',\n outline: 0,\n padding: 0,\n radius: { '': 0, 'shape=card': '1cr' },\n border: { '': 0, 'shape=card': true },\n },\n});\n\n/**\n * Inner scroll viewport. Block-level on purpose — placing the\n * virtualizer's sizer (`height: ${totalSize}px`) directly inside the\n * flex `TreeElement` lets `flex-shrink: 1` collapse it, which makes\n * the scroll area visibly grow as `@tanstack/react-virtual`\n * re-measures rows during scroll.\n */\nexport const TreeScrollContainer = tasty({\n qa: 'TreeScrollContainer',\n styles: {\n display: 'block',\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: 'auto',\n width: '0 100% initial',\n height: 'min 0',\n overflow: 'auto',\n scrollbar: 'thin',\n },\n});\n\n/**\n * Per-row wrapper carrying `role=\"row\"`, `rowProps` from\n * `useTreeItem`, and the `--tree-level` CSS custom property used by\n * `TreeRowItem` to compute its left padding.\n *\n * Has no visual styles of its own — the row's appearance lives on\n * the inner `TreeRowItem` (which extends `Item`).\n */\nexport const TreeNodeRow = tasty({\n qa: 'TreeRow',\n styles: {\n display: 'block',\n outline: 0,\n },\n});\n\n/**\n * The visible row: an `Item` extension that owns layout (full-width,\n * tree indent) only. Color treatment is delegated to the\n * `default.item` variant (see `DEFAULT_ITEM_STYLES` in\n * `data/item-themes.ts`) so the Tree row matches the canonical Item\n * look out of the box. `hovered` / `focused` / `pressed` mods are\n * propagated from `TreeNode` because react-aria's treegrid uses a\n * roving-tabindex \"virtual focus\" model and never sets those data\n * attributes itself.\n */\nexport const TreeRowItem = tasty(Item, {\n qa: 'TreeItem',\n type: 'item',\n size: 'medium',\n as: 'div',\n styles: {\n /**\n * `Item` is `inline-grid` by default, which leaves baseline\n * descender space below the row inside the block-level\n * `TreeNodeRow` and visually inflates the gap between rows\n * past the intended `1bw`. Force block-level grid here.\n */\n display: 'grid',\n width: '100%',\n /**\n * Per-level indent. `$tree-indent` is a local token that reads\n * `--tree-level` (set inline on the parent `TreeNodeRow`) with a\n * `0` fallback. Using `padding` shorthand (instead of\n * `paddingInlineStart`) so it overrides `Item`'s default\n * `padding: 0` reliably — a longhand override on a shorthand\n * loses to it in the cascade when both are emitted from the same\n * declaration block.\n */\n padding: 'left ($tree-indent * 1.5x)',\n '$tree-indent': '($tree-level, 0)',\n cursor: {\n '': 'pointer',\n disabled: 'not-allowed',\n },\n },\n});\n\n/**\n * Wraps the checkbox sitting in `Item`'s `prefix` slot. `Item`'s\n * built-in Prefix padding collapses to `0` whenever there's an icon\n * (which is always true for tree rows because the toggle/placeholder\n * occupies the icon slot). We re-introduce a small inline gap on\n * both sides so the checkbox isn't flush against the chevron and the\n * title.\n */\nexport const TreeNodeCheckboxWrapper = tasty({\n qa: 'TreeNodeCheckboxWrapper',\n styles: {\n display: 'grid',\n placeItems: 'center',\n placeContent: 'center',\n placeSelf: 'stretch',\n padding: '0 1x',\n },\n});\n\nconst TOGGLE_BASE_STYLES: Styles = {\n display: 'grid',\n placeItems: 'center',\n placeContent: 'center',\n width: '3x',\n height: '3x',\n radius: true,\n transition: 'theme',\n};\n\n/**\n * Chevron toggle button placed in `Item`'s `icon` slot. Spreads\n * `expandButtonProps` from `useTreeItem` (an AriaButtonProps) and\n * stops the press from bubbling to the row's selection handler via\n * React Aria's PressResponder.\n */\nexport const TreeNodeToggle = tasty(Action, {\n qa: 'TreeNodeToggle',\n styles: {\n ...TOGGLE_BASE_STYLES,\n color: { '': '#dark-02', ':hover': '#dark' },\n fill: { '': '#clear', ':hover': '#dark.04' },\n },\n});\n\n/**\n * Non-interactive placeholder that occupies the same footprint as\n * `TreeNodeToggle` so leaf rows visually align with siblings that\n * have a chevron.\n */\nexport const TreeNodeTogglePlaceholder = tasty({\n styles: TOGGLE_BASE_STYLES,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,MAAa,cAAc,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,OAAO;EACP,QAAQ;GAAE,IAAI;GAAQ,cAAc;GAAsB;EAC1D,UAAU;GAAE,IAAI;GAAG,cAAc;GAAG;EACpC,YAAY;GAAE,IAAI;GAAG,cAAc;GAAG;EACtC,WAAW;GAAE,IAAI;GAAG,cAAc;GAAQ;EAC1C,WAAW;EACX,MAAM;EACN,OAAO;EACP,YAAY;EACZ,SAAS;EACT,SAAS;EACT,QAAQ;GAAE,IAAI;GAAG,cAAc;GAAO;EACtC,QAAQ;GAAE,IAAI;GAAG,cAAc;GAAM;EACtC;CACF,CAAC;;;;;;;;AASF,MAAa,sBAAsB,MAAM;CACvC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,UAAU;EACV,YAAY;EACZ,WAAW;EACX,OAAO;EACP,QAAQ;EACR,UAAU;EACV,WAAW;EACZ;CACF,CAAC;;;;;;;;;AAUF,MAAa,cAAc,MAAM;CAC/B,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,SAAS;EACV;CACF,CAAC;;;;;;;;;;;AAYF,MAAa,cAAc,MAAMA,OAAM;CACrC,IAAI;CACJ,MAAM;CACN,MAAM;CACN,IAAI;CACJ,QAAQ;EAON,SAAS;EACT,OAAO;EAUP,SAAS;EACT,gBAAgB;EAChB,QAAQ;GACN,IAAI;GACJ,UAAU;GACX;EACF;CACF,CAAC;;;;;;;;;AAUF,MAAa,0BAA0B,MAAM;CAC3C,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,cAAc;EACd,WAAW;EACX,SAAS;EACV;CACF,CAAC;AAEF,MAAM,qBAA6B;CACjC,SAAS;CACT,YAAY;CACZ,cAAc;CACd,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,YAAY;CACb;;;;;;;AAQD,MAAa,iBAAiB,MAAM,QAAQ;CAC1C,IAAI;CACJ,QAAQ;EACN,GAAG;EACH,OAAO;GAAE,IAAI;GAAY,UAAU;GAAS;EAC5C,MAAM;GAAE,IAAI;GAAU,UAAU;GAAY;EAC7C;CACF,CAAC;;;;;;AAOF,MAAa,4BAA4B,MAAM,EAC7C,QAAQ,oBACT,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.0 | Cube Dev Team */
2
2
  //#region src/components/content/Tree/tree-index.ts
3
3
  function buildTreeIndex(treeData) {
4
4
  const byKey = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useMemo, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.0 | Cube Dev Team */
2
2
  import { _Text } from "./Text.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.0 | Cube Dev Team */
2
2
  import { TooltipProvider } from "../overlays/Tooltip/TooltipProvider.js";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.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 { _Text } from "../../content/Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.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 { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.0 | Cube Dev Team */
2
2
  import { createContext } from "react";
3
3
 
4
4
  //#region src/components/fields/Checkbox/context.ts
@@ -1,13 +1,10 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.142.9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.143.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
- import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
5
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
6
5
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
7
6
  import { useEvent } from "../../../_internal/hooks/use-event.js";
8
7
  import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
9
- import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
10
- import { Portal } from "../../portal/Portal.js";
11
8
  import { LoadingIcon } from "../../../icons/LoadingIcon.js";
12
9
  import { useProviderProps } from "../../../provider.js";
13
10
  import { _CollectionItem } from "../../CollectionItem.js";
@@ -17,14 +14,16 @@ import { generateRandomId } from "../../../utils/random.js";
17
14
  import { useFormProps } from "../../form/Form/Form.js";
18
15
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
19
16
  import { wrapWithField } from "../../form/wrapper.js";
20
- import { ListBox } from "../ListBox/ListBox.js";
21
17
  import { InvalidIcon } from "../../shared/InvalidIcon.js";
22
18
  import { ValidIcon } from "../../shared/ValidIcon.js";
23
19
  import { DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES } from "../TextInput/TextInputBase.js";
20
+ import { ListBoxPopover } from "../ListBoxPopover/ListBoxPopover.js";
21
+ import { useCompositeFocus } from "../ListBoxPopover/useCompositeFocus.js";
22
+ import { filterCollectionNodes, getEdgeVisibleKey, getNextVisibleKey, markKeyboardFocus } from "../ListBoxPopover/listNavigation.js";
24
23
  import { BASE_STYLES, COLOR_STYLES, OUTER_STYLES, tasty } from "@tenphi/tasty";
25
24
  import React, { cloneElement, forwardRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
26
25
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
27
- import { useFilter, useKeyboard, useOverlay, useOverlayPosition } from "react-aria";
26
+ import { useFilter, useKeyboard } from "react-aria";
28
27
  import { Section, useListState } from "react-stately";
29
28
 
30
29
  //#region src/components/fields/ComboBox/ComboBox.tsx
@@ -36,55 +35,6 @@ const InputElement = tasty({
36
35
  as: "input",
37
36
  styles: DEFAULT_INPUT_STYLES
38
37
  });
39
- const ComboBoxOverlayWrapper = tasty({
40
- qa: "ComboBoxOverlayWrapper",
41
- styles: {
42
- position: "absolute",
43
- zIndex: 1e3
44
- }
45
- });
46
- const ComboBoxOverlayElement = tasty({
47
- qa: "ComboBoxOverlay",
48
- styles: {
49
- display: "grid",
50
- gridRows: "1sf",
51
- gridColumns: "1sf",
52
- width: "$overlay-min-width max-content 50vw",
53
- height: "initial max-content (50vh - 5x)",
54
- overflow: "auto",
55
- fill: "#surface",
56
- radius: "1cr",
57
- shadow: true,
58
- padding: "0",
59
- border: "#border",
60
- hide: {
61
- "": false,
62
- hidden: true
63
- },
64
- boxSizing: "border-box",
65
- transition: "translate $transition ease-out, scale $transition ease-out, theme $transition ease-out",
66
- translate: {
67
- "": "0 0",
68
- "open & [data-placement=\"top\"]": "0 0",
69
- "!open & [data-placement=\"top\"]": "0 1x",
70
- "open & ([data-placement=\"bottom\"] | ![data-placement])": "0 0",
71
- "!open & ([data-placement=\"bottom\"] | ![data-placement])": "0 -1x"
72
- },
73
- transformOrigin: {
74
- "": "top center",
75
- "[data-placement=\"top\"]": "bottom center"
76
- },
77
- scale: {
78
- "": "1 1",
79
- "!open": "1 .9"
80
- },
81
- opacity: {
82
- "": 1,
83
- "!open": .001
84
- },
85
- "$overlay-min-width": "min 30x"
86
- }
87
- });
88
38
  const PROP_STYLES = [
89
39
  ...BASE_STYLES,
90
40
  ...OUTER_STYLES,
@@ -124,18 +74,7 @@ function useComboBoxFiltering({ effectiveInputValue, filter }) {
124
74
  filterFn: useCallback((nodes) => {
125
75
  const term = effectiveInputValue.trim();
126
76
  if (!isFilterActive || !term) return nodes;
127
- return [...nodes].map((node) => {
128
- if (node.type === "section" && node.childNodes) {
129
- const filteredChildren = [...node.childNodes].filter((child) => textFilterFn(child.textValue || "", term));
130
- if (filteredChildren.length === 0) return null;
131
- return {
132
- ...node,
133
- childNodes: filteredChildren,
134
- hasChildNodes: true
135
- };
136
- }
137
- return textFilterFn(node.textValue || "", term) ? node : null;
138
- }).filter(Boolean);
77
+ return filterCollectionNodes(nodes, term, textFilterFn);
139
78
  }, [
140
79
  isFilterActive,
141
80
  effectiveInputValue,
@@ -145,42 +84,6 @@ function useComboBoxFiltering({ effectiveInputValue, filter }) {
145
84
  setIsFilterActive
146
85
  };
147
86
  }
148
- function useCompositeFocus({ wrapperRef, popoverRef, onFocus, onBlur, isDisabled }) {
149
- const wasInsideRef = useRef(false);
150
- const rafRef = useRef(null);
151
- const checkFocus = useCallback(() => {
152
- if (isDisabled) return;
153
- const activeElement = document.activeElement;
154
- const isInside = (wrapperRef.current?.contains(activeElement) ?? false) || (popoverRef.current?.contains(activeElement) ?? false);
155
- if (isInside !== wasInsideRef.current) {
156
- wasInsideRef.current = isInside;
157
- if (isInside) onFocus?.();
158
- else onBlur?.();
159
- }
160
- }, [
161
- wrapperRef,
162
- popoverRef,
163
- onFocus,
164
- onBlur,
165
- isDisabled
166
- ]);
167
- const handleFocusOrBlur = useCallback((e) => {
168
- if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
169
- rafRef.current = requestAnimationFrame(() => {
170
- rafRef.current = null;
171
- checkFocus();
172
- });
173
- }, [checkFocus]);
174
- useEffect(() => {
175
- return () => {
176
- if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);
177
- };
178
- }, []);
179
- return { compositeFocusProps: {
180
- onFocus: handleFocusOrBlur,
181
- onBlur: handleFocusOrBlur
182
- } };
183
- }
184
87
  function useComboBoxKeyboard({ isPopoverOpen, listStateRef, hasResults, allowsCustomValue, effectiveInputValue, isClearable, onSelectionChange, onClearValue, onOpenPopover, onClosePopover, inputRef, setIsFilterActive, onKeyDown }) {
185
88
  const { keyboardProps } = useKeyboard({ onKeyDown: (e) => {
186
89
  onKeyDown?.(e);
@@ -193,29 +96,10 @@ function useComboBoxKeyboard({ isPopoverOpen, listStateRef, hasResults, allowsCu
193
96
  }
194
97
  const listState = listStateRef.current;
195
98
  if (!listState) return;
196
- const { selectionManager, collection, disabledKeys } = listState;
197
- const collectVisibleKeys = (nodes, out) => {
198
- for (const node of nodes) if (node.type === "item") {
199
- if (!disabledKeys?.has(node.key)) out.push(node.key);
200
- } else if (node.childNodes) collectVisibleKeys(node.childNodes, out);
201
- };
202
- const visibleKeys = [];
203
- collectVisibleKeys(collection, visibleKeys);
204
- if (visibleKeys.length === 0) return;
205
- const isArrowDown = e.key === "ArrowDown";
206
- const currentKey = selectionManager.focusedKey;
207
- let nextKey = null;
208
- if (currentKey == null) nextKey = isArrowDown ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];
209
- else {
210
- const currentIndex = visibleKeys.indexOf(currentKey);
211
- if (currentIndex !== -1) {
212
- const newIndex = currentIndex + (isArrowDown ? 1 : -1);
213
- if (newIndex >= 0 && newIndex < visibleKeys.length) nextKey = visibleKeys[newIndex];
214
- } else nextKey = isArrowDown ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];
215
- }
99
+ const nextKey = getNextVisibleKey(listState, e.key === "ArrowDown" ? 1 : -1);
216
100
  if (nextKey != null) {
217
- if (listState.lastFocusSourceRef) listState.lastFocusSourceRef.current = "keyboard";
218
- selectionManager.setFocusedKey(nextKey);
101
+ markKeyboardFocus(listState);
102
+ listState.selectionManager.setFocusedKey(nextKey);
219
103
  }
220
104
  } else if (e.key === "Enter") {
221
105
  if (isPopoverOpen) {
@@ -261,18 +145,11 @@ function useComboBoxKeyboard({ isPopoverOpen, listStateRef, hasResults, allowsCu
261
145
  e.preventDefault();
262
146
  const listState = listStateRef.current;
263
147
  if (!listState) return;
264
- const { selectionManager, collection, disabledKeys } = listState;
265
- const collectVisibleKeys = (nodes, out) => {
266
- for (const node of nodes) if (node.type === "item") {
267
- if (!disabledKeys?.has(node.key)) out.push(node.key);
268
- } else if (node.childNodes) collectVisibleKeys(node.childNodes, out);
269
- };
270
- const visibleKeys = [];
271
- collectVisibleKeys(collection, visibleKeys);
272
- if (visibleKeys.length === 0) return;
273
- const targetKey = e.key === "Home" ? visibleKeys[0] : visibleKeys[visibleKeys.length - 1];
274
- if (listState.lastFocusSourceRef) listState.lastFocusSourceRef.current = "keyboard";
275
- selectionManager.setFocusedKey(targetKey);
148
+ const targetKey = getEdgeVisibleKey(listState, e.key === "Home" ? "first" : "last");
149
+ if (targetKey != null) {
150
+ markKeyboardFocus(listState);
151
+ listState.selectionManager.setFocusedKey(targetKey);
152
+ }
276
153
  }
277
154
  }
278
155
  } });
@@ -306,79 +183,6 @@ const ComboBoxInput = forwardRef(function ComboBoxInput({ qa, inputRef, id, valu
306
183
  "aria-activedescendant": isPopoverOpen && hasResults && listStateRef.current?.selectionManager.focusedKey != null ? `ListBoxItem-${listStateRef.current?.selectionManager.focusedKey}` : void 0
307
184
  });
308
185
  });
309
- function ComboBoxOverlay({ isOpen, triggerRef, popoverRef, listBoxRef, direction, shouldFlip, overlayOffset, containerPadding, comboBoxWidth, comboBoxId, overlayStyles, listBoxStyles, optionStyles, sectionStyles, headingStyles, effectiveSelectedKey, isDisabled, disabledKeys, items, children, listStateRef, onSelectionChange, onClose, label, ariaLabel, compositeFocusProps, filter, size = "medium" }) {
310
- const { overlayProps: overlayPositionProps, placement } = useOverlayPosition({
311
- targetRef: triggerRef,
312
- overlayRef: popoverRef,
313
- placement: `${direction} start`,
314
- shouldFlip,
315
- isOpen,
316
- offset: overlayOffset,
317
- containerPadding
318
- });
319
- const { overlayProps: overlayBehaviorProps } = useOverlay({
320
- onClose,
321
- shouldCloseOnBlur: true,
322
- isOpen,
323
- isDismissable: true,
324
- shouldCloseOnInteractOutside: (el) => {
325
- const menuTriggerEl = el.closest("[data-popover-trigger]");
326
- if (!menuTriggerEl) {
327
- if (el.closest("[data-popover-keep]")) return false;
328
- if (el.closest("[data-popover-dismiss]")) {
329
- setTimeout(onClose, 0);
330
- return false;
331
- }
332
- return true;
333
- }
334
- if (menuTriggerEl === triggerRef?.current) return true;
335
- return false;
336
- }
337
- }, popoverRef);
338
- const placementDirection = placement?.split(" ")[0] || direction;
339
- return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(DisplayTransition, {
340
- isShown: isOpen,
341
- children: ({ phase, isShown, ref: transitionRef }) => /* @__PURE__ */ jsx(ComboBoxOverlayWrapper, {
342
- ...mergeProps$1(overlayPositionProps, overlayBehaviorProps, compositeFocusProps),
343
- ref: popoverRef,
344
- style: overlayPositionProps.style,
345
- children: /* @__PURE__ */ jsx(ComboBoxOverlayElement, {
346
- ref: transitionRef,
347
- "data-placement": placementDirection,
348
- "data-phase": phase,
349
- mods: {
350
- open: isShown,
351
- hidden: phase === "unmounted"
352
- },
353
- styles: overlayStyles,
354
- style: { "--overlay-min-width": comboBoxWidth ? `${comboBoxWidth}px` : void 0 },
355
- children: /* @__PURE__ */ jsx(ListBox, {
356
- ref: listBoxRef,
357
- focusOnHover: true,
358
- disableSelectionToggle: true,
359
- id: `ComboBoxListBox-${comboBoxId}`,
360
- "aria-label": ariaLabel || (typeof label === "string" ? label : "Options"),
361
- selectedKey: effectiveSelectedKey,
362
- selectionMode: "single",
363
- isDisabled,
364
- disabledKeys,
365
- shouldUseVirtualFocus: true,
366
- items,
367
- filter,
368
- styles: listBoxStyles,
369
- optionStyles,
370
- sectionStyles,
371
- headingStyles,
372
- stateRef: listStateRef,
373
- size: "medium",
374
- shape: "popover",
375
- onSelectionChange,
376
- children
377
- })
378
- })
379
- })
380
- }) });
381
- }
382
186
  const ComboBox = forwardRef(function ComboBox(props, ref) {
383
187
  props = useProviderProps(props);
384
188
  props = useFormProps(props);
@@ -841,7 +645,7 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
841
645
  }) : null
842
646
  ]
843
647
  }),
844
- /* @__PURE__ */ jsx(ComboBoxOverlay, {
648
+ /* @__PURE__ */ jsx(ListBoxPopover, {
845
649
  isOpen: shouldShowPopover,
846
650
  triggerRef: wrapperRef,
847
651
  popoverRef,
@@ -851,13 +655,13 @@ const ComboBox = forwardRef(function ComboBox(props, ref) {
851
655
  overlayOffset,
852
656
  containerPadding,
853
657
  comboBoxWidth,
854
- comboBoxId,
658
+ listBoxId: `ComboBoxListBox-${comboBoxId}`,
855
659
  overlayStyles,
856
660
  listBoxStyles,
857
661
  optionStyles,
858
662
  sectionStyles,
859
663
  headingStyles,
860
- effectiveSelectedKey,
664
+ selectedKey: effectiveSelectedKey,
861
665
  isDisabled,
862
666
  disabledKeys: props.disabledKeys,
863
667
  items: sortedItems,