@keboola/design 14.0.0 → 15.0.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 (299) hide show
  1. package/AGENTS.md +11 -23
  2. package/CHANGELOG.md +33 -0
  3. package/COMPONENT-API.md +109 -115
  4. package/dist/{AIKit-BRSZ3nY7.js → AIKit-CaAW4GLx.js} +13 -18
  5. package/dist/AIKit-CaAW4GLx.js.map +1 -0
  6. package/dist/{Alert-CZ0dDsuk.js → Alert-Chz6KZ7e.js} +11 -20
  7. package/dist/Alert-Chz6KZ7e.js.map +1 -0
  8. package/dist/{AlertModal-BDle9ZVQ.js → AlertModal-D4AtpvLS.js} +15 -35
  9. package/dist/AlertModal-D4AtpvLS.js.map +1 -0
  10. package/dist/{AppShell-B03fj1j7.js → AppShell-C8V1KRr_.js} +2 -2
  11. package/dist/{AppShell-B03fj1j7.js.map → AppShell-C8V1KRr_.js.map} +1 -1
  12. package/dist/{AutoSaveTextarea-jiqNeeE4.js → AutoSaveTextarea-BbMhC5Aq.js} +3 -3
  13. package/dist/AutoSaveTextarea-BbMhC5Aq.js.map +1 -0
  14. package/dist/{Badge-Ba3epgcI.js → Badge-5GHIsgRS.js} +14 -3
  15. package/dist/Badge-5GHIsgRS.js.map +1 -0
  16. package/dist/{BrandEditor-CN2HJ_12.js → BrandEditor-CTGtQUFZ.js} +7 -9
  17. package/dist/BrandEditor-CTGtQUFZ.js.map +1 -0
  18. package/dist/{BrandLogo-BfITD0im.js → BrandLogo-DkESE19K.js} +2 -2
  19. package/dist/{BrandLogo-BfITD0im.js.map → BrandLogo-DkESE19K.js.map} +1 -1
  20. package/dist/{Breadcrumb-BnIlsoIH.js → Breadcrumb-B2YSNON4.js} +4 -4
  21. package/dist/{Breadcrumb-BnIlsoIH.js.map → Breadcrumb-B2YSNON4.js.map} +1 -1
  22. package/dist/{Button-D2JqBAq7.js → Button-BNkyYU8u.js} +9 -185
  23. package/dist/Button-BNkyYU8u.js.map +1 -0
  24. package/dist/{Card-Bpc_ZlL4.js → Card-DxjGiqH8.js} +11 -18
  25. package/dist/Card-DxjGiqH8.js.map +1 -0
  26. package/dist/{Checkbox-uFE8XLT_.js → Checkbox-CHDDJyAA.js} +20 -45
  27. package/dist/Checkbox-CHDDJyAA.js.map +1 -0
  28. package/dist/{Clipboard-D-9XOqy4.js → Clipboard-DlwVZS1P.js} +2 -2
  29. package/dist/{Clipboard-D-9XOqy4.js.map → Clipboard-DlwVZS1P.js.map} +1 -1
  30. package/dist/{ClipboardButton-DxvZG_H0.js → ClipboardButton-B1Hr_n_Z.js} +3 -3
  31. package/dist/{ClipboardButton-DxvZG_H0.js.map → ClipboardButton-B1Hr_n_Z.js.map} +1 -1
  32. package/dist/{CodeEditor-BfRSCKEs.js → CodeEditor-DVSPdfdo.js} +24 -31
  33. package/dist/CodeEditor-DVSPdfdo.js.map +1 -0
  34. package/dist/{ColorInput-CDKH8q_f.js → ColorInput-B_eZIu39.js} +5 -7
  35. package/dist/ColorInput-B_eZIu39.js.map +1 -0
  36. package/dist/{ColorModeSwitch-DR6J2U6M.js → ColorModeSwitch-B6UEzG0H.js} +3 -3
  37. package/dist/{ColorModeSwitch-DR6J2U6M.js.map → ColorModeSwitch-B6UEzG0H.js.map} +1 -1
  38. package/dist/{Combobox-CEesMe2M.js → Combobox-CaKqgstG.js} +15 -23
  39. package/dist/Combobox-CaKqgstG.js.map +1 -0
  40. package/dist/{Command-T3MLRaen.js → Command-DhXmqFLT.js} +46 -32
  41. package/dist/Command-DhXmqFLT.js.map +1 -0
  42. package/dist/{CopyField-CNbCHw9a.js → CopyField-D0Pg4Z0R.js} +2 -2
  43. package/dist/{CopyField-CNbCHw9a.js.map → CopyField-D0Pg4Z0R.js.map} +1 -1
  44. package/dist/{DateInput-ClK1lCxz.js → DateInput-BgbMDJkm.js} +5 -7
  45. package/dist/DateInput-BgbMDJkm.js.map +1 -0
  46. package/dist/{DatePicker-CgHAu9KX.js → DatePicker-BXpDRo-R.js} +2 -2
  47. package/dist/{DatePicker-CgHAu9KX.js.map → DatePicker-BXpDRo-R.js.map} +1 -1
  48. package/dist/{DateRangeInput-DtlAffS1.js → DateRangeInput-BW0-_jV0.js} +5 -7
  49. package/dist/DateRangeInput-BW0-_jV0.js.map +1 -0
  50. package/dist/{DateRangePicker-CXpXPMoh.js → DateRangePicker-C4-DoWac.js} +7 -12
  51. package/dist/DateRangePicker-C4-DoWac.js.map +1 -0
  52. package/dist/{DropdownMenu-B1gGvZoh.js → DropdownMenu-CcVbZ_5u.js} +35 -64
  53. package/dist/DropdownMenu-CcVbZ_5u.js.map +1 -0
  54. package/dist/{FieldItem-CYvJyjiI.js → FieldItem-BHUqgSO1.js} +3 -3
  55. package/dist/{FieldItem-CYvJyjiI.js.map → FieldItem-BHUqgSO1.js.map} +1 -1
  56. package/dist/{FileUpload-D6vPG3WB.js → FileUpload-BYFONpEl.js} +3 -3
  57. package/dist/FileUpload-BYFONpEl.js.map +1 -0
  58. package/dist/{Form-CD55zJiy.js → Form-CAofWyMI.js} +8 -8
  59. package/dist/{Form-CD55zJiy.js.map → Form-CAofWyMI.js.map} +1 -1
  60. package/dist/{FormGroup-DiYFdEhH.js → FormGroup-V5kIgQRN.js} +3 -3
  61. package/dist/{FormGroup-DiYFdEhH.js.map → FormGroup-V5kIgQRN.js.map} +1 -1
  62. package/dist/{FullScreenModal-CUuAakh3.js → FullScreenModal-DAvvlGOz.js} +2 -5
  63. package/dist/FullScreenModal-DAvvlGOz.js.map +1 -0
  64. package/dist/HoverCard-Cv5rmvJq.js +26 -0
  65. package/dist/HoverCard-Cv5rmvJq.js.map +1 -0
  66. package/dist/{InlineEdit-D5RdunZo.js → InlineEdit-D4P0SvCB.js} +5 -9
  67. package/dist/InlineEdit-D4P0SvCB.js.map +1 -0
  68. package/dist/{InputGroup-Dm014ruw.js → InputGroup-CZv_7QlM.js} +39 -146
  69. package/dist/InputGroup-CZv_7QlM.js.map +1 -0
  70. package/dist/{Kbd-3YM7NQO4.js → Kbd-CflKthfu.js} +5 -14
  71. package/dist/Kbd-CflKthfu.js.map +1 -0
  72. package/dist/{MermaidDiagram-CeiOkI60.js → MermaidDiagram-Te-5gOCU.js} +4 -4
  73. package/dist/{MermaidDiagram-CeiOkI60.js.map → MermaidDiagram-Te-5gOCU.js.map} +1 -1
  74. package/dist/{Modal-DMZRswk4.js → Modal-CbUz-5YH.js} +17 -36
  75. package/dist/Modal-CbUz-5YH.js.map +1 -0
  76. package/dist/{ModalTitle-CTECVgL8.js → ModalTitle-cy0Ht9VY.js} +2 -2
  77. package/dist/{ModalTitle-CTECVgL8.js.map → ModalTitle-cy0Ht9VY.js.map} +1 -1
  78. package/dist/{MultiActionButtonGroup-CEv_txvz.js → MultiActionButtonGroup-Dzig87s1.js} +3 -3
  79. package/dist/{MultiActionButtonGroup-CEv_txvz.js.map → MultiActionButtonGroup-Dzig87s1.js.map} +1 -1
  80. package/dist/{Navbar-CtVYcRFn.js → Navbar-DHUS7XiU.js} +2 -2
  81. package/dist/{Navbar-CtVYcRFn.js.map → Navbar-DHUS7XiU.js.map} +1 -1
  82. package/dist/OtpInput-CY8yCaJk.js.map +1 -1
  83. package/dist/{PageToolbar-B_e7HGva.js → PageToolbar-DJ5tdYla.js} +4 -4
  84. package/dist/{PageToolbar-B_e7HGva.js.map → PageToolbar-DJ5tdYla.js.map} +1 -1
  85. package/dist/{Pagination-DDp6PRqf.js → Pagination-D27x5KmH.js} +2 -2
  86. package/dist/{Pagination-DDp6PRqf.js.map → Pagination-D27x5KmH.js.map} +1 -1
  87. package/dist/{Popconfirm-BgV6a0sl.js → Popconfirm-DwLCYNaF.js} +3 -3
  88. package/dist/{Popconfirm-BgV6a0sl.js.map → Popconfirm-DwLCYNaF.js.map} +1 -1
  89. package/dist/{Popover-BU7nGOv-.js → Popover-DtUDwUVO.js} +24 -37
  90. package/dist/Popover-DtUDwUVO.js.map +1 -0
  91. package/dist/{RadioGroup-C8EC3fqO.js → RadioGroup-B0TwHjBb.js} +9 -13
  92. package/dist/RadioGroup-B0TwHjBb.js.map +1 -0
  93. package/dist/{Search-aaUMI4ix.js → Search-vyZwGKMU.js} +3 -3
  94. package/dist/{Search-aaUMI4ix.js.map → Search-vyZwGKMU.js.map} +1 -1
  95. package/dist/{SearchInput-Dxi2GK4n.js → SearchInput-DyYXyw3u.js} +4 -6
  96. package/dist/SearchInput-DyYXyw3u.js.map +1 -0
  97. package/dist/{SectionNav-BnHOMLtE.js → SectionNav-tLK3iF6c.js} +5 -5
  98. package/dist/{SectionNav-BnHOMLtE.js.map → SectionNav-tLK3iF6c.js.map} +1 -1
  99. package/dist/{Select-CjQgU_6K.js → Select-B22hB_-w.js} +11 -25
  100. package/dist/Select-B22hB_-w.js.map +1 -0
  101. package/dist/{Sheet-utw4_rUa.js → Sheet-0TWKTqid.js} +12 -15
  102. package/dist/Sheet-0TWKTqid.js.map +1 -0
  103. package/dist/{Sidebar-BAmux2Uj.js → Sidebar-C5hdANBU.js} +11 -11
  104. package/dist/Sidebar-C5hdANBU.js.map +1 -0
  105. package/dist/{Slider-DbzzSDRV.js → Slider-DrcsM8_G.js} +4 -4
  106. package/dist/Slider-DrcsM8_G.js.map +1 -0
  107. package/dist/{Stepper-BBPembeK.js → Stepper-CQrUPVFL.js} +2 -2
  108. package/dist/Stepper-CQrUPVFL.js.map +1 -0
  109. package/dist/Switch-DccpSpzC.js +66 -0
  110. package/dist/Switch-DccpSpzC.js.map +1 -0
  111. package/dist/{Tabs-C0uvkPHc.js → Tabs-Ck4uWf8U.js} +2 -2
  112. package/dist/{Tabs-C0uvkPHc.js.map → Tabs-Ck4uWf8U.js.map} +1 -1
  113. package/dist/{TextInput-K2DSDs5O.js → TextInput-CR0_USaY.js} +4 -7
  114. package/dist/TextInput-CR0_USaY.js.map +1 -0
  115. package/dist/{ThemeProvider-C8yaKlM1.js → ThemeProvider-BTK7AL-T.js} +21 -8
  116. package/dist/ThemeProvider-BTK7AL-T.js.map +1 -0
  117. package/dist/{TimePicker-DyyV3nw8.js → TimePicker-CoRpiEM3.js} +2 -2
  118. package/dist/{TimePicker-DyyV3nw8.js.map → TimePicker-CoRpiEM3.js.map} +1 -1
  119. package/dist/{Toast-BGnUL4jV.js → Toast-937n7n8i.js} +2 -2
  120. package/dist/{Toast-BGnUL4jV.js.map → Toast-937n7n8i.js.map} +1 -1
  121. package/dist/{ToggleAllTooltip-Dlmq-yqS.js → ToggleAllTooltip-DEjbWFoj.js} +2 -2
  122. package/dist/{ToggleAllTooltip-Dlmq-yqS.js.map → ToggleAllTooltip-DEjbWFoj.js.map} +1 -1
  123. package/dist/{ZoomableSvg-Dh1OstPN.js → ZoomableSvg-DnFXo2L4.js} +4 -4
  124. package/dist/{ZoomableSvg-Dh1OstPN.js.map → ZoomableSvg-DnFXo2L4.js.map} +1 -1
  125. package/dist/editors.js +4 -4
  126. package/dist/flint.js +4 -4
  127. package/dist/index.d.ts +72 -118
  128. package/dist/index.js +60 -61
  129. package/dist/internal/blocks/AIKit.js +1 -1
  130. package/dist/internal/blocks/AppShell.js +1 -1
  131. package/dist/internal/blocks/AuthLayout.js +1 -1
  132. package/dist/internal/blocks/AutoSaveTextarea.js +1 -1
  133. package/dist/internal/blocks/BrandEditor.js +1 -1
  134. package/dist/internal/blocks/ChartPanel.js +1 -1
  135. package/dist/internal/blocks/ChipEditor.js +5 -9
  136. package/dist/internal/blocks/ChipEditor.js.map +1 -1
  137. package/dist/internal/blocks/ClipboardButton.js +1 -1
  138. package/dist/internal/blocks/ColorInput.js +1 -1
  139. package/dist/internal/blocks/ColorModeSwitch.js +1 -1
  140. package/dist/internal/blocks/Command.js +1 -1
  141. package/dist/internal/blocks/CopyField.js +1 -1
  142. package/dist/internal/blocks/DateInput.js +1 -1
  143. package/dist/internal/blocks/DateRangeInput.js +1 -1
  144. package/dist/internal/blocks/EmptyConfigurationActionCard.js +1 -1
  145. package/dist/internal/blocks/ErrorState.js +18 -29
  146. package/dist/internal/blocks/ErrorState.js.map +1 -1
  147. package/dist/internal/blocks/ExportMenu.js +3 -3
  148. package/dist/internal/blocks/ExportMenu.js.map +1 -1
  149. package/dist/internal/blocks/Form/connectors/ComboboxField.js +2 -2
  150. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +1 -1
  151. package/dist/internal/blocks/Form.js +1 -1
  152. package/dist/internal/blocks/FormGroup.js +1 -1
  153. package/dist/internal/blocks/InlineEdit.js +1 -1
  154. package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
  155. package/dist/internal/blocks/MultiCombobox.js +5 -9
  156. package/dist/internal/blocks/MultiCombobox.js.map +1 -1
  157. package/dist/internal/blocks/NumberInput.js +2 -4
  158. package/dist/internal/blocks/NumberInput.js.map +1 -1
  159. package/dist/internal/blocks/PageToolbar.js +1 -1
  160. package/dist/internal/blocks/PasswordInput.js +3 -5
  161. package/dist/internal/blocks/PasswordInput.js.map +1 -1
  162. package/dist/internal/blocks/SearchInput.js +1 -1
  163. package/dist/internal/blocks/SearchInputWithNavigation.js +6 -7
  164. package/dist/internal/blocks/SearchInputWithNavigation.js.map +1 -1
  165. package/dist/internal/blocks/SectionNav.js +1 -1
  166. package/dist/internal/blocks/SplitButton.js +2 -2
  167. package/dist/internal/blocks/StatCard.js +1 -1
  168. package/dist/internal/blocks/TextInput.js +1 -1
  169. package/dist/internal/blocks/Textarea.js +3 -8
  170. package/dist/internal/blocks/Textarea.js.map +1 -1
  171. package/dist/internal/blocks/TimeInput.js +4 -6
  172. package/dist/internal/blocks/TimeInput.js.map +1 -1
  173. package/dist/internal/components/Alert.js +1 -1
  174. package/dist/internal/components/AlertModal.js +1 -1
  175. package/dist/internal/components/Avatar.js +1 -1
  176. package/dist/internal/components/Badge.js +1 -1
  177. package/dist/internal/components/BrandLogo.js +1 -1
  178. package/dist/internal/components/Breadcrumb.js +1 -1
  179. package/dist/internal/components/Button.js +2 -2
  180. package/dist/internal/components/ButtonGroup.js +1 -1
  181. package/dist/internal/components/ButtonGroup.js.map +1 -1
  182. package/dist/internal/components/Card.js +1 -1
  183. package/dist/internal/components/Checkbox.js +1 -1
  184. package/dist/internal/components/Clipboard.js +1 -1
  185. package/dist/internal/components/CollapsiblePanel.js +1 -1
  186. package/dist/internal/components/Combobox.js +1 -1
  187. package/dist/internal/components/DatePicker.js +1 -1
  188. package/dist/internal/components/DateRangePicker.js +1 -1
  189. package/dist/internal/components/DropdownMenu.js +1 -1
  190. package/dist/internal/components/FileUpload.js +1 -1
  191. package/dist/internal/components/FullScreenModal.js +1 -1
  192. package/dist/internal/components/HoverCard.js +1 -1
  193. package/dist/internal/components/InputGroup.js +1 -1
  194. package/dist/internal/components/Kbd.js +1 -1
  195. package/dist/internal/components/Modal.js +1 -1
  196. package/dist/internal/components/Navbar.js +1 -1
  197. package/dist/internal/components/Pagination.js +1 -1
  198. package/dist/internal/components/Popconfirm.js +1 -1
  199. package/dist/internal/components/Popover.js +1 -1
  200. package/dist/internal/components/RadioGroup.js +1 -1
  201. package/dist/internal/components/Search.js +1 -1
  202. package/dist/internal/components/Select.js +1 -1
  203. package/dist/internal/components/Sheet.js +1 -1
  204. package/dist/internal/components/Sidebar.js +1 -1
  205. package/dist/internal/components/Skeleton/Skeleton.js +1 -1
  206. package/dist/internal/components/Skeleton/Skeleton.js.map +1 -1
  207. package/dist/internal/components/Slider.js +1 -1
  208. package/dist/internal/components/Stepper.js +1 -1
  209. package/dist/internal/components/Switch.js +1 -1
  210. package/dist/internal/components/Tabs.js +1 -1
  211. package/dist/internal/components/ThemeProvider.js +3 -4
  212. package/dist/internal/components/TimePicker.js +1 -1
  213. package/dist/internal/components/Toast.js +2 -2
  214. package/dist/internal/components/Toggle.js +13 -3
  215. package/dist/internal/components/Toggle.js.map +1 -1
  216. package/dist/internal/components/Tooltip.js +1 -1
  217. package/dist/internal/components/Truncated.js +1 -1
  218. package/dist/internal/components/ZoomableSvg.js +1 -1
  219. package/dist/internal/utils.js +1 -1
  220. package/dist/markdown-editor.js +16 -18
  221. package/dist/markdown-editor.js.map +1 -1
  222. package/dist/mermaid.js +1 -1
  223. package/dist/rjsf.js +33 -42
  224. package/dist/rjsf.js.map +1 -1
  225. package/dist/styles-DxazJ8Mz.js +81 -0
  226. package/dist/styles-DxazJ8Mz.js.map +1 -0
  227. package/dist/styles-T8xwr0sR.js +73 -0
  228. package/dist/styles-T8xwr0sR.js.map +1 -0
  229. package/dist/styles.css +1 -1
  230. package/dist/testing.d.ts +0 -2
  231. package/dist/testing.js +3 -10
  232. package/dist/testing.js.map +1 -1
  233. package/dist/{useColorSchemeState-Cw4MCXUs.js → themeScopeContext-CEVXbYvZ.js} +43 -15
  234. package/dist/themeScopeContext-CEVXbYvZ.js.map +1 -0
  235. package/dist/{useThemeAttributes-B199Regy.js → themeTokens-DCeb62ap.js} +22 -4
  236. package/dist/themeTokens-DCeb62ap.js.map +1 -0
  237. package/dist/{toast-D6Z6MOB5.js → toast-Y3cTMBW8.js} +7 -10
  238. package/dist/toast-Y3cTMBW8.js.map +1 -0
  239. package/dist/{utils-LQ4jJA-9.js → utils-DwC9u0tM.js} +26 -52
  240. package/dist/utils-DwC9u0tM.js.map +1 -0
  241. package/dist/vega.js +2 -2
  242. package/dist/{vegaTheme-BrmVoPEz.js → vegaTheme-ISwGXvof.js} +2 -2
  243. package/dist/{vegaTheme-BrmVoPEz.js.map → vegaTheme-ISwGXvof.js.map} +1 -1
  244. package/dist/{vegaTokens-Ce07C0DH.js → vegaTokens-DCkvpIVE.js} +2 -2
  245. package/dist/{vegaTokens-Ce07C0DH.js.map → vegaTokens-DCkvpIVE.js.map} +1 -1
  246. package/package.json +2 -2
  247. package/src/styles.css +0 -35
  248. package/src/theme.css +42 -0
  249. package/dist/AIKit-BRSZ3nY7.js.map +0 -1
  250. package/dist/Alert-CZ0dDsuk.js.map +0 -1
  251. package/dist/AlertModal-BDle9ZVQ.js.map +0 -1
  252. package/dist/AutoSaveTextarea-jiqNeeE4.js.map +0 -1
  253. package/dist/Badge-Ba3epgcI.js.map +0 -1
  254. package/dist/BrandEditor-CN2HJ_12.js.map +0 -1
  255. package/dist/Button-D2JqBAq7.js.map +0 -1
  256. package/dist/Card-Bpc_ZlL4.js.map +0 -1
  257. package/dist/Checkbox-uFE8XLT_.js.map +0 -1
  258. package/dist/CodeEditor-BfRSCKEs.js.map +0 -1
  259. package/dist/ColorInput-CDKH8q_f.js.map +0 -1
  260. package/dist/Combobox-CEesMe2M.js.map +0 -1
  261. package/dist/Command-T3MLRaen.js.map +0 -1
  262. package/dist/DateInput-ClK1lCxz.js.map +0 -1
  263. package/dist/DateRangeInput-DtlAffS1.js.map +0 -1
  264. package/dist/DateRangePicker-CXpXPMoh.js.map +0 -1
  265. package/dist/DropdownMenu-B1gGvZoh.js.map +0 -1
  266. package/dist/FileUpload-D6vPG3WB.js.map +0 -1
  267. package/dist/FullScreenModal-CUuAakh3.js.map +0 -1
  268. package/dist/HoverCard-BBdPYqEf.js +0 -31
  269. package/dist/HoverCard-BBdPYqEf.js.map +0 -1
  270. package/dist/InlineEdit-D5RdunZo.js.map +0 -1
  271. package/dist/InputGroup-Dm014ruw.js.map +0 -1
  272. package/dist/Kbd-3YM7NQO4.js.map +0 -1
  273. package/dist/Modal-DMZRswk4.js.map +0 -1
  274. package/dist/Popover-BU7nGOv-.js.map +0 -1
  275. package/dist/RadioGroup-C8EC3fqO.js.map +0 -1
  276. package/dist/SearchInput-Dxi2GK4n.js.map +0 -1
  277. package/dist/Select-CjQgU_6K.js.map +0 -1
  278. package/dist/Sheet-utw4_rUa.js.map +0 -1
  279. package/dist/Sidebar-BAmux2Uj.js.map +0 -1
  280. package/dist/Slider-DbzzSDRV.js.map +0 -1
  281. package/dist/Stepper-BBPembeK.js.map +0 -1
  282. package/dist/Switch-Dw4tvQls.js +0 -201
  283. package/dist/Switch-Dw4tvQls.js.map +0 -1
  284. package/dist/TextInput-K2DSDs5O.js.map +0 -1
  285. package/dist/ThemeProvider-C8yaKlM1.js.map +0 -1
  286. package/dist/context-U293r3v-.js +0 -29
  287. package/dist/context-U293r3v-.js.map +0 -1
  288. package/dist/defaults-i_xG2F_1.js +0 -32
  289. package/dist/defaults-i_xG2F_1.js.map +0 -1
  290. package/dist/styles-BDA5rQz3.js +0 -127
  291. package/dist/styles-BDA5rQz3.js.map +0 -1
  292. package/dist/styles-YQdM7G8c.js +0 -159
  293. package/dist/styles-YQdM7G8c.js.map +0 -1
  294. package/dist/themeTokens-l2Fsfcs7.js +0 -22
  295. package/dist/themeTokens-l2Fsfcs7.js.map +0 -1
  296. package/dist/toast-D6Z6MOB5.js.map +0 -1
  297. package/dist/useColorSchemeState-Cw4MCXUs.js.map +0 -1
  298. package/dist/useThemeAttributes-B199Regy.js.map +0 -1
  299. package/dist/utils-LQ4jJA-9.js.map +0 -1
package/COMPONENT-API.md CHANGED
@@ -20,7 +20,7 @@ Source: `src/components/Button/Button.tsx`
20
20
  | `block` | `boolean \| null` | no | `false` | |
21
21
  | `isLoading` | `boolean` | no | `false` | Shows a spinner in place of the leading icon, or before the label when there is none. The caller still controls `disabled`. |
22
22
  | `size` | `"small" \| "medium" \| "large" \| "icon-lg" \| "icon" \| "icon-sm" \| "icon-xs" \| "icon-2xs" \| "icon-3xs" \| null` | no | `medium` | |
23
- | `variant` | `"primary" \| "secondary" \| "kai" \| "danger" \| "invisible" \| "outline" \| "inline" \| null` | no | `primary` | |
23
+ | `variant` | `"primary" \| "secondary" \| "kai" \| "danger" \| "outline" \| "invisible" \| "inline" \| null` | no | `primary` | |
24
24
 
25
25
  ### `ButtonInline`
26
26
 
@@ -57,6 +57,22 @@ Source: `src/components/Alert/Alert.tsx`
57
57
  | `mode` | `"collapsible" \| "default"` | no | `default` | |
58
58
  | `variant` | `Variant` | no | `info` | |
59
59
 
60
+ ### `Badge`
61
+
62
+ Source: `src/components/Badge/Badge.tsx`
63
+
64
+ > Pick a status `color` (`success` / `warning` / `info` / `destructive` / `neutral`, each with a pastel `-subtle` twin) for anything that means a state: it reads the brand's status tokens, so it re-skins with the brand and follows dark mode. Pick a hue (`green`, `blue-inverse`, `purple`, …) only for a categorical label — a kind, a tag — where the hue itself is the point; hues stay fixed across brands.
65
+
66
+ | Prop | Type | Required | Default | Description |
67
+ | ---------------- | -------------------------------------- | -------- | -------- | ----------- |
68
+ | `asChild` | `boolean` | no | — | |
69
+ | `labelClassName` | `string` | no | — | |
70
+ | `prefix` | `ReactNode` | no | — | |
71
+ | `prefixVariant` | `"inline" \| "floating" \| null` | no | `inline` | |
72
+ | `suffix` | `ReactNode` | no | — | |
73
+ | `suffixVariant` | `"inline" \| "floating" \| null` | no | `inline` | |
74
+ | `variant` | `"default" \| "tag" \| "pill" \| null` | no | `pill` | |
75
+
60
76
  ### `Toaster`
61
77
 
62
78
  Source: `src/components/Toast/Toaster.tsx`
@@ -85,12 +101,10 @@ Source: `src/blocks/TextInput/TextInput.tsx`
85
101
  | `prefix` | `ReactNode` | no | `null` | |
86
102
  | `rightSuffix` | `ReactNode` | no | `null` | `rightSuffixVariant="addon"` truncates it; the ellipsis needs inline content (text or `<span>`). |
87
103
  | `rightSuffixVariant` | `"default" \| "addon"` | no | `default` | |
88
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | `default` | |
89
104
  | `state` | `"warning" \| "error" \| "default" \| null` | no | `default` | |
90
105
  | `testId` | `string` | no | — | |
91
106
  | `type` | `"text" \| "email" \| "date" \| "password" \| "datetime-local"` | no | `text` | |
92
107
  | `value` | `string \| null` | no | — | |
93
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
94
108
 
95
109
  ### `PasswordInput`
96
110
 
@@ -107,10 +121,8 @@ Source: `src/blocks/PasswordInput/PasswordInput.tsx`
107
121
  | `onValueBlur` | `((value: string) => void)` | no | — | |
108
122
  | `onValueChange` | `((value: string) => void)` | no | — | |
109
123
  | `passwordToggleLabel` | `string` | no | — | Suffix of the reveal button's accessible name, to tell several password fields apart. |
110
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
111
124
  | `state` | `"warning" \| "error" \| "default" \| null` | no | — | |
112
125
  | `value` | `string \| null` | no | — | |
113
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
114
126
 
115
127
  ### `Textarea`
116
128
 
@@ -125,10 +137,8 @@ Source: `src/blocks/Textarea/Textarea.tsx`
125
137
  | `maxRows` | `number \| "unlimited"` | no | — | |
126
138
  | `onValueBlur` | `(((value: string) => void) & ((value: string) => void))` | no | — | |
127
139
  | `onValueChange` | `(((value: string) => void) & ((value: string) => void))` | no | — | |
128
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
129
140
  | `state` | `"warning" \| "error" \| "default" \| null` | no | `default` | |
130
141
  | `value` | `string \| null` | no | — | |
131
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
132
142
 
133
143
  ## Inputs — FormGroup (label + input + help, shared validation state)
134
144
 
@@ -160,11 +170,9 @@ Source: `src/blocks/FormGroup/FormGroupTextInput.tsx`
160
170
  | `prefix` | `ReactNode` | no | — | |
161
171
  | `rightSuffix` | `ReactNode` | no | — | `rightSuffixVariant="addon"` truncates it; the ellipsis needs inline content (text or `<span>`). |
162
172
  | `rightSuffixVariant` | `"default" \| "addon"` | no | — | |
163
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
164
173
  | `testId` | `string` | no | — | |
165
174
  | `type` | `"text" \| "email" \| "date" \| "password" \| "datetime-local"` | no | — | |
166
175
  | `value` | `string \| null` | no | — | |
167
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
168
176
 
169
177
  ### `FormGroup.Help`
170
178
 
@@ -209,11 +217,9 @@ Source: `src/blocks/Form/connectors/TextField.tsx`
209
217
  | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
210
218
  | `rightSuffix` | `ReactNode` | no | — | `rightSuffixVariant="addon"` truncates it; the ellipsis needs inline content (text or `<span>`). |
211
219
  | `rightSuffixVariant` | `"default" \| "addon"` | no | — | |
212
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
213
220
  | `testId` | `string` | no | — | |
214
221
  | `tooltip` | `ReactNode` | no | — | |
215
222
  | `type` | `"text" \| "email" \| "date" \| "password" \| "datetime-local"` | no | — | |
216
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
217
223
 
218
224
  ### `field.PasswordField`
219
225
 
@@ -236,59 +242,54 @@ Source: `src/blocks/Form/connectors/PasswordField.tsx`
236
242
  | `passwordToggleLabel` | `string` | no | — | Suffix of the reveal button's accessible name, to tell several password fields apart. |
237
243
  | `required` | `boolean` | no | — | |
238
244
  | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
239
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
240
245
  | `state` | `"warning" \| "error" \| "default" \| null` | no | — | |
241
246
  | `tooltip` | `ReactNode` | no | — | |
242
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
243
247
 
244
248
  ### `field.NumberField`
245
249
 
246
250
  Source: `src/blocks/Form/connectors/NumberField.tsx`
247
251
 
248
- | Prop | Type | Required | Default | Description |
249
- | ------------------ | ------------------------------------------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
250
- | `action` | `ReactNode` | no | — | Trailing node on the label row (e.g. a `Link`); not part of the accessible name. |
251
- | `aria-describedby` | `string` | no | — | Identifies the element (or elements) that describes the object. @see aria-labelledby |
252
- | `className` | `string` | no | — | |
253
- | `defaultValue` | `number \| null` | no | — | |
254
- | `focusVariant` | `"off" \| "on" \| "default" \| null` | no | — | |
255
- | `help` | `ReactNode` | no | — | |
256
- | `label` | `ReactNode` | no | — | |
257
- | `onValueBlur` | `((value: number \| null) => void)` | no | — | |
258
- | `prefix` | `ReactNode` | no | — | |
259
- | `required` | `boolean` | no | — | |
260
- | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
261
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
262
- | `suffix` | `ReactNode` | no | — | |
263
- | `tooltip` | `ReactNode` | no | — | |
264
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
252
+ | Prop | Type | Required | Default | Description |
253
+ | ------------------ | ------------------------------------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
254
+ | `action` | `ReactNode` | no | — | Trailing node on the label row (e.g. a `Link`); not part of the accessible name. |
255
+ | `aria-describedby` | `string` | no | — | Identifies the element (or elements) that describes the object. @see aria-labelledby |
256
+ | `className` | `string` | no | — | |
257
+ | `defaultValue` | `number \| null` | no | — | |
258
+ | `focusVariant` | `"off" \| "on" \| "default" \| null` | no | — | |
259
+ | `help` | `ReactNode` | no | — | |
260
+ | `label` | `ReactNode` | no | — | |
261
+ | `onValueBlur` | `((value: number \| null) => void)` | no | — | |
262
+ | `prefix` | `ReactNode` | no | — | |
263
+ | `required` | `boolean` | no | — | |
264
+ | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
265
+ | `suffix` | `ReactNode` | no | — | |
266
+ | `tooltip` | `ReactNode` | no | — | |
265
267
 
266
268
  ### `field.SelectField`
267
269
 
268
270
  Source: `src/blocks/Form/connectors/SelectField.tsx`
269
271
 
270
- | Prop | Type | Required | Default | Description |
271
- | ------------------ | ---------------------------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
272
- | `items` | `readonly (SelectItem \| SelectItemGroup)[]` | yes | — | |
273
- | `action` | `ReactNode` | no | — | Trailing node on the label row (e.g. a `Link`); not part of the accessible name. |
274
- | `aria-describedby` | `string` | no | — | |
275
- | `autoComplete` | `string` | no | — | |
276
- | `className` | `string` | no | — | |
277
- | `defaultOpen` | `boolean` | no | — | |
278
- | `dir` | `"rtl" \| "ltr"` | no | — | |
279
- | `disabled` | `boolean` | no | — | |
280
- | `form` | `string` | no | — | |
281
- | `help` | `ReactNode` | no | — | |
282
- | `label` | `ReactNode` | no | — | |
283
- | `onOpenChange` | `((open: boolean) => void)` | no | — | |
284
- | `open` | `boolean` | no | — | |
285
- | `required` | `boolean` | no | — | |
286
- | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
287
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
288
- | `state` | `"warning" \| "error" \| "default" \| null` | no | — | |
289
- | `tooltip` | `ReactNode` | no | — | |
290
- | `triggerClassName` | `string` | no | — | |
291
- | `variant` | `"primary" \| "secondary" \| "inline" \| null` | no | — | |
272
+ | Prop | Type | Required | Default | Description |
273
+ | ------------------ | -------------------------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
274
+ | `items` | `readonly (SelectItem \| SelectItemGroup)[]` | yes | — | |
275
+ | `action` | `ReactNode` | no | — | Trailing node on the label row (e.g. a `Link`); not part of the accessible name. |
276
+ | `aria-describedby` | `string` | no | — | |
277
+ | `autoComplete` | `string` | no | — | |
278
+ | `className` | `string` | no | — | |
279
+ | `defaultOpen` | `boolean` | no | — | |
280
+ | `dir` | `"rtl" \| "ltr"` | no | — | |
281
+ | `disabled` | `boolean` | no | — | |
282
+ | `form` | `string` | no | — | |
283
+ | `help` | `ReactNode` | no | — | |
284
+ | `inline` | `boolean` | no | — | Text-like trigger with no field chrome, for a select inside a sentence or toolbar; ignores `state`. |
285
+ | `label` | `ReactNode` | no | — | |
286
+ | `onOpenChange` | `((open: boolean) => void)` | no | — | |
287
+ | `open` | `boolean` | no | — | |
288
+ | `required` | `boolean` | no | — | |
289
+ | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
290
+ | `state` | `"warning" \| "error" \| "default" \| null` | no | — | |
291
+ | `tooltip` | `ReactNode` | no | — | |
292
+ | `triggerClassName` | `string` | no | — | |
292
293
 
293
294
  ### `field.TextareaField`
294
295
 
@@ -309,9 +310,7 @@ Source: `src/blocks/Form/connectors/TextareaField.tsx`
309
310
  | `onValueBlur` | `(((value: string) => void) & ((value: string) => void))` | no | — | |
310
311
  | `required` | `boolean` | no | — | |
311
312
  | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
312
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
313
313
  | `tooltip` | `ReactNode` | no | — | |
314
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
315
314
 
316
315
  ### `ComboboxField`
317
316
 
@@ -352,9 +351,7 @@ Source: `src/blocks/Form/connectors/ComboboxField.tsx`
352
351
  | `queryToCreateValue` | `((query: string) => string)` | no | — | |
353
352
  | `required` | `boolean` | no | — | |
354
353
  | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
355
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
356
354
  | `tooltip` | `ReactNode` | no | — | |
357
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
358
355
  | `virtualized` | `boolean \| "auto"` | no | — | Puts only the rows in view into the DOM: `'auto'` past 30 options, grouped or not; `true` always. |
359
356
 
360
357
  ### `MultiComboboxField`
@@ -363,58 +360,56 @@ Source: `src/blocks/Form/connectors/MultiComboboxField.tsx`
363
360
 
364
361
  > Several values from a searchable list — state is `string[]`, never objects, so the form value stays what gets submitted. Project labels with `itemToLabel`; add `allowCreate` for an enum the user may extend. Imported by name from `@keboola/design`, composed inside `form.AppField` — NOT reachable as `field.MultiComboboxField`.
365
362
 
366
- | Prop | Type | Required | Default | Description |
367
- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
368
- | `action` | `ReactNode` | no | — | Trailing node on the label row (e.g. a `Link`); not part of the accessible name. |
369
- | `allowClear` | `boolean` | no | — | Clear-all button, shown only while chips exist. Chips stay removable either way. |
370
- | `allowCreate` | `boolean` | no | — | |
371
- | `allowSelectAll` | `boolean` | no | — | "Select All" row for the whole set; hidden while a query is active, clears when all are selected. |
372
- | `anchor` | `Element \| VirtualElement \| RefObject<Element \| null> \| (() => Element \| VirtualElement \| null) \| null` | no | — | No field: the popup opens against this element, its search at the top. Pair with `defaultOpen`. |
373
- | `aria-describedby` | `string` | no | — | |
374
- | `asideOpen` | `boolean` | no | — | Whether the inspector shows; a button in the popup toggles it. Uncontrolled, it starts open. |
375
- | `canCreate` | `((query: string) => boolean)` | no | — | Rejects a value `allowCreate` would mint; values naming an item or already selected skip it. |
376
- | `className` | `string` | no | — | |
377
- | `collapseSelectedGroups` | `boolean` | no | — | Each time the popup opens, a group whose items are all selected starts folded. |
378
- | `collapsibleGroups` | `boolean` | no | — | A row per group that folds it. A query shows every match regardless; state is keyed by position. |
379
- | `createSeparator` | `string \| RegExp \| null` | no | — | Splits one entry into several values (default `','`). A `RegExp` must not capture; `null` never splits. |
380
- | `defaultOpen` | `boolean` | no | — | The popup is open on mount, for a picker shown on demand. |
381
- | `empty` | `ReactNode` | no | — | |
382
- | `focusVariant` | `"off" \| "on" \| "default" \| null` | no | — | |
383
- | `groupAppearance` | `"plain" \| "banded"` | no | — | `banded`: each group, its row and open items, is a white card on a grey list. |
384
- | `groupToLabel` | `((group: Group<string>) => ReactNode)` | no | — | Defaults to the group's `label`, as `Select` shows it. |
385
- | `help` | `ReactNode` | no | — | |
386
- | `indicator` | `Indicator` | no | — | |
387
- | `inputClassName` | `string` | no | — | |
388
- | `inputValueSanitizer` | `((input: string) => string)` | no | — | Rewrites typed text before filtering and creating. Sees the whole text per keystroke — don't `trim()`. |
389
- | `isItemEqualToValue` | `((itemValue: string, value: string) => boolean)` | no | — | Custom comparison logic used to determine if a combobox item value matches the current selected value. Useful when item values are objects without matching referentially. Defaults to `Object.is` comparison. |
390
- | `isLoading` | `boolean` | no | — | Options still arriving; doesn't disable — pass `disabled` where the user must wait. |
391
- | `items` | `readonly (string \| Group<string>)[]` | no | — | Read as immutable: pass a new array to change it; one mutated in place is not re-filtered. |
392
- | `itemToChipColor` | `((item: string) => "gray" \| "gray-darker" \| "gray-inverse" \| "green" \| "green-darker" \| "green-inverse" \| "blue" \| "blue-inverse" \| "red" \| "orange" \| "orange-inverse" \| "amber" \| ... 9 more ...)` | no | — | |
393
- | `itemToChipLabel` | `((item: string) => ReactNode)` | no | — | |
394
- | `itemToDisabled` | `((item: string) => boolean)` | no | — | |
395
- | `itemToIcon` | `((item: string) => ReactNode)` | no | — | |
396
- | `itemToLabel` | `((item: string, query: string) => ReactNode)` | no | — | Row and chip content (unless `itemToChipLabel`), `itemToStringLabel` by default. - `query` is the search text, for `MarkedText`; a chip gets `''`. |
397
- | `itemToLocked` | `((item: string) => boolean)` | no | — | A selected item no press removes: looks disabled, still highlights for `renderAside`. |
398
- | `itemToStringLabel` | `((itemValue: string) => string)` | no | — | When the item values are objects (`<Combobox.Item value={object}>`), this function converts the object value to a string representation for display in the input. If the shape of the object is `{ value, label }`, the label will be used automatically without needing to specify this prop. |
399
- | `itemToStringValue` | `((itemValue: string) => string)` | no | — | When the item values are objects (`<Combobox.Item value={object}>`), this function converts the object value to a string representation for form submission. If the shape of the object is `{ value, label }`, the value will be used automatically without needing to specify this prop. |
400
- | `label` | `ReactNode` | no | — | |
401
- | `maxVisible` | `number` | no | — | |
402
- | `onAsideOpenChange` | `((open: boolean) => void)` | no | — | |
403
- | `onOpenChange` | `((open: boolean) => void)` | no | — | |
404
- | `onQueryChange` | `((query: string) => void)` | no | — | Reports the sanitized query, on mount too. Notification only — the control owns the text. |
405
- | `pinnedChipLabels` | `ReactNode[]` | no | — | Non-removable chips ahead of the values, outside `maxVisible` and absent from `value`. |
406
- | `query` | `string` | no | — | The search text, typed elsewhere (a chat composer): with `anchor`, the popup has no search. The host forwards ArrowUp, ArrowDown, Enter and Escape to the `combobox` input it renders. |
407
- | `queryToCreateLabel` | `((query: string) => ReactNode)` | no | — | Words the create row. Receives the values it adds, trimmed and re-joined — not the entry as typed. |
408
- | `queryToCreateValue` | `((query: string) => string)` | no | — | Projects one entered value into an item. Called once per trimmed part of a split entry. |
409
- | `renderAside` | `((highlighted: MultiComboboxHighlighted<string, Group<string>>) => ReactNode)` | no | — | An inspector beside the list about the last highlighted row; `null` before any. Hidden while the popup is under 40rem wide. |
410
- | `renderChips` | `((values: string[]) => ReactNode)` | no | — | Replaces the default chips; the chip props, `maxVisible` included, are then ignored. |
411
- | `required` | `boolean` | no | — | |
412
- | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
413
- | `selectableGroups` | `boolean` | no | — | A group's row selects its matching enabled items. The row itself never enters `value`. |
414
- | `sizing` | `"small" \| "medium" \| "default" \| null` | no | — | |
415
- | `tooltip` | `ReactNode` | no | — | |
416
- | `variant` | `"primary" \| "secondary" \| null` | no | — | |
417
- | `virtualized` | `boolean \| "auto"` | no | — | Puts only the rows in view into the DOM: `'auto'` past 30 options, grouped or not; `true` always. |
363
+ | Prop | Type | Required | Default | Description |
364
+ | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
365
+ | `action` | `ReactNode` | no | — | Trailing node on the label row (e.g. a `Link`); not part of the accessible name. |
366
+ | `allowClear` | `boolean` | no | — | Clear-all button, shown only while chips exist. Chips stay removable either way. |
367
+ | `allowCreate` | `boolean` | no | — | |
368
+ | `allowSelectAll` | `boolean` | no | — | "Select All" row for the whole set; hidden while a query is active, clears when all are selected. |
369
+ | `anchor` | `Element \| VirtualElement \| RefObject<Element \| null> \| (() => Element \| VirtualElement \| null) \| null` | no | — | No field: the popup opens against this element, its search at the top. Pair with `defaultOpen`. |
370
+ | `aria-describedby` | `string` | no | — | |
371
+ | `asideOpen` | `boolean` | no | — | Whether the inspector shows; a button in the popup toggles it. Uncontrolled, it starts open. |
372
+ | `canCreate` | `((query: string) => boolean)` | no | — | Rejects a value `allowCreate` would mint; values naming an item or already selected skip it. |
373
+ | `className` | `string` | no | — | |
374
+ | `collapseSelectedGroups` | `boolean` | no | — | Each time the popup opens, a group whose items are all selected starts folded. |
375
+ | `collapsibleGroups` | `boolean` | no | — | A row per group that folds it. A query shows every match regardless; state is keyed by position. |
376
+ | `createSeparator` | `string \| RegExp \| null` | no | — | Splits one entry into several values (default `','`). A `RegExp` must not capture; `null` never splits. |
377
+ | `defaultOpen` | `boolean` | no | — | The popup is open on mount, for a picker shown on demand. |
378
+ | `empty` | `ReactNode` | no | — | |
379
+ | `focusVariant` | `"off" \| "on" \| "default" \| null` | no | — | |
380
+ | `groupAppearance` | `"plain" \| "banded"` | no | — | `banded`: each group, its row and open items, is a white card on a grey list. |
381
+ | `groupToLabel` | `((group: Group<string>) => ReactNode)` | no | — | Defaults to the group's `label`, as `Select` shows it. |
382
+ | `help` | `ReactNode` | no | — | |
383
+ | `indicator` | `Indicator` | no | — | |
384
+ | `inputClassName` | `string` | no | — | |
385
+ | `inputValueSanitizer` | `((input: string) => string)` | no | — | Rewrites typed text before filtering and creating. Sees the whole text per keystroke — don't `trim()`. |
386
+ | `isItemEqualToValue` | `((itemValue: string, value: string) => boolean)` | no | — | Custom comparison logic used to determine if a combobox item value matches the current selected value. Useful when item values are objects without matching referentially. Defaults to `Object.is` comparison. |
387
+ | `isLoading` | `boolean` | no | — | Options still arriving; doesn't disable — pass `disabled` where the user must wait. |
388
+ | `items` | `readonly (string \| Group<string>)[]` | no | — | Read as immutable: pass a new array to change it; one mutated in place is not re-filtered. |
389
+ | `itemToChipColor` | `((item: string) => "info" \| "warning" \| "success" \| "gray" \| "gray-darker" \| "gray-inverse" \| "green" \| "green-darker" \| "green-inverse" \| "blue" \| "blue-inverse" \| "red" \| "red-inverse" \| ... 19 more ...)` | no | — | |
390
+ | `itemToChipLabel` | `((item: string) => ReactNode)` | no | — | |
391
+ | `itemToDisabled` | `((item: string) => boolean)` | no | — | |
392
+ | `itemToIcon` | `((item: string) => ReactNode)` | no | — | |
393
+ | `itemToLabel` | `((item: string, query: string) => ReactNode)` | no | — | Row and chip content (unless `itemToChipLabel`), `itemToStringLabel` by default. - `query` is the search text, for `MarkedText`; a chip gets `''`. |
394
+ | `itemToLocked` | `((item: string) => boolean)` | no | — | A selected item no press removes: looks disabled, still highlights for `renderAside`. |
395
+ | `itemToStringLabel` | `((itemValue: string) => string)` | no | — | When the item values are objects (`<Combobox.Item value={object}>`), this function converts the object value to a string representation for display in the input. If the shape of the object is `{ value, label }`, the label will be used automatically without needing to specify this prop. |
396
+ | `itemToStringValue` | `((itemValue: string) => string)` | no | — | When the item values are objects (`<Combobox.Item value={object}>`), this function converts the object value to a string representation for form submission. If the shape of the object is `{ value, label }`, the value will be used automatically without needing to specify this prop. |
397
+ | `label` | `ReactNode` | no | — | |
398
+ | `maxVisible` | `number` | no | — | |
399
+ | `onAsideOpenChange` | `((open: boolean) => void)` | no | — | |
400
+ | `onOpenChange` | `((open: boolean) => void)` | no | — | |
401
+ | `onQueryChange` | `((query: string) => void)` | no | — | Reports the sanitized query, on mount too. Notification only — the control owns the text. |
402
+ | `pinnedChipLabels` | `ReactNode[]` | no | — | Non-removable chips ahead of the values, outside `maxVisible` and absent from `value`. |
403
+ | `query` | `string` | no | — | The search text, typed elsewhere (a chat composer): with `anchor`, the popup has no search. The host forwards ArrowUp, ArrowDown, Enter and Escape to the `combobox` input it renders. |
404
+ | `queryToCreateLabel` | `((query: string) => ReactNode)` | no | — | Words the create row. Receives the values it adds, trimmed and re-joined — not the entry as typed. |
405
+ | `queryToCreateValue` | `((query: string) => string)` | no | — | Projects one entered value into an item. Called once per trimmed part of a split entry. |
406
+ | `renderAside` | `((highlighted: MultiComboboxHighlighted<string, Group<string>>) => ReactNode)` | no | — | An inspector beside the list about the last highlighted row; `null` before any. Hidden while the popup is under 40rem wide. |
407
+ | `renderChips` | `((values: string[]) => ReactNode)` | no | — | Replaces the default chips; the chip props, `maxVisible` included, are then ignored. |
408
+ | `required` | `boolean` | no | — | |
409
+ | `requiredMark` | `RequiredMark` | no | — | Gated by `required`: `'required'` shows `*` only if required, `'optional'` shows `(optional)` only if not, `'hidden'` neither. Defaults to `'required'`. |
410
+ | `selectableGroups` | `boolean` | no | — | A group's row selects its matching enabled items. The row itself never enters `value`. |
411
+ | `tooltip` | `ReactNode` | no | — | |
412
+ | `virtualized` | `boolean \| "auto"` | no | — | Puts only the rows in view into the DOM: `'auto'` past 30 options, grouped or not; `true` always. |
418
413
 
419
414
  ### `field.CheckboxField`
420
415
 
@@ -434,13 +429,12 @@ Source: `src/blocks/Form/connectors/CheckboxField.tsx`
434
429
 
435
430
  Source: `src/blocks/Form/connectors/SwitchField.tsx`
436
431
 
437
- | Prop | Type | Required | Default | Description |
438
- | ------------- | ---------------------------------------- | -------- | ------- | ----------- |
439
- | `className` | `string` | no | — | |
440
- | `description` | `ReactNode` | no | — | |
441
- | `position` | `"start" \| "end"` | no | — | |
442
- | `size` | `"small" \| "medium" \| "large" \| null` | no | — | |
443
- | `variant` | `"default" \| "boxed" \| null` | no | — | |
432
+ | Prop | Type | Required | Default | Description |
433
+ | ------------- | ------------------------------ | -------- | ------- | ----------- |
434
+ | `className` | `string` | no | — | |
435
+ | `description` | `ReactNode` | no | — | |
436
+ | `position` | `"start" \| "end"` | no | — | |
437
+ | `variant` | `"default" \| "boxed" \| null` | no | — | |
444
438
 
445
439
  ### `field.OtpInputField`
446
440
 
@@ -1,24 +1,24 @@
1
1
  import { cn } from "./classNames-DcGnTh2N.js";
2
- import { Tooltip, TooltipProvider, isMac } from "./utils-LQ4jJA-9.js";
2
+ import { Tooltip, TooltipProvider, isMac } from "./utils-DwC9u0tM.js";
3
3
  import { AlertCircle, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Ban, BarChart3, Bell, BookOpen, Bookmark, Box, Bug, Calendar, ChartBar, ChartPie, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Circle, CircleAlert, CircleCheck, CircleHelp, CirclePause, CirclePlay, CirclePlus, CircleStop, CircleX, Clock, Cloud, Cog, Copy, Database, Download, Ellipsis, ExternalLink, Eye, File, FilePen, FileText, Filter, Flag, Folder, Gauge, GitBranch, GitMerge, GitPullRequest, Globe, Hand, HardDrive, History, Hourglass, Info, Key, Layers, Lightbulb, LineChart, Link, List, ListChecks, Loader2, LoaderCircle, Lock, Mail, Maximize2, Minimize2, Minus, Package, Pause, Pencil, Pin, Play, Plus, Quote, RefreshCw, Rocket, RotateCcw, RotateCw, Save, Search, Send, Server, Settings, Shield, Sparkles, Star, Table, ThumbsDown, ThumbsUp, Trash2, TrendingDown, TrendingUp, TriangleAlert, Upload, User, Users, WandSparkles, Warehouse, Workflow, Wrench, X, XCircle, Zap } from "./icons-ZIeZXXS7.js";
4
- import { Button } from "./Button-D2JqBAq7.js";
4
+ import { Button } from "./Button-BNkyYU8u.js";
5
5
  import { ButtonGroup } from "./internal/components/ButtonGroup.js";
6
- import { ClipboardButton } from "./ClipboardButton-DxvZG_H0.js";
7
- import { FullScreenModal, FullScreenModalBody, FullScreenModalHeader } from "./FullScreenModal-CUuAakh3.js";
6
+ import { ClipboardButton } from "./ClipboardButton-B1Hr_n_Z.js";
7
+ import { FullScreenModal, FullScreenModalBody, FullScreenModalHeader } from "./FullScreenModal-DAvvlGOz.js";
8
8
  import { Truncated } from "./internal/components/Truncated.js";
9
9
  import { useStableCallback } from "./internal/hooks/useStableCallback.js";
10
- import { HoverCard } from "./HoverCard-BBdPYqEf.js";
11
- import { Command } from "./Command-T3MLRaen.js";
12
- import { TextInput } from "./TextInput-K2DSDs5O.js";
13
- import { Badge } from "./Badge-Ba3epgcI.js";
10
+ import { HoverCard } from "./HoverCard-Cv5rmvJq.js";
11
+ import { Command } from "./Command-DhXmqFLT.js";
12
+ import { TextInput } from "./TextInput-CR0_USaY.js";
13
+ import { Badge } from "./Badge-5GHIsgRS.js";
14
14
  import { Textarea } from "./internal/blocks/Textarea.js";
15
- import { Kbd, keys } from "./Kbd-3YM7NQO4.js";
15
+ import { Kbd, keys } from "./Kbd-CflKthfu.js";
16
16
  import { Collapsible } from "./Collapsible-DD4xTL75.js";
17
- import { Alert } from "./Alert-CZ0dDsuk.js";
17
+ import { Alert } from "./Alert-Chz6KZ7e.js";
18
18
  import { Table as Table$1, tableAriaSort } from "./Table-CilEvpMq.js";
19
19
  import { DiagramSkeleton } from "./internal/blocks/DiagramShared/DiagramSkeleton.js";
20
20
  import { DiagramSource, makeResponsive } from "./svgTransforms-Hnvev3Vs.js";
21
- import { ZoomableSvg, toSvgFileContent } from "./ZoomableSvg-Dh1OstPN.js";
21
+ import { ZoomableSvg, toSvgFileContent } from "./ZoomableSvg-DnFXo2L4.js";
22
22
  import { Progress } from "./internal/components/Progress.js";
23
23
  import { digitFromKeyCode, useAltDigitHotkey } from "./internal/hooks/useAltDigitHotkey.js";
24
24
  import { createContext, isValidElement, use, useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
@@ -52,7 +52,6 @@ const AnswerCommentInput = ({ placeholder, onSubmit }) => {
52
52
  submit();
53
53
  };
54
54
  return /* @__PURE__ */ jsx(TextInput, {
55
- sizing: "small",
56
55
  value: text,
57
56
  onValueChange: setText,
58
57
  onKeyDown: handleKeyDown,
@@ -2271,7 +2270,6 @@ const STATUS_PILL_COLOR = {
2271
2270
  const StatusPill = ({ status, label }) => /* @__PURE__ */ jsx(Badge, {
2272
2271
  color: STATUS_PILL_COLOR[status],
2273
2272
  variant: "pill",
2274
- className: "tw:normal-case tw:tracking-normal",
2275
2273
  children: label
2276
2274
  });
2277
2275
  const ExpandToggle = ({ isExpanded, onToggle, showMoreLabel, showLessLabel }) => /* @__PURE__ */ jsxs("button", {
@@ -2776,7 +2774,7 @@ const PromptInputCommands = ({ items, open, onSelect, filterValue, tabPicks = fa
2776
2774
  className: "tw:py-3 tw:pl-4 tw:text-center tw:text-sm tw:text-muted-foreground",
2777
2775
  children: emptyText
2778
2776
  }) : /* @__PURE__ */ jsx(Command.List, {
2779
- className: "tw:group-data-[variant=argo]/command:px-1 tw:group-data-[variant=argo]/command:pb-1",
2777
+ className: "tw:px-1 tw:pb-1",
2780
2778
  viewPortClassName: "tw:max-h-[var(--prompt-menu-max-h)] tw:[&>div]:!block",
2781
2779
  children: Object.entries(groups).map(([groupName, groupItems], index) => /* @__PURE__ */ jsx(Command.Group, {
2782
2780
  heading: groupName ? /* @__PURE__ */ jsxs("span", {
@@ -3543,7 +3541,6 @@ const Question = ({ question, header, options, multiSelect = true, selectedOptio
3543
3541
  children: [option.label, /* @__PURE__ */ jsx(Badge, {
3544
3542
  variant: "pill",
3545
3543
  color: "green-inverse",
3546
- className: "tw:normal-case tw:tracking-normal",
3547
3544
  "data-testid": "question-option-badge",
3548
3545
  children: option.badge
3549
3546
  })]
@@ -3598,7 +3595,6 @@ const Question = ({ question, header, options, multiSelect = true, selectedOptio
3598
3595
  } : void 0,
3599
3596
  placeholder: customAnswerPlaceholder,
3600
3597
  maxLength: customAnswerMaxLength,
3601
- sizing: "small",
3602
3598
  testId: "question-custom"
3603
3599
  })]
3604
3600
  })]
@@ -4175,7 +4171,6 @@ const ToolCallApproval = ({ status, statusLabel, statusMessage, density = "card"
4175
4171
  children: [showBadge && /* @__PURE__ */ jsx(Badge, {
4176
4172
  color: badge.color,
4177
4173
  variant: "pill",
4178
- className: "tw:normal-case tw:tracking-normal",
4179
4174
  children: label
4180
4175
  }), toolName != null && /* @__PURE__ */ jsx("code", {
4181
4176
  className: "tw:rounded tw:bg-muted tw:px-1.5 tw:py-0.5 tw:font-mono tw:text-xs tw:text-foreground",
@@ -4443,4 +4438,4 @@ const UsageStats = ({ value, alert = false, children, className, ariaLabel, alig
4443
4438
  //#endregion
4444
4439
  export { ANSWER_SOURCES_VISIBLE, AnswerActions, AnswerSources, AnswerSummary, AttachmentChip, CONTEXT_CHIP_EXPANDABLE_LENGTH, ChatInlineIcon, ChatNotice, CollapsibleStepHeader, ContextChip, DIAGRAM_LANGUAGES, FileDownloadChip, FileGallery, InlineStepDetail, InlineStepGroup, InlineStepLabel, JumpToLatest, Markdown, MarkdownTable, MessageBubble, ModeChip, PROMPT_INPUT_CONTAINER, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SourceChip, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, ToolCallStatusHeader, UsageBar, UsageStats, UsageStatsRing, clampPercentage, findMentionToken, findSlashToken, formatPercentage, getChatInlineIconName, splitSealedBlocks, withholdOpenTail };
4445
4440
 
4446
- //# sourceMappingURL=AIKit-BRSZ3nY7.js.map
4441
+ //# sourceMappingURL=AIKit-CaAW4GLx.js.map