@cube-dev/ui-kit 0.166.0 → 0.168.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 (663) hide show
  1. package/README.md +4 -7
  2. package/dist/CHANGELOG.md +47 -0
  3. package/dist/README.md +4 -7
  4. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  5. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  6. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  7. package/dist/_internal/hooks/use-event.js +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  9. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  10. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  11. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/dist/_internal/hooks/use-warn.js +1 -1
  13. package/dist/components/Block.js +1 -1
  14. package/dist/components/CollectionItem.js +1 -1
  15. package/dist/components/GlobalStyles.js +4 -4
  16. package/dist/components/GlobalStyles.js.map +1 -1
  17. package/dist/components/GridProvider.js +1 -1
  18. package/dist/components/HiddenInput.js +1 -1
  19. package/dist/components/Root.js +5 -5
  20. package/dist/components/Root.js.map +1 -1
  21. package/dist/components/actions/Action/Action.js +1 -1
  22. package/dist/components/actions/Banner/Banner.js +1 -1
  23. package/dist/components/actions/Button/Button.d.ts +0 -1
  24. package/dist/components/actions/Button/Button.js +1 -1
  25. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  27. package/dist/components/actions/ButtonSplit/context.js +1 -1
  28. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  29. package/dist/components/actions/CommandMenu/styled.js +1 -1
  30. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  31. package/dist/components/actions/ItemActionContext.js +1 -1
  32. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/dist/components/actions/Link/Link.js +1 -1
  34. package/dist/components/actions/Menu/Menu.js +1 -1
  35. package/dist/components/actions/Menu/MenuItem.js +1 -1
  36. package/dist/components/actions/Menu/MenuSection.js +1 -1
  37. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  39. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  40. package/dist/components/actions/Menu/context.js +1 -1
  41. package/dist/components/actions/Menu/styled.js +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.d.ts +7 -3
  45. package/dist/components/actions/use-anchored-menu.js +17 -12
  46. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  47. package/dist/components/actions/use-context-menu.d.ts +6 -3
  48. package/dist/components/actions/use-context-menu.js +25 -13
  49. package/dist/components/actions/use-context-menu.js.map +1 -1
  50. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  51. package/dist/components/content/Alert/Alert.js +1 -1
  52. package/dist/components/content/Alert/use-alert.js +1 -1
  53. package/dist/components/content/Avatar/Avatar.js +1 -1
  54. package/dist/components/content/Badge/Badge.js +1 -1
  55. package/dist/components/content/Card/Card.js +1 -1
  56. package/dist/components/content/Content.js +1 -1
  57. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  58. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  59. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  60. package/dist/components/content/Divider.js +1 -1
  61. package/dist/components/content/Footer.js +1 -1
  62. package/dist/components/content/Header.js +1 -1
  63. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  64. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  65. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  66. package/dist/components/content/Item/Item.js +1 -1
  67. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  68. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  69. package/dist/components/content/Layout/GridLayout.js +1 -1
  70. package/dist/components/content/Layout/Layout.js +1 -1
  71. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  72. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  73. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  74. package/dist/components/content/Layout/LayoutContent.js +1 -1
  75. package/dist/components/content/Layout/LayoutContext.js +1 -1
  76. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  77. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  78. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  79. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  80. package/dist/components/content/Layout/LayoutPane.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  90. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  91. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  92. package/dist/components/content/Result/Result.js +1 -1
  93. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  94. package/dist/components/content/Tag/Tag.js +1 -1
  95. package/dist/components/content/Text.d.ts +14 -14
  96. package/dist/components/content/Text.js +1 -1
  97. package/dist/components/content/TextItem/TextItem.js +1 -1
  98. package/dist/components/content/Title.js +1 -1
  99. package/dist/components/content/Tree/Tree.js +1 -1
  100. package/dist/components/content/Tree/TreeNode.js +1 -1
  101. package/dist/components/content/Tree/styled.js +1 -1
  102. package/dist/components/content/Tree/tree-index.js +1 -1
  103. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  104. package/dist/components/content/Tree/use-load-data.js +1 -1
  105. package/dist/components/content/highlightText.js +1 -1
  106. package/dist/components/content/use-auto-tooltip.js +1 -1
  107. package/dist/components/data/DataTable/DataTable.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  111. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  112. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  113. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  114. package/dist/components/data/TableBase/RowCollection.js +1 -1
  115. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  116. package/dist/components/data/TableBase/TableRow.js +1 -1
  117. package/dist/components/data/TableBase/TableView.js +1 -1
  118. package/dist/components/data/TableBase/column-menu.js +1 -1
  119. package/dist/components/data/TableBase/column-tint.js +1 -1
  120. package/dist/components/data/TableBase/row-menu.js +1 -1
  121. package/dist/components/data/TableBase/styled.d.ts +1 -2
  122. package/dist/components/data/TableBase/styled.js +1 -1
  123. package/dist/components/data/TableBase/table-tree.js +1 -1
  124. package/dist/components/data/TableBase/types.js +1 -1
  125. package/dist/components/data/TableBase/use-cell-selection.d.ts +0 -1
  126. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  127. package/dist/components/data/TableBase/use-column-order.js +1 -1
  128. package/dist/components/data/TableBase/use-container-width.js +1 -1
  129. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  130. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  131. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  132. package/dist/components/data/TableBase/use-table-search.js +1 -1
  133. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  134. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  135. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  136. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  137. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  138. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  139. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  140. package/dist/components/fields/Checkbox/context.js +1 -1
  141. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  142. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  143. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  144. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  145. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  146. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  147. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  148. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  149. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  150. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  151. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  152. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  153. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  154. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  155. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  156. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  157. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  158. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  159. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  161. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  162. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  163. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  164. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  165. package/dist/components/fields/DatePicker/period.js +1 -1
  166. package/dist/components/fields/DatePicker/props.js +1 -1
  167. package/dist/components/fields/DatePicker/utils.js +1 -1
  168. package/dist/components/fields/FileInput/FileInput.js +1 -1
  169. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  170. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  171. package/dist/components/fields/Input/Input.js +1 -1
  172. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  173. package/dist/components/fields/ListBox/ListBox.js +1 -1
  174. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  175. package/dist/components/fields/ListBoxPopover/index.d.ts +0 -1
  176. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  177. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  178. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  179. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  180. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  181. package/dist/components/fields/Picker/Picker.js +1 -1
  182. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  183. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  184. package/dist/components/fields/RadioGroup/context.js +1 -1
  185. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  186. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  187. package/dist/components/fields/Select/Select.js +1 -1
  188. package/dist/components/fields/Slider/Gradation.js +1 -1
  189. package/dist/components/fields/Slider/HueSlider.js +1 -1
  190. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  191. package/dist/components/fields/Slider/Slider.js +1 -1
  192. package/dist/components/fields/Slider/SliderBase.js +1 -1
  193. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  194. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  195. package/dist/components/fields/Slider/elements.js +1 -1
  196. package/dist/components/fields/Slider/index.js +1 -1
  197. package/dist/components/fields/Switch/Switch.js +1 -1
  198. package/dist/components/fields/TextArea/TextArea.js +1 -1
  199. package/dist/components/fields/TextInput/TextInput.js +1 -1
  200. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  201. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  202. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  203. package/dist/components/fields/color/ColorPanel.js +1 -1
  204. package/dist/components/fields/color/channels.js +1 -1
  205. package/dist/components/fields/color/color.js +1 -1
  206. package/dist/components/fields/color/context.js +1 -1
  207. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  208. package/dist/components/form/Form/Field.js +1 -1
  209. package/dist/components/form/Form/Form.js +1 -1
  210. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  211. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  212. package/dist/components/form/Form/SubmitError.js +1 -1
  213. package/dist/components/form/Form/index.js +1 -1
  214. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  215. package/dist/components/form/Form/use-field/use-field.js +1 -1
  216. package/dist/components/form/Form/use-form.js +1 -1
  217. package/dist/components/form/Form/validation.js +1 -1
  218. package/dist/components/form/Label.js +1 -1
  219. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  220. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  221. package/dist/components/form/validation/use-validation-props.js +1 -1
  222. package/dist/components/form/wrapper.js +1 -1
  223. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  224. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  225. package/dist/components/layout/Board/Board.d.ts +11 -5
  226. package/dist/components/layout/Board/Board.js +15 -7
  227. package/dist/components/layout/Board/Board.js.map +1 -1
  228. package/dist/components/layout/Board/BoardProvider.js +1 -1
  229. package/dist/components/layout/Board/BoardResponsive.d.ts +6 -3
  230. package/dist/components/layout/Board/BoardResponsive.js +3 -3
  231. package/dist/components/layout/Board/BoardResponsive.js.map +1 -1
  232. package/dist/components/layout/Board/Widget.d.ts +29 -1
  233. package/dist/components/layout/Board/Widget.js +5 -2
  234. package/dist/components/layout/Board/Widget.js.map +1 -1
  235. package/dist/components/layout/Board/WidgetHost.js +67 -17
  236. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  237. package/dist/components/layout/Board/board-context.js +1 -1
  238. package/dist/components/layout/Board/board-context.js.map +1 -1
  239. package/dist/components/layout/Board/board-store.js +2 -2
  240. package/dist/components/layout/Board/board-store.js.map +1 -1
  241. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  242. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  243. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  244. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  245. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  246. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  247. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  248. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  249. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  250. package/dist/components/layout/Board/index.d.ts +2 -1
  251. package/dist/components/layout/Board/index.js +1 -1
  252. package/dist/components/layout/Board/index.js.map +1 -1
  253. package/dist/components/layout/Board/responsive-utils.js +1 -1
  254. package/dist/components/layout/Board/use-board-layout.d.ts +26 -0
  255. package/dist/components/layout/Board/use-board-layout.js +4 -4
  256. package/dist/components/layout/Board/use-board-layout.js.map +1 -1
  257. package/dist/components/layout/Board/use-board-registry.js +4 -4
  258. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  259. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  260. package/dist/components/layout/Board/use-board-selection.js +1 -1
  261. package/dist/components/layout/Flex.js +1 -1
  262. package/dist/components/layout/Flow.js +1 -1
  263. package/dist/components/layout/Grid.js +1 -1
  264. package/dist/components/layout/Panel.js +1 -1
  265. package/dist/components/layout/Prefix.js +1 -1
  266. package/dist/components/layout/ResizablePanel.js +1 -1
  267. package/dist/components/layout/Space.js +1 -1
  268. package/dist/components/layout/Suffix.js +1 -1
  269. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  270. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  271. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  272. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  273. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  274. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  275. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  276. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  277. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  278. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  279. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  280. package/dist/components/navigation/Tabs/styled.js +1 -1
  281. package/dist/components/navigation/Tabs/types.js +1 -1
  282. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  283. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  284. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  285. package/dist/components/other/Calendar/Calendar.js +1 -1
  286. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  287. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  288. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  289. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  290. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  291. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  292. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  293. package/dist/components/other/Calendar/styled.js +1 -1
  294. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  295. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  296. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  297. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  298. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  299. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  300. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  301. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  302. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  303. package/dist/components/overlays/Dialog/context.js +1 -1
  304. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  305. package/dist/components/overlays/Modal/Modal.d.ts +1 -2
  306. package/dist/components/overlays/Modal/Modal.js +1 -1
  307. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  308. package/dist/components/overlays/Modal/Overlay.d.ts +0 -1
  309. package/dist/components/overlays/Modal/Overlay.js +4 -3
  310. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  311. package/dist/components/overlays/Modal/Popover.js +1 -1
  312. package/dist/components/overlays/Modal/Tray.js +1 -1
  313. package/dist/components/overlays/Modal/Underlay.js +1 -1
  314. package/dist/components/overlays/Modal/types.d.ts +0 -1
  315. package/dist/components/overlays/Notifications/Notification.js +1 -1
  316. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  317. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  318. package/dist/components/overlays/Notifications/NotificationContext.d.ts +0 -2
  319. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  320. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  321. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  322. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  323. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  324. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  325. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  326. package/dist/components/overlays/Notifications/index.js +1 -1
  327. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  328. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  329. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  330. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  331. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  332. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  333. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  334. package/dist/components/overlays/Toast/index.js +1 -1
  335. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  336. package/dist/components/overlays/Toast/useToast.js +1 -1
  337. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  338. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  339. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  340. package/dist/components/overlays/Tooltip/context.js +1 -1
  341. package/dist/components/portal/Portal.js +7 -5
  342. package/dist/components/portal/Portal.js.map +1 -1
  343. package/dist/components/portal/PortalProvider.js +1 -1
  344. package/dist/components/portal/index.d.ts +0 -1
  345. package/dist/components/portal/usePortal.js +1 -1
  346. package/dist/components/shared/DraggableCollection.js +1 -1
  347. package/dist/components/shared/InvalidIcon.js +1 -1
  348. package/dist/components/shared/ValidIcon.js +1 -1
  349. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  350. package/dist/components/status/Spin/Cube.js +1 -1
  351. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  352. package/dist/components/status/Spin/Spin.js +1 -1
  353. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  354. package/dist/data/item-themes.js +1 -1
  355. package/dist/data/themes.js +1 -1
  356. package/dist/eslint-plugin/defaults.generated.js +21 -1
  357. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  358. package/dist/eslint-plugin/index.js +1 -1
  359. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  360. package/dist/i18n/I18nProvider.js +1 -1
  361. package/dist/i18n/createFormatter.js +1 -1
  362. package/dist/i18n/index.js +1 -1
  363. package/dist/i18n/instance.js +1 -1
  364. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  365. package/dist/i18n/locales/en-US/uikit.js +1 -1
  366. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  367. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  368. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  369. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  370. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  371. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  372. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  373. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  374. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  375. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  376. package/dist/i18n/locales.js +1 -1
  377. package/dist/i18n/useFormatter.js +1 -1
  378. package/dist/i18n/useI18n.js +1 -1
  379. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  380. package/dist/icons/AdjustmentsIcon.js +1 -1
  381. package/dist/icons/AiIcon.js +1 -1
  382. package/dist/icons/AreaChartIcon.js +1 -1
  383. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  384. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  385. package/dist/icons/BackwardIcon.js +1 -1
  386. package/dist/icons/BarChartIcon.js +1 -1
  387. package/dist/icons/BellFilledIcon.js +1 -1
  388. package/dist/icons/BellIcon.js +1 -1
  389. package/dist/icons/BooleanIcon.js +1 -1
  390. package/dist/icons/CalendarEditIcon.js +1 -1
  391. package/dist/icons/CalendarIcon.js +1 -1
  392. package/dist/icons/CaretDownIcon.js +1 -1
  393. package/dist/icons/CaretUpIcon.js +1 -1
  394. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  395. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  396. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  397. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  398. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  399. package/dist/icons/ChartBarLineIcon.js +1 -1
  400. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  401. package/dist/icons/ChartBarStackedIcon.js +1 -1
  402. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  403. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  404. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  405. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  406. package/dist/icons/ChartBubbleIcon.js +1 -1
  407. package/dist/icons/ChartDonut2Icon.js +1 -1
  408. package/dist/icons/ChartFunnelIcon.js +1 -1
  409. package/dist/icons/ChartHeatmapIcon.js +1 -1
  410. package/dist/icons/ChartKPIIcon.js +1 -1
  411. package/dist/icons/ChartPie2Icon.js +1 -1
  412. package/dist/icons/ChartScatterIcon.js +1 -1
  413. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  414. package/dist/icons/CheckCircleIcon.js +1 -1
  415. package/dist/icons/CheckIcon.js +1 -1
  416. package/dist/icons/CircleFilledIcon.js +1 -1
  417. package/dist/icons/ClearIcon.js +1 -1
  418. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  419. package/dist/icons/CloseCircleIcon.js +1 -1
  420. package/dist/icons/CloseIcon.js +1 -1
  421. package/dist/icons/CodeIcon.js +1 -1
  422. package/dist/icons/ColumnTotalIcon.js +1 -1
  423. package/dist/icons/CopyIcon.js +1 -1
  424. package/dist/icons/CountIcon.js +1 -1
  425. package/dist/icons/CubeIcon.js +1 -1
  426. package/dist/icons/CubePauseIcon.js +1 -1
  427. package/dist/icons/CubePlayIcon.js +1 -1
  428. package/dist/icons/CurrencyDollarIcon.js +1 -1
  429. package/dist/icons/DangerIcon.js +1 -1
  430. package/dist/icons/DashboardIcon.js +1 -1
  431. package/dist/icons/DatabaseIcon.js +1 -1
  432. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  433. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  434. package/dist/icons/DirectionIcon.js +1 -1
  435. package/dist/icons/DonutIcon.js +1 -1
  436. package/dist/icons/DownIcon.js +1 -1
  437. package/dist/icons/EditIcon.js +1 -1
  438. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  439. package/dist/icons/ExclamationCircleIcon.js +1 -1
  440. package/dist/icons/ExclamationIcon.js +1 -1
  441. package/dist/icons/EyeIcon.js +1 -1
  442. package/dist/icons/EyeInvisibleIcon.js +1 -1
  443. package/dist/icons/FilterIcon.js +1 -1
  444. package/dist/icons/FolderFilledIcon.js +1 -1
  445. package/dist/icons/FolderIcon.js +1 -1
  446. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  447. package/dist/icons/FolderOpenIcon.js +1 -1
  448. package/dist/icons/ForwardIcon.js +1 -1
  449. package/dist/icons/GripVerticalIcon.js +1 -1
  450. package/dist/icons/HierarchyIcon.js +1 -1
  451. package/dist/icons/HierarchyOpenIcon.js +1 -1
  452. package/dist/icons/Icon.js +1 -1
  453. package/dist/icons/InfoCircleIcon.js +1 -1
  454. package/dist/icons/InfoIcon.js +1 -1
  455. package/dist/icons/KeyIcon.js +1 -1
  456. package/dist/icons/LeftIcon.js +1 -1
  457. package/dist/icons/LineChartIcon.js +1 -1
  458. package/dist/icons/LoadingIcon.js +1 -1
  459. package/dist/icons/LockFilledIcon.js +1 -1
  460. package/dist/icons/LockIcon.js +1 -1
  461. package/dist/icons/MoreIcon.js +1 -1
  462. package/dist/icons/NotAllowedIcon.js +1 -1
  463. package/dist/icons/Number123Icon.js +1 -1
  464. package/dist/icons/NumberIcon.js +1 -1
  465. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  466. package/dist/icons/PauseCircleIcon.js +1 -1
  467. package/dist/icons/PauseIcon.js +1 -1
  468. package/dist/icons/PercentageIcon.js +1 -1
  469. package/dist/icons/PieChartIcon.js +1 -1
  470. package/dist/icons/PipetteIcon.js +1 -1
  471. package/dist/icons/PlayCircleIcon.js +1 -1
  472. package/dist/icons/PlayIcon.js +1 -1
  473. package/dist/icons/PlusIcon.js +1 -1
  474. package/dist/icons/ProgressBarIcon.js +1 -1
  475. package/dist/icons/ReloadIcon.js +1 -1
  476. package/dist/icons/ReportIcon.js +1 -1
  477. package/dist/icons/ReturnIcon.js +1 -1
  478. package/dist/icons/RightIcon.js +1 -1
  479. package/dist/icons/RowTotalsIcon.js +1 -1
  480. package/dist/icons/SchemeIcon.js +1 -1
  481. package/dist/icons/SearchIcon.js +1 -1
  482. package/dist/icons/SemanticQueryIcon.js +1 -1
  483. package/dist/icons/SettingsIcon.js +1 -1
  484. package/dist/icons/ShieldFilledIcon.js +1 -1
  485. package/dist/icons/ShieldIcon.js +1 -1
  486. package/dist/icons/SlashIcon.js +1 -1
  487. package/dist/icons/SparklesIcon.js +1 -1
  488. package/dist/icons/SqlIcon.js +1 -1
  489. package/dist/icons/StatsIcon.js +1 -1
  490. package/dist/icons/StopIcon.js +1 -1
  491. package/dist/icons/StringIcon.js +1 -1
  492. package/dist/icons/SubtotalsIcon.js +1 -1
  493. package/dist/icons/SwitchIcon.js +1 -1
  494. package/dist/icons/TableIcon.js +1 -1
  495. package/dist/icons/ThumbsDownIcon.js +1 -1
  496. package/dist/icons/ThumbsUpIcon.js +1 -1
  497. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  498. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  499. package/dist/icons/ThunderboltIcon.js +1 -1
  500. package/dist/icons/TimeIcon.js +1 -1
  501. package/dist/icons/TrashIcon.js +1 -1
  502. package/dist/icons/UnlockIcon.js +1 -1
  503. package/dist/icons/UpIcon.js +1 -1
  504. package/dist/icons/UserGroupIcon.js +1 -1
  505. package/dist/icons/UserIcon.js +1 -1
  506. package/dist/icons/UserLockIcon.js +1 -1
  507. package/dist/icons/ViewIcon.js +1 -1
  508. package/dist/icons/WarningFilledIcon.js +1 -1
  509. package/dist/icons/WarningIcon.js +1 -1
  510. package/dist/icons/wrap-icon.js +1 -1
  511. package/dist/index.d.ts +6 -3
  512. package/dist/index.js +4 -3
  513. package/dist/index.js.map +1 -1
  514. package/dist/probe/canonicalize.js +1 -1
  515. package/dist/probe/css.js +1 -1
  516. package/dist/probe/index.js +1 -1
  517. package/dist/provider.js +1 -1
  518. package/dist/providers/TrackingProvider.js +1 -1
  519. package/dist/providers/navigationAdapter.default.js +1 -1
  520. package/dist/tokens/all-tokens.d.ts +10 -0
  521. package/dist/tokens/{index.js → all-tokens.js} +7 -25
  522. package/dist/tokens/all-tokens.js.map +1 -0
  523. package/dist/tokens/base.js +2 -1
  524. package/dist/tokens/base.js.map +1 -1
  525. package/dist/tokens/color-seed.js +1 -1
  526. package/dist/tokens/color-theme.js +1 -1
  527. package/dist/tokens/colors.js +1 -1
  528. package/dist/tokens/index.d.ts +3 -10
  529. package/dist/tokens/layout.js +1 -1
  530. package/dist/tokens/lazy-styles.js +1 -1
  531. package/dist/tokens/palette-config.js +1 -1
  532. package/dist/tokens/palette.js +1 -1
  533. package/dist/tokens/resolve.d.ts +113 -0
  534. package/dist/tokens/resolve.js +403 -0
  535. package/dist/tokens/resolve.js.map +1 -0
  536. package/dist/tokens/shadows.js +1 -1
  537. package/dist/tokens/sizes.js +1 -1
  538. package/dist/tokens/spacing.js +1 -1
  539. package/dist/tokens/typography.js +1 -1
  540. package/dist/utils/ResizeSensor.js +1 -1
  541. package/dist/utils/is-dev-env.js +1 -1
  542. package/dist/utils/modules.js +1 -1
  543. package/dist/utils/promise.js +1 -1
  544. package/dist/utils/raf.js +1 -1
  545. package/dist/utils/random.js +1 -1
  546. package/dist/utils/range.js +1 -1
  547. package/dist/utils/react/RenderCache.js +1 -1
  548. package/dist/utils/react/Slots.js +1 -1
  549. package/dist/utils/react/chain.js +1 -1
  550. package/dist/utils/react/disabledProps.js +1 -1
  551. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  552. package/dist/utils/react/index.js +1 -1
  553. package/dist/utils/react/interactions.js +1 -1
  554. package/dist/utils/react/isTextOnly.js +1 -1
  555. package/dist/utils/react/mapProps.js +1 -1
  556. package/dist/utils/react/mergeProps.js +1 -1
  557. package/dist/utils/react/nullableValue.js +1 -1
  558. package/dist/utils/react/resolveIcon.js +1 -1
  559. package/dist/utils/react/sharedStore.js +1 -1
  560. package/dist/utils/react/useBufferedValue.js +1 -1
  561. package/dist/utils/react/useCombinedRefs.js +1 -1
  562. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  563. package/dist/utils/react/useEventBus.js +1 -1
  564. package/dist/utils/react/useId.js +1 -1
  565. package/dist/utils/react/useIsDarwin.js +1 -1
  566. package/dist/utils/react/useKeySymbols.js +1 -1
  567. package/dist/utils/react/useLayoutEffect.js +1 -1
  568. package/dist/utils/react/useLocalStorage.js +1 -1
  569. package/dist/utils/react/useMergeStyles.js +1 -1
  570. package/dist/utils/react/usePopoverSync.js +1 -1
  571. package/dist/utils/react/useQaProps.js +1 -1
  572. package/dist/utils/react/useViewportSize.js +1 -1
  573. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  574. package/dist/utils/selection.js +1 -1
  575. package/dist/utils/styles.js +1 -1
  576. package/dist/utils/tree.js +1 -1
  577. package/dist/utils/warnings.js +1 -1
  578. package/dist/version.js +3 -3
  579. package/docs/Colors.md +16 -40
  580. package/docs/ComplexLayout.md +8 -0
  581. package/docs/CreateComponent.md +15 -8
  582. package/docs/Introduction.md +15 -36
  583. package/docs/RenderCache.md +8 -6
  584. package/docs/Theming.md +164 -497
  585. package/docs/Usage.md +129 -138
  586. package/docs/Utilities.md +2 -2
  587. package/docs/components/CollectionItem.md +1 -0
  588. package/docs/components/actions/Banner.md +1 -0
  589. package/docs/components/actions/Button.md +8 -36
  590. package/docs/components/actions/ButtonSplit.md +2 -0
  591. package/docs/components/actions/CommandMenu.md +8 -8
  592. package/docs/components/actions/ItemButton.md +6 -20
  593. package/docs/components/actions/Link.md +10 -5
  594. package/docs/components/actions/Menu.md +24 -11
  595. package/docs/components/actions/MenuTrigger.md +3 -12
  596. package/docs/components/actions/use-anchored-menu.md +5 -5
  597. package/docs/components/actions/use-context-menu.md +11 -7
  598. package/docs/components/content/Badge.md +3 -0
  599. package/docs/components/content/HotKeys.md +21 -14
  600. package/docs/components/content/InlineInput.md +14 -14
  601. package/docs/components/content/Item.md +25 -17
  602. package/docs/components/content/ItemCard.md +1 -0
  603. package/docs/components/content/Layout.md +12 -1
  604. package/docs/components/content/PrismCode.md +13 -18
  605. package/docs/components/content/Tag.md +1 -1
  606. package/docs/components/content/TextItem.md +5 -3
  607. package/docs/components/content/Tree.md +69 -154
  608. package/docs/components/data/DataTable.md +56 -168
  609. package/docs/components/data/ItemTable.md +182 -485
  610. package/docs/components/fields/Checkbox.md +2 -0
  611. package/docs/components/fields/ColorInput.md +38 -79
  612. package/docs/components/fields/ColorPicker.md +17 -39
  613. package/docs/components/fields/ColorSwatch.md +11 -30
  614. package/docs/components/fields/ColorSwatchGroup.md +18 -42
  615. package/docs/components/fields/ComboBox.md +13 -1
  616. package/docs/components/fields/CommandTextArea.md +10 -37
  617. package/docs/components/fields/DatePicker.md +3 -0
  618. package/docs/components/fields/FileInput.md +3 -0
  619. package/docs/components/fields/FilterListBox.md +34 -14
  620. package/docs/components/fields/FilterPicker.md +33 -16
  621. package/docs/components/fields/HueSlider.md +5 -5
  622. package/docs/components/fields/ListBox.md +35 -9
  623. package/docs/components/fields/NumberInput.md +3 -0
  624. package/docs/components/fields/PasswordInput.md +3 -0
  625. package/docs/components/fields/PeriodPicker.md +7 -17
  626. package/docs/components/fields/Picker.md +54 -29
  627. package/docs/components/fields/RadioGroup.md +13 -5
  628. package/docs/components/fields/SearchComboBox.md +3 -0
  629. package/docs/components/fields/SearchInput.md +4 -2
  630. package/docs/components/fields/Select.md +23 -13
  631. package/docs/components/fields/Switch.md +3 -0
  632. package/docs/components/fields/TextInput.md +3 -0
  633. package/docs/components/fields/TextInputMapper.md +1 -2
  634. package/docs/components/form/Field.md +5 -2
  635. package/docs/components/form/Form.md +5 -0
  636. package/docs/components/form/FormInstance.md +1 -1
  637. package/docs/components/helpers/DisplayTransition.md +10 -6
  638. package/docs/components/helpers/IconSwitch.md +1 -0
  639. package/docs/components/layout/Board.md +79 -213
  640. package/docs/components/navigation/Pagination.md +36 -75
  641. package/docs/components/navigation/Tabs.md +3 -15
  642. package/docs/components/other/Calendar.md +22 -39
  643. package/docs/components/other/CubeLogo.md +1 -1
  644. package/docs/components/overlays/Dialog.md +3 -0
  645. package/docs/components/overlays/DialogContainer.md +2 -0
  646. package/docs/components/overlays/DialogForm.md +6 -2
  647. package/docs/components/overlays/DialogTrigger.md +4 -2
  648. package/docs/components/overlays/Notifications.md +7 -0
  649. package/docs/components/overlays/Toast.md +12 -8
  650. package/docs/components/overlays/Tooltip.md +7 -3
  651. package/docs/components/overlays/UseDialogContainer.md +16 -10
  652. package/docs/components/status/LoadingAnimation.md +3 -9
  653. package/docs/tasty/configuration.md +195 -15
  654. package/docs/tasty/dsl.md +40 -5
  655. package/docs/tasty/injector.md +11 -0
  656. package/docs/tasty/methodology.md +1 -1
  657. package/docs/tasty/pipeline.md +1 -4
  658. package/docs/tasty/react-api.md +1 -1
  659. package/docs/tasty/styles.md +8 -1
  660. package/package.json +4 -4
  661. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
  662. package/dist/components/portal/PortalProvider.d.ts +0 -2
  663. package/dist/tokens/index.js.map +0 -1
@@ -149,11 +149,13 @@ The `mods` property accepts the following modifiers you can override:
149
149
  ## Best Practices
150
150
 
151
151
  1. **Do**: Provide clear, descriptive labels
152
+
152
153
  ```jsx
153
154
  <Checkbox>Enable two-factor authentication</Checkbox>
154
155
  ```
155
156
 
156
157
  2. **Don't**: Use unclear or ambiguous text
158
+
157
159
  ```jsx
158
160
  <Checkbox>Enable</Checkbox> {/* What gets enabled? */}
159
161
  ```
@@ -1,26 +1,16 @@
1
1
  # ColorInput
2
2
 
3
- An input for a single color. It reads and writes color **text** — hex, `rgb()`,
4
- `hsl()`, `okhsl()`, `okhst()` and `oklch()` — shows the current color as a
5
- swatch, and opens a popover where the color can be dialed in on three
6
- perceptual axes.
3
+ An input for a single color. It reads and writes color **text** — hex, `rgb()`, `hsl()`, `okhsl()`, `okhst()` and `oklch()` — shows the current color as a swatch, and opens a popover where the color can be dialed in on three perceptual axes.
7
4
 
8
- Every conversion goes through [Glaze](https://github.com/tenphi/glaze), so the
9
- canonical value the picker holds is OKHSL: bounded on every channel, and always
10
- inside the sRGB gamut. That is what makes an out-of-gamut state impossible and
11
- lets the same value be re-serialized into any of the supported notations without
12
- drift.
5
+ Every conversion goes through [Glaze](https://github.com/tenphi/glaze), so the canonical value the picker holds is OKHSL: bounded on every channel, and always inside the sRGB gamut. That is what makes an out-of-gamut state impossible and lets the same value be re-serialized into any of the supported notations without drift.
13
6
 
14
7
  ## When to Use
15
8
 
16
9
  - Theme and branding forms — a seed color, an accent, a chart series color
17
- - Anywhere a color has to be typed *or* explored, rather than chosen from a
18
- fixed palette
19
- - When the stored format matters (a design token file wants `oklch()`, a legacy
20
- API wants hex) and the input has to guarantee it
10
+ - Anywhere a color has to be typed _or_ explored, rather than chosen from a fixed palette
11
+ - When the stored format matters (a design token file wants `oklch()`, a legacy API wants hex) and the input has to guarantee it
21
12
 
22
- Reach for a `RadioGroup` or `Picker` of swatches instead when the choice is
23
- limited to a handful of approved colors.
13
+ Reach for a `RadioGroup` or `Picker` of swatches instead when the choice is limited to a handful of approved colors.
24
14
 
25
15
  ## Component
26
16
 
@@ -43,19 +33,11 @@ limited to a handful of approved colors.
43
33
  - **`onFocus`** `(event: FocusEvent) => void` — Fired when the text input receives focus
44
34
  - **`onBlur`** `(event: FocusEvent) => void` — Fired when the text input loses focus
45
35
 
46
- Named CSS colors (`red`, `rebeccapurple`) are **not** accepted — they are not a
47
- color space, and Glaze does not resolve them either. Alpha is parsed but
48
- dropped: the value is always opaque.
36
+ Named CSS colors (`red`, `rebeccapurple`) are **not** accepted — they are not a color space, and Glaze does not resolve them either. Alpha is parsed but dropped: the value is always opaque.
49
37
 
50
- Focusing the field selects the whole value, so a pasted color replaces it
51
- outright. The string is the unit of editing here: a single channel is tuned with
52
- the sliders rather than by hand-editing one number inside `oklch(…)`. Clicking a
53
- field that already has focus positions the caret as usual, so the text stays
54
- editable by hand.
38
+ Focusing the field selects the whole value, so a pasted color replaces it outright. The string is the unit of editing here: a single channel is tuned with the sliders rather than by hand-editing one number inside `oklch(…)`. Clicking a field that already has focus positions the caret as usual, so the text stays editable by hand.
55
39
 
56
- Rendered inside a color popover — as `ColorPicker` does at the top of its panel
57
- — the trigger is dropped automatically, since the popover it would open is the
58
- one already showing.
40
+ Rendered inside a color popover — as `ColorPicker` does at the top of its panel — the trigger is dropped automatically, since the popover it would open is the one already showing.
59
41
 
60
42
  ### Base Properties
61
43
 
@@ -104,40 +86,31 @@ These properties allow direct style application without using the `styles` prop:
104
86
 
105
87
  The `mods` property accepts the following modifiers you can override:
106
88
 
107
- | Modifier | Type | Description |
108
- | ---------- | --------- | ------------------------------------------------- |
109
- | `focused` | `boolean` | The text input has focus |
110
- | `hovered` | `boolean` | The pointer is over the input |
111
- | `disabled` | `boolean` | The picker is disabled |
112
- | `valid` | `boolean` | The field is in the valid state |
113
- | `invalid` | `boolean` | The field is in the invalid state |
114
- | `prefix` | `boolean` | A prefix (the swatch) is rendered |
115
- | `suffix` | `boolean` | A suffix (the trigger) is rendered |
89
+ | Modifier | Type | Description |
90
+ | ---------- | --------- | ---------------------------------- |
91
+ | `focused` | `boolean` | The text input has focus |
92
+ | `hovered` | `boolean` | The pointer is over the input |
93
+ | `disabled` | `boolean` | The picker is disabled |
94
+ | `valid` | `boolean` | The field is in the valid state |
95
+ | `invalid` | `boolean` | The field is in the invalid state |
96
+ | `prefix` | `boolean` | A prefix (the swatch) is rendered |
97
+ | `suffix` | `boolean` | A suffix (the trigger) is rendered |
116
98
 
117
99
  The swatch carries its own `empty` modifier while there is no color to show.
118
100
 
119
101
  ## Format modes
120
102
 
121
- The three modes differ in how much freedom the *text* gets. The value is always
122
- a real color in every one of them.
103
+ The three modes differ in how much freedom the _text_ gets. The value is always a real color in every one of them.
123
104
 
124
- | Mode | Text | Value |
125
- | -------- | ----------------------------------- | ---------------------------------------------------- |
126
- | `forced` | Rewritten in `format` on blur/Enter | Written in `format` from the first change on |
127
- | `derive` | Left exactly as typed | Normalized in the notation the text is written in |
128
- | `free` | Left exactly as typed | The text itself, verbatim |
105
+ | Mode | Text | Value |
106
+ | --- | --- | --- |
107
+ | `forced` | Rewritten in `format` on blur/Enter | Written in `format` from the first change on |
108
+ | `derive` | Left exactly as typed | Normalized in the notation the text is written in |
109
+ | `free` | Left exactly as typed | The text itself, verbatim |
129
110
 
130
- In every mode an entry that is not a color is rejected: the previous valid color
131
- stays the value while it is being typed, and the text snaps back to it on blur.
132
- Emptying the field is not an error — it commits `null`.
111
+ In every mode an entry that is not a color is rejected: the previous valid color stays the value while it is being typed, and the text snaps back to it on blur. Emptying the field is not an error — it commits `null`.
133
112
 
134
- **The value you pass in is left as you wrote it.** No mode reformats it on mount,
135
- including `forced` — doing so would mean calling `onChange` before the user has
136
- touched anything, which marks a form dirty for no reason. `forced` normalizes the
137
- text for display straight away, so the field can show `#7a4dbf` while the value
138
- is still the `rgb(122 77 191)` you supplied; from the first change onward the
139
- value is written in `format` too. Normalize before storing if the notation
140
- matters to you from the outset.
113
+ **The value you pass in is left as you wrote it.** No mode reformats it on mount, including `forced` — doing so would mean calling `onChange` before the user has touched anything, which marks a form dirty for no reason. `forced` normalizes the text for display straight away, so the field can show `#7a4dbf` while the value is still the `rgb(122 77 191)` you supplied; from the first change onward the value is written in `format` too. Normalize before storing if the notation matters to you from the outset.
141
114
 
142
115
  ```jsx
143
116
  // A design-token form that must store OKLCH
@@ -151,18 +124,15 @@ matters to you from the outset.
151
124
 
152
125
  The popover edits one canonical color through three sets of axes:
153
126
 
154
- | Space | Axes | Good for |
155
- | ----- | ----------------------------- | ----------------------------------------------------- |
127
+ | Space | Axes | Good for |
128
+ | --- | --- | --- |
156
129
  | `hst` | Hue, Saturation, Tone (OKHST) | Building ramps — equal tone steps read as equal steps |
157
- | `lch` | Lightness, Chroma, Hue (OKLCH)| Matching a value from a design-token file |
158
- | `rgb` | Red, Green, Blue | Matching a value from a legacy palette or a screenshot|
130
+ | `lch` | Lightness, Chroma, Hue (OKLCH) | Matching a value from a design-token file |
131
+ | `rgb` | Red, Green, Blue | Matching a value from a legacy palette or a screenshot |
159
132
 
160
- Each of these opens on its own space; the switcher inside the popover moves
161
- between them at any time.
133
+ Each of these opens on its own space; the switcher inside the popover moves between them at any time.
162
134
 
163
- `H` means the same angle in HST and LCH, so the hue strip is identical in both.
164
- The chroma slider is bounded by the sRGB gamut at the current lightness and hue,
165
- which is why its range changes as `L` moves.
135
+ `H` means the same angle in HST and LCH, so the hue strip is identical in both. The chroma slider is bounded by the sRGB gamut at the current lightness and hue, which is why its range changes as `L` moves.
166
136
 
167
137
  ## Examples
168
138
 
@@ -201,9 +171,7 @@ const [color, setColor] = useState('#7a4dbf');
201
171
 
202
172
  ### Using the value as a style
203
173
 
204
- Because the emitted value is a plain color string, it can go straight into a
205
- tasty style — including the `okhsl()` and `okhst()` notations, which tasty
206
- parses natively.
174
+ Because the emitted value is a plain color string, it can go straight into a tasty style — including the `okhsl()` and `okhst()` notations, which tasty parses natively.
207
175
 
208
176
  ```jsx
209
177
  const [color, setColor] = useState('okhst(264 80% 60%)');
@@ -230,8 +198,7 @@ const [color, setColor] = useState('okhst(264 80% 60%)');
230
198
  - The text input announces as a textbox with the field's label
231
199
  - The trigger announces as "Open the color picker"
232
200
  - The popover announces as a dialog named "Color picker"
233
- - Each channel slider sits in a group named after its axis (`Hue`,
234
- `Saturation`, `Tone`, `Lightness`, `Chroma`, `Red`, `Green`, `Blue`)
201
+ - Each channel slider sits in a group named after its axis (`Hue`, `Saturation`, `Tone`, `Lightness`, `Chroma`, `Red`, `Green`, `Blue`)
235
202
  - The swatch is decorative and is not announced — the text carries the value
236
203
 
237
204
  ### ARIA Properties
@@ -253,28 +220,20 @@ const [color, setColor] = useState('okhst(264 80% 60%)');
253
220
  <ColorInput aria-label="" />
254
221
  ```
255
222
 
256
- 3. **Do**: pick the `format` your backend stores, and leave `formatMode` at
257
- `forced` so the two can never disagree.
223
+ 3. **Do**: pick the `format` your backend stores, and leave `formatMode` at `forced` so the two can never disagree.
258
224
 
259
- 4. **Don't**: use `free` mode when the value is later parsed by something
260
- stricter than a browser — the text is passed through as written.
225
+ 4. **Don't**: use `free` mode when the value is later parsed by something stricter than a browser — the text is passed through as written.
261
226
 
262
227
  ## Integration with Forms
263
228
 
264
- This component supports all
265
- [Field properties](../../FieldProperties.md) when used
266
- within a Form. The field value is the color string, and clearing the input
267
- stores `null`, which makes `required` rules behave as expected.
229
+ This component supports all [Field properties](../../FieldProperties.md) when used within a Form. The field value is the color string, and clearing the input stores `null`, which makes `required` rules behave as expected.
268
230
 
269
231
  ## Suggested Improvements
270
232
 
271
- - An eyedropper that samples a pixel from the page, where
272
- [`EyeDropper`](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper) is
273
- available
233
+ - An eyedropper that samples a pixel from the page, where [`EyeDropper`](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper) is available
274
234
  - Optional alpha support, which the canonical value currently drops
275
235
  - A row of recent or preset swatches inside the popover
276
- - Editable numeric inputs next to each channel slider, for exact entry without
277
- going through the text field
236
+ - Editable numeric inputs next to each channel slider, for exact entry without going through the text field
278
237
 
279
238
  ## Related Components
280
239
 
@@ -1,12 +1,8 @@
1
1
  # ColorPicker
2
2
 
3
- A swatch button that opens the color popover. It is the same popover
4
- [ColorInput](./ColorInput.md) uses — three perceptual axes backed
5
- by [Glaze](https://github.com/tenphi/glaze) — without the text field in front of
6
- it.
3
+ A swatch button that opens the color popover. It is the same popover [ColorInput](./ColorInput.md) uses — three perceptual axes backed by [Glaze](https://github.com/tenphi/glaze) — without the text field in front of it.
7
4
 
8
- Reach for it when a color is **chosen but never typed**. Reach for `ColorInput`
9
- when someone needs to paste `#7a4dbf` from a brand guide.
5
+ Reach for it when a color is **chosen but never typed**. Reach for `ColorInput` when someone needs to paste `#7a4dbf` from a brand guide.
10
6
 
11
7
  ## When to Use
12
8
 
@@ -14,8 +10,7 @@ when someone needs to paste `#7a4dbf` from a brand guide.
14
10
  - A chart legend, a tag color, a cell in a dense table
15
11
  - Anywhere the exact notation is an implementation detail the user never sees
16
12
 
17
- Use [ColorInput](./ColorInput.md) instead when the color has to be
18
- readable and pasteable as text.
13
+ Use [ColorInput](./ColorInput.md) instead when the color has to be readable and pasteable as text.
19
14
 
20
15
  ## Component
21
16
 
@@ -41,10 +36,7 @@ readable and pasteable as text.
41
36
  - **`onOpenChange`** `(isOpen: boolean) => void` — Fired when the popover opens or closes
42
37
  - **`shouldFlip`** `boolean` (default: `true`) — Whether the popover may flip to the other side of the trigger
43
38
 
44
- There is no `formatMode`: with no text to reconcile, `format` alone decides how
45
- the value is written. Everything else about the color model — the notations it
46
- reads, the gamut handling, the three spaces — is identical to `ColorInput` and
47
- documented there.
39
+ There is no `formatMode`: with no text to reconcile, `format` alone decides how the value is written. Everything else about the color model — the notations it reads, the gamut handling, the three spaces — is identical to `ColorInput` and documented there.
48
40
 
49
41
  ### Base Properties
50
42
 
@@ -80,30 +72,25 @@ These properties allow direct style application without using the `styles` prop:
80
72
 
81
73
  The `mods` property accepts the following modifiers you can override:
82
74
 
83
- | Modifier | Type | Description |
84
- | ------------- | --------- | ------------------------------------ |
85
- | `placeholder` | `boolean` | No color is selected yet |
75
+ | Modifier | Type | Description |
76
+ | ------------- | --------- | ------------------------ |
77
+ | `placeholder` | `boolean` | No color is selected yet |
86
78
 
87
79
  The swatch carries its own `empty` modifier while there is no color to show.
88
80
 
89
81
  ### The value as text
90
82
 
91
- The popover carries a `ColorInput` above the preview, so the exact color can be
92
- read, copied, pasted and normalized in place rather than only dialed in. It has
93
- no trigger of its own — a disclosure inside the thing it discloses would be
94
- meaningless — and clearing it clears the picker.
83
+ The popover carries a `ColorInput` above the preview, so the exact color can be read, copied, pasted and normalized in place rather than only dialed in. It has no trigger of its own — a disclosure inside the thing it discloses would be meaningless — and clearing it clears the picker.
95
84
 
96
85
  ### A palette under the editor
97
86
 
98
- Pass `swatches` and a [ColorSwatchGroup](./ColorSwatchGroup.md)
99
- appears below the channels, so a common color is one press away.
87
+ Pass `swatches` and a [ColorSwatchGroup](./ColorSwatchGroup.md) appears below the channels, so a common color is one press away.
100
88
 
101
89
  ```jsx
102
90
  <ColorPicker label="Brand color" swatches={palette} swatchColumns={4} />
103
91
  ```
104
92
 
105
- That group never offers its own custom-color escape hatch, since the escape
106
- hatch is a `ColorPicker` and would nest popovers without end.
93
+ That group never offers its own custom-color escape hatch, since the escape hatch is a `ColorPicker` and would nest popovers without end.
107
94
 
108
95
  ## Examples
109
96
 
@@ -123,8 +110,7 @@ Drop the label for a compact button — a toolbar, or a cell in a table.
123
110
  </ColorPicker>
124
111
  ```
125
112
 
126
- Give it an `aria-label` when you do: with no visible text, that is the only
127
- thing naming the control.
113
+ Give it an `aria-label` when you do: with no visible text, that is the only thing naming the control.
128
114
 
129
115
  ### A label of your own
130
116
 
@@ -161,12 +147,10 @@ thing naming the control.
161
147
 
162
148
  ### Screen Reader Support
163
149
 
164
- - The trigger announces as a button, named by the field label, `aria-label`, or
165
- its own text
150
+ - The trigger announces as a button, named by the field label, `aria-label`, or its own text
166
151
  - The popover announces as a dialog named "Color picker"
167
152
  - Each channel slider sits in a group named after its axis
168
- - The swatch is decorative; the color is announced as the trigger's text unless
169
- you replace it
153
+ - The swatch is decorative; the color is announced as the trigger's text unless you replace it
170
154
 
171
155
  ### ARIA Properties
172
156
 
@@ -181,28 +165,22 @@ thing naming the control.
181
165
  <ColorPicker aria-label="Series color">{null}</ColorPicker>
182
166
  ```
183
167
 
184
- 2. **Don't**: leave a swatch-only picker unnamed — the swatch says nothing to a
185
- screen reader
168
+ 2. **Don't**: leave a swatch-only picker unnamed — the swatch says nothing to a screen reader
186
169
 
187
170
  ```jsx
188
171
  <ColorPicker>{null}</ColorPicker>
189
172
  ```
190
173
 
191
- 3. **Do**: reach for `ColorInput` the moment someone might want to paste a hex
192
- value; a picker alone makes that impossible.
174
+ 3. **Do**: reach for `ColorInput` the moment someone might want to paste a hex value; a picker alone makes that impossible.
193
175
 
194
176
  ## Integration with Forms
195
177
 
196
- This component supports all
197
- [Field properties](../../FieldProperties.md) when used
198
- within a Form. The field value is the color string.
178
+ This component supports all [Field properties](../../FieldProperties.md) when used within a Form. The field value is the color string.
199
179
 
200
180
  ## Suggested Improvements
201
181
 
202
182
  - A row of recent or preset swatches inside the popover
203
- - An eyedropper that samples a pixel from the page, where
204
- [`EyeDropper`](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper) is
205
- available
183
+ - An eyedropper that samples a pixel from the page, where [`EyeDropper`](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper) is available
206
184
  - Clearing the color back to `null` from the trigger
207
185
 
208
186
  ## Related Components
@@ -1,13 +1,8 @@
1
1
  # ColorSwatch
2
2
 
3
- A square of color. It is the smallest piece of the color family —
4
- [ColorPicker](./ColorPicker.md),
5
- [ColorInput](./ColorInput.md) and
6
- [ColorSwatchGroup](./ColorSwatchGroup.md) all draw one, and it is
7
- exported so a legend, a list row or a table cell can draw the same one.
3
+ A square of color. It is the smallest piece of the color family — [ColorPicker](./ColorPicker.md), [ColorInput](./ColorInput.md) and [ColorSwatchGroup](./ColorSwatchGroup.md) all draw one, and it is exported so a legend, a list row or a table cell can draw the same one.
8
4
 
9
- It is decorative on its own: it carries no text and no accessible name. Pair it
10
- with the value written out, or put it in a control that names it.
5
+ It is decorative on its own: it carries no text and no accessible name. Pair it with the value written out, or put it in a control that names it.
11
6
 
12
7
  ## When to Use
13
8
 
@@ -32,8 +27,7 @@ Supports [Base properties](../../BaseProperties.md)
32
27
 
33
28
  #### styles
34
29
 
35
- Customizes the swatch itself. `width` and `height` set here win over both the
36
- `size` prop and the automatic sizing.
30
+ Customizes the swatch itself. `width` and `height` set here win over both the `size` prop and the automatic sizing.
37
31
 
38
32
  ### Style Properties
39
33
 
@@ -48,9 +42,9 @@ These properties allow direct style application without using the `styles` prop:
48
42
 
49
43
  The `mods` property accepts the following modifiers you can override:
50
44
 
51
- | Modifier | Type | Description |
52
- | -------- | --------- | -------------------------------------------------------------- |
53
- | `empty` | `boolean` | No color to show — drawn as the conventional diagonal stroke |
45
+ | Modifier | Type | Description |
46
+ | --- | --- | --- |
47
+ | `empty` | `boolean` | No color to show — drawn as the conventional diagonal stroke |
54
48
 
55
49
  ## Sizes
56
50
 
@@ -60,21 +54,11 @@ The `mods` property accepts the following modifiers you can override:
60
54
 
61
55
  ### Sizing inside a control
62
56
 
63
- Leave `size` off and the swatch sizes itself to whatever it sits in. `Item`,
64
- `Button` and the text inputs publish their own height as the `$size` custom
65
- property, and the swatch reads it and lands `8px` inside — `20px` in a `small`
66
- control, `24px` in a `medium` one, `28px` in a `large` one. Nothing has to be
67
- passed between the two, so a control that changes size takes its swatch with it.
57
+ Leave `size` off and the swatch sizes itself to whatever it sits in. `Item`, `Button` and the text inputs publish their own height as the `$size` custom property, and the swatch reads it and lands `8px` inside — `20px` in a `small` control, `24px` in a `medium` one, `28px` in a `large` one. Nothing has to be passed between the two, so a control that changes size takes its swatch with it.
68
58
 
69
- Outside a control there is nothing to read, and the swatch falls back to
70
- `medium`.
59
+ Outside a control there is nothing to read, and the swatch falls back to `medium`.
71
60
 
72
- `ColorInput` and `ColorPicker` deliberately do **not** use this. Their swatch is a
73
- fixed `20px` badge at every field size — it reads as a value the field is showing
74
- rather than as part of the control, and a text input hangs its prefix off the border
75
- with no padding of its own, so a tracking swatch in a large field would sit against
76
- the edge. Automatic fitting is for a swatch you place yourself, in a `Button` or an
77
- `Item`, where the host has the padding that makes it work.
61
+ `ColorInput` and `ColorPicker` deliberately do **not** use this. Their swatch is a fixed `20px` badge at every field size — it reads as a value the field is showing rather than as part of the control, and a text input hangs its prefix off the border with no padding of its own, so a tracking swatch in a large field would sit against the edge. Automatic fitting is for a swatch you place yourself, in a `Button` or an `Item`, where the host has the padding that makes it work.
78
62
 
79
63
  ## Examples
80
64
 
@@ -96,8 +80,7 @@ the edge. Automatic fitting is for a swatch you place yourself, in a `Button` or
96
80
 
97
81
  ### With the value spelled out
98
82
 
99
- The swatch has no accessible name of its own, so the text beside it is what a
100
- screen reader announces.
83
+ The swatch has no accessible name of its own, so the text beside it is what a screen reader announces.
101
84
 
102
85
  ```jsx
103
86
  <Space gap="1x" placeItems="center start">
@@ -120,9 +103,7 @@ screen reader announces.
120
103
 
121
104
  ## Accessibility
122
105
 
123
- `ColorSwatch` renders a plain `div` with no role and no name — a color on its
124
- own is not information a screen reader can use, and an announced hex is rarely
125
- what the user wants to hear.
106
+ `ColorSwatch` renders a plain `div` with no role and no name — a color on its own is not information a screen reader can use, and an announced hex is rarely what the user wants to hear.
126
107
 
127
108
  - **Do** put the value, or the name of the thing the color belongs to, next to it
128
109
  - **Do** rely on the surrounding control's `aria-label` when the swatch is its icon
@@ -1,13 +1,8 @@
1
1
  # ColorSwatchGroup
2
2
 
3
- A grid of color swatches, one of which can be selected. It is the palette half
4
- of choosing a color, where [ColorPicker](./ColorPicker.md) is the
5
- freeform half — and the two compose: pass `swatches` to a `ColorPicker` and the
6
- palette appears under the editor.
3
+ A grid of color swatches, one of which can be selected. It is the palette half of choosing a color, where [ColorPicker](./ColorPicker.md) is the freeform half — and the two compose: pass `swatches` to a `ColorPicker` and the palette appears under the editor.
7
4
 
8
- Under the hood it is a radio group, so one tab stop and arrow keys move between
9
- swatches. The API is shaped after `Picker` rather than `RadioGroup`: colors go in
10
- as data, not as children.
5
+ Under the hood it is a radio group, so one tab stop and arrow keys move between swatches. The API is shaped after `Picker` rather than `RadioGroup`: colors go in as data, not as children.
11
6
 
12
7
  ## When to Use
13
8
 
@@ -58,41 +53,33 @@ These properties allow direct style application without using the `styles` prop:
58
53
 
59
54
  ### Style Props on the group
60
55
 
61
- `ColorSwatchGroup` and `ColorPicker` both take the outer and block style props,
62
- so `radius`, `border`, `padding` and `shadow` work directly on them.
56
+ `ColorSwatchGroup` and `ColorPicker` both take the outer and block style props, so `radius`, `border`, `padding` and `shadow` work directly on them.
63
57
 
64
58
  ### Modifiers
65
59
 
66
60
  The `mods` property accepts the following modifiers you can override:
67
61
 
68
- | Modifier | Type | Description |
69
- | ---------- | --------- | ---------------------------------- |
70
- | `selected` | `boolean` | The swatch is the selected color |
71
- | `empty` | `boolean` | The swatch has no color to show |
72
- | `disabled` | `boolean` | The group is disabled |
62
+ | Modifier | Type | Description |
63
+ | ---------- | --------- | -------------------------------- |
64
+ | `selected` | `boolean` | The swatch is the selected color |
65
+ | `empty` | `boolean` | The swatch has no color to show |
66
+ | `disabled` | `boolean` | The group is disabled |
73
67
 
74
68
  ## ColorSwatch
75
69
 
76
- The square itself is exported, for the times you need to show a color without a
77
- control around it — a legend, a table cell, a summary line. It takes direct
78
- style props, so its shape and size are yours:
70
+ The square itself is exported, for the times you need to show a color without a control around it — a legend, a table cell, a summary line. It takes direct style props, so its shape and size are yours:
79
71
 
80
72
  ```jsx
81
73
  <ColorSwatch color="#7a4dbf" radius="round" width="4x" height="4x" />
82
74
  ```
83
75
 
84
- It is decorative on its own: pair it with the value as text, or with something
85
- that names it.
76
+ It is decorative on its own: pair it with the value as text, or with something that names it.
86
77
 
87
78
  ## Swatches must be unique
88
79
 
89
- Equivalent colors are collapsed into one swatch, because two entries for the
90
- same color make selection ambiguous — there would be no way to say which one is
91
- selected. Matching is done on the canonical hex, so `#ff0000`, `rgb(255 0 0)`
92
- and `hsl(0 100% 50%)` are one swatch, not three.
80
+ Equivalent colors are collapsed into one swatch, because two entries for the same color make selection ambiguous — there would be no way to say which one is selected. Matching is done on the canonical hex, so `#ff0000`, `rgb(255 0 0)` and `hsl(0 100% 50%)` are one swatch, not three.
93
81
 
94
- The same matching decides which swatch a value selects, so `value` need not be
95
- written in the same notation as the swatch it refers to.
82
+ The same matching decides which swatch a value selects, so `value` need not be written in the same notation as the swatch it refers to.
96
83
 
97
84
  ## Examples
98
85
 
@@ -109,10 +96,7 @@ written in the same notation as the swatch it refers to.
109
96
 
110
97
  ### Wrapping onto rows
111
98
 
112
- By default the swatches wrap to fill whatever width they are given: a single row
113
- where there is room, more rows where there is not. `columns` pins them to a
114
- fixed grid instead, sized to the swatches rather than stretched across the
115
- container.
99
+ By default the swatches wrap to fill whatever width they are given: a single row where there is room, more rows where there is not. `columns` pins them to a fixed grid instead, sized to the swatches rather than stretched across the container.
116
100
 
117
101
  ```jsx
118
102
  <ColorSwatchGroup colors={palette} columns={4} />
@@ -120,8 +104,7 @@ container.
120
104
 
121
105
  ### Naming the swatches
122
106
 
123
- A swatch announces its color by default, which is rarely the most useful thing
124
- to hear. Give the colors names when they have them.
107
+ A swatch announces its color by default, which is rarely the most useful thing to hear. Give the colors names when they have them.
125
108
 
126
109
  ```jsx
127
110
  <ColorSwatchGroup
@@ -138,8 +121,7 @@ to hear. Give the colors names when they have them.
138
121
  <ColorSwatchGroup colors={palette} allowCustom />
139
122
  ```
140
123
 
141
- The trailing picker shows the current color whenever that color is not one of
142
- the swatches, so a custom choice stays visible.
124
+ The trailing picker shows the current color whenever that color is not one of the swatches, so a custom choice stays visible.
143
125
 
144
126
  ### Inside a ColorPicker
145
127
 
@@ -147,10 +129,7 @@ the swatches, so a custom choice stays visible.
147
129
  <ColorPicker label="Brand color" swatches={palette} swatchColumns={4} />
148
130
  ```
149
131
 
150
- `allowCustom` is ignored there, and deliberately so: the escape hatch is itself
151
- a `ColorPicker`, so offering it inside one would nest popovers without end. The
152
- group reads a context the popover provides, which means the recursion cannot be
153
- written even by hand.
132
+ `allowCustom` is ignored there, and deliberately so: the escape hatch is itself a `ColorPicker`, so offering it inside one would nest popovers without end. The group reads a context the popover provides, which means the recursion cannot be written even by hand.
154
133
 
155
134
  ## Accessibility
156
135
 
@@ -184,14 +163,11 @@ written even by hand.
184
163
  <ColorSwatchGroup colors={['#ff0000', 'rgb(255 0 0)']} />
185
164
  ```
186
165
 
187
- 3. **Do**: reach for `allowCustom` only where a color outside the palette is
188
- genuinely acceptable. A fixed set is the point of this component.
166
+ 3. **Do**: reach for `allowCustom` only where a color outside the palette is genuinely acceptable. A fixed set is the point of this component.
189
167
 
190
168
  ## Integration with Forms
191
169
 
192
- This component supports all
193
- [Field properties](../../FieldProperties.md) when used
194
- within a Form. The field value is the color string.
170
+ This component supports all [Field properties](../../FieldProperties.md) when used within a Form. The field value is the color string.
195
171
 
196
172
  ## Suggested Improvements
197
173
 
@@ -66,6 +66,7 @@ A combobox component that combines a text input with a dropdown list, allowing u
66
66
  **clearOnBlur** - When `true`, clears both the selection and input when the input loses focus. When `false` (default), the input reverts to showing the current selection. Only applies to non-custom-value mode. Useful for search-like scenarios where you want to reset after each interaction.
67
67
 
68
68
  **popoverTrigger** - Controls how the popover opens:
69
+
69
70
  - `manual` - Only opens via trigger button or arrow keys
70
71
  - `input` (default) - Opens when user types + manual triggers
71
72
  - `focus` - Opens on input focus + typing + manual triggers
@@ -87,6 +88,7 @@ Supports all [Field properties](../../FieldProperties.md)
87
88
  Customizes the root wrapper element of the ComboBox (the input container).
88
89
 
89
90
  **Sub-elements:**
91
+
90
92
  - `Prefix` - Container for prefix content and icons
91
93
  - `Suffix` - Container for suffix content, validation icons, and action buttons
92
94
  - `InputIcon` - Container for the left icon
@@ -545,6 +547,7 @@ const [selectedKey, setSelectedKey] = useState(null);
545
547
  ## Best Practices
546
548
 
547
549
  1. **Do**: Provide clear labels and placeholders
550
+
548
551
  ```jsx
549
552
  <ComboBox
550
553
  label="Country"
@@ -555,6 +558,7 @@ const [selectedKey, setSelectedKey] = useState(null);
555
558
  ```
556
559
 
557
560
  2. **Do**: Use sections to group related options
561
+
558
562
  ```jsx
559
563
  <ComboBox label="Contact">
560
564
  <ComboBox.Section title="Recent">
@@ -567,6 +571,7 @@ const [selectedKey, setSelectedKey] = useState(null);
567
571
  ```
568
572
 
569
573
  3. **Do**: Enable `allowsCustomValue` when user input flexibility is needed
574
+
570
575
  ```jsx
571
576
  <ComboBox
572
577
  allowsCustomValue
@@ -578,6 +583,7 @@ const [selectedKey, setSelectedKey] = useState(null);
578
583
  ```
579
584
 
580
585
  4. **Don't**: Use ComboBox for a small fixed set of options
586
+
581
587
  ```jsx
582
588
  {/* Use Select instead for simple dropdowns */}
583
589
  <ComboBox label="Yes or No">
@@ -587,6 +593,7 @@ const [selectedKey, setSelectedKey] = useState(null);
587
593
  ```
588
594
 
589
595
  5. **Don't**: Disable filtering on large lists
596
+
590
597
  ```jsx
591
598
  {/* Defeats the purpose of ComboBox's search capability */}
592
599
  <ComboBox filter={false} label="Countries">
@@ -595,6 +602,7 @@ const [selectedKey, setSelectedKey] = useState(null);
595
602
  ```
596
603
 
597
604
  6. **Accessibility**: Always provide meaningful labels and descriptions
605
+
598
606
  ```jsx
599
607
  <ComboBox
600
608
  label="Product Category"
@@ -606,6 +614,7 @@ const [selectedKey, setSelectedKey] = useState(null);
606
614
  ```
607
615
 
608
616
  7. **Performance**: Use `items` prop with render function for dynamic lists
617
+
609
618
  ```jsx
610
619
  <ComboBox items={largeDataset}>
611
620
  {(item) => <ComboBox.Item key={item.id}>{item.name}</ComboBox.Item>}
@@ -613,6 +622,7 @@ const [selectedKey, setSelectedKey] = useState(null);
613
622
  ```
614
623
 
615
624
  8. **Smart Behavior**: The ComboBox automatically shows all items when opening the popover after filtering yields no results
625
+
616
626
  ```jsx
617
627
  {/* User types "xyz" (no match), then clicks trigger - shows all items */}
618
628
  <ComboBox label="Search">
@@ -622,6 +632,7 @@ const [selectedKey, setSelectedKey] = useState(null);
622
632
  ```
623
633
 
624
634
  9. **Selected Item Sorting**: Use `items` prop for automatic selected-item-first sorting
635
+
625
636
  ```jsx
626
637
  {/* With items prop, selected item appears first by default */}
627
638
  <ComboBox items={options} defaultSelectedKey="option5">
@@ -630,10 +641,11 @@ const [selectedKey, setSelectedKey] = useState(null);
630
641
  ```
631
642
 
632
643
  10. **Independent Control**: Control input and selection separately when needed
644
+
633
645
  ```jsx
634
646
  const [inputValue, setInputValue] = useState('');
635
647
  const [selectedKey, setSelectedKey] = useState(null);
636
-
648
+
637
649
  <ComboBox
638
650
  inputValue={inputValue}
639
651
  selectedKey={selectedKey}