@cube-dev/ui-kit 0.200.1 → 0.202.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 (717) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +50 -0
  3. package/dist/README.md +1 -1
  4. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  5. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  8. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  9. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  10. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  11. package/dist/_internal/hooks/use-warn.js +1 -1
  12. package/dist/components/Block.js +1 -1
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/GlobalStyles.js +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +2 -1
  17. package/dist/components/HiddenInput.js.map +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/ItemActionsWrapper.js +1 -1
  30. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +1 -1
  33. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  34. package/dist/components/actions/Menu/MenuItem.js +1 -1
  35. package/dist/components/actions/Menu/MenuSection.js +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  39. package/dist/components/actions/Menu/context.js +1 -1
  40. package/dist/components/actions/Menu/styled.js +1 -1
  41. package/dist/components/actions/actions-run.js +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.js +1 -1
  45. package/dist/components/actions/use-context-menu.js +1 -1
  46. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider/Divider.d.ts +22 -0
  57. package/dist/components/content/Divider/Divider.js +159 -0
  58. package/dist/components/content/Divider/Divider.js.map +1 -0
  59. package/dist/components/content/Footer.js +1 -1
  60. package/dist/components/content/Header.js +1 -1
  61. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  62. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  63. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  64. package/dist/components/content/Item/Item.js +1 -1
  65. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  66. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  67. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  68. package/dist/components/content/Layout/GridLayout.js +1 -1
  69. package/dist/components/content/Layout/Layout.js +1 -1
  70. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  71. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  72. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  73. package/dist/components/content/Layout/LayoutContent.js +1 -1
  74. package/dist/components/content/Layout/LayoutContext.js +1 -1
  75. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  76. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  77. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  78. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutPane.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  90. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  91. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  92. package/dist/components/content/Result/Result.js +1 -1
  93. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  94. package/dist/components/content/Tag/Tag.js +1 -1
  95. package/dist/components/content/Text.js +1 -1
  96. package/dist/components/content/TextItem/TextItem.d.ts +2 -1
  97. package/dist/components/content/TextItem/TextItem.js +134 -69
  98. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  99. package/dist/components/content/Title.js +1 -1
  100. package/dist/components/content/Tree/Tree.js +39 -14
  101. package/dist/components/content/Tree/Tree.js.map +1 -1
  102. package/dist/components/content/Tree/TreeNode.js +8 -7
  103. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  104. package/dist/components/content/Tree/checked-keys.js +158 -0
  105. package/dist/components/content/Tree/checked-keys.js.map +1 -0
  106. package/dist/components/content/Tree/rowId.js +16 -0
  107. package/dist/components/content/Tree/rowId.js.map +1 -0
  108. package/dist/components/content/Tree/styled.js +1 -1
  109. package/dist/components/content/Tree/tree-index.js +10 -2
  110. package/dist/components/content/Tree/tree-index.js.map +1 -1
  111. package/dist/components/content/Tree/types.d.ts +21 -1
  112. package/dist/components/content/Tree/use-checkbox-tree.js +17 -123
  113. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  114. package/dist/components/content/Tree/use-load-data.js +1 -1
  115. package/dist/components/content/highlightText.js +1 -1
  116. package/dist/components/content/use-auto-tooltip.js +1 -1
  117. package/dist/components/data/DataTable/DataTable.js +1 -1
  118. package/dist/components/data/ItemTable/ItemTable.js +94 -66
  119. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  120. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  121. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  122. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  123. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  124. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  125. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  126. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  127. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  128. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  129. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  130. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  131. package/dist/components/data/TableBase/RowCollection.js +1 -1
  132. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  133. package/dist/components/data/TableBase/TableRow.js +1 -1
  134. package/dist/components/data/TableBase/TableRowLink.js +88 -0
  135. package/dist/components/data/TableBase/TableRowLink.js.map +1 -0
  136. package/dist/components/data/TableBase/TableView.js +317 -69
  137. package/dist/components/data/TableBase/TableView.js.map +1 -1
  138. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  139. package/dist/components/data/TableBase/column-header.js +1 -1
  140. package/dist/components/data/TableBase/column-menu.js +1 -1
  141. package/dist/components/data/TableBase/column-styles.js +1 -1
  142. package/dist/components/data/TableBase/column-tint.js +1 -1
  143. package/dist/components/data/TableBase/row-menu.js +1 -1
  144. package/dist/components/data/TableBase/styled.js +33 -22
  145. package/dist/components/data/TableBase/styled.js.map +1 -1
  146. package/dist/components/data/TableBase/table-tree.js +1 -1
  147. package/dist/components/data/TableBase/types.d.ts +2 -1
  148. package/dist/components/data/TableBase/types.js +1 -1
  149. package/dist/components/data/TableBase/types.js.map +1 -1
  150. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  151. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  152. package/dist/components/data/TableBase/use-column-order.js +1 -1
  153. package/dist/components/data/TableBase/use-column-window.js +1 -1
  154. package/dist/components/data/TableBase/use-container-width.js +1 -1
  155. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  156. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  157. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  158. package/dist/components/data/TableBase/use-table-search.js +1 -1
  159. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  160. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  161. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  162. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  163. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  164. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  165. package/dist/components/fields/Checkbox/Checkbox.d.ts +3 -2
  166. package/dist/components/fields/Checkbox/Checkbox.js +21 -10
  167. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  168. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +3 -2
  169. package/dist/components/fields/Checkbox/CheckboxGroup.js +36 -42
  170. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  171. package/dist/components/fields/Checkbox/context.js +1 -1
  172. package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -2
  173. package/dist/components/fields/ColorInput/ColorInput.js +5 -3
  174. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  175. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +9 -3
  176. package/dist/components/fields/ColorPicker/ColorPicker.js +182 -200
  177. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  178. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  179. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -2
  180. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +143 -171
  181. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  182. package/dist/components/fields/ComboBox/ComboBox.d.ts +6 -4
  183. package/dist/components/fields/ComboBox/ComboBox.js +601 -574
  184. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  185. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  186. package/dist/components/fields/CommandTextArea/CommandTextArea.js +5 -4
  187. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  188. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  189. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  190. package/dist/components/fields/DatePicker/DateInput.d.ts +3 -2
  191. package/dist/components/fields/DatePicker/DateInput.js +7 -5
  192. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  193. package/dist/components/fields/DatePicker/DateInputBase.js +79 -76
  194. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  195. package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -2
  196. package/dist/components/fields/DatePicker/DatePicker.js +85 -173
  197. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  198. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  199. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  200. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  201. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  202. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +3 -2
  203. package/dist/components/fields/DatePicker/DateRangePicker.js +117 -204
  204. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  205. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +3 -2
  206. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +289 -434
  207. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  208. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  209. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +3 -2
  210. package/dist/components/fields/DatePicker/PeriodPicker.js +87 -113
  211. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  212. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  213. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -2
  214. package/dist/components/fields/DatePicker/TimeInput.js +7 -5
  215. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  216. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  217. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  218. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  219. package/dist/components/fields/DatePicker/period.js +1 -1
  220. package/dist/components/fields/DatePicker/props.js +1 -1
  221. package/dist/components/fields/DatePicker/utils.js +1 -1
  222. package/dist/components/fields/FileInput/FileInput.d.ts +3 -2
  223. package/dist/components/fields/FileInput/FileInput.js +114 -141
  224. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  225. package/dist/components/fields/FilterListBox/FilterListBox.js +10 -65
  226. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  227. package/dist/components/fields/FilterListBox/styled.js +66 -0
  228. package/dist/components/fields/FilterListBox/styled.js.map +1 -0
  229. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +35 -3
  230. package/dist/components/fields/FilterPicker/FilterPicker.js +76 -15
  231. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  232. package/dist/components/fields/FilterPicker/FilterTree.js +413 -0
  233. package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -0
  234. package/dist/components/fields/Input/Input.js +1 -1
  235. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  236. package/dist/components/fields/ListBox/ListBox.d.ts +3 -2
  237. package/dist/components/fields/ListBox/ListBox.js +7 -10
  238. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  239. package/dist/components/fields/ListBox/optionId.js +1 -1
  240. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  241. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  242. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  243. package/dist/components/fields/NumberInput/NumberInput.js +5 -3
  244. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  245. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  246. package/dist/components/fields/PasswordInput/PasswordInput.js +5 -3
  247. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  248. package/dist/components/fields/Picker/Picker.d.ts +9 -3
  249. package/dist/components/fields/Picker/Picker.js +12 -11
  250. package/dist/components/fields/Picker/Picker.js.map +1 -1
  251. package/dist/components/fields/RadioGroup/Radio.js +152 -154
  252. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  253. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +3 -2
  254. package/dist/components/fields/RadioGroup/RadioGroup.js +85 -111
  255. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  256. package/dist/components/fields/RadioGroup/context.js +1 -1
  257. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  258. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +9 -4
  259. package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -23
  260. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  261. package/dist/components/fields/SearchInput/SearchInput.js +52 -48
  262. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  263. package/dist/components/fields/Select/Select.d.ts +3 -2
  264. package/dist/components/fields/Select/Select.js +8 -10
  265. package/dist/components/fields/Select/Select.js.map +1 -1
  266. package/dist/components/fields/Slider/Gradation.js +1 -1
  267. package/dist/components/fields/Slider/HueSlider.js +1 -1
  268. package/dist/components/fields/Slider/RangeSlider.js +19 -26
  269. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  270. package/dist/components/fields/Slider/Slider.js +51 -58
  271. package/dist/components/fields/Slider/Slider.js.map +1 -1
  272. package/dist/components/fields/Slider/SliderBase.js +61 -60
  273. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  274. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  275. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  276. package/dist/components/fields/Slider/elements.js +1 -1
  277. package/dist/components/fields/Slider/index.js +1 -1
  278. package/dist/components/fields/Slider/types.d.ts +3 -2
  279. package/dist/components/fields/Switch/Switch.d.ts +12 -2
  280. package/dist/components/fields/Switch/Switch.js +97 -165
  281. package/dist/components/fields/Switch/Switch.js.map +1 -1
  282. package/dist/components/fields/TagInput/TagInput.d.ts +5 -2
  283. package/dist/components/fields/TagInput/TagInput.js +18 -13
  284. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  285. package/dist/components/fields/TagInput/TagList.js +1 -1
  286. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  287. package/dist/components/fields/TagInput/useTagError.js +1 -1
  288. package/dist/components/fields/TextArea/TextArea.js +5 -3
  289. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  290. package/dist/components/fields/TextInput/TextInput.js +5 -3
  291. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  292. package/dist/components/fields/TextInput/TextInputBase.d.ts +15 -4
  293. package/dist/components/fields/TextInput/TextInputBase.js +200 -104
  294. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  295. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  296. package/dist/components/fields/TextInput/index.d.ts +2 -2
  297. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  298. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  299. package/dist/components/fields/TriggerActions.js +1 -1
  300. package/dist/components/fields/color/ColorPanel.js +1 -1
  301. package/dist/components/fields/color/channels.js +1 -1
  302. package/dist/components/fields/color/color.js +1 -1
  303. package/dist/components/fields/color/context.js +1 -1
  304. package/dist/components/fields/index.d.ts +2 -2
  305. package/dist/components/fields/option-origin-press.js +1 -1
  306. package/dist/components/form/FieldWrapper/FieldWrapper.js +120 -57
  307. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  308. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  309. package/dist/components/form/Form/Field.js +1 -1
  310. package/dist/components/form/Form/Form.js +1 -1
  311. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  312. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  313. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  314. package/dist/components/form/Form/SubmitError.js +1 -1
  315. package/dist/components/form/Form/backend.js +1 -1
  316. package/dist/components/form/Form/index.js +1 -1
  317. package/dist/components/form/Form/modern/actions.js +1 -1
  318. package/dist/components/form/Form/modern/context.js +1 -1
  319. package/dist/components/form/Form/modern/controller.js +1 -1
  320. package/dist/components/form/Form/modern/field-binding.js +1 -1
  321. package/dist/components/form/Form/modern/field.js +1 -1
  322. package/dist/components/form/Form/modern/react.js +1 -1
  323. package/dist/components/form/Form/modern/store.js +1 -1
  324. package/dist/components/form/Form/modern/validation.js +1 -1
  325. package/dist/components/form/Form/modern/values.js +1 -1
  326. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  327. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  328. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  329. package/dist/components/form/Form/use-field/use-field.js +1 -1
  330. package/dist/components/form/Form/use-form.js +1 -1
  331. package/dist/components/form/Form/validation.js +1 -1
  332. package/dist/components/form/Label.js +1 -1
  333. package/dist/components/form/field-chrome.js +1 -1
  334. package/dist/components/form/field-chrome.js.map +1 -1
  335. package/dist/components/form/field-layout.d.ts +10 -0
  336. package/dist/components/form/field-layout.js +96 -0
  337. package/dist/components/form/field-layout.js.map +1 -0
  338. package/dist/components/form/index.d.ts +2 -1
  339. package/dist/components/form/legacy-tooltip.js +15 -2
  340. package/dist/components/form/legacy-tooltip.js.map +1 -1
  341. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  342. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  343. package/dist/components/form/validation/use-validation-props.js +1 -1
  344. package/dist/components/form/wrapper.js +6 -2
  345. package/dist/components/form/wrapper.js.map +1 -1
  346. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  347. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  348. package/dist/components/layout/Flex.js +1 -1
  349. package/dist/components/layout/Flow.js +1 -1
  350. package/dist/components/layout/Grid.js +1 -1
  351. package/dist/components/layout/Panel.js +1 -1
  352. package/dist/components/layout/Prefix.js +1 -1
  353. package/dist/components/layout/ResizablePanel.js +1 -1
  354. package/dist/components/layout/Space.js +1 -1
  355. package/dist/components/layout/Suffix.js +1 -1
  356. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  357. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  358. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  359. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  360. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  361. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  362. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  363. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  364. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  365. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  366. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  367. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  368. package/dist/components/navigation/Tabs/styled.js +2 -1
  369. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  370. package/dist/components/navigation/Tabs/types.js +1 -1
  371. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  372. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  373. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  374. package/dist/components/other/Calendar/Calendar.js +1 -1
  375. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  376. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  377. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  378. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  379. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  380. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  381. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  382. package/dist/components/other/Calendar/styled.js +1 -1
  383. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  384. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  385. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  386. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  387. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  388. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  389. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  390. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  391. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  392. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  393. package/dist/components/overlays/Dialog/context.js +1 -1
  394. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  395. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  396. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  397. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  398. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  399. package/dist/components/overlays/Modal/Modal.js +1 -1
  400. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  401. package/dist/components/overlays/Modal/Overlay.js +1 -1
  402. package/dist/components/overlays/Modal/Popover.js +1 -1
  403. package/dist/components/overlays/Modal/Tray.js +1 -1
  404. package/dist/components/overlays/Modal/Underlay.js +1 -1
  405. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  406. package/dist/components/overlays/Notifications/Notification.js +1 -1
  407. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  408. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  409. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  410. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  411. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  412. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  413. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  414. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  415. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  416. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  417. package/dist/components/overlays/Notifications/index.js +1 -1
  418. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  419. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  420. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  421. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  422. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  423. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  424. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  425. package/dist/components/overlays/Toast/index.js +1 -1
  426. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  427. package/dist/components/overlays/Toast/useToast.js +1 -1
  428. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  429. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  430. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  431. package/dist/components/overlays/Tooltip/context.js +1 -1
  432. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  433. package/dist/components/portal/Portal.js +1 -1
  434. package/dist/components/portal/PortalProvider.js +1 -1
  435. package/dist/components/portal/usePortal.js +1 -1
  436. package/dist/components/shared/DraggableCollection.js +1 -1
  437. package/dist/components/shared/InvalidIcon.js +1 -1
  438. package/dist/components/shared/ValidIcon.js +1 -1
  439. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  440. package/dist/components/status/Spin/Cube.js +1 -1
  441. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  442. package/dist/components/status/Spin/Spin.js +1 -1
  443. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  444. package/dist/data/item-themes.js +116 -116
  445. package/dist/data/item-themes.js.map +1 -1
  446. package/dist/data/themes.js +1 -1
  447. package/dist/eslint-plugin/defaults.generated.js +1 -1
  448. package/dist/eslint-plugin/index.js +1 -1
  449. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  450. package/dist/i18n/I18nProvider.js +1 -1
  451. package/dist/i18n/createFormatter.js +1 -1
  452. package/dist/i18n/index.js +1 -1
  453. package/dist/i18n/instance.js +1 -1
  454. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  455. package/dist/i18n/locales/en-US/uikit.js +1 -1
  456. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  457. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  458. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  459. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  460. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  461. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  462. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  463. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  464. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  465. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  466. package/dist/i18n/locales.js +1 -1
  467. package/dist/i18n/namespace.js +1 -1
  468. package/dist/i18n/useFormatter.js +1 -1
  469. package/dist/i18n/useI18n.js +1 -1
  470. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  471. package/dist/icons/AdjustmentsIcon.js +1 -1
  472. package/dist/icons/AiIcon.js +1 -1
  473. package/dist/icons/AreaChartIcon.js +1 -1
  474. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  475. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  476. package/dist/icons/BackwardIcon.js +1 -1
  477. package/dist/icons/BarChartIcon.js +1 -1
  478. package/dist/icons/BellFilledIcon.js +1 -1
  479. package/dist/icons/BellIcon.js +1 -1
  480. package/dist/icons/BooleanIcon.js +1 -1
  481. package/dist/icons/CalendarEditIcon.js +1 -1
  482. package/dist/icons/CalendarIcon.js +1 -1
  483. package/dist/icons/CaretDownIcon.js +1 -1
  484. package/dist/icons/CaretUpIcon.js +1 -1
  485. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  486. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  487. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  488. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  489. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  490. package/dist/icons/ChartBarLineIcon.js +1 -1
  491. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  492. package/dist/icons/ChartBarStackedIcon.js +1 -1
  493. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  494. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  495. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  496. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  497. package/dist/icons/ChartBubbleIcon.js +1 -1
  498. package/dist/icons/ChartDonut2Icon.js +1 -1
  499. package/dist/icons/ChartFunnelIcon.js +1 -1
  500. package/dist/icons/ChartHeatmapIcon.js +1 -1
  501. package/dist/icons/ChartKPIIcon.js +1 -1
  502. package/dist/icons/ChartPie2Icon.js +1 -1
  503. package/dist/icons/ChartScatterIcon.js +1 -1
  504. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  505. package/dist/icons/CheckCircleIcon.js +1 -1
  506. package/dist/icons/CheckIcon.js +1 -1
  507. package/dist/icons/CircleFilledIcon.js +1 -1
  508. package/dist/icons/ClearIcon.js +1 -1
  509. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  510. package/dist/icons/CloseCircleIcon.js +1 -1
  511. package/dist/icons/CloseIcon.js +1 -1
  512. package/dist/icons/CodeIcon.js +1 -1
  513. package/dist/icons/ColumnTotalIcon.js +1 -1
  514. package/dist/icons/CopyIcon.js +1 -1
  515. package/dist/icons/CountIcon.js +1 -1
  516. package/dist/icons/CubeIcon.js +1 -1
  517. package/dist/icons/CubePauseIcon.js +1 -1
  518. package/dist/icons/CubePlayIcon.js +1 -1
  519. package/dist/icons/CurrencyDollarIcon.js +1 -1
  520. package/dist/icons/DangerIcon.js +1 -1
  521. package/dist/icons/DashboardIcon.js +1 -1
  522. package/dist/icons/DatabaseIcon.js +1 -1
  523. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  524. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  525. package/dist/icons/DirectionIcon.js +1 -1
  526. package/dist/icons/DonutIcon.js +1 -1
  527. package/dist/icons/DownIcon.js +1 -1
  528. package/dist/icons/EditIcon.js +1 -1
  529. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  530. package/dist/icons/ExclamationCircleIcon.js +1 -1
  531. package/dist/icons/ExclamationIcon.js +1 -1
  532. package/dist/icons/EyeIcon.js +1 -1
  533. package/dist/icons/EyeInvisibleIcon.js +1 -1
  534. package/dist/icons/FilterIcon.js +1 -1
  535. package/dist/icons/FolderFilledIcon.js +1 -1
  536. package/dist/icons/FolderIcon.js +1 -1
  537. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  538. package/dist/icons/FolderOpenIcon.js +1 -1
  539. package/dist/icons/ForwardIcon.js +1 -1
  540. package/dist/icons/GripVerticalIcon.js +1 -1
  541. package/dist/icons/HierarchyIcon.js +1 -1
  542. package/dist/icons/HierarchyOpenIcon.js +1 -1
  543. package/dist/icons/Icon.js +1 -1
  544. package/dist/icons/InfoCircleIcon.js +1 -1
  545. package/dist/icons/InfoIcon.js +1 -1
  546. package/dist/icons/KeyIcon.js +1 -1
  547. package/dist/icons/LeftIcon.js +1 -1
  548. package/dist/icons/LineChartIcon.js +1 -1
  549. package/dist/icons/LoadingIcon.js +1 -1
  550. package/dist/icons/LockFilledIcon.js +1 -1
  551. package/dist/icons/LockIcon.js +1 -1
  552. package/dist/icons/MoreIcon.js +1 -1
  553. package/dist/icons/NotAllowedIcon.js +1 -1
  554. package/dist/icons/Number123Icon.js +1 -1
  555. package/dist/icons/NumberIcon.js +1 -1
  556. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  557. package/dist/icons/PauseCircleIcon.js +1 -1
  558. package/dist/icons/PauseIcon.js +1 -1
  559. package/dist/icons/PercentageIcon.js +1 -1
  560. package/dist/icons/PieChartIcon.js +1 -1
  561. package/dist/icons/PipetteIcon.js +1 -1
  562. package/dist/icons/PlayCircleIcon.js +1 -1
  563. package/dist/icons/PlayIcon.js +1 -1
  564. package/dist/icons/PlusIcon.js +1 -1
  565. package/dist/icons/ProgressBarIcon.js +1 -1
  566. package/dist/icons/ReloadIcon.js +1 -1
  567. package/dist/icons/ReportIcon.js +1 -1
  568. package/dist/icons/ReturnIcon.js +1 -1
  569. package/dist/icons/RightIcon.js +1 -1
  570. package/dist/icons/RowTotalsIcon.js +1 -1
  571. package/dist/icons/SchemeIcon.js +1 -1
  572. package/dist/icons/SearchIcon.js +1 -1
  573. package/dist/icons/SemanticQueryIcon.js +1 -1
  574. package/dist/icons/SettingsIcon.js +1 -1
  575. package/dist/icons/ShieldFilledIcon.js +1 -1
  576. package/dist/icons/ShieldIcon.js +1 -1
  577. package/dist/icons/SlashIcon.js +1 -1
  578. package/dist/icons/SparklesIcon.js +1 -1
  579. package/dist/icons/SqlIcon.js +1 -1
  580. package/dist/icons/StatsIcon.js +1 -1
  581. package/dist/icons/StopIcon.js +1 -1
  582. package/dist/icons/StringIcon.js +1 -1
  583. package/dist/icons/SubtotalsIcon.js +1 -1
  584. package/dist/icons/SwitchIcon.js +1 -1
  585. package/dist/icons/TableIcon.js +1 -1
  586. package/dist/icons/ThumbsDownIcon.js +1 -1
  587. package/dist/icons/ThumbsUpIcon.js +1 -1
  588. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  589. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  590. package/dist/icons/ThunderboltIcon.js +1 -1
  591. package/dist/icons/TimeIcon.js +1 -1
  592. package/dist/icons/TrashIcon.js +1 -1
  593. package/dist/icons/UnlockIcon.js +1 -1
  594. package/dist/icons/UpIcon.js +1 -1
  595. package/dist/icons/UserGroupIcon.js +1 -1
  596. package/dist/icons/UserIcon.js +1 -1
  597. package/dist/icons/UserLockIcon.js +1 -1
  598. package/dist/icons/ViewIcon.js +1 -1
  599. package/dist/icons/WarningFilledIcon.js +1 -1
  600. package/dist/icons/WarningIcon.js +1 -1
  601. package/dist/icons/wrap-icon.js +1 -1
  602. package/dist/index.d.ts +4 -3
  603. package/dist/index.js +4 -4
  604. package/dist/index.js.map +1 -1
  605. package/dist/probe/canonicalize.js +1 -1
  606. package/dist/probe/css.js +1 -1
  607. package/dist/probe/index.js +1 -1
  608. package/dist/provider.d.ts +5 -0
  609. package/dist/provider.js +19 -7
  610. package/dist/provider.js.map +1 -1
  611. package/dist/providers/TrackingProvider.js +1 -1
  612. package/dist/providers/navigation-url.js +1 -1
  613. package/dist/providers/navigationAdapter.default.js +1 -1
  614. package/dist/providers/use-navigation.js +1 -1
  615. package/dist/shared/form.d.ts +3 -1
  616. package/dist/tokens/all-tokens.js +1 -1
  617. package/dist/tokens/base.js +1 -1
  618. package/dist/tokens/color-seed.js +1 -1
  619. package/dist/tokens/color-theme.js +1 -1
  620. package/dist/tokens/colors.js +1 -1
  621. package/dist/tokens/layout.js +1 -1
  622. package/dist/tokens/lazy-styles.js +1 -1
  623. package/dist/tokens/legacy-color.js +1 -1
  624. package/dist/tokens/palette-config.js +1 -1
  625. package/dist/tokens/palette.js +4 -4
  626. package/dist/tokens/palette.js.map +1 -1
  627. package/dist/tokens/resolve.js +1 -1
  628. package/dist/tokens/shadows.js +1 -1
  629. package/dist/tokens/sizes.js +1 -1
  630. package/dist/tokens/spacing.js +1 -1
  631. package/dist/tokens/typography.js +1 -1
  632. package/dist/utils/ResizeSensor.js +1 -1
  633. package/dist/utils/colors.js +1 -1
  634. package/dist/utils/dotize.js +1 -1
  635. package/dist/utils/is-dev-env.js +1 -1
  636. package/dist/utils/modules.js +1 -1
  637. package/dist/utils/promise.js +1 -1
  638. package/dist/utils/raf.js +1 -1
  639. package/dist/utils/random.js +1 -1
  640. package/dist/utils/range.js +1 -1
  641. package/dist/utils/react/RenderCache.js +1 -1
  642. package/dist/utils/react/Slots.js +1 -1
  643. package/dist/utils/react/chain.js +1 -1
  644. package/dist/utils/react/disabledProps.js +29 -2
  645. package/dist/utils/react/disabledProps.js.map +1 -1
  646. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  647. package/dist/utils/react/index.js +1 -1
  648. package/dist/utils/react/interactions.js +1 -1
  649. package/dist/utils/react/isTextOnly.js +1 -1
  650. package/dist/utils/react/mapProps.js +1 -1
  651. package/dist/utils/react/mergeProps.js +1 -1
  652. package/dist/utils/react/nullableValue.js +1 -1
  653. package/dist/utils/react/overlayKeyPropagation.js +44 -7
  654. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  655. package/dist/utils/react/programmaticFocus.js +1 -1
  656. package/dist/utils/react/resolveIcon.js +1 -1
  657. package/dist/utils/react/sharedStore.js +1 -1
  658. package/dist/utils/react/useBufferedValue.js +1 -1
  659. package/dist/utils/react/useCombinedRefs.js +1 -1
  660. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  661. package/dist/utils/react/useEventBus.js +1 -1
  662. package/dist/utils/react/useId.js +1 -1
  663. package/dist/utils/react/useIsDarwin.js +1 -1
  664. package/dist/utils/react/useKeySymbols.js +1 -1
  665. package/dist/utils/react/useLayoutEffect.js +1 -1
  666. package/dist/utils/react/useLocalStorage.js +1 -1
  667. package/dist/utils/react/useMergeStyles.js +1 -1
  668. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  669. package/dist/utils/react/usePopoverSync.js +1 -1
  670. package/dist/utils/react/useQaProps.js +1 -1
  671. package/dist/utils/react/useScheme.js +1 -1
  672. package/dist/utils/react/useViewportSize.js +1 -1
  673. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  674. package/dist/utils/selection.js +1 -1
  675. package/dist/utils/styles.js +1 -1
  676. package/dist/utils/tree.js +1 -1
  677. package/dist/utils/warnings.js +1 -1
  678. package/dist/version.js +3 -3
  679. package/docs/CreateComponent.md +1 -1
  680. package/docs/FieldProperties.md +17 -7
  681. package/docs/Usage.md +3 -0
  682. package/docs/components/content/Divider.md +103 -21
  683. package/docs/components/content/Tree.md +5 -4
  684. package/docs/components/data/ItemTable.md +9 -1
  685. package/docs/components/fields/Checkbox.md +7 -8
  686. package/docs/components/fields/ColorInput.md +11 -13
  687. package/docs/components/fields/ColorPicker.md +2 -2
  688. package/docs/components/fields/ColorSwatchGroup.md +2 -3
  689. package/docs/components/fields/ComboBox.md +2 -4
  690. package/docs/components/fields/CommandTextArea.md +3 -5
  691. package/docs/components/fields/DatePicker.md +1 -4
  692. package/docs/components/fields/FileInput.md +1 -5
  693. package/docs/components/fields/FilterListBox.md +0 -3
  694. package/docs/components/fields/FilterPicker.md +68 -5
  695. package/docs/components/fields/HueSlider.md +1 -2
  696. package/docs/components/fields/ListBox.md +0 -3
  697. package/docs/components/fields/NumberInput.md +5 -6
  698. package/docs/components/fields/PasswordInput.md +7 -8
  699. package/docs/components/fields/PeriodPicker.md +0 -4
  700. package/docs/components/fields/Picker.md +2 -4
  701. package/docs/components/fields/RadioGroup.md +4 -5
  702. package/docs/components/fields/SearchComboBox.md +2 -4
  703. package/docs/components/fields/SearchInput.md +3 -4
  704. package/docs/components/fields/Select.md +0 -3
  705. package/docs/components/fields/Slider.md +0 -1
  706. package/docs/components/fields/Switch.md +16 -3
  707. package/docs/components/fields/TagInput.md +3 -6
  708. package/docs/components/fields/TextArea.md +9 -8
  709. package/docs/components/fields/TextInput.md +39 -10
  710. package/docs/components/overlays/Tooltip.md +1 -1
  711. package/docs/tasty/ai-agents.md +1 -1
  712. package/docs/tasty/react-api.md +1 -1
  713. package/docs/tasty/styles.md +37 -3
  714. package/package.json +6 -4
  715. package/dist/components/content/Divider.d.ts +0 -7
  716. package/dist/components/content/Divider.js +0 -105
  717. package/dist/components/content/Divider.js.map +0 -1
@@ -0,0 +1,413 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
2
+ import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
3
+ import { LoadingIcon } from "../../../icons/LoadingIcon.js";
4
+ import { useI18n } from "../../../i18n/useI18n.js";
5
+ import { Item as _Item } from "../../content/Item/Item.js";
6
+ import { StyledFooter } from "../../actions/Menu/styled.js";
7
+ import { buildTreeIndex, getTreeNodeText } from "../../content/Tree/tree-index.js";
8
+ import { deriveCheckedSets, toOrderedKeys, toggleCheckedKey } from "../../content/Tree/checked-keys.js";
9
+ import { Tree } from "../../content/Tree/Tree.js";
10
+ import { FilterListBoxWrapperElement, SearchInputElement, SearchWrapperElement, StyledHeaderWithoutBorder } from "../FilterListBox/styled.js";
11
+ import { getTreeRowId } from "../../content/Tree/rowId.js";
12
+ import { c } from "react/compiler-runtime";
13
+ import { tasty } from "@tenphi/tasty";
14
+ import { useRef, useState } from "react";
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ import { useFilter, useId as useId$1, useKeyboard } from "react-aria";
17
+ //#region src/components/fields/FilterPicker/FilterTree.tsx
18
+ const FilterTreeListElement = tasty({
19
+ qa: "FilterTreeList",
20
+ styles: {
21
+ display: "grid",
22
+ gridColumns: "1sf",
23
+ gridRows: "1sf",
24
+ height: "min 0"
25
+ }
26
+ });
27
+ /** With a footer, the frame takes a fourth row for it. */
28
+ const FOOTER_ROWS_STYLES = { gridRows: "max-content max-content 1sf max-content" };
29
+ /**
30
+ * Keep the nodes that match, each with its whole subtree, and the ancestors
31
+ * of deeper matches with only their matching branches. `expandKeys` are the
32
+ * nodes with a match below them, matching or not, so they open to show it.
33
+ */
34
+ function filterTreeData(nodes, query, match, expandKeys = []) {
35
+ const kept = [];
36
+ for (const node of nodes) {
37
+ if (match(getTreeNodeText(node), query)) {
38
+ kept.push(node);
39
+ if (node.children && filterTreeData(node.children, query, match, expandKeys).nodes.length) expandKeys.push(node.key);
40
+ continue;
41
+ }
42
+ const children = node.children ? filterTreeData(node.children, query, match, expandKeys).nodes : [];
43
+ if (children.length) {
44
+ kept.push({
45
+ ...node,
46
+ children
47
+ });
48
+ expandKeys.push(node.key);
49
+ }
50
+ }
51
+ return {
52
+ nodes: kept,
53
+ expandKeys
54
+ };
55
+ }
56
+ /** The rows a keyboard can reach, top to bottom. */
57
+ function getNavigableRows(nodes, expanded, out = []) {
58
+ for (const node of nodes) {
59
+ if (!node.isDisabled) out.push(node);
60
+ if (node.children && expanded.has(node.key)) getNavigableRows(node.children, expanded, out);
61
+ }
62
+ return out;
63
+ }
64
+ /**
65
+ * FilterPicker's popover in tree mode: FilterListBox's header, search row
66
+ * and footer around a checkable `Tree`.
67
+ *
68
+ * The search input keeps focus and points at the active row with
69
+ * `aria-activedescendant`, as FilterListBox does for its options. The
70
+ * checkbox cascade runs over the whole `treeData`, never only the rows a
71
+ * search left visible.
72
+ */
73
+ function FilterTree(props) {
74
+ const $ = c(43);
75
+ const { treeData, checkedKeys, onCheckedKeysChange, expandedKeys, onExpand, searchValue: controlledSearchValue, onSearchChange, searchInputStyles, searchInputRef, filter, header, headerStyles, footer, footerStyles, size: t0, isDisabled, isLoadingItems, shouldFocusWrap, autoFocus, onEscape, onCommit } = props;
76
+ const size = t0 === void 0 ? "medium" : t0;
77
+ const { t } = useI18n();
78
+ const { searchPlaceholder: t1, emptyLabel } = props;
79
+ let t2;
80
+ if ($[0] !== t || $[1] !== t1) {
81
+ t2 = t1 === void 0 ? t("filterListBox.searchPlaceholder", "Search...") : t1;
82
+ $[0] = t;
83
+ $[1] = t1;
84
+ $[2] = t2;
85
+ } else t2 = $[2];
86
+ const searchPlaceholder = t2;
87
+ const ariaLabel = props["aria-label"];
88
+ const treeId = useId$1();
89
+ const inputRef = useRef(null);
90
+ let t3;
91
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
92
+ t3 = { sensitivity: "base" };
93
+ $[3] = t3;
94
+ } else t3 = $[3];
95
+ const { contains } = useFilter(t3);
96
+ const [internalSearchValue, setInternalSearchValue] = useState("");
97
+ const searchValue = controlledSearchValue ?? internalSearchValue;
98
+ let t4;
99
+ if ($[4] !== searchValue) {
100
+ t4 = searchValue.trim();
101
+ $[4] = searchValue;
102
+ $[5] = t4;
103
+ } else t4 = $[5];
104
+ const query = t4;
105
+ const isSearching = !!query && filter !== false;
106
+ const [searchExpansion, setSearchExpansion] = useState(null);
107
+ const [expansionQuery, setExpansionQuery] = useState(query);
108
+ if (expansionQuery !== query) {
109
+ setExpansionQuery(query);
110
+ setSearchExpansion(null);
111
+ }
112
+ let t5;
113
+ if ($[6] !== controlledSearchValue || $[7] !== onSearchChange) {
114
+ t5 = (value) => {
115
+ if (controlledSearchValue === void 0) setInternalSearchValue(value);
116
+ onSearchChange?.(value);
117
+ };
118
+ $[6] = controlledSearchValue;
119
+ $[7] = onSearchChange;
120
+ $[8] = t5;
121
+ } else t5 = $[8];
122
+ const setSearchValue = t5;
123
+ const index = buildTreeIndex(treeData);
124
+ const { checked, halfChecked } = deriveCheckedSets(treeData, index, checkedKeys);
125
+ const filtered = isSearching ? filterTreeData(treeData, query, typeof filter === "function" ? filter : contains) : {
126
+ nodes: treeData,
127
+ expandKeys: []
128
+ };
129
+ const expanded = isSearching ? searchExpansion ?? filtered.expandKeys : expandedKeys;
130
+ const expandedSet = new Set(expanded);
131
+ let t6;
132
+ if ($[9] !== isSearching || $[10] !== onExpand) {
133
+ t6 = (keys) => {
134
+ if (isSearching) {
135
+ setSearchExpansion(keys);
136
+ return;
137
+ }
138
+ onExpand(keys);
139
+ };
140
+ $[9] = isSearching;
141
+ $[10] = onExpand;
142
+ $[11] = t6;
143
+ } else t6 = $[11];
144
+ const setExpanded = t6;
145
+ const rows = getNavigableRows(filtered.nodes, expandedSet);
146
+ const rowKeys = rows.map(_temp);
147
+ const [storedActiveKey, setActiveKey] = useState(null);
148
+ const activeKey = storedActiveKey != null && rowKeys.includes(storedActiveKey) ? storedActiveKey : rowKeys.find((key) => checked.has(key)) ?? rowKeys[0] ?? null;
149
+ const toggle = (key_0) => {
150
+ const next = toggleCheckedKey(index, checked, key_0);
151
+ if (!next) return false;
152
+ onCheckedKeysChange(toOrderedKeys(index, deriveCheckedSets(treeData, index, next).checked));
153
+ return true;
154
+ };
155
+ const toggleActive = (key_1) => {
156
+ setActiveKey(key_1);
157
+ return toggle(key_1);
158
+ };
159
+ let t7;
160
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
161
+ t7 = () => {
162
+ setTimeout(() => inputRef.current?.focus(), 0);
163
+ };
164
+ $[12] = t7;
165
+ } else t7 = $[12];
166
+ const refocusSearch = t7;
167
+ let t8;
168
+ if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
169
+ t8 = (key_2) => {
170
+ if (key_2 != null) setActiveKey(key_2);
171
+ };
172
+ $[13] = t8;
173
+ } else t8 = $[13];
174
+ const moveActive = t8;
175
+ const getActiveRow = () => activeKey == null ? void 0 : rows.find((row_0) => row_0.key === activeKey);
176
+ const handleArrow = (direction) => {
177
+ const position = activeKey == null ? -1 : rowKeys.indexOf(activeKey);
178
+ let next_0 = position + direction;
179
+ if (position < 0) next_0 = direction === 1 ? 0 : rowKeys.length - 1;
180
+ if (next_0 < 0 || next_0 >= rowKeys.length) {
181
+ if (!shouldFocusWrap) return;
182
+ next_0 = (next_0 + rowKeys.length) % rowKeys.length;
183
+ }
184
+ moveActive(rowKeys[next_0]);
185
+ };
186
+ const handleExpandKey = (input, direction_0) => {
187
+ const row_1 = getActiveRow();
188
+ if (!row_1) return false;
189
+ const caret = input.selectionStart ?? 0;
190
+ if (!(input.selectionStart === input.selectionEnd && (direction_0 === "open" ? caret === input.value.length : caret === 0))) return false;
191
+ const hasChildren = !!row_1.children?.length;
192
+ const isExpanded = expandedSet.has(row_1.key);
193
+ if (direction_0 === "open") {
194
+ if (!hasChildren) return false;
195
+ if (!isExpanded) setExpanded([...expanded, row_1.key]);
196
+ else moveActive(row_1.children?.find(_temp2)?.key);
197
+ return true;
198
+ }
199
+ if (hasChildren && isExpanded) {
200
+ setExpanded(expanded.filter((key_3) => key_3 !== row_1.key));
201
+ return true;
202
+ }
203
+ let parentKey = index.parentOf.get(row_1.key);
204
+ while (parentKey != null && !rowKeys.includes(parentKey)) parentKey = index.parentOf.get(parentKey);
205
+ if (parentKey == null) return false;
206
+ moveActive(parentKey);
207
+ return true;
208
+ };
209
+ const { keyboardProps } = useKeyboard({ onKeyDown: (e) => {
210
+ bb179: switch (e.key) {
211
+ case "ArrowDown":
212
+ case "ArrowUp":
213
+ e.preventDefault();
214
+ handleArrow(e.key === "ArrowDown" ? 1 : -1);
215
+ break bb179;
216
+ case "Home":
217
+ case "End":
218
+ case "PageUp":
219
+ case "PageDown":
220
+ e.preventDefault();
221
+ moveActive(e.key === "Home" || e.key === "PageUp" ? rowKeys[0] : rowKeys[rowKeys.length - 1]);
222
+ break bb179;
223
+ case "ArrowRight":
224
+ case "ArrowLeft":
225
+ if (handleExpandKey(e.target, e.key === "ArrowRight" ? "open" : "close")) e.preventDefault();
226
+ break bb179;
227
+ case "Enter":
228
+ if (activeKey == null) break bb179;
229
+ e.preventDefault();
230
+ if (toggleActive(activeKey)) onCommit?.();
231
+ break bb179;
232
+ case " ":
233
+ if (activeKey == null || searchValue) break bb179;
234
+ e.preventDefault();
235
+ toggleActive(activeKey);
236
+ break bb179;
237
+ case "Escape":
238
+ if (searchValue) {
239
+ e.preventDefault();
240
+ setSearchValue("");
241
+ } else if (onEscape) {
242
+ e.preventDefault();
243
+ onEscape();
244
+ }
245
+ break bb179;
246
+ }
247
+ } });
248
+ const t9 = !!isDisabled;
249
+ const t10 = !!isLoadingItems;
250
+ const t11 = !!isLoadingItems;
251
+ let t12;
252
+ if ($[14] !== t10 || $[15] !== t11 || $[16] !== t9) {
253
+ t12 = {
254
+ disabled: t9,
255
+ "loading-items": t10,
256
+ searchable: true,
257
+ suffix: t11
258
+ };
259
+ $[14] = t10;
260
+ $[15] = t11;
261
+ $[16] = t9;
262
+ $[17] = t12;
263
+ } else t12 = $[17];
264
+ const searchMods = t12;
265
+ let t13;
266
+ if ($[18] !== emptyLabel || $[19] !== query || $[20] !== t) {
267
+ t13 = emptyLabel !== void 0 ? emptyLabel : query ? t("filterListBox.noResults", "No results found") : t("filterListBox.noItems", "No items");
268
+ $[18] = emptyLabel;
269
+ $[19] = query;
270
+ $[20] = t;
271
+ $[21] = t13;
272
+ } else t13 = $[21];
273
+ const resolvedEmptyLabel = t13;
274
+ let t14;
275
+ if ($[22] === Symbol.for("react.memo_cache_sentinel")) {
276
+ t14 = { popover: true };
277
+ $[22] = t14;
278
+ } else t14 = $[22];
279
+ let t15;
280
+ if ($[23] !== header || $[24] !== headerStyles || $[25] !== size) {
281
+ t15 = header ? /* @__PURE__ */ jsx(StyledHeaderWithoutBorder, {
282
+ "data-size": size,
283
+ styles: headerStyles,
284
+ children: header
285
+ }) : /* @__PURE__ */ jsx("div", { role: "presentation" });
286
+ $[23] = header;
287
+ $[24] = headerStyles;
288
+ $[25] = size;
289
+ $[26] = t15;
290
+ } else t15 = $[26];
291
+ let t16;
292
+ if ($[27] !== searchInputRef) {
293
+ t16 = mergeRefs(inputRef, searchInputRef);
294
+ $[27] = searchInputRef;
295
+ $[28] = t16;
296
+ } else t16 = $[28];
297
+ let t17;
298
+ if ($[29] !== autoFocus) {
299
+ t17 = autoFocus ? { "data-autofocus": "" } : void 0;
300
+ $[29] = autoFocus;
301
+ $[30] = t17;
302
+ } else t17 = $[30];
303
+ let t18;
304
+ if ($[31] !== setSearchValue) {
305
+ t18 = (e_0) => setSearchValue(e_0.target.value);
306
+ $[31] = setSearchValue;
307
+ $[32] = t18;
308
+ } else t18 = $[32];
309
+ let t19;
310
+ if ($[33] !== isLoadingItems) {
311
+ t19 = isLoadingItems && /* @__PURE__ */ jsx("div", {
312
+ "data-element": "Suffix",
313
+ children: /* @__PURE__ */ jsx(LoadingIcon, { "data-element": "InputIcon" })
314
+ });
315
+ $[33] = isLoadingItems;
316
+ $[34] = t19;
317
+ } else t19 = $[34];
318
+ const T0 = FilterTreeListElement;
319
+ const t20 = filtered.nodes.length ? refocusSearch : void 0;
320
+ const t21 = filtered.nodes.length ? /* @__PURE__ */ jsx(Tree, {
321
+ id: treeId,
322
+ qa: "FilterTree",
323
+ ariaLabel,
324
+ treeData: filtered.nodes,
325
+ size,
326
+ isCheckable: true,
327
+ isDisabled,
328
+ selectionMode: "none",
329
+ checkedKeys: {
330
+ checked: [...checked],
331
+ halfChecked: [...halfChecked]
332
+ },
333
+ expandedKeys: expanded,
334
+ _activeKey: activeKey,
335
+ onExpand: (keys_0) => setExpanded(keys_0.map(String)),
336
+ onCheck: (_, info) => toggle(info.node.key),
337
+ _onRowAction: toggleActive
338
+ }) : /* @__PURE__ */ jsx(_Item, {
339
+ preset: "t4",
340
+ color: "#dark-03",
341
+ size,
342
+ padding: "(.5x - 1bw)",
343
+ children: resolvedEmptyLabel
344
+ });
345
+ let t22;
346
+ if ($[35] !== T0 || $[36] !== t20 || $[37] !== t21) {
347
+ t22 = /* @__PURE__ */ jsx(T0, {
348
+ onFocus: t20,
349
+ children: t21
350
+ });
351
+ $[35] = T0;
352
+ $[36] = t20;
353
+ $[37] = t21;
354
+ $[38] = t22;
355
+ } else t22 = $[38];
356
+ let t23;
357
+ if ($[39] !== footer || $[40] !== footerStyles || $[41] !== size) {
358
+ t23 = footer ? /* @__PURE__ */ jsx(StyledFooter, {
359
+ styles: footerStyles,
360
+ "data-size": size,
361
+ children: footer
362
+ }) : null;
363
+ $[39] = footer;
364
+ $[40] = footerStyles;
365
+ $[41] = size;
366
+ $[42] = t23;
367
+ } else t23 = $[42];
368
+ return /* @__PURE__ */ jsxs(FilterListBoxWrapperElement, {
369
+ qa: "FilterTreeWrapper",
370
+ mods: t14,
371
+ styles: footer ? FOOTER_ROWS_STYLES : void 0,
372
+ children: [
373
+ t15,
374
+ /* @__PURE__ */ jsxs(SearchWrapperElement, {
375
+ mods: searchMods,
376
+ "data-size": size,
377
+ children: [/* @__PURE__ */ jsx(SearchInputElement, {
378
+ ref: t16,
379
+ qa: "FilterTreeSearch",
380
+ type: "search",
381
+ role: "combobox",
382
+ "aria-expanded": "true",
383
+ "aria-haspopup": "tree",
384
+ "aria-controls": filtered.nodes.length ? treeId : void 0,
385
+ "aria-activedescendant": activeKey == null ? void 0 : getTreeRowId(treeId, activeKey),
386
+ "aria-label": ariaLabel,
387
+ placeholder: searchPlaceholder,
388
+ value: searchValue,
389
+ disabled: isDisabled,
390
+ autoFocus,
391
+ ...t17,
392
+ "data-size": size,
393
+ mods: searchMods,
394
+ styles: searchInputStyles,
395
+ onChange: t18,
396
+ ...keyboardProps
397
+ }), t19]
398
+ }),
399
+ t22,
400
+ t23
401
+ ]
402
+ });
403
+ }
404
+ function _temp2(child) {
405
+ return !child.isDisabled;
406
+ }
407
+ function _temp(row) {
408
+ return row.key;
409
+ }
410
+ //#endregion
411
+ export { FilterTree };
412
+
413
+ //# sourceMappingURL=FilterTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterTree.js","names":["tasty","useRef","useState","useFilter","useId","useKeyboard","useI18n","LoadingIcon","mergeRefs","StyledFooter","Item","deriveCheckedSets","toggleCheckedKey","toOrderedKeys","getTreeRowId","Tree","buildTreeIndex","getTreeNodeText","FilterListBoxWrapperElement","SearchInputElement","SearchWrapperElement","StyledHeaderWithoutBorder","Styles","ReactNode","RefObject","CubeTreeNodeData","FilterFn","textValue","inputValue","FilterTreeProps","treeData","checkedKeys","onCheckedKeysChange","keys","expandedKeys","onExpand","searchValue","onSearchChange","value","searchPlaceholder","searchInputStyles","searchInputRef","HTMLInputElement","filter","emptyLabel","header","headerStyles","footer","footerStyles","size","isDisabled","isLoadingItems","shouldFocusWrap","autoFocus","onEscape","onCommit","FilterTreeListElement","qa","styles","display","gridColumns","gridRows","height","FOOTER_ROWS_STYLES","filterTreeData","nodes","query","match","expandKeys","kept","node","push","children","length","key","getNavigableRows","expanded","Set","out","has","FilterTree","props","$","_c","controlledSearchValue","t0","undefined","t","t1","t2","ariaLabel","treeId","inputRef","t3","Symbol","for","sensitivity","contains","internalSearchValue","setInternalSearchValue","t4","trim","isSearching","searchExpansion","setSearchExpansion","expansionQuery","setExpansionQuery","t5","setSearchValue","index","checked","halfChecked","filtered","expandedSet","t6","setExpanded","rows","rowKeys","map","_temp","storedActiveKey","setActiveKey","activeKey","includes","find","toggle","key_0","next","toggleActive","key_1","t7","setTimeout","current","focus","refocusSearch","t8","key_2","moveActive","getActiveRow","row_0","row","handleArrow","direction","position","indexOf","next_0","handleExpandKey","input","direction_0","row_1","caret","selectionStart","atEdge","selectionEnd","hasChildren","isExpanded","_temp2","key_3","parentKey","parentOf","get","keyboardProps","onKeyDown","e","bb179","preventDefault","target","t9","t10","t11","t12","disabled","searchable","suffix","searchMods","t13","resolvedEmptyLabel","t14","popover","t15","t16","t17","t18","e_0","t19","T0","t20","t21","keys_0","String","_","info","t22","t23","child","_c","useId","Item"],"sources":["../../../../src/components/fields/FilterPicker/FilterTree.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { useRef, useState } from 'react';\nimport { useFilter, useId, useKeyboard } from 'react-aria';\n\nimport { useI18n } from '../../../i18n';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { mergeRefs } from '../../../utils/react/useCombinedRefs';\nimport { StyledFooter } from '../../actions/Menu/styled';\nimport { Item } from '../../content/Item/Item';\nimport {\n deriveCheckedSets,\n toggleCheckedKey,\n toOrderedKeys,\n} from '../../content/Tree/checked-keys';\nimport { getTreeRowId } from '../../content/Tree/rowId';\nimport { Tree } from '../../content/Tree/Tree';\nimport { buildTreeIndex, getTreeNodeText } from '../../content/Tree/tree-index';\nimport {\n FilterListBoxWrapperElement,\n SearchInputElement,\n SearchWrapperElement,\n StyledHeaderWithoutBorder,\n} from '../FilterListBox/styled';\n\nimport type { Styles } from '@tenphi/tasty';\nimport type { ReactNode, RefObject } from 'react';\nimport type { CubeTreeNodeData } from '../../content/Tree/types';\n\ntype FilterFn = (textValue: string, inputValue: string) => boolean;\n\nexport interface FilterTreeProps {\n treeData: CubeTreeNodeData[];\n /** The value: checked keys over the whole tree. A parent key checks its subtree. */\n checkedKeys: readonly string[];\n /** Every fully checked key, parents included, in tree order. */\n onCheckedKeysChange: (keys: string[]) => void;\n /** The user's expansion. FilterPicker holds it, so it outlives the popover. */\n expandedKeys: string[];\n onExpand: (keys: string[]) => void;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n searchPlaceholder?: string;\n searchInputStyles?: Styles;\n searchInputRef?: RefObject<HTMLInputElement | null>;\n filter?: FilterFn | false;\n emptyLabel?: ReactNode;\n header?: ReactNode;\n headerStyles?: Styles;\n footer?: ReactNode;\n footerStyles?: Styles;\n size?: 'medium' | 'large';\n isDisabled?: boolean;\n isLoadingItems?: boolean;\n shouldFocusWrap?: boolean;\n autoFocus?: boolean;\n 'aria-label'?: string;\n /** Escape on an empty search. */\n onEscape?: () => void;\n /** Enter toggled the active row. FilterPicker closes the popover, as it does for a checkable list. */\n onCommit?: () => void;\n}\n\nconst FilterTreeListElement = tasty({\n qa: 'FilterTreeList',\n styles: {\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf',\n height: 'min 0',\n },\n});\n\n/** With a footer, the frame takes a fourth row for it. */\nconst FOOTER_ROWS_STYLES: Styles = {\n gridRows: 'max-content max-content 1sf max-content',\n};\n\n/**\n * Keep the nodes that match, each with its whole subtree, and the ancestors\n * of deeper matches with only their matching branches. `expandKeys` are the\n * nodes with a match below them, matching or not, so they open to show it.\n */\nfunction filterTreeData(\n nodes: CubeTreeNodeData[],\n query: string,\n match: FilterFn,\n expandKeys: string[] = [],\n): { nodes: CubeTreeNodeData[]; expandKeys: string[] } {\n const kept: CubeTreeNodeData[] = [];\n\n for (const node of nodes) {\n if (match(getTreeNodeText(node), query)) {\n kept.push(node);\n if (\n node.children &&\n filterTreeData(node.children, query, match, expandKeys).nodes.length\n ) {\n expandKeys.push(node.key);\n }\n continue;\n }\n\n const children = node.children\n ? filterTreeData(node.children, query, match, expandKeys).nodes\n : [];\n\n if (children.length) {\n kept.push({ ...node, children });\n expandKeys.push(node.key);\n }\n }\n\n return { nodes: kept, expandKeys };\n}\n\n/** The rows a keyboard can reach, top to bottom. */\nfunction getNavigableRows(\n nodes: CubeTreeNodeData[],\n expanded: Set<string>,\n out: CubeTreeNodeData[] = [],\n): CubeTreeNodeData[] {\n for (const node of nodes) {\n if (!node.isDisabled) out.push(node);\n if (node.children && expanded.has(node.key)) {\n getNavigableRows(node.children, expanded, out);\n }\n }\n\n return out;\n}\n\n/**\n * FilterPicker's popover in tree mode: FilterListBox's header, search row\n * and footer around a checkable `Tree`.\n *\n * The search input keeps focus and points at the active row with\n * `aria-activedescendant`, as FilterListBox does for its options. The\n * checkbox cascade runs over the whole `treeData`, never only the rows a\n * search left visible.\n */\nexport function FilterTree(props: FilterTreeProps) {\n const {\n treeData,\n checkedKeys,\n onCheckedKeysChange,\n expandedKeys,\n onExpand,\n searchValue: controlledSearchValue,\n onSearchChange,\n searchInputStyles,\n searchInputRef,\n filter,\n header,\n headerStyles,\n footer,\n footerStyles,\n size = 'medium',\n isDisabled,\n isLoadingItems,\n shouldFocusWrap,\n autoFocus,\n onEscape,\n onCommit,\n } = props;\n const { t } = useI18n();\n const {\n searchPlaceholder = t('filterListBox.searchPlaceholder', 'Search...'),\n emptyLabel,\n } = props;\n const ariaLabel = props['aria-label'];\n\n const treeId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const { contains } = useFilter({ sensitivity: 'base' });\n\n const [internalSearchValue, setInternalSearchValue] = useState('');\n const searchValue = controlledSearchValue ?? internalSearchValue;\n const query = searchValue.trim();\n const isSearching = !!query && filter !== false;\n\n // Expansion during a search is its own: it starts from the ancestors of\n // the matches and resets whenever the query changes, typed or controlled.\n // Clearing the search brings back the expansion the user had, untouched.\n const [searchExpansion, setSearchExpansion] = useState<string[] | null>(null);\n const [expansionQuery, setExpansionQuery] = useState(query);\n\n if (expansionQuery !== query) {\n setExpansionQuery(query);\n setSearchExpansion(null);\n }\n\n const setSearchValue = (value: string) => {\n if (controlledSearchValue === undefined) setInternalSearchValue(value);\n onSearchChange?.(value);\n };\n\n const index = buildTreeIndex(treeData);\n const { checked, halfChecked } = deriveCheckedSets(\n treeData,\n index,\n checkedKeys,\n );\n\n const filtered = isSearching\n ? filterTreeData(\n treeData,\n query,\n typeof filter === 'function' ? filter : contains,\n )\n : { nodes: treeData, expandKeys: [] };\n\n const expanded = isSearching\n ? (searchExpansion ?? filtered.expandKeys)\n : expandedKeys;\n const expandedSet = new Set(expanded);\n\n const setExpanded = (keys: string[]) => {\n if (isSearching) {\n setSearchExpansion(keys);\n return;\n }\n onExpand(keys);\n };\n\n const rows = getNavigableRows(filtered.nodes, expandedSet);\n const rowKeys = rows.map((row) => row.key);\n\n // The row the search input points at. One that a search or a collapse\n // hid falls back to the first checked row in view, then the first row.\n const [storedActiveKey, setActiveKey] = useState<string | null>(null);\n const activeKey =\n storedActiveKey != null && rowKeys.includes(storedActiveKey)\n ? storedActiveKey\n : (rowKeys.find((key) => checked.has(key)) ?? rowKeys[0] ?? null);\n\n // Whether the node could be toggled: one with its checkbox disabled or\n // opted out stays as it is.\n const toggle = (key: string): boolean => {\n const next = toggleCheckedKey(index, checked, key);\n if (!next) return false;\n onCheckedKeysChange(\n toOrderedKeys(index, deriveCheckedSets(treeData, index, next).checked),\n );\n return true;\n };\n\n // Toggle the active row and keep it active, though the fallback above\n // would move away from a row that is no longer checked.\n const toggleActive = (key: string) => {\n setActiveKey(key);\n return toggle(key);\n };\n\n // A press on a row, its checkbox or its chevron moves DOM focus into the\n // tree; hand it back so typing and arrow keys keep working.\n const refocusSearch = () => {\n setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const moveActive = (key: string | undefined) => {\n if (key != null) setActiveKey(key);\n };\n\n const getActiveRow = () =>\n activeKey == null ? undefined : rows.find((row) => row.key === activeKey);\n\n const handleArrow = (direction: 1 | -1) => {\n const position = activeKey == null ? -1 : rowKeys.indexOf(activeKey);\n let next = position + direction;\n if (position < 0) next = direction === 1 ? 0 : rowKeys.length - 1;\n if (next < 0 || next >= rowKeys.length) {\n if (!shouldFocusWrap) return;\n next = (next + rowKeys.length) % rowKeys.length;\n }\n moveActive(rowKeys[next]);\n };\n\n // Right and Left reach the tree only where they can no longer move the\n // caret: at the end of the text, and at its start.\n const handleExpandKey = (\n input: HTMLInputElement,\n direction: 'open' | 'close',\n ): boolean => {\n const row = getActiveRow();\n if (!row) return false;\n\n const caret = input.selectionStart ?? 0;\n const atEdge =\n input.selectionStart === input.selectionEnd &&\n (direction === 'open' ? caret === input.value.length : caret === 0);\n if (!atEdge) return false;\n\n const hasChildren = !!row.children?.length;\n const isExpanded = expandedSet.has(row.key);\n\n if (direction === 'open') {\n if (!hasChildren) return false;\n if (!isExpanded) {\n setExpanded([...expanded, row.key]);\n } else {\n moveActive(row.children?.find((child) => !child.isDisabled)?.key);\n }\n return true;\n }\n\n if (hasChildren && isExpanded) {\n setExpanded(expanded.filter((key) => key !== row.key));\n return true;\n }\n\n // The nearest ancestor the keyboard can reach; a disabled one is skipped.\n let parentKey = index.parentOf.get(row.key);\n while (parentKey != null && !rowKeys.includes(parentKey)) {\n parentKey = index.parentOf.get(parentKey);\n }\n if (parentKey == null) return false;\n moveActive(parentKey);\n return true;\n };\n\n const { keyboardProps } = useKeyboard({\n onKeyDown: (e) => {\n switch (e.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n e.preventDefault();\n handleArrow(e.key === 'ArrowDown' ? 1 : -1);\n break;\n case 'Home':\n case 'End':\n case 'PageUp':\n case 'PageDown':\n e.preventDefault();\n moveActive(\n e.key === 'Home' || e.key === 'PageUp'\n ? rowKeys[0]\n : rowKeys[rowKeys.length - 1],\n );\n break;\n case 'ArrowRight':\n case 'ArrowLeft':\n if (\n handleExpandKey(\n e.target as HTMLInputElement,\n e.key === 'ArrowRight' ? 'open' : 'close',\n )\n ) {\n e.preventDefault();\n }\n break;\n case 'Enter':\n if (activeKey == null) break;\n e.preventDefault();\n if (toggleActive(activeKey)) onCommit?.();\n break;\n case ' ':\n if (activeKey == null || searchValue) break;\n e.preventDefault();\n toggleActive(activeKey);\n break;\n case 'Escape':\n if (searchValue) {\n e.preventDefault();\n setSearchValue('');\n } else if (onEscape) {\n e.preventDefault();\n onEscape();\n }\n break;\n default:\n break;\n }\n },\n });\n\n const searchMods = {\n disabled: !!isDisabled,\n 'loading-items': !!isLoadingItems,\n searchable: true,\n suffix: !!isLoadingItems,\n };\n\n const resolvedEmptyLabel =\n emptyLabel !== undefined\n ? emptyLabel\n : query\n ? t('filterListBox.noResults', 'No results found')\n : t('filterListBox.noItems', 'No items');\n\n return (\n <FilterListBoxWrapperElement\n qa=\"FilterTreeWrapper\"\n mods={{ popover: true }}\n styles={footer ? FOOTER_ROWS_STYLES : undefined}\n >\n {header ? (\n <StyledHeaderWithoutBorder data-size={size} styles={headerStyles}>\n {header}\n </StyledHeaderWithoutBorder>\n ) : (\n <div role=\"presentation\" />\n )}\n <SearchWrapperElement mods={searchMods} data-size={size}>\n <SearchInputElement\n ref={mergeRefs(inputRef, searchInputRef)}\n qa=\"FilterTreeSearch\"\n type=\"search\"\n role=\"combobox\"\n aria-expanded=\"true\"\n aria-haspopup=\"tree\"\n aria-controls={filtered.nodes.length ? treeId : undefined}\n aria-activedescendant={\n activeKey == null ? undefined : getTreeRowId(treeId, activeKey)\n }\n aria-label={ariaLabel}\n placeholder={searchPlaceholder}\n value={searchValue}\n disabled={isDisabled}\n autoFocus={autoFocus}\n {...(autoFocus ? { 'data-autofocus': '' } : undefined)}\n data-size={size}\n mods={searchMods}\n styles={searchInputStyles}\n onChange={(e) => setSearchValue(e.target.value)}\n {...keyboardProps}\n />\n {isLoadingItems && (\n <div data-element=\"Suffix\">\n <LoadingIcon data-element=\"InputIcon\" />\n </div>\n )}\n </SearchWrapperElement>\n <FilterTreeListElement\n // Only the tree's own focus goes back: an empty label may hold a\n // control, such as Retry, that the keyboard has to reach.\n onFocus={filtered.nodes.length ? refocusSearch : undefined}\n >\n {filtered.nodes.length ? (\n <Tree\n id={treeId}\n qa=\"FilterTree\"\n ariaLabel={ariaLabel}\n treeData={filtered.nodes}\n size={size}\n isCheckable\n isDisabled={isDisabled}\n selectionMode=\"none\"\n checkedKeys={{\n checked: [...checked],\n halfChecked: [...halfChecked],\n }}\n expandedKeys={expanded}\n _activeKey={activeKey}\n onExpand={(keys) => setExpanded(keys.map(String))}\n onCheck={(_, info) => toggle(info.node.key)}\n _onRowAction={toggleActive}\n />\n ) : (\n <Item preset=\"t4\" color=\"#dark-03\" size={size} padding=\"(.5x - 1bw)\">\n {resolvedEmptyLabel}\n </Item>\n )}\n </FilterTreeListElement>\n {footer ? (\n <StyledFooter styles={footerStyles} data-size={size}>\n {footer}\n </StyledFooter>\n ) : null}\n </FilterListBoxWrapperElement>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.200.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
2
2
  import { FileInput as _FileInput } from "../FileInput/FileInput.js";
3
3
  import { NumberInput as _NumberInput } from "../NumberInput/NumberInput.js";
4
4
  import { PasswordInput as _PasswordInput } from "../PasswordInput/PasswordInput.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.200.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
2
2
  import { DraggableCollection } from "../../shared/DraggableCollection.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -2,13 +2,14 @@
2
2
  import { FieldBaseProps } from "../../../shared/form.js";
3
3
  import "../../../shared/index.js";
4
4
  import { CollectionItem as _CollectionItem, CubeCollectionItemProps } from "../../CollectionItem.js";
5
- import { BasePropsWithoutChildren, BaseStyleProps, ColorStyleProps, OuterStyleProps, Styles } from "@tenphi/tasty";
5
+ import { FieldLayoutStyleProps } from "../../form/field-layout.js";
6
+ import { BasePropsWithoutChildren, Styles } from "@tenphi/tasty";
6
7
  import { ForwardedRef, ReactElement, ReactNode, RefObject } from "react";
7
8
  import { AriaListBoxProps } from "react-aria";
8
9
  import { Section } from "react-stately";
9
10
  import { CollectionBase, Key as Key$2 } from "@react-types/shared";
10
11
  //#region src/components/fields/ListBox/ListBox.d.ts
11
- export interface CubeListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'autoFocus' | 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange'>, CollectionBase<T>, FieldBaseProps<Key$2 | readonly Key$2[] | null | undefined>, BasePropsWithoutChildren, BaseStyleProps, OuterStyleProps, ColorStyleProps {
12
+ export interface CubeListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'autoFocus' | 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange'>, CollectionBase<T>, FieldBaseProps<Key$2 | readonly Key$2[] | null | undefined>, BasePropsWithoutChildren, FieldLayoutStyleProps {
12
13
  /** Custom styles for the list container */
13
14
  listStyles?: Styles;
14
15
  /** Custom styles for individual options */
@@ -1,5 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.200.1 | Cube Dev Team */
2
- import { extractStyles } from "../../../utils/styles.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
3
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
5
4
  import { useWarn } from "../../../_internal/hooks/use-warn.js";
@@ -15,12 +14,13 @@ import { allowOverlayKeysToPropagate } from "../../../utils/react/overlayKeyProp
15
14
  import { getValidationMods, getValidationTheme } from "../../form/validation/resolve-validation-props.js";
16
15
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
17
16
  import { wrapWithField } from "../../form/wrapper.js";
17
+ import { splitFieldLayout } from "../../form/field-layout.js";
18
18
  import { GripVerticalIcon } from "../../../icons/GripVerticalIcon.js";
19
19
  import { createMockDragState } from "../../shared/DraggableCollection.js";
20
20
  import { useOptionOriginPress } from "../option-origin-press.js";
21
21
  import { DraggableListBox } from "./DraggableListBox.js";
22
22
  import { c } from "react/compiler-runtime";
23
- import { BASE_STYLES, COLOR_STYLES, OUTER_STYLES, mergeStyles, tasty } from "@tenphi/tasty";
23
+ import { mergeStyles, tasty } from "@tenphi/tasty";
24
24
  import { forwardRef, useEffect, useLayoutEffect, useMemo, useRef } from "react";
25
25
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
26
26
  import { mergeProps, useDraggableItem, useDropIndicator, useFocusRing, useKeyboard, useListBox, useListBoxSection, useOption } from "react-aria";
@@ -248,11 +248,6 @@ function renderCheckboxIcon({ isSelected, isDisabled, isFocused, isHovered, isIn
248
248
  })
249
249
  });
250
250
  }
251
- const PROP_STYLES = [
252
- ...BASE_STYLES,
253
- ...OUTER_STYLES,
254
- ...COLOR_STYLES
255
- ];
256
251
  /** A collection with no options, for a list state that isn't needed. */
257
252
  const NO_OPTIONS = {
258
253
  children: [],
@@ -497,7 +492,7 @@ const ListBox = forwardRef(function ListBox(props, ref) {
497
492
  return fieldProps;
498
493
  } });
499
494
  const { t } = useI18n();
500
- let { qa, label, extra, id, labelStyles, isRequired, necessityIndicator, isInvalid, isValid, isDisabled, listStyles, optionStyles, optionHighlight, sectionStyles, headingStyles, listGap, listRef, message, description, styles, mods: externalMods, size = "medium", labelSuffix, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, shouldUseVirtualFocus, isFocusWithin, onSelectionChange, disableSelectionToggle = false, allowDuplicateSelectionEvents, stateRef, focusOnHover, header, footer, headerStyles, footerStyles, onEscape, isCheckable, onOptionClick, showSelectAll, selectAllLabel, allValueProps, filter, emptyLabel = t("listBox.noItems", "No items"), shape = "card", isReorderable = false, onReorder, form, ...otherProps } = props;
495
+ let { qa, label, extra, id, labelStyles, isRequired, necessityIndicator, isInvalid, isValid, isDisabled, listStyles, optionStyles, optionHighlight, sectionStyles, headingStyles, listGap, listRef, message, description, styles, mods: externalMods, size = "medium", labelSuffix, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, shouldUseVirtualFocus, isFocusWithin, onSelectionChange, disableSelectionToggle = false, allowDuplicateSelectionEvents, stateRef, focusOnHover, header, footer, headerStyles, footerStyles, onEscape, isCheckable, onOptionClick, showSelectAll, selectAllLabel, allValueProps, filter, emptyLabel = t("listBox.noItems", "No items"), shape = "card", isReorderable = false, onReorder, form } = props;
501
496
  const lastSelectedKeyRef = useRef(null);
502
497
  const externalSelectionHandler = onSelectionChange || props.onChange;
503
498
  const wrappedOnSelectionChange = useMemo(() => {
@@ -585,7 +580,8 @@ const ListBox = forwardRef(function ListBox(props, ref) {
585
580
  if (e.key === "ArrowDown" || e.key === "ArrowUp" || e.key === "Home" || e.key === "End" || e.key === "PageUp" || e.key === "PageDown") lastFocusSourceRef.current = "keyboard";
586
581
  if (e.key === "Escape") onEscape?.();
587
582
  } });
588
- styles = extractStyles(otherProps, PROP_STYLES, styles);
583
+ const fieldLayout = splitFieldLayout(props, { fillHeightOnFlex: true });
584
+ styles = fieldLayout.styles;
589
585
  listRef = useCombinedRefs(listRef);
590
586
  const itemsArray = useMemo(() => [...listState.collection], [listState.collection]);
591
587
  const hasSections = useMemo(() => itemsArray.some((i) => i.type === "section"), [itemsArray]);
@@ -840,6 +836,7 @@ const ListBox = forwardRef(function ListBox(props, ref) {
840
836
  });
841
837
  return wrapWithField(listBoxField, {
842
838
  ...props,
839
+ ...fieldLayout.field,
843
840
  labelProps: mergeProps(labelProps, props.labelProps)
844
841
  });
845
842
  });