@cube-dev/ui-kit 0.206.3 → 0.208.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 (858) hide show
  1. package/dist/CHANGELOG.md +18 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.d.ts +0 -2
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/CollectionItem.js.map +1 -1
  15. package/dist/components/GlobalStyles.js +1 -1
  16. package/dist/components/GlobalStyles.js.map +1 -1
  17. package/dist/components/GridProvider.js +1 -1
  18. package/dist/components/GridProvider.js.map +1 -1
  19. package/dist/components/HiddenInput.js +1 -1
  20. package/dist/components/Root.js +3 -3
  21. package/dist/components/Root.js.map +1 -1
  22. package/dist/components/actions/Action/Action.js +1 -1
  23. package/dist/components/actions/Banner/Banner.js +1 -1
  24. package/dist/components/actions/Banner/Banner.js.map +1 -1
  25. package/dist/components/actions/Button/Button.d.ts +10 -1
  26. package/dist/components/actions/Button/Button.js +13 -8
  27. package/dist/components/actions/Button/Button.js.map +1 -1
  28. package/dist/components/actions/Button/index.d.ts +16 -1
  29. package/dist/components/actions/Button/index.js +13 -0
  30. package/dist/components/actions/Button/index.js.map +1 -0
  31. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  32. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  33. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  34. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  35. package/dist/components/actions/ButtonSplit/context.js +1 -1
  36. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -1
  37. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  38. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  39. package/dist/components/actions/CommandMenu/styled.js +1 -1
  40. package/dist/components/actions/ItemAction/ItemAction.js +2 -2
  41. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  42. package/dist/components/actions/ItemActionContext.js +1 -1
  43. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  44. package/dist/components/actions/ItemButton/ItemButton.d.ts +0 -2
  45. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  46. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  47. package/dist/components/actions/Link/Link.js +1 -1
  48. package/dist/components/actions/Menu/Menu.d.ts +1 -1
  49. package/dist/components/actions/Menu/Menu.js +1 -1
  50. package/dist/components/actions/Menu/Menu.js.map +1 -1
  51. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  52. package/dist/components/actions/Menu/MenuItem.js +2 -2
  53. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  54. package/dist/components/actions/Menu/MenuSection.js +1 -1
  55. package/dist/components/actions/Menu/MenuTrigger.js +3 -3
  56. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  57. package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
  58. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  59. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  60. package/dist/components/actions/Menu/context.js +1 -1
  61. package/dist/components/actions/Menu/index.d.ts +1 -1
  62. package/dist/components/actions/Menu/styled.js +1 -1
  63. package/dist/components/actions/actions-run.js +1 -1
  64. package/dist/components/actions/index.d.ts +6 -18
  65. package/dist/components/actions/use-action.js +2 -2
  66. package/dist/components/actions/use-action.js.map +1 -1
  67. package/dist/components/actions/use-anchored-menu.d.ts +0 -1
  68. package/dist/components/actions/use-anchored-menu.js +2 -2
  69. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  70. package/dist/components/actions/use-context-menu.d.ts +0 -1
  71. package/dist/components/actions/use-context-menu.js +2 -2
  72. package/dist/components/actions/use-context-menu.js.map +1 -1
  73. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  74. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  75. package/dist/components/content/Alert/Alert.js +1 -1
  76. package/dist/components/content/Alert/use-alert.js +1 -1
  77. package/dist/components/content/Alert/use-alert.js.map +1 -1
  78. package/dist/components/content/Avatar/Avatar.js +1 -1
  79. package/dist/components/content/Badge/Badge.d.ts +0 -1
  80. package/dist/components/content/Badge/Badge.js +1 -1
  81. package/dist/components/content/Badge/Badge.js.map +1 -1
  82. package/dist/components/content/Card/Card.js +1 -1
  83. package/dist/components/content/Content.js +1 -1
  84. package/dist/components/content/Content.js.map +1 -1
  85. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
  86. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  87. package/dist/components/content/CopySnippet/CopySnippet.d.ts +2 -18
  88. package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
  89. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  90. package/dist/components/content/Disclosure/Disclosure.d.ts +0 -1
  91. package/dist/components/content/Disclosure/Disclosure.js +2 -2
  92. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  93. package/dist/components/content/Divider/Divider.js +1 -1
  94. package/dist/components/content/Divider/Divider.js.map +1 -1
  95. package/dist/components/content/Footer.js +1 -1
  96. package/dist/components/content/Footer.js.map +1 -1
  97. package/dist/components/content/Header.js +1 -1
  98. package/dist/components/content/Header.js.map +1 -1
  99. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  100. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  101. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  102. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  103. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  104. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  105. package/dist/components/content/Item/Item.d.ts +1 -2
  106. package/dist/components/content/Item/Item.js +4 -4
  107. package/dist/components/content/Item/Item.js.map +1 -1
  108. package/dist/components/content/Item/ItemWithNativeLinks.js +2 -2
  109. package/dist/components/content/Item/index.d.ts +1 -1
  110. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  111. package/dist/components/content/ItemBadge/index.d.ts +1 -2
  112. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  113. package/dist/components/content/Layout/GridLayout.js +1 -1
  114. package/dist/components/content/Layout/Layout.js +1 -1
  115. package/dist/components/content/Layout/Layout.js.map +1 -1
  116. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  117. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  118. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  119. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  120. package/dist/components/content/Layout/LayoutContent.js +1 -1
  121. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  122. package/dist/components/content/Layout/LayoutContext.js +1 -1
  123. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  124. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  125. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  126. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  127. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  128. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  129. package/dist/components/content/Layout/LayoutPane.js +2 -2
  130. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  131. package/dist/components/content/Layout/LayoutPanel.js +3 -3
  132. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  133. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  134. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  135. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  136. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  137. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  138. package/dist/components/content/Layout/index.js +1 -1
  139. package/dist/components/content/Layout/utils.js +1 -1
  140. package/dist/components/content/Paragraph.js +1 -1
  141. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  142. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  143. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  144. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  145. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  146. package/dist/components/content/Result/Result.js +2 -2
  147. package/dist/components/content/Result/Result.js.map +1 -1
  148. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  149. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  150. package/dist/components/content/Tag/Tag.d.ts +0 -1
  151. package/dist/components/content/Tag/Tag.js +1 -1
  152. package/dist/components/content/Tag/Tag.js.map +1 -1
  153. package/dist/components/content/Text.js +1 -1
  154. package/dist/components/content/TextItem/TextItem.js +1 -1
  155. package/dist/components/content/Title.js +1 -1
  156. package/dist/components/content/Title.js.map +1 -1
  157. package/dist/components/content/Tree/Tree.js +1 -1
  158. package/dist/components/content/Tree/Tree.js.map +1 -1
  159. package/dist/components/content/Tree/TreeNode.js +5 -5
  160. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  161. package/dist/components/content/Tree/checked-keys.js +1 -1
  162. package/dist/components/content/Tree/rowId.js +1 -1
  163. package/dist/components/content/Tree/styled.js +1 -1
  164. package/dist/components/content/Tree/styled.js.map +1 -1
  165. package/dist/components/content/Tree/tree-index.js +1 -1
  166. package/dist/components/content/Tree/types.d.ts +1 -1
  167. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  168. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  169. package/dist/components/content/Tree/use-load-data.js +1 -1
  170. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  171. package/dist/components/content/highlightText.js +1 -1
  172. package/dist/components/content/use-auto-tooltip.js +1 -1
  173. package/dist/components/data/DataTable/DataTable.js +1 -1
  174. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  175. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  176. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  177. package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
  178. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  179. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  180. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  181. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  182. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  183. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
  184. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  185. package/dist/components/data/ItemTable/item-table-sections.js +1 -1
  186. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  187. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  188. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  189. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  190. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  191. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  192. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  193. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  194. package/dist/components/data/TableBase/RowCollection.js +1 -1
  195. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  196. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  197. package/dist/components/data/TableBase/TableRow.js +1 -1
  198. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  199. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  200. package/dist/components/data/TableBase/TableView.js +6 -6
  201. package/dist/components/data/TableBase/TableView.js.map +1 -1
  202. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  203. package/dist/components/data/TableBase/column-header.js +1 -1
  204. package/dist/components/data/TableBase/column-menu.js +1 -1
  205. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  206. package/dist/components/data/TableBase/column-styles.js +1 -1
  207. package/dist/components/data/TableBase/column-tint.js +1 -1
  208. package/dist/components/data/TableBase/row-menu.js +1 -1
  209. package/dist/components/data/TableBase/styled.js +1 -1
  210. package/dist/components/data/TableBase/styled.js.map +1 -1
  211. package/dist/components/data/TableBase/table-body-sections.js +1 -1
  212. package/dist/components/data/TableBase/table-tree.js +1 -1
  213. package/dist/components/data/TableBase/types.js +1 -1
  214. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  215. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  216. package/dist/components/data/TableBase/use-column-menu.js +2 -2
  217. package/dist/components/data/TableBase/use-column-order.js +1 -1
  218. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  219. package/dist/components/data/TableBase/use-column-window.js +1 -1
  220. package/dist/components/data/TableBase/use-container-width.js +1 -1
  221. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  222. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  223. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  224. package/dist/components/data/TableBase/use-table-search.js +1 -1
  225. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  226. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  227. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  228. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  229. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  230. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  231. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  232. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  233. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  234. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  235. package/dist/components/fields/Checkbox/Checkbox.d.ts +0 -1
  236. package/dist/components/fields/Checkbox/Checkbox.js +3 -3
  237. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  238. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +0 -1
  239. package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
  240. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  241. package/dist/components/fields/Checkbox/context.js +1 -1
  242. package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -1
  243. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  244. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  245. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +0 -3
  246. package/dist/components/fields/ColorPicker/ColorPicker.js +3 -3
  247. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  248. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  249. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -1
  250. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -2
  251. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  252. package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -1
  253. package/dist/components/fields/ComboBox/ComboBox.js +6 -6
  254. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  255. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  256. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -2
  257. package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
  258. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  259. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  260. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  261. package/dist/components/fields/DatePicker/CalendarPopover.js +1 -1
  262. package/dist/components/fields/DatePicker/DateInput.d.ts +0 -1
  263. package/dist/components/fields/DatePicker/DateInput.js +2 -2
  264. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  265. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  266. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  267. package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -1
  268. package/dist/components/fields/DatePicker/DatePicker.js +2 -2
  269. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  270. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  271. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  272. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  273. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  274. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  275. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  276. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +0 -1
  277. package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
  278. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  279. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +0 -1
  280. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
  281. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  282. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  283. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +0 -1
  284. package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
  285. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  286. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  287. package/dist/components/fields/DatePicker/TimeInput.d.ts +0 -1
  288. package/dist/components/fields/DatePicker/TimeInput.js +2 -2
  289. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  290. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  291. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  292. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  293. package/dist/components/fields/DatePicker/period.js +1 -1
  294. package/dist/components/fields/DatePicker/props.js +1 -1
  295. package/dist/components/fields/DatePicker/utils.js +1 -1
  296. package/dist/components/fields/FileInput/FileInput.d.ts +0 -1
  297. package/dist/components/fields/FileInput/FileInput.js +3 -3
  298. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  299. package/dist/components/fields/FilterListBox/FilterListBox.js +3 -3
  300. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  301. package/dist/components/fields/FilterListBox/styled.js +1 -1
  302. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +0 -3
  303. package/dist/components/fields/FilterPicker/FilterPicker.js +8 -8
  304. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  305. package/dist/components/fields/FilterPicker/FilterTree.js +2 -2
  306. package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -1
  307. package/dist/components/fields/Input/Input.d.ts +0 -1
  308. package/dist/components/fields/Input/Input.js +1 -1
  309. package/dist/components/fields/Input/Input.js.map +1 -1
  310. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  311. package/dist/components/fields/ListBox/ListBox.js +4 -4
  312. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  313. package/dist/components/fields/ListBox/optionId.js +1 -1
  314. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
  315. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  316. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  317. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  318. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  319. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  320. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  321. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  322. package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
  323. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  324. package/dist/components/fields/Picker/Picker.d.ts +0 -2
  325. package/dist/components/fields/Picker/Picker.js +8 -8
  326. package/dist/components/fields/Picker/Picker.js.map +1 -1
  327. package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
  328. package/dist/components/fields/RadioGroup/Radio.js +2 -2
  329. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  330. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
  331. package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
  332. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  333. package/dist/components/fields/RadioGroup/context.js +1 -1
  334. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -1
  335. package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -6
  336. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  337. package/dist/components/fields/SearchInput/SearchInput.js +2 -2
  338. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  339. package/dist/components/fields/Select/Select.d.ts +1 -2
  340. package/dist/components/fields/Select/Select.js +7 -7
  341. package/dist/components/fields/Select/Select.js.map +1 -1
  342. package/dist/components/fields/Slider/Gradation.js +1 -1
  343. package/dist/components/fields/Slider/HueSlider.js +1 -1
  344. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  345. package/dist/components/fields/Slider/Slider.js +1 -1
  346. package/dist/components/fields/Slider/Slider.js.map +1 -1
  347. package/dist/components/fields/Slider/SliderBase.js +2 -2
  348. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  349. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  350. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  351. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  352. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  353. package/dist/components/fields/Slider/elements.js +1 -1
  354. package/dist/components/fields/Slider/index.js +2 -2
  355. package/dist/components/fields/Slider/types.d.ts +0 -1
  356. package/dist/components/fields/Switch/Switch.d.ts +0 -1
  357. package/dist/components/fields/Switch/Switch.js +3 -3
  358. package/dist/components/fields/Switch/Switch.js.map +1 -1
  359. package/dist/components/fields/TagInput/TagInput.js +5 -5
  360. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  361. package/dist/components/fields/TagInput/TagList.js +1 -1
  362. package/dist/components/fields/TagInput/TagList.js.map +1 -1
  363. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  364. package/dist/components/fields/TagInput/useTagError.js +1 -1
  365. package/dist/components/fields/TextArea/TextArea.js +2 -2
  366. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  367. package/dist/components/fields/TextInput/TextInput.js +2 -2
  368. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  369. package/dist/components/fields/TextInput/TextInputBase.d.ts +0 -1
  370. package/dist/components/fields/TextInput/TextInputBase.js +3 -3
  371. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  372. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  373. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  374. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  375. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +0 -1
  376. package/dist/components/fields/TextInputMapper/TextInputMapper.js +3 -3
  377. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  378. package/dist/components/fields/TriggerActions.js +1 -1
  379. package/dist/components/fields/color/ColorPanel.js +1 -1
  380. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  381. package/dist/components/fields/color/channels.js +1 -1
  382. package/dist/components/fields/color/color.js +1 -1
  383. package/dist/components/fields/color/context.js +1 -1
  384. package/dist/components/fields/index.d.ts +2 -2
  385. package/dist/components/fields/option-origin-press.js +1 -1
  386. package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
  387. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  388. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  389. package/dist/components/form/FieldWrapper/types.d.ts +0 -1
  390. package/dist/components/form/Form/Field.d.ts +0 -1
  391. package/dist/components/form/Form/Field.js +3 -3
  392. package/dist/components/form/Form/Field.js.map +1 -1
  393. package/dist/components/form/Form/Form.d.ts +1 -26
  394. package/dist/components/form/Form/Form.js +7 -116
  395. package/dist/components/form/Form/Form.js.map +1 -1
  396. package/dist/components/form/Form/FormContext.d.ts +30 -0
  397. package/dist/components/form/Form/FormContext.js +79 -0
  398. package/dist/components/form/Form/FormContext.js.map +1 -0
  399. package/dist/components/form/Form/FormElement.js +49 -0
  400. package/dist/components/form/Form/FormElement.js.map +1 -0
  401. package/dist/components/form/Form/ModernFormRoot.js +3 -2
  402. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  403. package/dist/components/form/Form/ResetButton/ResetButton.js +2 -2
  404. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  405. package/dist/components/form/Form/SubmitButton/SubmitButton.js +2 -2
  406. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  407. package/dist/components/form/Form/SubmitError.d.ts +0 -1
  408. package/dist/components/form/Form/SubmitError.js +3 -3
  409. package/dist/components/form/Form/SubmitError.js.map +1 -1
  410. package/dist/components/form/Form/backend.js +1 -1
  411. package/dist/components/form/Form/index.d.ts +2 -1
  412. package/dist/components/form/Form/index.js +6 -5
  413. package/dist/components/form/Form/index.js.map +1 -1
  414. package/dist/components/form/Form/modern/actions.js +1 -1
  415. package/dist/components/form/Form/modern/context.js +1 -1
  416. package/dist/components/form/Form/modern/controller.js +1 -1
  417. package/dist/components/form/Form/modern/field-binding.js +1 -1
  418. package/dist/components/form/Form/modern/field.js +1 -1
  419. package/dist/components/form/Form/modern/react.js +1 -1
  420. package/dist/components/form/Form/modern/store.js +1 -1
  421. package/dist/components/form/Form/modern/validation.js +1 -1
  422. package/dist/components/form/Form/modern/values.js +1 -1
  423. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  424. package/dist/components/form/Form/use-field/types.d.ts +0 -1
  425. package/dist/components/form/Form/use-field/use-field-binding.js +2 -2
  426. package/dist/components/form/Form/use-field/use-field-props.js +4 -4
  427. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  428. package/dist/components/form/Form/use-field/use-field.d.ts +0 -1
  429. package/dist/components/form/Form/use-field/use-field.js +2 -2
  430. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  431. package/dist/components/form/Form/use-form.js +1 -1
  432. package/dist/components/form/Form/validation.js +1 -1
  433. package/dist/components/form/Label.d.ts +0 -1
  434. package/dist/components/form/Label.js +1 -1
  435. package/dist/components/form/Label.js.map +1 -1
  436. package/dist/components/form/field-chrome.js +1 -1
  437. package/dist/components/form/field-layout.js +1 -1
  438. package/dist/components/form/field-layout.js.map +1 -1
  439. package/dist/components/form/index.d.ts +2 -1
  440. package/dist/components/form/legacy-tooltip.js +1 -1
  441. package/dist/components/form/validation/ValidationIndicator.d.ts +0 -1
  442. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  443. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  444. package/dist/components/form/validation/resolve-validation-props.d.ts +0 -1
  445. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  446. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  447. package/dist/components/form/validation/use-validation-props.js +1 -1
  448. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  449. package/dist/components/form/wrapper.d.ts +0 -1
  450. package/dist/components/form/wrapper.js +1 -1
  451. package/dist/components/form/wrapper.js.map +1 -1
  452. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  453. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  454. package/dist/components/layout/Flex.js +1 -1
  455. package/dist/components/layout/Flow.js +1 -1
  456. package/dist/components/layout/Grid.js +1 -1
  457. package/dist/components/layout/Panel.js +1 -1
  458. package/dist/components/layout/Prefix.js +1 -1
  459. package/dist/components/layout/Prefix.js.map +1 -1
  460. package/dist/components/layout/ResizablePanel.js +2 -2
  461. package/dist/components/layout/Space.js +1 -1
  462. package/dist/components/layout/Suffix.js +1 -1
  463. package/dist/components/layout/Suffix.js.map +1 -1
  464. package/dist/components/navigation/Pagination/Pagination.js +3 -3
  465. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  466. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  467. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  468. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  469. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  470. package/dist/components/navigation/Tabs/TabButton.js +4 -4
  471. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  472. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  473. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  474. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  475. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  476. package/dist/components/navigation/Tabs/Tabs.js +2 -2
  477. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  478. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  479. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  480. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  481. package/dist/components/navigation/Tabs/segmented-styles.js +1 -1
  482. package/dist/components/navigation/Tabs/styled.js +1 -1
  483. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  484. package/dist/components/navigation/Tabs/types.d.ts +2 -2
  485. package/dist/components/navigation/Tabs/types.js +1 -1
  486. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  487. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  488. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  489. package/dist/components/other/Calendar/Calendar.js +1 -1
  490. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  491. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  492. package/dist/components/other/Calendar/CalendarHeader.js +2 -2
  493. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  494. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  495. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  496. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  497. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  498. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  499. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  500. package/dist/components/other/Calendar/styled.js +1 -1
  501. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  502. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  503. package/dist/components/overlays/AlertDialog/AlertDialog.js +2 -2
  504. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  505. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  506. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  507. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  508. package/dist/components/overlays/AlertDialog/types.d.ts +0 -1
  509. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  510. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  511. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  512. package/dist/components/overlays/Dialog/DialogForm.js +2 -2
  513. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  514. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +0 -1
  515. package/dist/components/overlays/Dialog/DialogTrigger.js +5 -5
  516. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  517. package/dist/components/overlays/Dialog/ModernDialogForm.js +2 -2
  518. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
  519. package/dist/components/overlays/Dialog/context.js +1 -1
  520. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  521. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  522. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  523. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  524. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  525. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
  526. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
  527. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  528. package/dist/components/overlays/Modal/Modal.js +2 -2
  529. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  530. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  531. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  532. package/dist/components/overlays/Modal/Overlay.js +1 -1
  533. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  534. package/dist/components/overlays/Modal/Popover.js +2 -2
  535. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  536. package/dist/components/overlays/Modal/Tray.js +2 -2
  537. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  538. package/dist/components/overlays/Modal/Underlay.js +1 -1
  539. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  540. package/dist/components/overlays/Notifications/Notification.js +1 -1
  541. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  542. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  543. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  544. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  545. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  546. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  547. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  548. package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
  549. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  550. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  551. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  552. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  553. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  554. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  555. package/dist/components/overlays/Notifications/index.js +1 -1
  556. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  557. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  558. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  559. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  560. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  561. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  562. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  563. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  564. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  565. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  566. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  567. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  568. package/dist/components/overlays/Toast/index.js +2 -2
  569. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  570. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  571. package/dist/components/overlays/Toast/useToast.js +2 -2
  572. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  573. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  574. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  575. package/dist/components/overlays/Tooltip/TooltipTrigger.js +3 -3
  576. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  577. package/dist/components/overlays/Tooltip/context.js +1 -1
  578. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  579. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  580. package/dist/components/portal/Portal.js +1 -1
  581. package/dist/components/portal/PortalProvider.js +1 -1
  582. package/dist/components/portal/usePortal.js +1 -1
  583. package/dist/components/shared/DraggableCollection.js +1 -1
  584. package/dist/components/shared/InvalidIcon.js +1 -1
  585. package/dist/components/shared/ValidIcon.js +1 -1
  586. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  587. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  588. package/dist/components/status/Spin/Cube.js +1 -1
  589. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  590. package/dist/components/status/Spin/Spin.js +1 -1
  591. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  592. package/dist/data/item-themes.js +8 -32
  593. package/dist/data/item-themes.js.map +1 -1
  594. package/dist/data/themes.js +1 -1
  595. package/dist/eslint-plugin/defaults.generated.js +5 -1
  596. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  597. package/dist/eslint-plugin/index.js +1 -1
  598. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  599. package/dist/i18n/I18nProvider.js +1 -1
  600. package/dist/i18n/createFormatter.js +1 -1
  601. package/dist/i18n/index.js +4 -4
  602. package/dist/i18n/instance.js +3 -3
  603. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  604. package/dist/i18n/locales/en-US/uikit.js +1 -1
  605. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  606. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  607. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  608. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  609. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  610. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  611. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  612. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  613. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  614. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  615. package/dist/i18n/locales.js +1 -1
  616. package/dist/i18n/namespace.js +1 -1
  617. package/dist/i18n/useFormatter.js +1 -1
  618. package/dist/i18n/useI18n.js +1 -1
  619. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  620. package/dist/icons/AdjustmentsIcon.js +1 -1
  621. package/dist/icons/AiIcon.js +1 -1
  622. package/dist/icons/AreaChartIcon.js +1 -1
  623. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  624. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  625. package/dist/icons/BackwardIcon.js +1 -1
  626. package/dist/icons/BarChartIcon.js +1 -1
  627. package/dist/icons/BellFilledIcon.js +1 -1
  628. package/dist/icons/BellIcon.js +1 -1
  629. package/dist/icons/BooleanIcon.js +1 -1
  630. package/dist/icons/CalendarEditIcon.js +1 -1
  631. package/dist/icons/CalendarIcon.js +1 -1
  632. package/dist/icons/CaretDownIcon.js +1 -1
  633. package/dist/icons/CaretUpIcon.js +1 -1
  634. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  635. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  636. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  637. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  638. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  639. package/dist/icons/ChartBarLineIcon.js +1 -1
  640. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  641. package/dist/icons/ChartBarStackedIcon.js +1 -1
  642. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  643. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  644. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  645. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  646. package/dist/icons/ChartBubbleIcon.js +1 -1
  647. package/dist/icons/ChartDonut2Icon.js +1 -1
  648. package/dist/icons/ChartFunnelIcon.js +1 -1
  649. package/dist/icons/ChartHeatmapIcon.js +1 -1
  650. package/dist/icons/ChartKPIIcon.js +1 -1
  651. package/dist/icons/ChartPie2Icon.js +1 -1
  652. package/dist/icons/ChartScatterIcon.js +1 -1
  653. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  654. package/dist/icons/CheckCircleIcon.js +1 -1
  655. package/dist/icons/CheckIcon.js +1 -1
  656. package/dist/icons/CircleFilledIcon.js +1 -1
  657. package/dist/icons/ClearIcon.js +1 -1
  658. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  659. package/dist/icons/CloseCircleIcon.js +1 -1
  660. package/dist/icons/CloseIcon.js +1 -1
  661. package/dist/icons/CodeIcon.js +1 -1
  662. package/dist/icons/ColumnTotalIcon.js +1 -1
  663. package/dist/icons/CopyIcon.js +1 -1
  664. package/dist/icons/CountIcon.js +1 -1
  665. package/dist/icons/CubeIcon.js +1 -1
  666. package/dist/icons/CubePauseIcon.js +1 -1
  667. package/dist/icons/CubePlayIcon.js +1 -1
  668. package/dist/icons/CurrencyDollarIcon.js +1 -1
  669. package/dist/icons/DangerIcon.js +1 -1
  670. package/dist/icons/DashboardIcon.js +1 -1
  671. package/dist/icons/DatabaseIcon.js +1 -1
  672. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  673. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  674. package/dist/icons/DirectionIcon.js +1 -1
  675. package/dist/icons/DonutIcon.js +1 -1
  676. package/dist/icons/DownIcon.js +1 -1
  677. package/dist/icons/EditIcon.js +1 -1
  678. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  679. package/dist/icons/ExclamationCircleIcon.js +1 -1
  680. package/dist/icons/ExclamationIcon.js +1 -1
  681. package/dist/icons/EyeIcon.js +1 -1
  682. package/dist/icons/EyeInvisibleIcon.js +1 -1
  683. package/dist/icons/FilterIcon.js +1 -1
  684. package/dist/icons/FolderFilledIcon.js +1 -1
  685. package/dist/icons/FolderIcon.js +1 -1
  686. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  687. package/dist/icons/FolderOpenIcon.js +1 -1
  688. package/dist/icons/ForwardIcon.js +1 -1
  689. package/dist/icons/GripVerticalIcon.js +1 -1
  690. package/dist/icons/HierarchyIcon.js +1 -1
  691. package/dist/icons/HierarchyOpenIcon.js +1 -1
  692. package/dist/icons/Icon.js +1 -1
  693. package/dist/icons/InfoCircleIcon.js +1 -1
  694. package/dist/icons/InfoIcon.js +1 -1
  695. package/dist/icons/KeyIcon.js +1 -1
  696. package/dist/icons/LeftIcon.js +1 -1
  697. package/dist/icons/LineChartIcon.js +1 -1
  698. package/dist/icons/LoadingIcon.js +1 -1
  699. package/dist/icons/LockFilledIcon.js +1 -1
  700. package/dist/icons/LockIcon.js +1 -1
  701. package/dist/icons/MoreIcon.js +1 -1
  702. package/dist/icons/NotAllowedIcon.js +1 -1
  703. package/dist/icons/Number123Icon.js +1 -1
  704. package/dist/icons/NumberIcon.js +1 -1
  705. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  706. package/dist/icons/PauseCircleIcon.js +1 -1
  707. package/dist/icons/PauseIcon.js +1 -1
  708. package/dist/icons/PercentageIcon.js +1 -1
  709. package/dist/icons/PieChartIcon.js +1 -1
  710. package/dist/icons/PipetteIcon.js +1 -1
  711. package/dist/icons/PlayCircleIcon.js +1 -1
  712. package/dist/icons/PlayIcon.js +1 -1
  713. package/dist/icons/PlusIcon.js +1 -1
  714. package/dist/icons/ProgressBarIcon.js +1 -1
  715. package/dist/icons/ReloadIcon.js +1 -1
  716. package/dist/icons/ReportIcon.js +1 -1
  717. package/dist/icons/ReturnIcon.js +1 -1
  718. package/dist/icons/RightIcon.js +1 -1
  719. package/dist/icons/RowTotalsIcon.js +1 -1
  720. package/dist/icons/SchemeIcon.js +1 -1
  721. package/dist/icons/SearchIcon.js +1 -1
  722. package/dist/icons/SemanticQueryIcon.js +1 -1
  723. package/dist/icons/SettingsIcon.js +1 -1
  724. package/dist/icons/ShieldFilledIcon.js +1 -1
  725. package/dist/icons/ShieldIcon.js +1 -1
  726. package/dist/icons/SlashIcon.js +1 -1
  727. package/dist/icons/SparklesIcon.js +1 -1
  728. package/dist/icons/SqlIcon.js +1 -1
  729. package/dist/icons/StatsIcon.js +1 -1
  730. package/dist/icons/StopIcon.js +1 -1
  731. package/dist/icons/StringIcon.js +1 -1
  732. package/dist/icons/SubtotalsIcon.js +1 -1
  733. package/dist/icons/SwitchIcon.js +1 -1
  734. package/dist/icons/TableIcon.js +1 -1
  735. package/dist/icons/ThumbsDownIcon.js +1 -1
  736. package/dist/icons/ThumbsUpIcon.js +1 -1
  737. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  738. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  739. package/dist/icons/ThunderboltIcon.js +1 -1
  740. package/dist/icons/TimeIcon.js +1 -1
  741. package/dist/icons/TrashIcon.js +1 -1
  742. package/dist/icons/UnlockIcon.js +1 -1
  743. package/dist/icons/UpIcon.js +1 -1
  744. package/dist/icons/UserGroupIcon.js +1 -1
  745. package/dist/icons/UserIcon.js +1 -1
  746. package/dist/icons/UserLockIcon.js +1 -1
  747. package/dist/icons/ViewIcon.js +1 -1
  748. package/dist/icons/WarningFilledIcon.js +1 -1
  749. package/dist/icons/WarningIcon.js +1 -1
  750. package/dist/icons/wrap-icon.js +1 -1
  751. package/dist/index.d.ts +29 -27
  752. package/dist/index.js +69 -69
  753. package/dist/probe/canonicalize.js +1 -1
  754. package/dist/probe/css.js +1 -1
  755. package/dist/probe/index.js +1 -1
  756. package/dist/provider.js +2 -2
  757. package/dist/providers/TrackingProvider.js +1 -1
  758. package/dist/providers/navigation-url.js +1 -1
  759. package/dist/providers/navigationAdapter.default.js +1 -1
  760. package/dist/providers/use-navigation.js +1 -1
  761. package/dist/tokens/all-tokens.js +1 -1
  762. package/dist/tokens/base.js +1 -1
  763. package/dist/tokens/color-seed.js +1 -1
  764. package/dist/tokens/color-theme.js +1 -1
  765. package/dist/tokens/colors.js +1 -1
  766. package/dist/tokens/layout.js +1 -1
  767. package/dist/tokens/lazy-styles.js +1 -1
  768. package/dist/tokens/legacy-color.js +1 -1
  769. package/dist/tokens/palette-config.js +1 -1
  770. package/dist/tokens/palette.js +23 -11
  771. package/dist/tokens/palette.js.map +1 -1
  772. package/dist/tokens/resolve.js +2 -2
  773. package/dist/tokens/shadows.js +1 -1
  774. package/dist/tokens/sizes.js +1 -1
  775. package/dist/tokens/spacing.js +1 -1
  776. package/dist/tokens/typography.js +1 -1
  777. package/dist/utils/ResizeSensor.js +1 -1
  778. package/dist/utils/colors.js +1 -1
  779. package/dist/utils/dotize.js +1 -1
  780. package/dist/utils/index.d.ts +1 -1
  781. package/dist/utils/is-dev-env.js +1 -1
  782. package/dist/utils/modules.js +1 -1
  783. package/dist/utils/promise.js +1 -1
  784. package/dist/utils/raf.js +1 -1
  785. package/dist/utils/random.js +1 -1
  786. package/dist/utils/range.js +1 -1
  787. package/dist/utils/react/RenderCache.js +1 -1
  788. package/dist/utils/react/Slots.js +1 -1
  789. package/dist/utils/react/chain.js +1 -1
  790. package/dist/utils/react/disabledProps.js +1 -1
  791. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  792. package/dist/utils/react/index.d.ts +3 -3
  793. package/dist/utils/react/index.js +13 -13
  794. package/dist/utils/react/interactions.js +1 -1
  795. package/dist/utils/react/isTextOnly.js +1 -1
  796. package/dist/utils/react/mapProps.js +1 -1
  797. package/dist/utils/react/mergeProps.js +1 -1
  798. package/dist/utils/react/nullableValue.js +1 -1
  799. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  800. package/dist/utils/react/programmaticFocus.js +1 -1
  801. package/dist/utils/react/resolveIcon.js +1 -1
  802. package/dist/utils/react/sharedStore.js +1 -1
  803. package/dist/utils/react/useBufferedValue.js +1 -1
  804. package/dist/utils/react/useCombinedRefs.js +1 -1
  805. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  806. package/dist/utils/react/useEventBus.js +1 -1
  807. package/dist/utils/react/useId.js +1 -1
  808. package/dist/utils/react/useIsDarwin.js +1 -1
  809. package/dist/utils/react/useKeySymbols.js +1 -1
  810. package/dist/utils/react/useLayoutEffect.js +1 -1
  811. package/dist/utils/react/useLocalStorage.js +1 -1
  812. package/dist/utils/react/useMergeStyles.js +1 -1
  813. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  814. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  815. package/dist/utils/react/usePopoverSync.js +1 -1
  816. package/dist/utils/react/useQaProps.js +1 -1
  817. package/dist/utils/react/useScheme.js +1 -1
  818. package/dist/utils/react/useViewportSize.js +1 -1
  819. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  820. package/dist/utils/selection.js +1 -1
  821. package/dist/utils/styles.js +1 -1
  822. package/dist/utils/tree.js +1 -1
  823. package/dist/utils/warnings.js +1 -1
  824. package/dist/version.js +2 -2
  825. package/docs/components/actions/Button.md +10 -0
  826. package/docs/components/actions/ButtonSplit.md +1 -1
  827. package/docs/glaze/contrast.mdx +751 -0
  828. package/docs/glaze/exporting.mdx +635 -0
  829. package/docs/glaze/getting-started.mdx +487 -0
  830. package/docs/glaze/hdr.mdx +523 -0
  831. package/docs/glaze/methodology.mdx +979 -0
  832. package/docs/glaze/migration.md +476 -285
  833. package/docs/glaze/mixes.mdx +348 -0
  834. package/docs/glaze/okhst.mdx +692 -0
  835. package/docs/glaze/reference/color-definitions.md +552 -0
  836. package/docs/glaze/reference/color-tokens.md +421 -0
  837. package/docs/glaze/reference/configuration.md +532 -0
  838. package/docs/glaze/reference/contrast.md +279 -0
  839. package/docs/glaze/reference/index.md +225 -0
  840. package/docs/glaze/reference/output.md +714 -0
  841. package/docs/glaze/reference/palette.md +435 -0
  842. package/docs/glaze/reference/theme.md +332 -0
  843. package/docs/glaze/reference/utilities.md +646 -0
  844. package/docs/glaze/schemes.mdx +644 -0
  845. package/docs/glaze/shadows-and-glows.mdx +550 -0
  846. package/package.json +4 -4
  847. package/dist/components/actions/index.js +0 -29
  848. package/dist/components/actions/index.js.map +0 -1
  849. package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +0 -4
  850. package/dist/components/fields/ListBoxPopover/index.d.ts +0 -5
  851. package/dist/components/overlays/Modal/Modal.d.ts +0 -3
  852. package/dist/components/overlays/Modal/Popover.d.ts +0 -7
  853. package/dist/components/overlays/Modal/Tray.d.ts +0 -5
  854. package/dist/components/overlays/Modal/Underlay.d.ts +0 -3
  855. package/dist/components/overlays/Modal/index.d.ts +0 -8
  856. package/docs/glaze/api.md +0 -2021
  857. package/docs/glaze/methodology.md +0 -686
  858. package/docs/glaze/okhst.md +0 -207
@@ -1 +1 @@
1
- {"version":3,"file":"field-layout.js","names":["DIMENSION_STYLES","POSITION_STYLES","mergeProps","extractStyles","mergeStyleLayers","rendersFieldChrome","DimensionStyleProps","PositionStyleProps","Styles","Props","FieldLayoutStyleProps","controlWidth","FIELD_LAYOUT_STYLES","FILL_WIDTH_STYLES","FILL_HEIGHT_STYLES","FLEX_STYLES","NOT_SIZING","Set","isSizing","value","has","PHYSICAL_SIZES","const","FieldLayoutOptions","hasChrome","fillHeightOnFlex","defaultStyles","overStyles","FieldLayout","styles","field","fieldStyles","fieldProps","fillWidth","fillHeight","withControlWidth","undefined","sized","width","Record","inlineSize","splitFieldLayout","props","options","record","layoutStyles","Object","keys","length","logical","physical","sizes","names","some","name","mods"],"sources":["../../../src/components/form/field-layout.ts"],"sourcesContent":["import { DIMENSION_STYLES, POSITION_STYLES } from '@tenphi/tasty';\n\nimport { mergeProps } from '../../utils/react/index';\nimport { extractStyles, mergeStyleLayers } from '../../utils/styles';\n\nimport { rendersFieldChrome } from './wrapper';\n\nimport type {\n DimensionStyleProps,\n PositionStyleProps,\n Styles,\n} from '@tenphi/tasty';\nimport type { Props } from '../../props';\n\n/**\n * An input's style props. They place and size its outer element: the field\n * wrapper when it renders, the input itself otherwise. `controlWidth` always\n * sizes the input.\n */\nexport interface FieldLayoutStyleProps\n extends PositionStyleProps, DimensionStyleProps {\n /**\n * The control's own width: the element `width` sizes when the input renders\n * bare, in every label position. Beside a side label, `width` takes the label\n * column too, so this is the one that sizes the control alone. It wins over\n * `width` on a bare input and over `styles.width`. A state map resolves\n * against the control, and `false` leaves the width as it is.\n */\n controlWidth?: Styles['width'];\n}\n\n/** The names of the style props in `FieldLayoutStyleProps`: all but `controlWidth`. */\nexport const FIELD_LAYOUT_STYLES: readonly string[] = [\n ...POSITION_STYLES,\n ...DIMENSION_STYLES,\n];\n\n/**\n * Style props that size the wrapper across, so the input fills its width.\n * `inlineSize` counts as `width`, below.\n */\nconst FILL_WIDTH_STYLES = ['width', 'flexBasis', 'flexGrow', 'flex'];\n/**\n * Style props that size the wrapper down, so the input fills its height.\n * `blockSize` counts as `height`, below.\n */\nconst FILL_HEIGHT_STYLES = ['height'];\nconst FLEX_STYLES = ['flexBasis', 'flexGrow', 'flex'];\n\n/** Values that leave an element at its natural size, `false` from a `cond && size` included. */\nconst NOT_SIZING = new Set<unknown>([false, 0, '0', 'none', 'auto', 'initial']);\n\n/** A value that sizes its element: set, and not a reset or a no-op. */\nfunction isSizing(value: unknown) {\n return value != null && !NOT_SIZING.has(value);\n}\n\n/**\n * The wrapper's own `width` follows a logical size in the same CSS rule and\n * overrides it, so on the wrapper a logical size takes its physical name. A\n * physical one given as well, `null` included, wins.\n */\nconst PHYSICAL_SIZES = [\n ['inlineSize', 'width'],\n ['blockSize', 'height'],\n] as const;\n\nexport interface FieldLayoutOptions {\n /**\n * Whether the input renders its field wrapper. Defaults to\n * `rendersFieldChrome(props)`, so pass the props `wrapWithField` receives. A\n * grouped option, which never wraps, passes `false`.\n */\n hasChrome?: boolean;\n /**\n * Whether flex props also fill the wrapper's height: set by the inputs whose\n * bare form grows with its flex line (lists, text areas). A single-line input\n * would only collect the spare height between itself and its message.\n */\n fillHeightOnFlex?: boolean;\n /** The input's own default styles, under `styles`. */\n defaultStyles?: Styles;\n /**\n * Styles a caller sets on the same element over `styles`, such as\n * `wrapperStyles` on the date pickers. `controlWidth` still wins.\n */\n overStyles?: Styles;\n}\n\nexport interface FieldLayout {\n /**\n * The input's styles: `styles`, plus the style props when it is bare, then\n * `overStyles`, and `controlWidth` over all of them.\n */\n styles: Styles;\n /**\n * Spread into the props of `wrapWithField`: the wrapper's `fieldStyles`,\n * with the style props over them, and its `fieldProps`, with the fill mods.\n */\n field: { fieldStyles?: Styles; fieldProps?: Props };\n /** Whether the style props size the wrapper across: the input fills it. */\n fillWidth: boolean;\n /** Whether the style props size the wrapper down: the input fills it. */\n fillHeight: boolean;\n}\n\n/**\n * The control's styles with `controlWidth` over their width. A logical size\n * counts as `width` here too, so it goes. `false`, from a `cond && size`, is\n * no width at all.\n */\nfunction withControlWidth(styles: Styles, controlWidth: unknown): Styles {\n if (controlWidth === undefined || controlWidth === false) return styles;\n\n const sized = { ...styles, width: controlWidth } as Record<string, unknown>;\n\n delete sized.inlineSize;\n\n return sized as Styles;\n}\n\n/**\n * Routes an input's style props to its outer element. Bare, they join the\n * input's `styles`. With the field chrome, they go to the wrapper over\n * `fieldStyles`, and a wrapper they size gets `fill-width` / `fill-height`,\n * under which `FieldWrapper` lets the input stretch as it would in a grid cell\n * of that size. `styles` always stays on the input, and `controlWidth` sizes\n * it over `styles`, wherever the style props go.\n */\nexport function splitFieldLayout(\n props: object,\n options: FieldLayoutOptions = {},\n): FieldLayout {\n const {\n hasChrome = rendersFieldChrome(props),\n fillHeightOnFlex = false,\n defaultStyles,\n overStyles,\n } = options;\n const record = props as Record<string, unknown> & {\n styles?: Styles;\n fieldStyles?: Styles;\n fieldProps?: Props;\n controlWidth?: Styles['width'];\n };\n\n if (!hasChrome) {\n const styles = extractStyles(props, FIELD_LAYOUT_STYLES, defaultStyles);\n\n return {\n styles: withControlWidth(\n overStyles ? mergeStyleLayers(styles, overStyles) : styles,\n record.controlWidth,\n ),\n field: {},\n fillWidth: false,\n fillHeight: false,\n };\n }\n\n const styles = withControlWidth(\n mergeStyleLayers(defaultStyles, record.styles, overStyles),\n record.controlWidth,\n );\n const layoutStyles = extractStyles(\n props,\n FIELD_LAYOUT_STYLES,\n undefined,\n undefined,\n ['styles'],\n );\n\n if (!Object.keys(layoutStyles).length) {\n return { styles, field: {}, fillWidth: false, fillHeight: false };\n }\n\n for (const [logical, physical] of PHYSICAL_SIZES) {\n if (!(logical in layoutStyles)) continue;\n\n if (layoutStyles[physical] === undefined) {\n layoutStyles[physical] = layoutStyles[logical];\n }\n\n delete layoutStyles[logical];\n }\n\n const sizes = (names: string[]) =>\n names.some((name) => isSizing(layoutStyles[name]));\n const fillWidth = sizes(FILL_WIDTH_STYLES);\n const fillHeight =\n sizes(FILL_HEIGHT_STYLES) || (fillHeightOnFlex && sizes(FLEX_STYLES));\n\n return {\n styles,\n field: {\n fieldStyles: mergeStyleLayers(record.fieldStyles, layoutStyles),\n fieldProps:\n fillWidth || fillHeight\n ? mergeProps(record.fieldProps, {\n mods: { 'fill-width': fillWidth, 'fill-height': fillHeight },\n })\n : record.fieldProps,\n },\n fillWidth,\n fillHeight,\n };\n}\n"],"mappings":";;;;;;;AAgCA,MAAaY,sBAAyC,CACpD,GAAGX,iBACH,GAAGD,gBAAgB;;;;;AAOrB,MAAMa,oBAAoB;CAAC;CAAS;CAAa;CAAY;AAAM;;;;;AAKnE,MAAMC,qBAAqB,CAAC,QAAQ;AACpC,MAAMC,cAAc;CAAC;CAAa;CAAY;AAAM;;AAGpD,MAAMC,6BAAa,IAAIC,IAAa;CAAC;CAAO;CAAG;CAAK;CAAQ;CAAQ;AAAS,CAAC;;AAG9E,SAASC,SAASC,OAAgB;CAChC,OAAOA,SAAS,QAAQ,CAACH,WAAWI,IAAID,KAAK;AAC/C;;;;;;AAOA,MAAME,iBAAiB,CACrB,CAAC,cAAc,OAAO,GACtB,CAAC,aAAa,QAAQ,CAAC;;;;;;AA+CzB,SAASc,iBAAiBN,QAAgBlB,cAA+B;CACvE,IAAIA,iBAAiByB,KAAAA,KAAazB,iBAAiB,OAAO,OAAOkB;CAEjE,MAAMQ,QAAQ;EAAE,GAAGR;EAAQS,OAAO3B;CAAa;CAE/C,OAAO0B,MAAMG;CAEb,OAAOH;AACT;;;;;;;;;AAUA,SAAgBI,iBACdC,OACAC,UAA8B,CAAC,GAClB;CACb,MAAM,EACJnB,YAAYnB,mBAAmBqC,KAAK,GACpCjB,mBAAmB,OACnBC,eACAC,eACEgB;CACJ,MAAMC,SAASF;CAOf,IAAI,CAAClB,WAAW;EACd,MAAMK,SAAS1B,cAAcuC,OAAO9B,qBAAqBc,aAAa;EAEtE,OAAO;GACLG,QAAQM,iBACNR,aAAavB,iBAAiByB,QAAQF,UAAU,IAAIE,QACpDe,OAAOjC,YACT;GACAmB,OAAO,CAAC;GACRG,WAAW;GACXC,YAAY;EACd;CACF;CAEA,MAAML,SAASM,iBACb/B,iBAAiBsB,eAAekB,OAAOf,QAAQF,UAAU,GACzDiB,OAAOjC,YACT;CACA,MAAMkC,eAAe1C,cACnBuC,OACA9B,qBACAwB,KAAAA,GACAA,KAAAA,GACA,CAAC,QAAQ,CACX;CAEA,IAAI,CAACU,OAAOC,KAAKF,YAAY,CAAC,CAACG,QAC7B,OAAO;EAAEnB;EAAQC,OAAO,CAAC;EAAGG,WAAW;EAAOC,YAAY;CAAM;CAGlE,KAAK,MAAM,CAACe,SAASC,aAAa7B,gBAAgB;EAChD,IAAI,EAAE4B,WAAWJ,eAAe;EAEhC,IAAIA,aAAaK,cAAcd,KAAAA,GAC7BS,aAAaK,YAAYL,aAAaI;EAGxC,OAAOJ,aAAaI;CACtB;CAEA,MAAME,SAASC,UACbA,MAAMC,MAAMC,SAASpC,SAAS2B,aAAaS,KAAK,CAAC;CACnD,MAAMrB,YAAYkB,MAAMtC,iBAAiB;CACzC,MAAMqB,aACJiB,MAAMrC,kBAAkB,KAAMW,oBAAoB0B,MAAMpC,WAAW;CAErE,OAAO;EACLc;EACAC,OAAO;GACLC,aAAa3B,iBAAiBwC,OAAOb,aAAac,YAAY;GAC9Db,YACEC,aAAaC,aACThC,WAAW0C,OAAOZ,YAAY,EAC5BuB,MAAM;IAAE,cAActB;IAAW,eAAeC;GAAW,EAC7D,CAAC,IACDU,OAAOZ;EACf;EACAC;EACAC;CACF;AACF"}
1
+ {"version":3,"file":"field-layout.js","names":["DIMENSION_STYLES","POSITION_STYLES","mergeProps","extractStyles","mergeStyleLayers","rendersFieldChrome","DimensionStyleProps","PositionStyleProps","Styles","Props","FieldLayoutStyleProps","controlWidth","FIELD_LAYOUT_STYLES","FILL_WIDTH_STYLES","FILL_HEIGHT_STYLES","FLEX_STYLES","NOT_SIZING","Set","isSizing","value","has","PHYSICAL_SIZES","const","FieldLayoutOptions","hasChrome","fillHeightOnFlex","defaultStyles","overStyles","FieldLayout","styles","field","fieldStyles","fieldProps","fillWidth","fillHeight","withControlWidth","undefined","sized","width","Record","inlineSize","splitFieldLayout","props","options","record","layoutStyles","Object","keys","length","logical","physical","sizes","names","some","name","mods"],"sources":["../../../src/components/form/field-layout.ts"],"sourcesContent":["import { DIMENSION_STYLES, POSITION_STYLES } from '@tenphi/tasty';\n\nimport { mergeProps } from '../../utils/react/mergeProps';\nimport { extractStyles, mergeStyleLayers } from '../../utils/styles';\n\nimport { rendersFieldChrome } from './wrapper';\n\nimport type {\n DimensionStyleProps,\n PositionStyleProps,\n Styles,\n} from '@tenphi/tasty';\nimport type { Props } from '../../props';\n\n/**\n * An input's style props. They place and size its outer element: the field\n * wrapper when it renders, the input itself otherwise. `controlWidth` always\n * sizes the input.\n */\nexport interface FieldLayoutStyleProps\n extends PositionStyleProps, DimensionStyleProps {\n /**\n * The control's own width: the element `width` sizes when the input renders\n * bare, in every label position. Beside a side label, `width` takes the label\n * column too, so this is the one that sizes the control alone. It wins over\n * `width` on a bare input and over `styles.width`. A state map resolves\n * against the control, and `false` leaves the width as it is.\n */\n controlWidth?: Styles['width'];\n}\n\n/** The names of the style props in `FieldLayoutStyleProps`: all but `controlWidth`. */\nexport const FIELD_LAYOUT_STYLES: readonly string[] = [\n ...POSITION_STYLES,\n ...DIMENSION_STYLES,\n];\n\n/**\n * Style props that size the wrapper across, so the input fills its width.\n * `inlineSize` counts as `width`, below.\n */\nconst FILL_WIDTH_STYLES = ['width', 'flexBasis', 'flexGrow', 'flex'];\n/**\n * Style props that size the wrapper down, so the input fills its height.\n * `blockSize` counts as `height`, below.\n */\nconst FILL_HEIGHT_STYLES = ['height'];\nconst FLEX_STYLES = ['flexBasis', 'flexGrow', 'flex'];\n\n/** Values that leave an element at its natural size, `false` from a `cond && size` included. */\nconst NOT_SIZING = new Set<unknown>([false, 0, '0', 'none', 'auto', 'initial']);\n\n/** A value that sizes its element: set, and not a reset or a no-op. */\nfunction isSizing(value: unknown) {\n return value != null && !NOT_SIZING.has(value);\n}\n\n/**\n * The wrapper's own `width` follows a logical size in the same CSS rule and\n * overrides it, so on the wrapper a logical size takes its physical name. A\n * physical one given as well, `null` included, wins.\n */\nconst PHYSICAL_SIZES = [\n ['inlineSize', 'width'],\n ['blockSize', 'height'],\n] as const;\n\nexport interface FieldLayoutOptions {\n /**\n * Whether the input renders its field wrapper. Defaults to\n * `rendersFieldChrome(props)`, so pass the props `wrapWithField` receives. A\n * grouped option, which never wraps, passes `false`.\n */\n hasChrome?: boolean;\n /**\n * Whether flex props also fill the wrapper's height: set by the inputs whose\n * bare form grows with its flex line (lists, text areas). A single-line input\n * would only collect the spare height between itself and its message.\n */\n fillHeightOnFlex?: boolean;\n /** The input's own default styles, under `styles`. */\n defaultStyles?: Styles;\n /**\n * Styles a caller sets on the same element over `styles`, such as\n * `wrapperStyles` on the date pickers. `controlWidth` still wins.\n */\n overStyles?: Styles;\n}\n\nexport interface FieldLayout {\n /**\n * The input's styles: `styles`, plus the style props when it is bare, then\n * `overStyles`, and `controlWidth` over all of them.\n */\n styles: Styles;\n /**\n * Spread into the props of `wrapWithField`: the wrapper's `fieldStyles`,\n * with the style props over them, and its `fieldProps`, with the fill mods.\n */\n field: { fieldStyles?: Styles; fieldProps?: Props };\n /** Whether the style props size the wrapper across: the input fills it. */\n fillWidth: boolean;\n /** Whether the style props size the wrapper down: the input fills it. */\n fillHeight: boolean;\n}\n\n/**\n * The control's styles with `controlWidth` over their width. A logical size\n * counts as `width` here too, so it goes. `false`, from a `cond && size`, is\n * no width at all.\n */\nfunction withControlWidth(styles: Styles, controlWidth: unknown): Styles {\n if (controlWidth === undefined || controlWidth === false) return styles;\n\n const sized = { ...styles, width: controlWidth } as Record<string, unknown>;\n\n delete sized.inlineSize;\n\n return sized as Styles;\n}\n\n/**\n * Routes an input's style props to its outer element. Bare, they join the\n * input's `styles`. With the field chrome, they go to the wrapper over\n * `fieldStyles`, and a wrapper they size gets `fill-width` / `fill-height`,\n * under which `FieldWrapper` lets the input stretch as it would in a grid cell\n * of that size. `styles` always stays on the input, and `controlWidth` sizes\n * it over `styles`, wherever the style props go.\n */\nexport function splitFieldLayout(\n props: object,\n options: FieldLayoutOptions = {},\n): FieldLayout {\n const {\n hasChrome = rendersFieldChrome(props),\n fillHeightOnFlex = false,\n defaultStyles,\n overStyles,\n } = options;\n const record = props as Record<string, unknown> & {\n styles?: Styles;\n fieldStyles?: Styles;\n fieldProps?: Props;\n controlWidth?: Styles['width'];\n };\n\n if (!hasChrome) {\n const styles = extractStyles(props, FIELD_LAYOUT_STYLES, defaultStyles);\n\n return {\n styles: withControlWidth(\n overStyles ? mergeStyleLayers(styles, overStyles) : styles,\n record.controlWidth,\n ),\n field: {},\n fillWidth: false,\n fillHeight: false,\n };\n }\n\n const styles = withControlWidth(\n mergeStyleLayers(defaultStyles, record.styles, overStyles),\n record.controlWidth,\n );\n const layoutStyles = extractStyles(\n props,\n FIELD_LAYOUT_STYLES,\n undefined,\n undefined,\n ['styles'],\n );\n\n if (!Object.keys(layoutStyles).length) {\n return { styles, field: {}, fillWidth: false, fillHeight: false };\n }\n\n for (const [logical, physical] of PHYSICAL_SIZES) {\n if (!(logical in layoutStyles)) continue;\n\n if (layoutStyles[physical] === undefined) {\n layoutStyles[physical] = layoutStyles[logical];\n }\n\n delete layoutStyles[logical];\n }\n\n const sizes = (names: string[]) =>\n names.some((name) => isSizing(layoutStyles[name]));\n const fillWidth = sizes(FILL_WIDTH_STYLES);\n const fillHeight =\n sizes(FILL_HEIGHT_STYLES) || (fillHeightOnFlex && sizes(FLEX_STYLES));\n\n return {\n styles,\n field: {\n fieldStyles: mergeStyleLayers(record.fieldStyles, layoutStyles),\n fieldProps:\n fillWidth || fillHeight\n ? mergeProps(record.fieldProps, {\n mods: { 'fill-width': fillWidth, 'fill-height': fillHeight },\n })\n : record.fieldProps,\n },\n fillWidth,\n fillHeight,\n };\n}\n"],"mappings":";;;;;;;AAgCA,MAAaY,sBAAyC,CACpD,GAAGX,iBACH,GAAGD,gBAAgB;;;;;AAOrB,MAAMa,oBAAoB;CAAC;CAAS;CAAa;CAAY;AAAM;;;;;AAKnE,MAAMC,qBAAqB,CAAC,QAAQ;AACpC,MAAMC,cAAc;CAAC;CAAa;CAAY;AAAM;;AAGpD,MAAMC,6BAAa,IAAIC,IAAa;CAAC;CAAO;CAAG;CAAK;CAAQ;CAAQ;AAAS,CAAC;;AAG9E,SAASC,SAASC,OAAgB;CAChC,OAAOA,SAAS,QAAQ,CAACH,WAAWI,IAAID,KAAK;AAC/C;;;;;;AAOA,MAAME,iBAAiB,CACrB,CAAC,cAAc,OAAO,GACtB,CAAC,aAAa,QAAQ,CAAC;;;;;;AA+CzB,SAASc,iBAAiBN,QAAgBlB,cAA+B;CACvE,IAAIA,iBAAiByB,KAAAA,KAAazB,iBAAiB,OAAO,OAAOkB;CAEjE,MAAMQ,QAAQ;EAAE,GAAGR;EAAQS,OAAO3B;CAAa;CAE/C,OAAO0B,MAAMG;CAEb,OAAOH;AACT;;;;;;;;;AAUA,SAAgBI,iBACdC,OACAC,UAA8B,CAAC,GAClB;CACb,MAAM,EACJnB,YAAYnB,mBAAmBqC,KAAK,GACpCjB,mBAAmB,OACnBC,eACAC,eACEgB;CACJ,MAAMC,SAASF;CAOf,IAAI,CAAClB,WAAW;EACd,MAAMK,SAAS1B,cAAcuC,OAAO9B,qBAAqBc,aAAa;EAEtE,OAAO;GACLG,QAAQM,iBACNR,aAAavB,iBAAiByB,QAAQF,UAAU,IAAIE,QACpDe,OAAOjC,YACT;GACAmB,OAAO,CAAC;GACRG,WAAW;GACXC,YAAY;EACd;CACF;CAEA,MAAML,SAASM,iBACb/B,iBAAiBsB,eAAekB,OAAOf,QAAQF,UAAU,GACzDiB,OAAOjC,YACT;CACA,MAAMkC,eAAe1C,cACnBuC,OACA9B,qBACAwB,KAAAA,GACAA,KAAAA,GACA,CAAC,QAAQ,CACX;CAEA,IAAI,CAACU,OAAOC,KAAKF,YAAY,CAAC,CAACG,QAC7B,OAAO;EAAEnB;EAAQC,OAAO,CAAC;EAAGG,WAAW;EAAOC,YAAY;CAAM;CAGlE,KAAK,MAAM,CAACe,SAASC,aAAa7B,gBAAgB;EAChD,IAAI,EAAE4B,WAAWJ,eAAe;EAEhC,IAAIA,aAAaK,cAAcd,KAAAA,GAC7BS,aAAaK,YAAYL,aAAaI;EAGxC,OAAOJ,aAAaI;CACtB;CAEA,MAAME,SAASC,UACbA,MAAMC,MAAMC,SAASpC,SAAS2B,aAAaS,KAAK,CAAC;CACnD,MAAMrB,YAAYkB,MAAMtC,iBAAiB;CACzC,MAAMqB,aACJiB,MAAMrC,kBAAkB,KAAMW,oBAAoB0B,MAAMpC,WAAW;CAErE,OAAO;EACLc;EACAC,OAAO;GACLC,aAAa3B,iBAAiBwC,OAAOb,aAAac,YAAY;GAC9Db,YACEC,aAAaC,aACThC,WAAW0C,OAAOZ,YAAY,EAC5BuB,MAAM;IAAE,cAActB;IAAW,eAAeC;GAAW,EAC7D,CAAC,IACDU,OAAOZ;EACf;EACAC;EACAC;CACF;AACF"}
@@ -10,9 +10,10 @@ import { FieldLayoutStyleProps } from "./field-layout.js";
10
10
  import { FieldTypes, Fields } from "./Form/types.js";
11
11
  import { CubeFormInstance, useForm } from "./Form/use-form.js";
12
12
  import { ModernFormProps } from "./Form/ModernFormRoot.js";
13
- import { CubeFormProps, FormContext, FormScopeMask, useFormProps } from "./Form/Form.js";
13
+ import { CubeFormProps } from "./Form/Form.js";
14
14
  import { CubeSubmitButtonProps, SubmitButton as _SubmitButton } from "./Form/SubmitButton/SubmitButton.js";
15
15
  import { CubeFieldProps, Field } from "./Form/Field.js";
16
+ import { FormContext, FormScopeMask, useFormProps } from "./Form/FormContext.js";
16
17
  import { FormSelectorOptions, FormSubscribeProps } from "./Form/modern/react.js";
17
18
  import { CubeResetButtonProps, ResetButton as _ResetButton } from "./Form/ResetButton/ResetButton.js";
18
19
  import { CubeSubmitErrorProps, SubmitError as _SubmitError } from "./Form/SubmitError.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { warn } from "../../utils/warnings.js";
3
3
  //#region src/components/form/legacy-tooltip.ts
4
4
  let hasWarnedAboutLegacyTooltip = false;
@@ -1,6 +1,5 @@
1
1
 
2
2
  import { ValidationProps } from "../../../shared/form.js";
3
- import "../../../shared/index.js";
4
3
  import { ReactElement } from "react";
5
4
  //#region src/components/form/validation/ValidationIndicator.d.ts
6
5
  export interface ValidationIndicatorProps extends ValidationProps {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { LoadingIcon } from "../../../icons/LoadingIcon.js";
3
3
  import { hasValidationState } from "./resolve-validation-props.js";
4
4
  import { InvalidIcon } from "../../shared/InvalidIcon.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationIndicator.js","names":["ReactElement","LoadingIcon","ValidationProps","InvalidIcon","ValidIcon","hasValidationState","ValidationIndicatorProps","isLoading","getValidationIcon","isInvalid","isValid","hasValidationIndicator","props","ValidationIndicator","$","_c","t0","t1","_c"],"sources":["../../../../src/components/form/validation/ValidationIndicator.tsx"],"sourcesContent":["import { ReactElement } from 'react';\n\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { ValidationProps } from '../../../shared/index';\nimport { InvalidIcon } from '../../shared/InvalidIcon';\nimport { ValidIcon } from '../../shared/ValidIcon';\n\nimport { hasValidationState } from './resolve-validation-props';\n\nexport interface ValidationIndicatorProps extends ValidationProps {\n isLoading?: boolean;\n}\n\n/** The validation icon for the current state, or `null` when there is nothing to show */\nexport function getValidationIcon({\n isInvalid,\n isValid,\n}: ValidationProps): ReactElement | null {\n if (isInvalid) return InvalidIcon;\n if (isValid) return ValidIcon;\n\n return null;\n}\n\n/**\n * Whether an input needs to render the `data-element=\"State\"` block. The loading indicator replaces the\n * validation icon while the input is loading.\n */\nexport function hasValidationIndicator(props: ValidationIndicatorProps) {\n return !!props.isLoading || hasValidationState(props);\n}\n\n/**\n * Renders the validation state of an input as a suffix: either the validation icon or, while loading, the\n * loading indicator.\n */\nexport function ValidationIndicator(props: ValidationIndicatorProps) {\n const { isLoading } = props;\n\n if (!hasValidationIndicator(props)) {\n return null;\n }\n\n return (\n <div data-element=\"State\">\n {isLoading ? (\n <LoadingIcon data-element=\"InputIcon\" />\n ) : (\n getValidationIcon(props)\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;AAcA,SAAgBQ,kBAAkB,EAChCC,WACAC,WACuC;CACvC,IAAID,WAAW,OAAON;CACtB,IAAIO,SAAS,OAAON;CAEpB,OAAO;AACT;;;;;AAMA,SAAgBO,uBAAuBC,OAAiC;CACtE,OAAO,CAAC,CAACA,MAAML,aAAaF,mBAAmBO,KAAK;AACtD;;;;;AAMA,SAAOC,oBAAAD,OAAA;CAAA,MAAAE,IAAAC,EAAA,CAAA;CACL,MAAA,EAAAR,cAAsBK;CAEtB,IAAI,CAACD,uBAAuBC,KAAK,GAAC,OACzB;CACR,IAAAI;CAAA,IAAAF,EAAA,OAAAP,aAAAO,EAAA,OAAAF,OAAA;EAIII,KAAAT,YACC,oBAAC,aAAD,EAA0B,gBAAA,YAAW,CAAA,IAErCC,kBAAkBI,KACpB;EAACE,EAAA,KAAAP;EAAAO,EAAA,KAAAF;EAAAE,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CAAA,IAAAG;CAAA,IAAAH,EAAA,OAAAE,IAAA;EALHC,KAAA,oBAAA,OAAA;GAAkB,gBAAA;GACfD,UAAAA;EAKG,CAAA;EAAAF,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OANNG;AAMM"}
1
+ {"version":3,"file":"ValidationIndicator.js","names":["ReactElement","LoadingIcon","ValidationProps","InvalidIcon","ValidIcon","hasValidationState","ValidationIndicatorProps","isLoading","getValidationIcon","isInvalid","isValid","hasValidationIndicator","props","ValidationIndicator","$","_c","t0","t1","_c"],"sources":["../../../../src/components/form/validation/ValidationIndicator.tsx"],"sourcesContent":["import { ReactElement } from 'react';\n\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { ValidationProps } from '../../../shared/form';\nimport { InvalidIcon } from '../../shared/InvalidIcon';\nimport { ValidIcon } from '../../shared/ValidIcon';\n\nimport { hasValidationState } from './resolve-validation-props';\n\nexport interface ValidationIndicatorProps extends ValidationProps {\n isLoading?: boolean;\n}\n\n/** The validation icon for the current state, or `null` when there is nothing to show */\nexport function getValidationIcon({\n isInvalid,\n isValid,\n}: ValidationProps): ReactElement | null {\n if (isInvalid) return InvalidIcon;\n if (isValid) return ValidIcon;\n\n return null;\n}\n\n/**\n * Whether an input needs to render the `data-element=\"State\"` block. The loading indicator replaces the\n * validation icon while the input is loading.\n */\nexport function hasValidationIndicator(props: ValidationIndicatorProps) {\n return !!props.isLoading || hasValidationState(props);\n}\n\n/**\n * Renders the validation state of an input as a suffix: either the validation icon or, while loading, the\n * loading indicator.\n */\nexport function ValidationIndicator(props: ValidationIndicatorProps) {\n const { isLoading } = props;\n\n if (!hasValidationIndicator(props)) {\n return null;\n }\n\n return (\n <div data-element=\"State\">\n {isLoading ? (\n <LoadingIcon data-element=\"InputIcon\" />\n ) : (\n getValidationIcon(props)\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;AAcA,SAAgBQ,kBAAkB,EAChCC,WACAC,WACuC;CACvC,IAAID,WAAW,OAAON;CACtB,IAAIO,SAAS,OAAON;CAEpB,OAAO;AACT;;;;;AAMA,SAAgBO,uBAAuBC,OAAiC;CACtE,OAAO,CAAC,CAACA,MAAML,aAAaF,mBAAmBO,KAAK;AACtD;;;;;AAMA,SAAOC,oBAAAD,OAAA;CAAA,MAAAE,IAAAC,EAAA,CAAA;CACL,MAAA,EAAAR,cAAsBK;CAEtB,IAAI,CAACD,uBAAuBC,KAAK,GAAC,OACzB;CACR,IAAAI;CAAA,IAAAF,EAAA,OAAAP,aAAAO,EAAA,OAAAF,OAAA;EAIII,KAAAT,YACC,oBAAC,aAAD,EAA0B,gBAAA,YAAW,CAAA,IAErCC,kBAAkBI,KACpB;EAACE,EAAA,KAAAP;EAAAO,EAAA,KAAAF;EAAAE,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CAAA,IAAAG;CAAA,IAAAH,EAAA,OAAAE,IAAA;EALHC,KAAA,oBAAA,OAAA;GAAkB,gBAAA;GACfD,UAAAA;EAKG,CAAA;EAAAF,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OANNG;AAMM"}
@@ -1,6 +1,5 @@
1
1
 
2
2
  import { ValidationProps, ValidationState } from "../../../shared/form.js";
3
- import "../../../shared/index.js";
4
3
  //#region src/components/form/validation/resolve-validation-props.d.ts
5
4
  export interface ResolvableValidationProps extends ValidationProps {
6
5
  /** @deprecated Use `isInvalid` / `isValid` instead. */
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  //#region src/components/form/validation/resolve-validation-props.ts
3
3
  /**
4
4
  * Normalizes the validation props of a field into a pair of booleans.
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-validation-props.js","names":["ValidationProps","ValidationState","ResolvableValidationProps","validationState","ResolvedValidationProps","isInvalid","isValid","resolveValidationProps","props","undefined","resolvedIsInvalid","hasValidationState","getValidationMods","invalid","valid","getValidationTheme","theme","T","options","includeValid"],"sources":["../../../../src/components/form/validation/resolve-validation-props.ts"],"sourcesContent":["import { ValidationProps, ValidationState } from '../../../shared/index';\n\nexport interface ResolvableValidationProps extends ValidationProps {\n /** @deprecated Use `isInvalid` / `isValid` instead. */\n validationState?: ValidationState;\n}\n\nexport interface ResolvedValidationProps {\n isInvalid: boolean | undefined;\n isValid: boolean | undefined;\n}\n\n/**\n * Normalizes the validation props of a field into a pair of booleans.\n *\n * When none of `isInvalid`, `isValid` and the deprecated `validationState` is provided, both flags stay\n * `undefined` so the caller can fall back to a derived state (form errors, `showValid`, …). As soon as any\n * of them is provided, both flags become definite booleans and no fallback applies.\n *\n * `isInvalid` always wins over `isValid`.\n */\nexport function resolveValidationProps(\n props: ResolvableValidationProps,\n): ResolvedValidationProps {\n const { isInvalid, isValid, validationState } = props;\n\n if (\n isInvalid === undefined &&\n isValid === undefined &&\n validationState === undefined\n ) {\n return { isInvalid: undefined, isValid: undefined };\n }\n\n const resolvedIsInvalid = isInvalid ?? validationState === 'invalid';\n\n return {\n isInvalid: resolvedIsInvalid,\n isValid: resolvedIsInvalid\n ? false\n : (isValid ?? validationState === 'valid'),\n };\n}\n\n/** Whether the field has a validation state worth rendering an indicator for */\nexport function hasValidationState({\n isInvalid,\n isValid,\n}: ValidationProps): boolean {\n return !!isInvalid || !!isValid;\n}\n\n/** Tasty modifiers for the validation state. Use instead of hand-writing `invalid`/`valid` mods. */\nexport function getValidationMods({ isInvalid, isValid }: ValidationProps) {\n return {\n invalid: !!isInvalid,\n valid: !!isValid && !isInvalid,\n };\n}\n\n/**\n * Maps the validation state onto a theme name for triggers and items.\n *\n * By default only the invalid state is mapped, which keeps neutral triggers neutral while the suffix icon\n * communicates the valid state. Pass `includeValid` to also map the valid state onto `success`.\n */\nexport function getValidationTheme<T extends string | undefined>(\n theme: T,\n { isInvalid, isValid }: ValidationProps,\n options: { includeValid?: boolean } = {},\n): T | 'danger' | 'success' {\n if (isInvalid) return 'danger';\n if (options.includeValid && isValid) return 'success';\n\n return theme;\n}\n"],"mappings":";;;;;;;;;;;AAqBA,SAAgBO,uBACdC,OACyB;CACzB,MAAM,EAAEH,WAAWC,SAASH,oBAAoBK;CAEhD,IACEH,cAAcI,KAAAA,KACdH,YAAYG,KAAAA,KACZN,oBAAoBM,KAAAA,GAEpB,OAAO;EAAEJ,WAAWI,KAAAA;EAAWH,SAASG,KAAAA;CAAU;CAGpD,MAAMC,oBAAoBL,aAAaF,oBAAoB;CAE3D,OAAO;EACLE,WAAWK;EACXJ,SAASI,oBACL,QACCJ,WAAWH,oBAAoB;CACtC;AACF;;AAGA,SAAgBQ,mBAAmB,EACjCN,WACAC,WAC2B;CAC3B,OAAO,CAAC,CAACD,aAAa,CAAC,CAACC;AAC1B;;AAGA,SAAgBM,kBAAkB,EAAEP,WAAWC,WAA4B;CACzE,OAAO;EACLO,SAAS,CAAC,CAACR;EACXS,OAAO,CAAC,CAACR,WAAW,CAACD;CACvB;AACF;;;;;;;AAQA,SAAgBU,mBACdC,OACA,EAAEX,WAAWC,WACbY,UAAsC,CAAC,GACb;CAC1B,IAAIb,WAAW,OAAO;CACtB,IAAIa,QAAQC,gBAAgBb,SAAS,OAAO;CAE5C,OAAOU;AACT"}
1
+ {"version":3,"file":"resolve-validation-props.js","names":["ValidationProps","ValidationState","ResolvableValidationProps","validationState","ResolvedValidationProps","isInvalid","isValid","resolveValidationProps","props","undefined","resolvedIsInvalid","hasValidationState","getValidationMods","invalid","valid","getValidationTheme","theme","T","options","includeValid"],"sources":["../../../../src/components/form/validation/resolve-validation-props.ts"],"sourcesContent":["import { ValidationProps, ValidationState } from '../../../shared/form';\n\nexport interface ResolvableValidationProps extends ValidationProps {\n /** @deprecated Use `isInvalid` / `isValid` instead. */\n validationState?: ValidationState;\n}\n\nexport interface ResolvedValidationProps {\n isInvalid: boolean | undefined;\n isValid: boolean | undefined;\n}\n\n/**\n * Normalizes the validation props of a field into a pair of booleans.\n *\n * When none of `isInvalid`, `isValid` and the deprecated `validationState` is provided, both flags stay\n * `undefined` so the caller can fall back to a derived state (form errors, `showValid`, …). As soon as any\n * of them is provided, both flags become definite booleans and no fallback applies.\n *\n * `isInvalid` always wins over `isValid`.\n */\nexport function resolveValidationProps(\n props: ResolvableValidationProps,\n): ResolvedValidationProps {\n const { isInvalid, isValid, validationState } = props;\n\n if (\n isInvalid === undefined &&\n isValid === undefined &&\n validationState === undefined\n ) {\n return { isInvalid: undefined, isValid: undefined };\n }\n\n const resolvedIsInvalid = isInvalid ?? validationState === 'invalid';\n\n return {\n isInvalid: resolvedIsInvalid,\n isValid: resolvedIsInvalid\n ? false\n : (isValid ?? validationState === 'valid'),\n };\n}\n\n/** Whether the field has a validation state worth rendering an indicator for */\nexport function hasValidationState({\n isInvalid,\n isValid,\n}: ValidationProps): boolean {\n return !!isInvalid || !!isValid;\n}\n\n/** Tasty modifiers for the validation state. Use instead of hand-writing `invalid`/`valid` mods. */\nexport function getValidationMods({ isInvalid, isValid }: ValidationProps) {\n return {\n invalid: !!isInvalid,\n valid: !!isValid && !isInvalid,\n };\n}\n\n/**\n * Maps the validation state onto a theme name for triggers and items.\n *\n * By default only the invalid state is mapped, which keeps neutral triggers neutral while the suffix icon\n * communicates the valid state. Pass `includeValid` to also map the valid state onto `success`.\n */\nexport function getValidationTheme<T extends string | undefined>(\n theme: T,\n { isInvalid, isValid }: ValidationProps,\n options: { includeValid?: boolean } = {},\n): T | 'danger' | 'success' {\n if (isInvalid) return 'danger';\n if (options.includeValid && isValid) return 'success';\n\n return theme;\n}\n"],"mappings":";;;;;;;;;;;AAqBA,SAAgBO,uBACdC,OACyB;CACzB,MAAM,EAAEH,WAAWC,SAASH,oBAAoBK;CAEhD,IACEH,cAAcI,KAAAA,KACdH,YAAYG,KAAAA,KACZN,oBAAoBM,KAAAA,GAEpB,OAAO;EAAEJ,WAAWI,KAAAA;EAAWH,SAASG,KAAAA;CAAU;CAGpD,MAAMC,oBAAoBL,aAAaF,oBAAoB;CAE3D,OAAO;EACLE,WAAWK;EACXJ,SAASI,oBACL,QACCJ,WAAWH,oBAAoB;CACtC;AACF;;AAGA,SAAgBQ,mBAAmB,EACjCN,WACAC,WAC2B;CAC3B,OAAO,CAAC,CAACD,aAAa,CAAC,CAACC;AAC1B;;AAGA,SAAgBM,kBAAkB,EAAEP,WAAWC,WAA4B;CACzE,OAAO;EACLO,SAAS,CAAC,CAACR;EACXS,OAAO,CAAC,CAACR,WAAW,CAACD;CACvB;AACF;;;;;;;AAQA,SAAgBU,mBACdC,OACA,EAAEX,WAAWC,WACbY,UAAsC,CAAC,GACb;CAC1B,IAAIb,WAAW,OAAO;CACtB,IAAIa,QAAQC,gBAAgBb,SAAS,OAAO;CAE5C,OAAOU;AACT"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { useWarn } from "../../../_internal/hooks/use-warn.js";
3
3
  import { resolveValidationProps } from "./resolve-validation-props.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"use-validation-props.js","names":["useWarn","ResolvableValidationProps","resolveValidationProps","useValidationProps","props","$","_c","t0","Symbol","for","key","args","validationState","undefined","isInvalid","isValid","rest","_validationState","t1","t2","T","_c"],"sources":["../../../../src/components/form/validation/use-validation-props.ts"],"sourcesContent":["import { useWarn } from '../../../_internal/index';\n\nimport {\n ResolvableValidationProps,\n resolveValidationProps,\n} from './resolve-validation-props';\n\n/**\n * Resolves `isInvalid` / `isValid` from the props and removes the deprecated `validationState` prop, so\n * component bodies only ever deal with booleans.\n *\n * The validation props are intersected into the parameter instead of constraining `T`, because prop types\n * built with `Omit` over a `Props` index signature expose no named properties and would fail the weak type\n * check of an all-optional constraint.\n */\nexport function useValidationProps<T>(props: T & ResolvableValidationProps): T {\n useWarn(props.validationState !== undefined, {\n key: 'validation-state-deprecated',\n args: [\n 'The \"validationState\" property is deprecated. Use \"isInvalid\" and \"isValid\" instead.',\n ],\n });\n\n if (\n props.validationState === undefined &&\n props.isInvalid === undefined &&\n props.isValid === undefined\n ) {\n return props;\n }\n\n const { validationState: _validationState, ...rest } = props;\n\n return { ...rest, ...resolveValidationProps(props) } as T;\n}\n"],"mappings":";;;;;;;;;;;;;AAeA,SAAOG,mBAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAC;CAAA,IAAAF,EAAA,OAAAG,OAAAC,IAAA,2BAAA,GAAA;EACwCF,KAAA;GAAAG,KACtC;GAA6BC,MAC5B,CACJ,4FAAsF;EAE1F;EAACN,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CALDL,QAAQI,MAAKQ,oBAAqBC,KAAAA,GAAWN,EAK5C;CAED,IACEH,MAAKQ,oBAAqBC,KAAAA,KAC1BT,MAAKU,cAAeD,KAAAA,KACpBT,MAAKW,YAAaF,KAAAA,GAAS,OAEpBT;CACR,IAAAY;CAAA,IAAAX,EAAA,OAAAD,OAAA;EAED,MAAA,EAAAQ,iBAAAK,kBAAA,GAAAC,OAAuDd;EAAvDY,OAAAE;EAA6Db,EAAA,KAAAD;EAAAC,EAAA,KAAAW;CAAA,OAAAA,OAAAX,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,OAAAD,OAAA;EAExCc,KAAAhB,uBAAuBE,KAAK;EAACC,EAAA,KAAAD;EAAAC,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAW,QAAAX,EAAA,OAAAa,IAAA;EAA3CC,KAAA;GAAA,GAAKH;GAAI,GAAKE;EAA8B;EAACb,EAAA,KAAAW;EAAAX,EAAA,KAAAa;EAAAb,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAA7Cc;AAAkD"}
1
+ {"version":3,"file":"use-validation-props.js","names":["useWarn","ResolvableValidationProps","resolveValidationProps","useValidationProps","props","$","_c","t0","Symbol","for","key","args","validationState","undefined","isInvalid","isValid","rest","_validationState","t1","t2","T","_c"],"sources":["../../../../src/components/form/validation/use-validation-props.ts"],"sourcesContent":["import { useWarn } from '../../../_internal/hooks/use-warn';\n\nimport {\n ResolvableValidationProps,\n resolveValidationProps,\n} from './resolve-validation-props';\n\n/**\n * Resolves `isInvalid` / `isValid` from the props and removes the deprecated `validationState` prop, so\n * component bodies only ever deal with booleans.\n *\n * The validation props are intersected into the parameter instead of constraining `T`, because prop types\n * built with `Omit` over a `Props` index signature expose no named properties and would fail the weak type\n * check of an all-optional constraint.\n */\nexport function useValidationProps<T>(props: T & ResolvableValidationProps): T {\n useWarn(props.validationState !== undefined, {\n key: 'validation-state-deprecated',\n args: [\n 'The \"validationState\" property is deprecated. Use \"isInvalid\" and \"isValid\" instead.',\n ],\n });\n\n if (\n props.validationState === undefined &&\n props.isInvalid === undefined &&\n props.isValid === undefined\n ) {\n return props;\n }\n\n const { validationState: _validationState, ...rest } = props;\n\n return { ...rest, ...resolveValidationProps(props) } as T;\n}\n"],"mappings":";;;;;;;;;;;;;AAeA,SAAOG,mBAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAC;CAAA,IAAAF,EAAA,OAAAG,OAAAC,IAAA,2BAAA,GAAA;EACwCF,KAAA;GAAAG,KACtC;GAA6BC,MAC5B,CACJ,4FAAsF;EAE1F;EAACN,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CALDL,QAAQI,MAAKQ,oBAAqBC,KAAAA,GAAWN,EAK5C;CAED,IACEH,MAAKQ,oBAAqBC,KAAAA,KAC1BT,MAAKU,cAAeD,KAAAA,KACpBT,MAAKW,YAAaF,KAAAA,GAAS,OAEpBT;CACR,IAAAY;CAAA,IAAAX,EAAA,OAAAD,OAAA;EAED,MAAA,EAAAQ,iBAAAK,kBAAA,GAAAC,OAAuDd;EAAvDY,OAAAE;EAA6Db,EAAA,KAAAD;EAAAC,EAAA,KAAAW;CAAA,OAAAA,OAAAX,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,OAAAD,OAAA;EAExCc,KAAAhB,uBAAuBE,KAAK;EAACC,EAAA,KAAAD;EAAAC,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAW,QAAAX,EAAA,OAAAa,IAAA;EAA3CC,KAAA;GAAA,GAAKH;GAAI,GAAKE;EAA8B;EAACb,EAAA,KAAAW;EAAAX,EAAA,KAAAa;EAAAb,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAA7Cc;AAAkD"}
@@ -1,6 +1,5 @@
1
1
 
2
2
  import { FieldBaseProps, FormBaseProps } from "../../shared/form.js";
3
- import "../../shared/index.js";
4
3
  import { BaseProps } from "@tenphi/tasty";
5
4
  import { ReactElement, RefObject } from "react";
6
5
  import { DOMRef, FocusableRef } from "@react-types/shared";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { mergeStyleLayers } from "../../utils/styles.js";
3
3
  import { mergeProps } from "../../utils/react/mergeProps.js";
4
4
  import { hasFieldContent, warnAboutForceField } from "./field-chrome.js";
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","names":["DOMRef","FocusableRef","BaseProps","Styles","ReactElement","RefObject","FieldBaseProps","FormBaseProps","mergeProps","mergeStyleLayers","hasFieldContent","warnAboutForceField","FieldWrapper","warnAboutLegacyTooltip","WrapWithFieldProps","Omit","rendersFieldChrome","props","isBare","label","forceField","LegacyFieldRef","HTMLElement","wrapWithField","component","T","ref","args","length","extra","labelPosition","labelStyles","isRequired","isOptional","isDisabled","necessityIndicator","message","messageStyles","description","errorMessage","isInvalid","isValid","labelProps","labelRef","fieldProps","fieldStyles","requiredMark","labelTooltip","isHidden","labelSuffix","mergedFieldProps","styles","mergedLabelProps","id","_id","fieldPropsWithoutId","Component","controlId"],"sources":["../../../src/components/form/wrapper.tsx"],"sourcesContent":["import { DOMRef, FocusableRef } from '@react-types/shared';\nimport { BaseProps, Styles } from '@tenphi/tasty';\nimport { ReactElement, RefObject } from 'react';\n\nimport { FieldBaseProps, FormBaseProps } from '../../shared/index';\nimport { mergeProps } from '../../utils/react/index';\nimport { mergeStyleLayers } from '../../utils/styles';\n\nimport { hasFieldContent, warnAboutForceField } from './field-chrome';\nimport { FieldWrapper } from './FieldWrapper/index';\nimport { warnAboutLegacyTooltip } from './legacy-tooltip';\n\n// The input is passed as `component`, never through props.children.\ninterface WrapWithFieldProps\n extends FieldBaseProps, Omit<BaseProps, 'children'>, FormBaseProps {}\n\n/**\n * Whether `wrapWithField` renders the field chrome for these props. An\n * explicit `isBare` decides; `useFieldProps` sets `isBare={false}` on a bound\n * field, one passed a chrome prop, or one with a `validate` whose errors the\n * control shows (`withFieldChrome`).\n * Otherwise a non-empty `label` renders it, as does the deprecated\n * `forceField`.\n */\nexport function rendersFieldChrome(props: object) {\n const { isBare, label, forceField } = props as WrapWithFieldProps;\n\n if (isBare != null) return !isBare;\n\n return hasFieldContent(label) || !!forceField;\n}\n\ntype LegacyFieldRef =\n | RefObject<unknown>\n | FocusableRef<HTMLElement>\n | DOMRef<HTMLElement>\n | null\n | undefined;\n\n/**\n * Wraps a control in its field chrome when it has one, and forwards its chrome\n * props. The chrome takes no ref: the control attaches the field's `ref` to\n * its own root, so the ref is the same element with or without the chrome, and\n * `labelRef` reaches the label.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n props: T,\n): ReactElement;\n/**\n * @deprecated Attach the field's ref to the control's root and call\n * `wrapWithField(component, props)`. The `ref` passed here is ignored.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ref: LegacyFieldRef,\n props: T,\n): ReactElement;\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ...args: [props: T] | [ref: LegacyFieldRef, props: T]\n) {\n const props = args[args.length - 1] as T;\n const isBare = !rendersFieldChrome(props);\n let {\n label,\n extra,\n labelPosition = 'top',\n labelStyles,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n labelProps,\n labelRef,\n fieldProps,\n fieldStyles,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n } = props;\n\n warnAboutForceField(props);\n\n warnAboutLegacyTooltip(props);\n\n // `fieldStyles` is the shorthand for `fieldProps.styles` and wins over it.\n // Merged as layers, so a `null` reset in either survives to the wrapper.\n const mergedFieldProps = fieldStyles\n ? {\n ...fieldProps,\n styles: mergeStyleLayers(\n (fieldProps as { styles?: Styles } | undefined)?.styles,\n fieldStyles,\n ),\n }\n : fieldProps;\n\n // Merge labelStyles as shorthand for labelProps.styles (labelStyles takes priority)\n const mergedLabelProps = labelStyles\n ? mergeProps(labelProps, { styles: labelStyles })\n : labelProps;\n\n // Remove id from fieldProps to avoid duplication (id should be on the input element, not the field wrapper)\n const { id: _id, ...fieldPropsWithoutId } = (mergedFieldProps as any) || {};\n\n return (\n <FieldWrapper\n {...{\n label,\n isBare,\n extra,\n labelPosition,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n labelProps: mergedLabelProps,\n labelRef,\n fieldProps: fieldPropsWithoutId,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n requiredMark,\n labelTooltip,\n isHidden,\n labelSuffix,\n Component: component,\n // Where the description and message ids come from; see\n // `useFieldDescribedBy`, which points the control at them.\n controlId: props.id,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,SAAgBgB,mBAAmBC,OAAe;CAChD,MAAM,EAAEC,QAAQC,OAAOC,eAAeH;CAEtC,IAAIC,UAAU,MAAM,OAAO,CAACA;CAE5B,OAAOR,gBAAgBS,KAAK,KAAK,CAAC,CAACC;AACrC;AA4BA,SAAgBG,cACdC,WACA,GAAGG,MACH;CACA,MAAMV,QAAQU,KAAKA,KAAKC,SAAS;CACjC,MAAMV,SAAS,CAACF,mBAAmBC,KAAK;CACxC,IAAI,EACFE,OACAU,OACAC,gBAAgB,OAChBC,aACAC,YACAC,YACAC,YACAC,oBACAC,SACAC,eACAC,aACAC,cACAC,WACAC,SACAC,YACAC,UACAC,YACAC,aACAC,eAAe,MACfC,cACAC,UACAC,gBACEhC;CAEJN,oBAAoBM,KAAK;CAEzBJ,uBAAuBI,KAAK;CAI5B,MAAMiC,mBAAmBL,cACrB;EACE,GAAGD;EACHO,QAAQ1C,iBACLmC,YAAgDO,QACjDN,WACF;CACF,IACAD;CAGJ,MAAMQ,mBAAmBrB,cACrBvB,WAAWkC,YAAY,EAAES,QAAQpB,YAAY,CAAC,IAC9CW;CAGJ,MAAM,EAAEW,IAAIC,KAAK,GAAGC,wBAAyBL,oBAA4B,CAAC;CAE1E,OACE,oBAAC,cAAD;EAEI/B;EACAD;EACAW;EACAC;EACAE;EACAC;EACAC;EACAC;EACAO,YAAYU;EACZT;EACAC,YAAYW;EACZnB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAK;EACAC;EACAC;EACAC;EACAO,WAAWhC;EAGXiC,WAAWxC,MAAMoC;CACjB,CAAA;AAGR"}
1
+ {"version":3,"file":"wrapper.js","names":["DOMRef","FocusableRef","BaseProps","Styles","ReactElement","RefObject","FieldBaseProps","FormBaseProps","mergeProps","mergeStyleLayers","hasFieldContent","warnAboutForceField","FieldWrapper","warnAboutLegacyTooltip","WrapWithFieldProps","Omit","rendersFieldChrome","props","isBare","label","forceField","LegacyFieldRef","HTMLElement","wrapWithField","component","T","ref","args","length","extra","labelPosition","labelStyles","isRequired","isOptional","isDisabled","necessityIndicator","message","messageStyles","description","errorMessage","isInvalid","isValid","labelProps","labelRef","fieldProps","fieldStyles","requiredMark","labelTooltip","isHidden","labelSuffix","mergedFieldProps","styles","mergedLabelProps","id","_id","fieldPropsWithoutId","Component","controlId"],"sources":["../../../src/components/form/wrapper.tsx"],"sourcesContent":["import { DOMRef, FocusableRef } from '@react-types/shared';\nimport { BaseProps, Styles } from '@tenphi/tasty';\nimport { ReactElement, RefObject } from 'react';\n\nimport { FieldBaseProps, FormBaseProps } from '../../shared/form';\nimport { mergeProps } from '../../utils/react/mergeProps';\nimport { mergeStyleLayers } from '../../utils/styles';\n\nimport { hasFieldContent, warnAboutForceField } from './field-chrome';\nimport { FieldWrapper } from './FieldWrapper/FieldWrapper';\nimport { warnAboutLegacyTooltip } from './legacy-tooltip';\n\n// The input is passed as `component`, never through props.children.\ninterface WrapWithFieldProps\n extends FieldBaseProps, Omit<BaseProps, 'children'>, FormBaseProps {}\n\n/**\n * Whether `wrapWithField` renders the field chrome for these props. An\n * explicit `isBare` decides; `useFieldProps` sets `isBare={false}` on a bound\n * field, one passed a chrome prop, or one with a `validate` whose errors the\n * control shows (`withFieldChrome`).\n * Otherwise a non-empty `label` renders it, as does the deprecated\n * `forceField`.\n */\nexport function rendersFieldChrome(props: object) {\n const { isBare, label, forceField } = props as WrapWithFieldProps;\n\n if (isBare != null) return !isBare;\n\n return hasFieldContent(label) || !!forceField;\n}\n\ntype LegacyFieldRef =\n | RefObject<unknown>\n | FocusableRef<HTMLElement>\n | DOMRef<HTMLElement>\n | null\n | undefined;\n\n/**\n * Wraps a control in its field chrome when it has one, and forwards its chrome\n * props. The chrome takes no ref: the control attaches the field's `ref` to\n * its own root, so the ref is the same element with or without the chrome, and\n * `labelRef` reaches the label.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n props: T,\n): ReactElement;\n/**\n * @deprecated Attach the field's ref to the control's root and call\n * `wrapWithField(component, props)`. The `ref` passed here is ignored.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ref: LegacyFieldRef,\n props: T,\n): ReactElement;\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ...args: [props: T] | [ref: LegacyFieldRef, props: T]\n) {\n const props = args[args.length - 1] as T;\n const isBare = !rendersFieldChrome(props);\n let {\n label,\n extra,\n labelPosition = 'top',\n labelStyles,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n labelProps,\n labelRef,\n fieldProps,\n fieldStyles,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n } = props;\n\n warnAboutForceField(props);\n\n warnAboutLegacyTooltip(props);\n\n // `fieldStyles` is the shorthand for `fieldProps.styles` and wins over it.\n // Merged as layers, so a `null` reset in either survives to the wrapper.\n const mergedFieldProps = fieldStyles\n ? {\n ...fieldProps,\n styles: mergeStyleLayers(\n (fieldProps as { styles?: Styles } | undefined)?.styles,\n fieldStyles,\n ),\n }\n : fieldProps;\n\n // Merge labelStyles as shorthand for labelProps.styles (labelStyles takes priority)\n const mergedLabelProps = labelStyles\n ? mergeProps(labelProps, { styles: labelStyles })\n : labelProps;\n\n // Remove id from fieldProps to avoid duplication (id should be on the input element, not the field wrapper)\n const { id: _id, ...fieldPropsWithoutId } = (mergedFieldProps as any) || {};\n\n return (\n <FieldWrapper\n {...{\n label,\n isBare,\n extra,\n labelPosition,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n labelProps: mergedLabelProps,\n labelRef,\n fieldProps: fieldPropsWithoutId,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n requiredMark,\n labelTooltip,\n isHidden,\n labelSuffix,\n Component: component,\n // Where the description and message ids come from; see\n // `useFieldDescribedBy`, which points the control at them.\n controlId: props.id,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,SAAgBgB,mBAAmBC,OAAe;CAChD,MAAM,EAAEC,QAAQC,OAAOC,eAAeH;CAEtC,IAAIC,UAAU,MAAM,OAAO,CAACA;CAE5B,OAAOR,gBAAgBS,KAAK,KAAK,CAAC,CAACC;AACrC;AA4BA,SAAgBG,cACdC,WACA,GAAGG,MACH;CACA,MAAMV,QAAQU,KAAKA,KAAKC,SAAS;CACjC,MAAMV,SAAS,CAACF,mBAAmBC,KAAK;CACxC,IAAI,EACFE,OACAU,OACAC,gBAAgB,OAChBC,aACAC,YACAC,YACAC,YACAC,oBACAC,SACAC,eACAC,aACAC,cACAC,WACAC,SACAC,YACAC,UACAC,YACAC,aACAC,eAAe,MACfC,cACAC,UACAC,gBACEhC;CAEJN,oBAAoBM,KAAK;CAEzBJ,uBAAuBI,KAAK;CAI5B,MAAMiC,mBAAmBL,cACrB;EACE,GAAGD;EACHO,QAAQ1C,iBACLmC,YAAgDO,QACjDN,WACF;CACF,IACAD;CAGJ,MAAMQ,mBAAmBrB,cACrBvB,WAAWkC,YAAY,EAAES,QAAQpB,YAAY,CAAC,IAC9CW;CAGJ,MAAM,EAAEW,IAAIC,KAAK,GAAGC,wBAAyBL,oBAA4B,CAAC;CAE1E,OACE,oBAAC,cAAD;EAEI/B;EACAD;EACAW;EACAC;EACAE;EACAC;EACAC;EACAC;EACAO,YAAYU;EACZT;EACAC,YAAYW;EACZnB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAK;EACAC;EACAC;EACAC;EACAO,WAAWhC;EAGXiC,WAAWxC,MAAMoC;CACjB,CAAA;AAGR"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useCallback, useLayoutEffect, useRef, useState } from "react";
4
4
  //#region src/components/helpers/DisplayTransition/DisplayTransition.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { DisplayTransition } from "../DisplayTransition/DisplayTransition.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { isValidElement, useCallback, useLayoutEffect, useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { BASE_STYLES, BLOCK_STYLES, COLOR_STYLES, DIMENSION_STYLES, OUTER_STYLES, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.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
4
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Prefix.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","tasty","CSSProperties","forwardRef","useCombinedRefs","useLayoutEffect","extractStyles","PrefixElement","element","styles","position","display","placeContent","placeItems","flow","gap","left","top","bottom","color","height","CubePrefixProps","onWidthChange","Function","outerGap","Prefix","HTMLDivElement","allProps","outerRef","$","_c","t0","children","props","undefined","ref","t1","current","offsetWidth","t2","T0","t3","eventProps","t4","t5","_c"],"sources":["../../../src/components/layout/Prefix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef } from 'react';\n\nimport { useCombinedRefs, useLayoutEffect } from '../../utils/react';\nimport { extractStyles } from '../../utils/styles';\n\nconst PrefixElement = tasty({\n element: 'Prefix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n left: '$prefix-gap',\n top: '$prefix-gap',\n bottom: '$prefix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $prefix-gap))',\n },\n});\n\nexport interface CubePrefixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Prefix = forwardRef<HTMLDivElement, CubePrefixProps>(\n function Prefix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useLayoutEffect(() => {\n if (ref?.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <PrefixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n tokens={{ '$prefix-gap': outerGap }}\n >\n {children}\n </PrefixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;;AAYA,MAAMU,gBAAgBN,MAAM;CAC1BO,SAAS;CACTC,QAAQ;EACNC,UAAU;EACVC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,QAAQ;CACV;AACF,CAAC;AAOD,MAAaK,SAAStB,WACpB,SAAAsB,OAAAE,UAAAC,UAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACE,MAAA,EAAAR,eAAAE,UAAAO,IAAAC,UAAA,GAAAC,UAA8DN;CAAzC,MAAAH,WAAAO,OAAAG,KAAAA,IAAA,QAAAH;CAErB,MAAAtB,SAAeH,cAAc2B,OAAOnC,gBAAgB;CACpD,MAAAqC,MAAY/B,gBAAgBwB,QAAQ;CAAE,IAAAQ;CAAA,IAAAP,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAEtBC,WAAA;GACd,IAAID,KAAGE,WAAHf,eACFA,cAAca,IAAGE,QAAQC,WAAY;EACtC;EACFT,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,YAAAH,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAAEI,KAAA;GAACP;GAAUG;GAAKb;EAAa;EAACO,EAAA,KAAAG;EAAAH,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJjCxB,kBAAgB+B,IAIbG,EAA8B;CAG9B,MAAAC,KAAAjC;CACK,MAAAkC,KAAAzC,gBAAgBiC,OAAO,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAd,EAAA,OAAAL,UAAA;EAGxCmB,KAAA,EAAA,eAAiBnB,SAAS;EAACK,EAAA,KAAAL;EAAAK,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAW,MAAAX,EAAA,QAAAG,YAAAH,EAAA,QAAAM,OAAAN,EAAA,QAAApB,UAAAoB,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAJrCC,KAAA,oBAAC,IAAD;GAAc,GACRH;GACCN;GACG1B;GACA,QAAAkC;GAEPX;EANW,CAAA;EAOEH,EAAA,KAAAW;EAAAX,EAAA,MAAAG;EAAAH,EAAA,MAAAM;EAAAN,EAAA,MAAApB;EAAAoB,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,OAPhBe;AAOgB,CAGtB"}
1
+ {"version":3,"file":"Prefix.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","tasty","CSSProperties","forwardRef","useCombinedRefs","useLayoutEffect","extractStyles","PrefixElement","element","styles","position","display","placeContent","placeItems","flow","gap","left","top","bottom","color","height","CubePrefixProps","onWidthChange","Function","outerGap","Prefix","HTMLDivElement","allProps","outerRef","$","_c","t0","children","props","undefined","ref","t1","current","offsetWidth","t2","T0","t3","eventProps","t4","t5","_c"],"sources":["../../../src/components/layout/Prefix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef } from 'react';\n\nimport { useCombinedRefs } from '../../utils/react/useCombinedRefs';\nimport { useLayoutEffect } from '../../utils/react/useLayoutEffect';\nimport { extractStyles } from '../../utils/styles';\n\nconst PrefixElement = tasty({\n element: 'Prefix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n left: '$prefix-gap',\n top: '$prefix-gap',\n bottom: '$prefix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $prefix-gap))',\n },\n});\n\nexport interface CubePrefixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Prefix = forwardRef<HTMLDivElement, CubePrefixProps>(\n function Prefix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useLayoutEffect(() => {\n if (ref?.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <PrefixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n tokens={{ '$prefix-gap': outerGap }}\n >\n {children}\n </PrefixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;;AAaA,MAAMU,gBAAgBN,MAAM;CAC1BO,SAAS;CACTC,QAAQ;EACNC,UAAU;EACVC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,QAAQ;CACV;AACF,CAAC;AAOD,MAAaK,SAAStB,WACpB,SAAAsB,OAAAE,UAAAC,UAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACE,MAAA,EAAAR,eAAAE,UAAAO,IAAAC,UAAA,GAAAC,UAA8DN;CAAzC,MAAAH,WAAAO,OAAAG,KAAAA,IAAA,QAAAH;CAErB,MAAAtB,SAAeH,cAAc2B,OAAOnC,gBAAgB;CACpD,MAAAqC,MAAY/B,gBAAgBwB,QAAQ;CAAE,IAAAQ;CAAA,IAAAP,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAEtBC,WAAA;GACd,IAAID,KAAGE,WAAHf,eACFA,cAAca,IAAGE,QAAQC,WAAY;EACtC;EACFT,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,YAAAH,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAAEI,KAAA;GAACP;GAAUG;GAAKb;EAAa;EAACO,EAAA,KAAAG;EAAAH,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJjCxB,kBAAgB+B,IAIbG,EAA8B;CAG9B,MAAAC,KAAAjC;CACK,MAAAkC,KAAAzC,gBAAgBiC,OAAO,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAd,EAAA,OAAAL,UAAA;EAGxCmB,KAAA,EAAA,eAAiBnB,SAAS;EAACK,EAAA,KAAAL;EAAAK,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAW,MAAAX,EAAA,QAAAG,YAAAH,EAAA,QAAAM,OAAAN,EAAA,QAAApB,UAAAoB,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAJrCC,KAAA,oBAAC,IAAD;GAAc,GACRH;GACCN;GACG1B;GACA,QAAAkC;GAEPX;EANW,CAAA;EAOEH,EAAA,KAAAW;EAAAX,EAAA,MAAAG;EAAAH,EAAA,MAAAM;EAAAN,EAAA,MAAApB;EAAAoB,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,OAPhBe;AAOgB,CAGtB"}
@@ -1,9 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
3
3
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../_internal/hooks/use-event.js";
5
- import { useDebouncedValue } from "../../_internal/hooks/use-debounced-value.js";
6
5
  import { Panel as _Panel } from "./Panel.js";
6
+ import { useDebouncedValue } from "../../_internal/hooks/use-debounced-value.js";
7
7
  import { c } from "react/compiler-runtime";
8
8
  import { tasty } from "@tenphi/tasty";
9
9
  import { forwardRef, useEffect, useEffectEvent, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"Suffix.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","tasty","CSSProperties","forwardRef","useEffect","useCombinedRefs","extractStyles","SuffixElement","element","styles","position","display","placeContent","placeItems","flow","gap","right","top","bottom","color","height","CubeSuffixProps","onWidthChange","Function","outerGap","Suffix","HTMLDivElement","allProps","outerRef","$","_c","t0","children","props","undefined","ref","t1","current","offsetWidth","t2","T0","t3","eventProps","t4","t5","_c"],"sources":["../../../src/components/layout/Suffix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef, useEffect } from 'react';\n\nimport { useCombinedRefs } from '../../utils/react';\nimport { extractStyles } from '../../utils/styles';\n\nconst SuffixElement = tasty({\n element: 'Suffix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n right: '$suffix-gap',\n top: '$suffix-gap',\n bottom: '$suffix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $suffix-gap))',\n },\n});\n\nexport interface CubeSuffixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Suffix = forwardRef<HTMLDivElement, CubeSuffixProps>(\n function Suffix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useEffect(() => {\n if (ref && ref.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <SuffixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n tokens={{ '$suffix-gap': outerGap }}\n >\n {children}\n </SuffixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;AAYA,MAAMU,gBAAgBN,MAAM;CAC1BO,SAAS;CACTC,QAAQ;EACNC,UAAU;EACVC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,KAAK;EACLC,OAAO;EACPC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,QAAQ;CACV;AACF,CAAC;AAOD,MAAaK,SAAStB,WACpB,SAAAsB,OAAAE,UAAAC,UAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACE,MAAA,EAAAR,eAAAE,UAAAO,IAAAC,UAAA,GAAAC,UAA8DN;CAAzC,MAAAH,WAAAO,OAAAG,KAAAA,IAAA,QAAAH;CACrB,MAAAtB,SAAeH,cAAc2B,OAAOnC,gBAAgB;CACpD,MAAAqC,MAAY9B,gBAAgBuB,QAAQ;CAAE,IAAAQ;CAAA,IAAAP,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAE5BC,WAAA;GACR,IAAID,OAAOA,IAAGE,WAAVf,eACFA,cAAca,IAAGE,QAAQC,WAAY;EACtC;EACFT,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,YAAAH,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAAEI,KAAA;GAACP;GAAUG;GAAKb;EAAa;EAACO,EAAA,KAAAG;EAAAH,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJjCzB,UAAUgC,IAIPG,EAA8B;CAG9B,MAAAC,KAAAjC;CACK,MAAAkC,KAAAzC,gBAAgBiC,OAAO,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAd,EAAA,OAAAL,UAAA;EAGxCmB,KAAA,EAAA,eAAiBnB,SAAS;EAACK,EAAA,KAAAL;EAAAK,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAW,MAAAX,EAAA,QAAAG,YAAAH,EAAA,QAAAM,OAAAN,EAAA,QAAApB,UAAAoB,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAJrCC,KAAA,oBAAC,IAAD;GAAc,GACRH;GACCN;GACG1B;GACA,QAAAkC;GAEPX;EANW,CAAA;EAOEH,EAAA,KAAAW;EAAAX,EAAA,MAAAG;EAAAH,EAAA,MAAAM;EAAAN,EAAA,MAAApB;EAAAoB,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,OAPhBe;AAOgB,CAGtB"}
1
+ {"version":3,"file":"Suffix.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","tasty","CSSProperties","forwardRef","useEffect","useCombinedRefs","extractStyles","SuffixElement","element","styles","position","display","placeContent","placeItems","flow","gap","right","top","bottom","color","height","CubeSuffixProps","onWidthChange","Function","outerGap","Suffix","HTMLDivElement","allProps","outerRef","$","_c","t0","children","props","undefined","ref","t1","current","offsetWidth","t2","T0","t3","eventProps","t4","t5","_c"],"sources":["../../../src/components/layout/Suffix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef, useEffect } from 'react';\n\nimport { useCombinedRefs } from '../../utils/react/useCombinedRefs';\nimport { extractStyles } from '../../utils/styles';\n\nconst SuffixElement = tasty({\n element: 'Suffix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n right: '$suffix-gap',\n top: '$suffix-gap',\n bottom: '$suffix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $suffix-gap))',\n },\n});\n\nexport interface CubeSuffixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Suffix = forwardRef<HTMLDivElement, CubeSuffixProps>(\n function Suffix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useEffect(() => {\n if (ref && ref.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <SuffixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n tokens={{ '$suffix-gap': outerGap }}\n >\n {children}\n </SuffixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;AAYA,MAAMU,gBAAgBN,MAAM;CAC1BO,SAAS;CACTC,QAAQ;EACNC,UAAU;EACVC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,KAAK;EACLC,OAAO;EACPC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,QAAQ;CACV;AACF,CAAC;AAOD,MAAaK,SAAStB,WACpB,SAAAsB,OAAAE,UAAAC,UAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACE,MAAA,EAAAR,eAAAE,UAAAO,IAAAC,UAAA,GAAAC,UAA8DN;CAAzC,MAAAH,WAAAO,OAAAG,KAAAA,IAAA,QAAAH;CACrB,MAAAtB,SAAeH,cAAc2B,OAAOnC,gBAAgB;CACpD,MAAAqC,MAAY9B,gBAAgBuB,QAAQ;CAAE,IAAAQ;CAAA,IAAAP,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAE5BC,WAAA;GACR,IAAID,OAAOA,IAAGE,WAAVf,eACFA,cAAca,IAAGE,QAAQC,WAAY;EACtC;EACFT,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,YAAAH,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAAEI,KAAA;GAACP;GAAUG;GAAKb;EAAa;EAACO,EAAA,KAAAG;EAAAH,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJjCzB,UAAUgC,IAIPG,EAA8B;CAG9B,MAAAC,KAAAjC;CACK,MAAAkC,KAAAzC,gBAAgBiC,OAAO,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAd,EAAA,OAAAL,UAAA;EAGxCmB,KAAA,EAAA,eAAiBnB,SAAS;EAACK,EAAA,KAAAL;EAAAK,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAW,MAAAX,EAAA,QAAAG,YAAAH,EAAA,QAAAM,OAAAN,EAAA,QAAApB,UAAAoB,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAJrCC,KAAA,oBAAC,IAAD;GAAc,GACRH;GACCN;GACG1B;GACA,QAAAkC;GAEPX;EANW,CAAA;EAOEH,EAAA,KAAAW;EAAAX,EAAA,MAAAG;EAAAH,EAAA,MAAAM;EAAAN,EAAA,MAAApB;EAAAoB,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,OAPhBe;AAOgB,CAGtB"}
@@ -1,11 +1,11 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
5
- import { useFormatter } from "../../../i18n/useFormatter.js";
5
+ import { Button } from "../../actions/Button/Button.js";
6
6
  import { RightIcon } from "../../../icons/RightIcon.js";
7
- import { Button } from "../../actions/index.js";
8
7
  import { Select as __Select } from "../../fields/Select/Select.js";
8
+ import { useFormatter } from "../../../i18n/useFormatter.js";
9
9
  import { BackwardIcon } from "../../../icons/BackwardIcon.js";
10
10
  import { ForwardIcon } from "../../../icons/ForwardIcon.js";
11
11
  import { LeftIcon } from "../../../icons/LeftIcon.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":["useControlledState","filterBaseProps","OUTER_STYLES","tasty","forwardRef","useEvent","useFormatter","useI18n","BackwardIcon","ForwardIcon","LeftIcon","RightIcon","extractStyles","Button","Select","clampPage","getPageInfo","getPaginationRange","ForwardedRef","ReactElement","CubePaginationProps","CubeTablePageInfo","PaginationElement","qa","as","styles","display","flow","gap","placeItems","placeContent","Summary","preset","color","whiteSpace","Controls","Gap","width","height","userSelect","Pages","styleProps","NavButton","type","border","PageButton","formatRange","info","start","page","pageSize","end","total","Math","min","Pagination","props","ref","$","_c","pageProp","defaultPage","onPageChange","totalPages","totalPagesProp","pageSizeProp","defaultPageSize","pageSizeOptions","onPageSizeChange","t0","siblingCount","t1","boundaryCount","t2","size","t3","isDisabled","hasNextPage","isCompact","t4","summary","t5","labelFormatter","ariaLabel","pageSizeSelectStyles","mods","rest","undefined","t","formatNumber","setPageSize","v","setPage","isCountable","Number","MAX_SAFE_INTEGER","from","to","goTo","next","clamped","max","t6","value","onPageSizeSelectionChange","t7","value_0","onPageSelectionChange","pageItems","selectEntries","Array","length","_temp","isFirst","isLast","t8","summaryNode","renderPageControl","String","map","entry","entryInfo","label","entry_0","index","showEdgeButtons","t9","eventProps","t10","t11","t12","option","label_0","t13","t14","Symbol","for","t15","t16","t17","t18","t19","t20","t21","t22","_","i","_Pagination","displayName","_c","Select"],"sources":["../../../../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport { filterBaseProps, OUTER_STYLES, tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { useFormatter, useI18n } from '../../../i18n';\nimport { BackwardIcon } from '../../../icons/BackwardIcon';\nimport { ForwardIcon } from '../../../icons/ForwardIcon';\nimport { LeftIcon } from '../../../icons/LeftIcon';\nimport { RightIcon } from '../../../icons/RightIcon';\nimport { extractStyles } from '../../../utils/styles';\nimport { Button } from '../../actions';\nimport { Select } from '../../fields/Select';\n\nimport { clampPage, getPageInfo, getPaginationRange } from './use-pagination';\n\nimport type { ForwardedRef, ReactElement } from 'react';\nimport type { CubePaginationProps, CubeTablePageInfo } from './types';\n\nconst PaginationElement = tasty({\n qa: 'Pagination',\n as: 'nav',\n styles: {\n display: 'flex',\n flow: 'row',\n gap: '1x',\n placeItems: 'center',\n placeContent: 'start',\n\n Summary: {\n // Follows the control's size rather than being fixed, so the summary\n // matches whatever the buttons beside it are.\n preset: { '': 't3', 'size=xsmall': 't4' },\n color: '#dark-03',\n whiteSpace: 'nowrap',\n },\n\n Controls: {\n display: 'flex',\n flow: 'row',\n gap: '.5x',\n placeItems: 'center',\n },\n\n Gap: {\n display: 'grid',\n placeItems: 'center',\n width: 'min $gap-size',\n height: '$gap-size',\n preset: 't3',\n color: '#dark-04',\n userSelect: 'none',\n },\n\n /**\n * The page numbers sit tighter than the nav buttons around them: they read\n * as one run of pages, not as separate controls, and a hairline is enough\n * to keep the current page's outline off its neighbours.\n */\n Pages: {\n display: 'flex',\n flow: 'row',\n gap: '$item-gap',\n placeItems: 'center',\n },\n\n '$gap-size': {\n '': '$size-sm',\n 'size=xsmall': '$size-xs',\n 'size=medium': '$size-md',\n },\n },\n styleProps: OUTER_STYLES,\n});\n\nconst NavButton = tasty(Button, {\n type: 'clear',\n styles: { border: true },\n});\n\n// Page buttons are borderless so the current page — which renders as `outline`\n// and therefore draws its own border — is the only bordered one in the run.\nconst PageButton = tasty(Button, {\n type: 'clear',\n});\n\nfunction formatRange(info: CubeTablePageInfo): string {\n const start = (info.page - 1) * info.pageSize + 1;\n const end =\n info.total > 0\n ? Math.min(info.page * info.pageSize, info.total)\n : info.page * info.pageSize;\n\n return `${start}–${end}`;\n}\n\nfunction Pagination(\n props: CubePaginationProps,\n ref: ForwardedRef<HTMLElement>,\n): ReactElement {\n const {\n page: pageProp,\n defaultPage,\n onPageChange,\n totalPages: totalPagesProp,\n total,\n pageSize: pageSizeProp,\n defaultPageSize,\n pageSizeOptions,\n onPageSizeChange,\n type = 'numbers',\n siblingCount = 1,\n boundaryCount = 1,\n size = 'small',\n isDisabled,\n hasNextPage,\n isCompact = false,\n summary = false,\n labelFormatter,\n ariaLabel,\n pageSizeSelectStyles,\n qa,\n mods,\n ...rest\n } = props;\n\n const { t } = useI18n();\n const { formatNumber } = useFormatter();\n\n const [pageSize, setPageSize] = useControlledState<number>(\n pageSizeProp as number,\n defaultPageSize ?? 50,\n onPageSizeChange as (v: number) => void,\n );\n const [page, setPage] = useControlledState<number>(\n pageProp as number,\n defaultPage ?? 1,\n onPageChange as (v: number) => void,\n );\n\n // Unknown total: prev/next only, with `hasNextPage` driving the next button.\n // The page must NOT be clamped in that mode — there is nothing to clamp to.\n const isCountable = totalPagesProp != null || total != null;\n\n const info: CubeTablePageInfo = isCountable\n ? getPageInfo({\n page,\n pageSize,\n total: total ?? 0,\n totalPages: totalPagesProp,\n })\n : {\n page: clampPage(page, Number.MAX_SAFE_INTEGER),\n pageSize,\n totalPages: 0,\n total: 0,\n from: 0,\n to: 0,\n };\n\n const { totalPages } = info;\n\n const goTo = useEvent((next: number) => {\n const clamped = isCountable\n ? clampPage(next, totalPages)\n : Math.max(next, 1);\n\n if (clamped !== info.page) setPage(clamped);\n });\n\n const onPageSizeSelectionChange = useEvent((value: any) => {\n setPageSize(Number(value));\n setPage(1);\n });\n\n const onPageSelectionChange = useEvent((value: any) => {\n goTo(Number(value));\n });\n\n const pageItems =\n type === 'numbers' && isCountable\n ? getPaginationRange({\n page: info.page,\n totalPages,\n siblingCount,\n boundaryCount,\n })\n : [];\n\n // `type=\"select\"` materializes one entry per page, so it is only safe for\n // small page counts. Above the cap we fall back to `compact`, which reads the\n // same but renders a single label.\n const selectEntries =\n type === 'select' && isCountable && totalPages <= 200\n ? Array.from({ length: totalPages }, (_, i) => i + 1)\n : null;\n\n const isFirst = info.page <= 1;\n const isLast = isCountable ? info.page >= totalPages : !hasNextPage;\n\n const styles = extractStyles(props, OUTER_STYLES);\n\n const summaryNode =\n summary === false\n ? null\n : typeof summary === 'function'\n ? summary(info)\n : info.total > 0\n ? // Numbers are formatted here rather than left to i18next, which\n // interpolates them raw (\"1204\", not \"1,204\").\n t('pagination.summary', '{{from}}–{{to}} of {{total}}', {\n from: formatNumber(info.from),\n to: formatNumber(info.to),\n total: formatNumber(info.total),\n })\n : null;\n\n function renderPageControl() {\n if (selectEntries) {\n return (\n <Select\n isBare\n qa=\"PaginationPageSelect\"\n size={size}\n isDisabled={isDisabled}\n aria-label={t('pagination.selectPage', 'Select page')}\n selectedKey={String(info.page)}\n width=\"min 15x\"\n styles={pageSizeSelectStyles}\n onSelectionChange={onPageSelectionChange}\n >\n {selectEntries.map((entry) => {\n const entryInfo = { ...info, page: entry };\n const label =\n labelFormatter?.(entryInfo) ??\n (info.total > 0\n ? formatRange(entryInfo)\n : t('pagination.page', 'Page {{page}}', { page: entry }));\n\n return (\n <Select.Item key={entry} textValue={String(label)}>\n {label}\n </Select.Item>\n );\n })}\n </Select>\n );\n }\n\n if (type === 'numbers' && pageItems.length > 0) {\n return (\n <div data-element=\"Pages\">\n {pageItems.map((entry, index) =>\n entry === 'gap' ? (\n <div key={`gap-${index}`} data-element=\"Gap\" aria-hidden=\"true\">\n {'…'}\n </div>\n ) : (\n <PageButton\n key={entry}\n qa={`PaginationPage_${entry}`}\n size={size}\n type={entry === info.page ? 'outline' : 'clear'}\n isDisabled={isDisabled}\n aria-label={t('pagination.page', 'Page {{page}}', {\n page: entry,\n })}\n aria-current={entry === info.page ? 'page' : undefined}\n onPress={() => goTo(entry)}\n >\n {entry}\n </PageButton>\n ),\n )}\n </div>\n );\n }\n\n if (!isCountable) return null;\n\n return (\n <div data-element=\"Summary\" data-qa=\"PaginationPageLabel\">\n {t('pagination.pageOf', '{{page}} of {{totalPages}}', {\n page: info.page,\n totalPages,\n })}\n </div>\n );\n }\n\n const showEdgeButtons = !isCompact && isCountable;\n\n return (\n <PaginationElement\n {...filterBaseProps(rest, { eventProps: true })}\n ref={ref}\n qa={qa || 'Pagination'}\n styles={styles}\n mods={{ size, ...mods }}\n aria-label={ariaLabel ?? t('pagination.ariaLabel', 'Pagination')}\n >\n {summaryNode ? <div data-element=\"Summary\">{summaryNode}</div> : null}\n\n {pageSizeOptions && onPageSizeChange ? (\n <Select\n isBare\n qa=\"PaginationPageSizeSelect\"\n size={size}\n isDisabled={isDisabled}\n aria-label={t('pagination.itemsPerPage', 'Items per page')}\n selectedKey={String(pageSize)}\n styles={pageSizeSelectStyles}\n onSelectionChange={onPageSizeSelectionChange}\n >\n {pageSizeOptions.map((option) => {\n const label = t(\n 'pagination.itemsPerPageOption',\n '{{size}} / page',\n {\n size: option,\n },\n );\n\n return (\n <Select.Item key={option} textValue={label}>\n {label}\n </Select.Item>\n );\n })}\n </Select>\n ) : null}\n\n <div data-element=\"Controls\">\n {showEdgeButtons ? (\n <NavButton\n qa=\"PaginationFirstButton\"\n size={size}\n icon={<BackwardIcon />}\n isDisabled={isFirst || isDisabled}\n aria-label={t('pagination.firstPage', 'First page')}\n onPress={() => goTo(1)}\n />\n ) : null}\n\n <NavButton\n qa=\"PaginationPrevButton\"\n size={size}\n icon={<LeftIcon />}\n isDisabled={isFirst || isDisabled}\n aria-label={t('pagination.previousPage', 'Previous page')}\n onPress={() => goTo(info.page - 1)}\n />\n\n {renderPageControl()}\n\n <NavButton\n qa=\"PaginationNextButton\"\n size={size}\n icon={<RightIcon />}\n isDisabled={isLast || isDisabled}\n aria-label={t('pagination.nextPage', 'Next page')}\n onPress={() => goTo(info.page + 1)}\n />\n\n {showEdgeButtons ? (\n <NavButton\n qa=\"PaginationLastButton\"\n size={size}\n icon={<ForwardIcon />}\n isDisabled={isLast || isDisabled}\n aria-label={t('pagination.lastPage', 'Last page')}\n onPress={() => goTo(totalPages)}\n />\n ) : null}\n </div>\n </PaginationElement>\n );\n}\n\nconst _Pagination = forwardRef(Pagination);\n\n_Pagination.displayName = 'Pagination';\n\nexport { _Pagination as Pagination };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","names":["useControlledState","filterBaseProps","OUTER_STYLES","tasty","forwardRef","useEvent","useFormatter","useI18n","BackwardIcon","ForwardIcon","LeftIcon","RightIcon","extractStyles","Button","Select","clampPage","getPageInfo","getPaginationRange","ForwardedRef","ReactElement","CubePaginationProps","CubeTablePageInfo","PaginationElement","qa","as","styles","display","flow","gap","placeItems","placeContent","Summary","preset","color","whiteSpace","Controls","Gap","width","height","userSelect","Pages","styleProps","NavButton","type","border","PageButton","formatRange","info","start","page","pageSize","end","total","Math","min","Pagination","props","ref","$","_c","pageProp","defaultPage","onPageChange","totalPages","totalPagesProp","pageSizeProp","defaultPageSize","pageSizeOptions","onPageSizeChange","t0","siblingCount","t1","boundaryCount","t2","size","t3","isDisabled","hasNextPage","isCompact","t4","summary","t5","labelFormatter","ariaLabel","pageSizeSelectStyles","mods","rest","undefined","t","formatNumber","setPageSize","v","setPage","isCountable","Number","MAX_SAFE_INTEGER","from","to","goTo","next","clamped","max","t6","value","onPageSizeSelectionChange","t7","value_0","onPageSelectionChange","pageItems","selectEntries","Array","length","_temp","isFirst","isLast","t8","summaryNode","renderPageControl","String","map","entry","entryInfo","label","entry_0","index","showEdgeButtons","t9","eventProps","t10","t11","t12","option","label_0","t13","t14","Symbol","for","t15","t16","t17","t18","t19","t20","t21","t22","_","i","_Pagination","displayName","_c","Select"],"sources":["../../../../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport { filterBaseProps, OUTER_STYLES, tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useFormatter } from '../../../i18n/useFormatter';\nimport { useI18n } from '../../../i18n/useI18n';\nimport { BackwardIcon } from '../../../icons/BackwardIcon';\nimport { ForwardIcon } from '../../../icons/ForwardIcon';\nimport { LeftIcon } from '../../../icons/LeftIcon';\nimport { RightIcon } from '../../../icons/RightIcon';\nimport { extractStyles } from '../../../utils/styles';\nimport { Button } from '../../actions/Button/Button';\nimport { Select } from '../../fields/Select/Select';\n\nimport { clampPage, getPageInfo, getPaginationRange } from './use-pagination';\n\nimport type { ForwardedRef, ReactElement } from 'react';\nimport type { CubePaginationProps, CubeTablePageInfo } from './types';\n\nconst PaginationElement = tasty({\n qa: 'Pagination',\n as: 'nav',\n styles: {\n display: 'flex',\n flow: 'row',\n gap: '1x',\n placeItems: 'center',\n placeContent: 'start',\n\n Summary: {\n // Follows the control's size rather than being fixed, so the summary\n // matches whatever the buttons beside it are.\n preset: { '': 't3', 'size=xsmall': 't4' },\n color: '#dark-03',\n whiteSpace: 'nowrap',\n },\n\n Controls: {\n display: 'flex',\n flow: 'row',\n gap: '.5x',\n placeItems: 'center',\n },\n\n Gap: {\n display: 'grid',\n placeItems: 'center',\n width: 'min $gap-size',\n height: '$gap-size',\n preset: 't3',\n color: '#dark-04',\n userSelect: 'none',\n },\n\n /**\n * The page numbers sit tighter than the nav buttons around them: they read\n * as one run of pages, not as separate controls, and a hairline is enough\n * to keep the current page's outline off its neighbours.\n */\n Pages: {\n display: 'flex',\n flow: 'row',\n gap: '$item-gap',\n placeItems: 'center',\n },\n\n '$gap-size': {\n '': '$size-sm',\n 'size=xsmall': '$size-xs',\n 'size=medium': '$size-md',\n },\n },\n styleProps: OUTER_STYLES,\n});\n\nconst NavButton = tasty(Button, {\n type: 'clear',\n styles: { border: true },\n});\n\n// Page buttons are borderless so the current page — which renders as `outline`\n// and therefore draws its own border — is the only bordered one in the run.\nconst PageButton = tasty(Button, {\n type: 'clear',\n});\n\nfunction formatRange(info: CubeTablePageInfo): string {\n const start = (info.page - 1) * info.pageSize + 1;\n const end =\n info.total > 0\n ? Math.min(info.page * info.pageSize, info.total)\n : info.page * info.pageSize;\n\n return `${start}–${end}`;\n}\n\nfunction Pagination(\n props: CubePaginationProps,\n ref: ForwardedRef<HTMLElement>,\n): ReactElement {\n const {\n page: pageProp,\n defaultPage,\n onPageChange,\n totalPages: totalPagesProp,\n total,\n pageSize: pageSizeProp,\n defaultPageSize,\n pageSizeOptions,\n onPageSizeChange,\n type = 'numbers',\n siblingCount = 1,\n boundaryCount = 1,\n size = 'small',\n isDisabled,\n hasNextPage,\n isCompact = false,\n summary = false,\n labelFormatter,\n ariaLabel,\n pageSizeSelectStyles,\n qa,\n mods,\n ...rest\n } = props;\n\n const { t } = useI18n();\n const { formatNumber } = useFormatter();\n\n const [pageSize, setPageSize] = useControlledState<number>(\n pageSizeProp as number,\n defaultPageSize ?? 50,\n onPageSizeChange as (v: number) => void,\n );\n const [page, setPage] = useControlledState<number>(\n pageProp as number,\n defaultPage ?? 1,\n onPageChange as (v: number) => void,\n );\n\n // Unknown total: prev/next only, with `hasNextPage` driving the next button.\n // The page must NOT be clamped in that mode — there is nothing to clamp to.\n const isCountable = totalPagesProp != null || total != null;\n\n const info: CubeTablePageInfo = isCountable\n ? getPageInfo({\n page,\n pageSize,\n total: total ?? 0,\n totalPages: totalPagesProp,\n })\n : {\n page: clampPage(page, Number.MAX_SAFE_INTEGER),\n pageSize,\n totalPages: 0,\n total: 0,\n from: 0,\n to: 0,\n };\n\n const { totalPages } = info;\n\n const goTo = useEvent((next: number) => {\n const clamped = isCountable\n ? clampPage(next, totalPages)\n : Math.max(next, 1);\n\n if (clamped !== info.page) setPage(clamped);\n });\n\n const onPageSizeSelectionChange = useEvent((value: any) => {\n setPageSize(Number(value));\n setPage(1);\n });\n\n const onPageSelectionChange = useEvent((value: any) => {\n goTo(Number(value));\n });\n\n const pageItems =\n type === 'numbers' && isCountable\n ? getPaginationRange({\n page: info.page,\n totalPages,\n siblingCount,\n boundaryCount,\n })\n : [];\n\n // `type=\"select\"` materializes one entry per page, so it is only safe for\n // small page counts. Above the cap we fall back to `compact`, which reads the\n // same but renders a single label.\n const selectEntries =\n type === 'select' && isCountable && totalPages <= 200\n ? Array.from({ length: totalPages }, (_, i) => i + 1)\n : null;\n\n const isFirst = info.page <= 1;\n const isLast = isCountable ? info.page >= totalPages : !hasNextPage;\n\n const styles = extractStyles(props, OUTER_STYLES);\n\n const summaryNode =\n summary === false\n ? null\n : typeof summary === 'function'\n ? summary(info)\n : info.total > 0\n ? // Numbers are formatted here rather than left to i18next, which\n // interpolates them raw (\"1204\", not \"1,204\").\n t('pagination.summary', '{{from}}–{{to}} of {{total}}', {\n from: formatNumber(info.from),\n to: formatNumber(info.to),\n total: formatNumber(info.total),\n })\n : null;\n\n function renderPageControl() {\n if (selectEntries) {\n return (\n <Select\n isBare\n qa=\"PaginationPageSelect\"\n size={size}\n isDisabled={isDisabled}\n aria-label={t('pagination.selectPage', 'Select page')}\n selectedKey={String(info.page)}\n width=\"min 15x\"\n styles={pageSizeSelectStyles}\n onSelectionChange={onPageSelectionChange}\n >\n {selectEntries.map((entry) => {\n const entryInfo = { ...info, page: entry };\n const label =\n labelFormatter?.(entryInfo) ??\n (info.total > 0\n ? formatRange(entryInfo)\n : t('pagination.page', 'Page {{page}}', { page: entry }));\n\n return (\n <Select.Item key={entry} textValue={String(label)}>\n {label}\n </Select.Item>\n );\n })}\n </Select>\n );\n }\n\n if (type === 'numbers' && pageItems.length > 0) {\n return (\n <div data-element=\"Pages\">\n {pageItems.map((entry, index) =>\n entry === 'gap' ? (\n <div key={`gap-${index}`} data-element=\"Gap\" aria-hidden=\"true\">\n {'…'}\n </div>\n ) : (\n <PageButton\n key={entry}\n qa={`PaginationPage_${entry}`}\n size={size}\n type={entry === info.page ? 'outline' : 'clear'}\n isDisabled={isDisabled}\n aria-label={t('pagination.page', 'Page {{page}}', {\n page: entry,\n })}\n aria-current={entry === info.page ? 'page' : undefined}\n onPress={() => goTo(entry)}\n >\n {entry}\n </PageButton>\n ),\n )}\n </div>\n );\n }\n\n if (!isCountable) return null;\n\n return (\n <div data-element=\"Summary\" data-qa=\"PaginationPageLabel\">\n {t('pagination.pageOf', '{{page}} of {{totalPages}}', {\n page: info.page,\n totalPages,\n })}\n </div>\n );\n }\n\n const showEdgeButtons = !isCompact && isCountable;\n\n return (\n <PaginationElement\n {...filterBaseProps(rest, { eventProps: true })}\n ref={ref}\n qa={qa || 'Pagination'}\n styles={styles}\n mods={{ size, ...mods }}\n aria-label={ariaLabel ?? t('pagination.ariaLabel', 'Pagination')}\n >\n {summaryNode ? <div data-element=\"Summary\">{summaryNode}</div> : null}\n\n {pageSizeOptions && onPageSizeChange ? (\n <Select\n isBare\n qa=\"PaginationPageSizeSelect\"\n size={size}\n isDisabled={isDisabled}\n aria-label={t('pagination.itemsPerPage', 'Items per page')}\n selectedKey={String(pageSize)}\n styles={pageSizeSelectStyles}\n onSelectionChange={onPageSizeSelectionChange}\n >\n {pageSizeOptions.map((option) => {\n const label = t(\n 'pagination.itemsPerPageOption',\n '{{size}} / page',\n {\n size: option,\n },\n );\n\n return (\n <Select.Item key={option} textValue={label}>\n {label}\n </Select.Item>\n );\n })}\n </Select>\n ) : null}\n\n <div data-element=\"Controls\">\n {showEdgeButtons ? (\n <NavButton\n qa=\"PaginationFirstButton\"\n size={size}\n icon={<BackwardIcon />}\n isDisabled={isFirst || isDisabled}\n aria-label={t('pagination.firstPage', 'First page')}\n onPress={() => goTo(1)}\n />\n ) : null}\n\n <NavButton\n qa=\"PaginationPrevButton\"\n size={size}\n icon={<LeftIcon />}\n isDisabled={isFirst || isDisabled}\n aria-label={t('pagination.previousPage', 'Previous page')}\n onPress={() => goTo(info.page - 1)}\n />\n\n {renderPageControl()}\n\n <NavButton\n qa=\"PaginationNextButton\"\n size={size}\n icon={<RightIcon />}\n isDisabled={isLast || isDisabled}\n aria-label={t('pagination.nextPage', 'Next page')}\n onPress={() => goTo(info.page + 1)}\n />\n\n {showEdgeButtons ? (\n <NavButton\n qa=\"PaginationLastButton\"\n size={size}\n icon={<ForwardIcon />}\n isDisabled={isLast || isDisabled}\n aria-label={t('pagination.lastPage', 'Last page')}\n onPress={() => goTo(totalPages)}\n />\n ) : null}\n </div>\n </PaginationElement>\n );\n}\n\nconst _Pagination = forwardRef(Pagination);\n\n_Pagination.displayName = 'Pagination';\n\nexport { _Pagination as Pagination };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useControlledState } from "@react-stately/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"use-pagination.js","names":["useControlledState","useEvent","CubePaginationItem","CubeTablePageInfo","range","start","end","length","Array","from","_","i","clampPage","page","totalPages","Number","isFinite","Math","min","max","trunc","PaginationRangeOptions","siblingCount","boundaryCount","getPaginationRange","current","startPages","endPages","siblingsStart","siblingsEnd","getPageInfo","options","pageSize","total","ceil","to","UsePaginationOptions","defaultPage","onPageChange","defaultPageSize","onPageSizeChange","UsePaginationResult","pageItems","T","setPage","setPageSize","usePagination","items","t0","$","_c","t1","undefined","setPageSizeState","v","setPageState","t2","info","t3","next","t4","next_0","t5","slice","t6","_c"],"sources":["../../../../src/components/navigation/Pagination/use-pagination.ts"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport type { CubePaginationItem, CubeTablePageInfo } from './types';\n\nfunction range(start: number, end: number): number[] {\n const length = end - start + 1;\n\n return length > 0 ? Array.from({ length }, (_, i) => start + i) : [];\n}\n\nexport function clampPage(page: number, totalPages: number): number {\n if (!Number.isFinite(page)) return 1;\n\n return Math.min(Math.max(Math.trunc(page), 1), Math.max(totalPages, 1));\n}\n\nexport interface PaginationRangeOptions {\n page: number;\n totalPages: number;\n /** Page buttons either side of the current page. @default 1 */\n siblingCount?: number;\n /** Page buttons pinned at each end. @default 1 */\n boundaryCount?: number;\n}\n\n/**\n * Page numbers to render, with `'gap'` marking an elided run. The output length\n * is bounded by `boundaryCount * 2 + siblingCount * 2 + 3` regardless of\n * `totalPages` — which is the whole point of `type=\"numbers\"`: a 100k-row table\n * at 100 per page renders ~7 buttons, not 1000 `Select` items.\n */\nexport function getPaginationRange({\n page,\n totalPages,\n siblingCount = 1,\n boundaryCount = 1,\n}: PaginationRangeOptions): CubePaginationItem[] {\n if (totalPages <= 0) return [];\n\n const current = clampPage(page, totalPages);\n\n const startPages = range(1, Math.min(boundaryCount, totalPages));\n const endPages = range(\n Math.max(totalPages - boundaryCount + 1, boundaryCount + 1),\n totalPages,\n );\n\n // Pull the sibling window inwards when it would run past either boundary, so\n // the rendered count stays constant as the user pages through.\n const siblingsStart = Math.max(\n Math.min(\n current - siblingCount,\n totalPages - boundaryCount - siblingCount * 2 - 1,\n ),\n boundaryCount + 2,\n );\n const siblingsEnd = Math.min(\n Math.max(current + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0] - 2 : totalPages - 1,\n );\n\n return [\n ...startPages,\n\n // A gap that would hide exactly one page renders that page instead.\n ...(siblingsStart > boundaryCount + 2\n ? (['gap'] as CubePaginationItem[])\n : boundaryCount + 1 < totalPages - boundaryCount\n ? [boundaryCount + 1]\n : []),\n\n ...range(siblingsStart, siblingsEnd),\n\n ...(siblingsEnd < totalPages - boundaryCount - 1\n ? (['gap'] as CubePaginationItem[])\n : totalPages - boundaryCount > boundaryCount\n ? [totalPages - boundaryCount]\n : []),\n\n ...endPages,\n ];\n}\n\nexport function getPageInfo(options: {\n page: number;\n pageSize: number;\n total: number;\n totalPages?: number;\n}): CubeTablePageInfo {\n const { pageSize, total } = options;\n const totalPages =\n options.totalPages ??\n (pageSize > 0 ? Math.max(Math.ceil(total / pageSize), 1) : 1);\n const page = clampPage(options.page, totalPages);\n const from = total === 0 ? 0 : (page - 1) * pageSize + 1;\n const to = total === 0 ? 0 : Math.min(page * pageSize, total);\n\n return { page, pageSize, totalPages, total, from, to };\n}\n\nexport interface UsePaginationOptions {\n page?: number;\n defaultPage?: number;\n onPageChange?: (page: number) => void;\n pageSize?: number;\n defaultPageSize?: number;\n onPageSizeChange?: (pageSize: number) => void;\n}\n\nexport type UsePaginationResult<T> = CubeTablePageInfo & {\n /** The current page's slice of `items`. */\n pageItems: T[];\n setPage: (page: number) => void;\n /** Also resets to page 1, since the old page index no longer means anything. */\n setPageSize: (pageSize: number) => void;\n};\n\n/**\n * Client-side pagination over an in-memory array. Standalone — `ItemTable` uses\n * it internally, but it works on its own for any paged list.\n */\nexport function usePagination<T>(\n items: readonly T[],\n options: UsePaginationOptions = {},\n): UsePaginationResult<T> {\n const [pageSize, setPageSizeState] = useControlledState<number>(\n options.pageSize as number,\n options.defaultPageSize ?? 50,\n options.onPageSizeChange as (v: number) => void,\n );\n const [page, setPageState] = useControlledState<number>(\n options.page as number,\n options.defaultPage ?? 1,\n options.onPageChange as (v: number) => void,\n );\n\n const info = getPageInfo({ page, pageSize, total: items.length });\n\n const setPage = useEvent((next: number) => {\n setPageState(clampPage(next, info.totalPages));\n });\n\n const setPageSize = useEvent((next: number) => {\n setPageSizeState(next);\n setPageState(1);\n });\n\n const pageItems = items.slice(\n (info.page - 1) * pageSize,\n info.page * pageSize,\n ) as T[];\n\n return { ...info, pageItems, setPage, setPageSize };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-pagination.js","names":["useControlledState","useEvent","CubePaginationItem","CubeTablePageInfo","range","start","end","length","Array","from","_","i","clampPage","page","totalPages","Number","isFinite","Math","min","max","trunc","PaginationRangeOptions","siblingCount","boundaryCount","getPaginationRange","current","startPages","endPages","siblingsStart","siblingsEnd","getPageInfo","options","pageSize","total","ceil","to","UsePaginationOptions","defaultPage","onPageChange","defaultPageSize","onPageSizeChange","UsePaginationResult","pageItems","T","setPage","setPageSize","usePagination","items","t0","$","_c","t1","undefined","setPageSizeState","v","setPageState","t2","info","t3","next","t4","next_0","t5","slice","t6","_c"],"sources":["../../../../src/components/navigation/Pagination/use-pagination.ts"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\n\nimport type { CubePaginationItem, CubeTablePageInfo } from './types';\n\nfunction range(start: number, end: number): number[] {\n const length = end - start + 1;\n\n return length > 0 ? Array.from({ length }, (_, i) => start + i) : [];\n}\n\nexport function clampPage(page: number, totalPages: number): number {\n if (!Number.isFinite(page)) return 1;\n\n return Math.min(Math.max(Math.trunc(page), 1), Math.max(totalPages, 1));\n}\n\nexport interface PaginationRangeOptions {\n page: number;\n totalPages: number;\n /** Page buttons either side of the current page. @default 1 */\n siblingCount?: number;\n /** Page buttons pinned at each end. @default 1 */\n boundaryCount?: number;\n}\n\n/**\n * Page numbers to render, with `'gap'` marking an elided run. The output length\n * is bounded by `boundaryCount * 2 + siblingCount * 2 + 3` regardless of\n * `totalPages` — which is the whole point of `type=\"numbers\"`: a 100k-row table\n * at 100 per page renders ~7 buttons, not 1000 `Select` items.\n */\nexport function getPaginationRange({\n page,\n totalPages,\n siblingCount = 1,\n boundaryCount = 1,\n}: PaginationRangeOptions): CubePaginationItem[] {\n if (totalPages <= 0) return [];\n\n const current = clampPage(page, totalPages);\n\n const startPages = range(1, Math.min(boundaryCount, totalPages));\n const endPages = range(\n Math.max(totalPages - boundaryCount + 1, boundaryCount + 1),\n totalPages,\n );\n\n // Pull the sibling window inwards when it would run past either boundary, so\n // the rendered count stays constant as the user pages through.\n const siblingsStart = Math.max(\n Math.min(\n current - siblingCount,\n totalPages - boundaryCount - siblingCount * 2 - 1,\n ),\n boundaryCount + 2,\n );\n const siblingsEnd = Math.min(\n Math.max(current + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0] - 2 : totalPages - 1,\n );\n\n return [\n ...startPages,\n\n // A gap that would hide exactly one page renders that page instead.\n ...(siblingsStart > boundaryCount + 2\n ? (['gap'] as CubePaginationItem[])\n : boundaryCount + 1 < totalPages - boundaryCount\n ? [boundaryCount + 1]\n : []),\n\n ...range(siblingsStart, siblingsEnd),\n\n ...(siblingsEnd < totalPages - boundaryCount - 1\n ? (['gap'] as CubePaginationItem[])\n : totalPages - boundaryCount > boundaryCount\n ? [totalPages - boundaryCount]\n : []),\n\n ...endPages,\n ];\n}\n\nexport function getPageInfo(options: {\n page: number;\n pageSize: number;\n total: number;\n totalPages?: number;\n}): CubeTablePageInfo {\n const { pageSize, total } = options;\n const totalPages =\n options.totalPages ??\n (pageSize > 0 ? Math.max(Math.ceil(total / pageSize), 1) : 1);\n const page = clampPage(options.page, totalPages);\n const from = total === 0 ? 0 : (page - 1) * pageSize + 1;\n const to = total === 0 ? 0 : Math.min(page * pageSize, total);\n\n return { page, pageSize, totalPages, total, from, to };\n}\n\nexport interface UsePaginationOptions {\n page?: number;\n defaultPage?: number;\n onPageChange?: (page: number) => void;\n pageSize?: number;\n defaultPageSize?: number;\n onPageSizeChange?: (pageSize: number) => void;\n}\n\nexport type UsePaginationResult<T> = CubeTablePageInfo & {\n /** The current page's slice of `items`. */\n pageItems: T[];\n setPage: (page: number) => void;\n /** Also resets to page 1, since the old page index no longer means anything. */\n setPageSize: (pageSize: number) => void;\n};\n\n/**\n * Client-side pagination over an in-memory array. Standalone — `ItemTable` uses\n * it internally, but it works on its own for any paged list.\n */\nexport function usePagination<T>(\n items: readonly T[],\n options: UsePaginationOptions = {},\n): UsePaginationResult<T> {\n const [pageSize, setPageSizeState] = useControlledState<number>(\n options.pageSize as number,\n options.defaultPageSize ?? 50,\n options.onPageSizeChange as (v: number) => void,\n );\n const [page, setPageState] = useControlledState<number>(\n options.page as number,\n options.defaultPage ?? 1,\n options.onPageChange as (v: number) => void,\n );\n\n const info = getPageInfo({ page, pageSize, total: items.length });\n\n const setPage = useEvent((next: number) => {\n setPageState(clampPage(next, info.totalPages));\n });\n\n const setPageSize = useEvent((next: number) => {\n setPageSizeState(next);\n setPageState(1);\n });\n\n const pageItems = items.slice(\n (info.page - 1) * pageSize,\n info.page * pageSize,\n ) as T[];\n\n return { ...info, pageItems, setPage, setPageSize };\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { createContext, useContext } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.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";
@@ -1,15 +1,15 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
5
5
  import { useI18n } from "../../../i18n/useI18n.js";
6
6
  import { InlineInput } from "../../content/InlineInput/InlineInput.js";
7
+ import { CloseIcon } from "../../../icons/CloseIcon.js";
8
+ import { ItemActionsWrapper } from "../../actions/ItemActionsWrapper.js";
9
+ import { MoreIcon } from "../../../icons/MoreIcon.js";
7
10
  import { MenuTrigger as _MenuTrigger } from "../../actions/Menu/MenuTrigger.js";
8
11
  import { Menu as __Menu } from "../../actions/Menu/Menu.js";
9
- import { ItemActionsWrapper } from "../../actions/ItemActionsWrapper.js";
10
12
  import { useContextMenu } from "../../actions/use-context-menu.js";
11
- import { CloseIcon } from "../../../icons/CloseIcon.js";
12
- import { MoreIcon } from "../../../icons/MoreIcon.js";
13
13
  import { createMockDragState } from "../../shared/DraggableCollection.js";
14
14
  import { useBoardDragActive } from "./BoardDragActiveProvider.js";
15
15
  import { TabContainer, TabElement } from "./styled.js";