@keboola/design 11.9.0 → 12.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 (363) hide show
  1. package/AGENTS.md +34 -8
  2. package/CHANGELOG.md +155 -0
  3. package/COMPONENT-API.md +337 -289
  4. package/README.md +11 -1
  5. package/dist/{AIKit-ELIsegJz.js → AIKit-BD4r7ff-.js} +404 -243
  6. package/dist/AIKit-BD4r7ff-.js.map +1 -0
  7. package/dist/{Alert-BsIM_oFK.js → Alert-UI-CIs-1.js} +16 -16
  8. package/dist/Alert-UI-CIs-1.js.map +1 -0
  9. package/dist/{AlertModal-BGJdaRRj.js → AlertModal-Th2khjPi.js} +5 -5
  10. package/dist/AlertModal-Th2khjPi.js.map +1 -0
  11. package/dist/{AppShell-DRgJxpXW.js → AppShell-WSQabK8r.js} +15 -52
  12. package/dist/AppShell-WSQabK8r.js.map +1 -0
  13. package/dist/{AutoSaveTextarea-BeuWuszr.js → AutoSaveTextarea-C5iIr2Ts.js} +2 -2
  14. package/dist/{AutoSaveTextarea-BeuWuszr.js.map → AutoSaveTextarea-C5iIr2Ts.js.map} +1 -1
  15. package/dist/{Badge-o5jURtpB.js → Badge-DIjhwPvh.js} +4 -9
  16. package/dist/Badge-DIjhwPvh.js.map +1 -0
  17. package/dist/{BrandEditor-BsTBM3s6.js → BrandEditor-BU23Vl8V.js} +7 -7
  18. package/dist/{BrandEditor-BsTBM3s6.js.map → BrandEditor-BU23Vl8V.js.map} +1 -1
  19. package/dist/{BrandLogo-CoKBk4MI.js → BrandLogo-CKpVSZb6.js} +4 -4
  20. package/dist/BrandLogo-CKpVSZb6.js.map +1 -0
  21. package/dist/{Breadcrumb-xqEUxfwn.js → Breadcrumb-p9HtMLCc.js} +8 -14
  22. package/dist/Breadcrumb-p9HtMLCc.js.map +1 -0
  23. package/dist/{Button-DsRrU5F1.js → Button-Ca4Q3VJU.js} +31 -13
  24. package/dist/Button-Ca4Q3VJU.js.map +1 -0
  25. package/dist/{Calendar-cG5NIJ4O.js → Calendar-DFtmZzbF.js} +99 -99
  26. package/dist/Calendar-DFtmZzbF.js.map +1 -0
  27. package/dist/{Card-Dyo7055Q.js → Card-Cr9MBNHu.js} +4 -4
  28. package/dist/Card-Cr9MBNHu.js.map +1 -0
  29. package/dist/{Checkbox-Dq5fPNrO.js → Checkbox-8yIIgY7g.js} +4 -4
  30. package/dist/Checkbox-8yIIgY7g.js.map +1 -0
  31. package/dist/{Clipboard-BZitKiSA.js → Clipboard-_xf6hMDD.js} +2 -2
  32. package/dist/{Clipboard-BZitKiSA.js.map → Clipboard-_xf6hMDD.js.map} +1 -1
  33. package/dist/{ClipboardButton-KHQnPEh_.js → ClipboardButton-DHa1trtI.js} +4 -4
  34. package/dist/{ClipboardButton-KHQnPEh_.js.map → ClipboardButton-DHa1trtI.js.map} +1 -1
  35. package/dist/{CodeEditor-BJKJXA0c.js → CodeEditor-BSo-oLFG.js} +55 -165
  36. package/dist/CodeEditor-BSo-oLFG.js.map +1 -0
  37. package/dist/{ColorInput-Bj3dfPFA.js → ColorInput-DSMqrs2-.js} +12 -27
  38. package/dist/ColorInput-DSMqrs2-.js.map +1 -0
  39. package/dist/{ColorModeSwitch-CWt-DZGC.js → ColorModeSwitch-D7EuWyJz.js} +7 -17
  40. package/dist/ColorModeSwitch-D7EuWyJz.js.map +1 -0
  41. package/dist/Combobox-CxRAYOBt.js +1069 -0
  42. package/dist/Combobox-CxRAYOBt.js.map +1 -0
  43. package/dist/{Command-BDU3C1gg.js → Command-BU_cVurn.js} +4 -4
  44. package/dist/{Command-BDU3C1gg.js.map → Command-BU_cVurn.js.map} +1 -1
  45. package/dist/{CopyField-BHRQUyuF.js → CopyField-6_c-NdLO.js} +17 -53
  46. package/dist/{CopyField-BHRQUyuF.js.map → CopyField-6_c-NdLO.js.map} +1 -1
  47. package/dist/{DateInput-B6N8g0ra.js → DateInput-DyEErfJf.js} +6 -6
  48. package/dist/{DateInput-B6N8g0ra.js.map → DateInput-DyEErfJf.js.map} +1 -1
  49. package/dist/{DatePicker-nA8YdE84.js → DatePicker-CtSa9b3V.js} +3 -3
  50. package/dist/{DatePicker-nA8YdE84.js.map → DatePicker-CtSa9b3V.js.map} +1 -1
  51. package/dist/{DateRangeInput-7M9Z4cVO.js → DateRangeInput-Dg7-VUd9.js} +10 -14
  52. package/dist/DateRangeInput-Dg7-VUd9.js.map +1 -0
  53. package/dist/{DateRangePicker-DjSUFjh4.js → DateRangePicker-BoPnh4aH.js} +9 -13
  54. package/dist/DateRangePicker-BoPnh4aH.js.map +1 -0
  55. package/dist/DiffView-ppTIzh2h.js.map +1 -1
  56. package/dist/{DropdownMenu-CgVwhDvl.js → DropdownMenu-gRM-A8qU.js} +3 -3
  57. package/dist/DropdownMenu-gRM-A8qU.js.map +1 -0
  58. package/dist/{FieldItem-DZGIdiXE.js → FieldItem-2wMXQ0Qw.js} +12 -25
  59. package/dist/FieldItem-2wMXQ0Qw.js.map +1 -0
  60. package/dist/{FieldItem-vhIJW4pj.d.ts → FieldItem-CPN1xjN5.d.ts} +11 -25
  61. package/dist/{FileUpload-DYQCTGjU.js → FileUpload-C83tXuE2.js} +11 -16
  62. package/dist/{FileUpload-DYQCTGjU.js.map → FileUpload-C83tXuE2.js.map} +1 -1
  63. package/dist/{Form-CcK7dRrC.js → Form-95rVLfX8.js} +15 -23
  64. package/dist/{Form-CcK7dRrC.js.map → Form-95rVLfX8.js.map} +1 -1
  65. package/dist/{FormGroup-DR_gZ25-.js → FormGroup-CmNiAtU6.js} +11 -17
  66. package/dist/FormGroup-CmNiAtU6.js.map +1 -0
  67. package/dist/{FullScreenModal-CN9nAs72.js → FullScreenModal-CD7mYeTz.js} +15 -29
  68. package/dist/FullScreenModal-CD7mYeTz.js.map +1 -0
  69. package/dist/{HoverCard-B9ZMJxjn.js → HoverCard-B8OKu9XZ.js} +2 -2
  70. package/dist/{HoverCard-B9ZMJxjn.js.map → HoverCard-B8OKu9XZ.js.map} +1 -1
  71. package/dist/{InputGroup-Do8K2hvD.js → InputGroup-B4QOPxHl.js} +11 -13
  72. package/dist/InputGroup-B4QOPxHl.js.map +1 -0
  73. package/dist/{Kbd-LCFMumoq.js → Kbd-J4n1J6i4.js} +23 -13
  74. package/dist/Kbd-J4n1J6i4.js.map +1 -0
  75. package/dist/{MarkedText-DNGEUVWc.js → MarkedText-DlmlJO0u.js} +2 -2
  76. package/dist/{MarkedText-DNGEUVWc.js.map → MarkedText-DlmlJO0u.js.map} +1 -1
  77. package/dist/{MermaidDiagram-ZG0iiDV_.js → MermaidDiagram-BQvz6bhv.js} +16 -34
  78. package/dist/MermaidDiagram-BQvz6bhv.js.map +1 -0
  79. package/dist/{Modal-I3VWk2oo.js → Modal-Driyqs_N.js} +17 -34
  80. package/dist/Modal-Driyqs_N.js.map +1 -0
  81. package/dist/{ModalTitle-CeLM_mX9.js → ModalTitle-BxopkIoQ.js} +3 -3
  82. package/dist/ModalTitle-BxopkIoQ.js.map +1 -0
  83. package/dist/{MultiActionButtonGroup-CYZ8IgSf.js → MultiActionButtonGroup-BPnmzBtw.js} +3 -3
  84. package/dist/{MultiActionButtonGroup-CYZ8IgSf.js.map → MultiActionButtonGroup-BPnmzBtw.js.map} +1 -1
  85. package/dist/{Navbar-Liy1TPI7.js → Navbar-B_DNpv5s.js} +9 -13
  86. package/dist/{Navbar-Liy1TPI7.js.map → Navbar-B_DNpv5s.js.map} +1 -1
  87. package/dist/{OtpInput-CbbymqYs.js → OtpInput-I8B8Vjdl.js} +2 -2
  88. package/dist/{OtpInput-CbbymqYs.js.map → OtpInput-I8B8Vjdl.js.map} +1 -1
  89. package/dist/{PageHeader-Q3IpCnQd.js → PageHeader-CgfyXpf1.js} +13 -26
  90. package/dist/PageHeader-CgfyXpf1.js.map +1 -0
  91. package/dist/{PageLayout-DSVM-ASz.js → PageLayout-DiAAILuS.js} +12 -20
  92. package/dist/PageLayout-DiAAILuS.js.map +1 -0
  93. package/dist/{PageToolbar-BKVJiDAL.js → PageToolbar-DOAtAnfL.js} +12 -42
  94. package/dist/PageToolbar-DOAtAnfL.js.map +1 -0
  95. package/dist/{Pagination-C_b7Xhey.js → Pagination-LaSg-5cl.js} +3 -3
  96. package/dist/{Pagination-C_b7Xhey.js.map → Pagination-LaSg-5cl.js.map} +1 -1
  97. package/dist/{Popconfirm-5pBzT_HQ.js → Popconfirm-SLz0zodk.js} +3 -3
  98. package/dist/{Popconfirm-5pBzT_HQ.js.map → Popconfirm-SLz0zodk.js.map} +1 -1
  99. package/dist/{Popover-BEbQrC_P.js → Popover-CEk915I1.js} +4 -3
  100. package/dist/Popover-CEk915I1.js.map +1 -0
  101. package/dist/{RadioGroup-Byc2mym4.js → RadioGroup-CBPRLRN0.js} +4 -4
  102. package/dist/{RadioGroup-Byc2mym4.js.map → RadioGroup-CBPRLRN0.js.map} +1 -1
  103. package/dist/{Search-Dhig_hPD.js → Search-DmkQo716.js} +3 -3
  104. package/dist/{Search-Dhig_hPD.js.map → Search-DmkQo716.js.map} +1 -1
  105. package/dist/{SearchInput-92r2bkA7.js → SearchInput-CEfQDNl3.js} +8 -13
  106. package/dist/SearchInput-CEfQDNl3.js.map +1 -0
  107. package/dist/{SectionNav-CNLJsiVG.js → SectionNav-B_qf0AXi.js} +10 -42
  108. package/dist/SectionNav-B_qf0AXi.js.map +1 -0
  109. package/dist/{Select-DV3Hak_l.js → Select-ByRvkZ3D.js} +8 -11
  110. package/dist/{Select-DV3Hak_l.js.map → Select-ByRvkZ3D.js.map} +1 -1
  111. package/dist/{Sheet-OparjIi-.js → Sheet-C-yXk5Da.js} +5 -9
  112. package/dist/Sheet-C-yXk5Da.js.map +1 -0
  113. package/dist/{Sidebar-CLEbBtNY.js → Sidebar-Ds0E6PbR.js} +16 -33
  114. package/dist/Sidebar-Ds0E6PbR.js.map +1 -0
  115. package/dist/{Slider-DLclvRws.js → Slider-DWdu9NuM.js} +3 -3
  116. package/dist/{Slider-DLclvRws.js.map → Slider-DWdu9NuM.js.map} +1 -1
  117. package/dist/{Stepper-C8sm9ZFM.js → Stepper-BLkLhfnd.js} +6 -9
  118. package/dist/{Stepper-C8sm9ZFM.js.map → Stepper-BLkLhfnd.js.map} +1 -1
  119. package/dist/{Switch-B0WdGSjz.js → Switch-DZvNePOm.js} +2 -2
  120. package/dist/{Switch-B0WdGSjz.js.map → Switch-DZvNePOm.js.map} +1 -1
  121. package/dist/{Table-CvYuTuNU.js → Table-BaVT5Tkn.js} +6 -11
  122. package/dist/{Table-CvYuTuNU.js.map → Table-BaVT5Tkn.js.map} +1 -1
  123. package/dist/{Tabs-eB974xJf.js → Tabs-Dt9oLYHC.js} +3 -3
  124. package/dist/{Tabs-eB974xJf.js.map → Tabs-Dt9oLYHC.js.map} +1 -1
  125. package/dist/{TextInput-CFTf4Cz1.js → TextInput-CDG2XpBl.js} +10 -14
  126. package/dist/TextInput-CDG2XpBl.js.map +1 -0
  127. package/dist/{ThemeProvider-DAmNn9Sd.js → ThemeProvider-DXsxFg1U.js} +13 -31
  128. package/dist/ThemeProvider-DXsxFg1U.js.map +1 -0
  129. package/dist/{TimePicker-BGeqc-Ed.js → TimePicker-CDGYrRxi.js} +2 -2
  130. package/dist/{TimePicker-BGeqc-Ed.js.map → TimePicker-CDGYrRxi.js.map} +1 -1
  131. package/dist/{Timeline-C8-wnRRr.js → Timeline-B-I6sb0M.js} +2 -2
  132. package/dist/{Timeline-C8-wnRRr.js.map → Timeline-B-I6sb0M.js.map} +1 -1
  133. package/dist/{Toast-Dr6Uw7ao.js → Toast-PfQf3vj-.js} +2 -2
  134. package/dist/{Toast-Dr6Uw7ao.js.map → Toast-PfQf3vj-.js.map} +1 -1
  135. package/dist/{Workbench-UR2FBC7I.js → Workbench-DmZzpkj7.js} +2 -2
  136. package/dist/{Workbench-UR2FBC7I.js.map → Workbench-DmZzpkj7.js.map} +1 -1
  137. package/dist/{ZoomableSvg-BZlk3PFJ.js → ZoomableSvg-BzXVfgnI.js} +5 -19
  138. package/dist/ZoomableSvg-BzXVfgnI.js.map +1 -0
  139. package/dist/charts.d.ts +21 -52
  140. package/dist/charts.js +13 -39
  141. package/dist/charts.js.map +1 -1
  142. package/dist/{context-D7X470dy.js → context-U293r3v-.js} +5 -9
  143. package/dist/context-U293r3v-.js.map +1 -0
  144. package/dist/editors.d.ts +27 -124
  145. package/dist/editors.js +29 -71
  146. package/dist/editors.js.map +1 -1
  147. package/dist/{findLiteralMatches-BGBw8Vbl.js → findLiteralMatches-DgGLzyG0.js} +8 -20
  148. package/dist/findLiteralMatches-DgGLzyG0.js.map +1 -0
  149. package/dist/flint.d.ts +3 -6
  150. package/dist/flint.js +31 -80
  151. package/dist/flint.js.map +1 -1
  152. package/dist/{icons-Cek151jC.js → icons-wcA70iQx.js} +105 -2
  153. package/dist/icons-wcA70iQx.js.map +1 -0
  154. package/dist/icons.d.ts +2 -2
  155. package/dist/icons.js +2 -2
  156. package/dist/{index-m-kQEWiY.d.ts → index-B7k-09i1.d.ts} +14 -2
  157. package/dist/index.d.ts +1151 -1838
  158. package/dist/index.js +68 -67
  159. package/dist/internal/blocks/AIKit.js +2 -2
  160. package/dist/internal/blocks/AppShell.js +1 -1
  161. package/dist/internal/blocks/AuthLayout.js +7 -27
  162. package/dist/internal/blocks/AuthLayout.js.map +1 -1
  163. package/dist/internal/blocks/AutoSaveTextarea.js +1 -1
  164. package/dist/internal/blocks/BrandEditor.js +1 -1
  165. package/dist/internal/blocks/ChartPanel.js +4 -8
  166. package/dist/internal/blocks/ChartPanel.js.map +1 -1
  167. package/dist/internal/blocks/ChipEditor.js +13 -21
  168. package/dist/internal/blocks/ChipEditor.js.map +1 -1
  169. package/dist/internal/blocks/ClipboardButton.js +1 -1
  170. package/dist/internal/blocks/ColorInput.js +1 -1
  171. package/dist/internal/blocks/ColorModeSwitch.js +1 -1
  172. package/dist/internal/blocks/Command.js +1 -1
  173. package/dist/internal/blocks/CopyField.js +1 -1
  174. package/dist/internal/blocks/DashboardHero.js +4 -7
  175. package/dist/internal/blocks/DashboardHero.js.map +1 -1
  176. package/dist/internal/blocks/DateInput.js +1 -1
  177. package/dist/internal/blocks/DateRangeInput.js +1 -1
  178. package/dist/internal/blocks/EmptyConfigurationActionCard.js +1 -1
  179. package/dist/internal/blocks/EmptyState.js +5 -9
  180. package/dist/internal/blocks/EmptyState.js.map +1 -1
  181. package/dist/internal/blocks/ErrorState.js +5 -9
  182. package/dist/internal/blocks/ErrorState.js.map +1 -1
  183. package/dist/internal/blocks/ExportMenu.js +6 -10
  184. package/dist/internal/blocks/ExportMenu.js.map +1 -1
  185. package/dist/internal/blocks/Form/connectors/ComboboxField.js +40 -0
  186. package/dist/internal/blocks/Form/connectors/ComboboxField.js.map +1 -0
  187. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +5 -22
  188. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js.map +1 -1
  189. package/dist/internal/blocks/Form.js +1 -1
  190. package/dist/internal/blocks/FormGroup.js +1 -1
  191. package/dist/internal/blocks/GoogleButton.js +1 -1
  192. package/dist/internal/blocks/MicrosoftButton.js +1 -1
  193. package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
  194. package/dist/internal/blocks/MultiCombobox.js +161 -154
  195. package/dist/internal/blocks/MultiCombobox.js.map +1 -1
  196. package/dist/internal/blocks/NumberInput.js +1 -1
  197. package/dist/internal/blocks/OtpInput.js +1 -1
  198. package/dist/internal/blocks/PageHeader.js +1 -1
  199. package/dist/internal/blocks/PageLayout.js +1 -1
  200. package/dist/internal/blocks/PageToolbar.js +1 -1
  201. package/dist/internal/blocks/PasswordInput.js +4 -4
  202. package/dist/internal/blocks/PasswordInput.js.map +1 -1
  203. package/dist/internal/blocks/SearchInput.js +1 -1
  204. package/dist/internal/blocks/SearchInputWithNavigation.js +4 -4
  205. package/dist/internal/blocks/SectionNav.js +1 -1
  206. package/dist/internal/blocks/SplitButton.js +3 -3
  207. package/dist/internal/blocks/StatCard.js +4 -8
  208. package/dist/internal/blocks/StatCard.js.map +1 -1
  209. package/dist/internal/blocks/TextInput.js +1 -1
  210. package/dist/internal/blocks/Textarea.js +2 -2
  211. package/dist/internal/blocks/TimeInput.js +5 -5
  212. package/dist/internal/blocks/TimeInput.js.map +1 -1
  213. package/dist/internal/components/Alert.js +1 -1
  214. package/dist/internal/components/AlertModal.js +1 -1
  215. package/dist/internal/components/Avatar.js +1 -1
  216. package/dist/internal/components/Badge.js +1 -1
  217. package/dist/internal/components/BrandLogo.js +1 -1
  218. package/dist/internal/components/Breadcrumb.js +1 -1
  219. package/dist/internal/components/Button.js +1 -1
  220. package/dist/internal/components/ButtonGroup.js.map +1 -1
  221. package/dist/internal/components/Calendar.js +1 -1
  222. package/dist/internal/components/Card.js +1 -1
  223. package/dist/internal/components/Checkbox.js +1 -1
  224. package/dist/internal/components/Clipboard.js +1 -1
  225. package/dist/internal/components/CollapsiblePanel.js +2 -2
  226. package/dist/internal/components/Combobox.js +2 -2
  227. package/dist/internal/components/DatePicker.js +1 -1
  228. package/dist/internal/components/DateRangePicker.js +1 -1
  229. package/dist/internal/components/DropdownMenu.js +1 -1
  230. package/dist/internal/components/FileUpload.js +1 -1
  231. package/dist/internal/components/FullScreenModal.js +1 -1
  232. package/dist/internal/components/HoverCard.js +1 -1
  233. package/dist/internal/components/InputGroup.js +1 -1
  234. package/dist/internal/components/Kbd.js +1 -1
  235. package/dist/internal/components/MarkedText.js +1 -1
  236. package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js +1 -1
  237. package/dist/internal/components/Modal.js +1 -1
  238. package/dist/internal/components/Navbar.js +1 -1
  239. package/dist/internal/components/Pagination.js +1 -1
  240. package/dist/internal/components/PanelWithDetails.js +1 -1
  241. package/dist/internal/components/Popconfirm.js +1 -1
  242. package/dist/internal/components/Popover.js +1 -1
  243. package/dist/internal/components/RadioGroup.js +1 -1
  244. package/dist/internal/components/Search.js +1 -1
  245. package/dist/internal/components/Select.js +1 -1
  246. package/dist/internal/components/Separator.js.map +1 -1
  247. package/dist/internal/components/Sheet.js +1 -1
  248. package/dist/internal/components/Sidebar.js +1 -1
  249. package/dist/internal/components/Skeleton/Skeleton.js +5 -9
  250. package/dist/internal/components/Skeleton/Skeleton.js.map +1 -1
  251. package/dist/internal/components/Slider.js +1 -1
  252. package/dist/internal/components/SpotlightBackdrop.js +3 -8
  253. package/dist/internal/components/SpotlightBackdrop.js.map +1 -1
  254. package/dist/internal/components/StatusDot.js +8 -15
  255. package/dist/internal/components/StatusDot.js.map +1 -1
  256. package/dist/internal/components/Stepper.js +1 -1
  257. package/dist/internal/components/Switch.js +1 -1
  258. package/dist/internal/components/Table.js +1 -1
  259. package/dist/internal/components/Tabs.js +1 -1
  260. package/dist/internal/components/ThemeProvider.js +3 -3
  261. package/dist/internal/components/TimePicker.js +1 -1
  262. package/dist/internal/components/Timeline.js +1 -1
  263. package/dist/internal/components/Toast.js +2 -2
  264. package/dist/internal/components/Tooltip.js +1 -1
  265. package/dist/internal/components/Truncated.js +4 -8
  266. package/dist/internal/components/Truncated.js.map +1 -1
  267. package/dist/internal/components/Workbench.js +1 -1
  268. package/dist/internal/components/ZoomableSvg.js +1 -1
  269. package/dist/internal/hooks/useScrollbarPosition.js +1 -1
  270. package/dist/internal/hooks/useStableCallback.js +4 -13
  271. package/dist/internal/hooks/useStableCallback.js.map +1 -1
  272. package/dist/internal/utils.js +2 -2
  273. package/dist/markdown-editor.d.ts +15 -37
  274. package/dist/markdown-editor.js +17 -23
  275. package/dist/markdown-editor.js.map +1 -1
  276. package/dist/mermaid.d.ts +4 -6
  277. package/dist/mermaid.js +1 -1
  278. package/dist/rjsf.d.ts +9 -19
  279. package/dist/rjsf.js +44 -84
  280. package/dist/rjsf.js.map +1 -1
  281. package/dist/{styles-BAFscjSV.js → styles-gzcjOyKv.js} +6 -6
  282. package/dist/styles-gzcjOyKv.js.map +1 -0
  283. package/dist/styles.css +1 -1
  284. package/dist/svgTransforms-Dw2hRA-i.js +51 -0
  285. package/dist/svgTransforms-Dw2hRA-i.js.map +1 -0
  286. package/dist/testing.d.ts +3 -10
  287. package/dist/testing.js +5 -12
  288. package/dist/testing.js.map +1 -1
  289. package/dist/themeTokens-7DEab0kp.js +31 -0
  290. package/dist/themeTokens-7DEab0kp.js.map +1 -0
  291. package/dist/{toast-DIC0iNRf.js → toast-CyXEdaCZ.js} +3 -3
  292. package/dist/toast-CyXEdaCZ.js.map +1 -0
  293. package/dist/{themeScopeContext-D7fSyb06.js → useColorSchemeState-Cw4MCXUs.js} +14 -14
  294. package/dist/useColorSchemeState-Cw4MCXUs.js.map +1 -0
  295. package/dist/{useControllableState-M6494mCT.js → useControllableState-CUYXMsfz.js} +3 -7
  296. package/dist/useControllableState-CUYXMsfz.js.map +1 -0
  297. package/dist/useElement-D-RjrGa4.js +21 -0
  298. package/dist/useElement-D-RjrGa4.js.map +1 -0
  299. package/dist/useThemeAttributes-B199Regy.js +67 -0
  300. package/dist/useThemeAttributes-B199Regy.js.map +1 -0
  301. package/dist/{utils-BW4AE8VP.js → utils-Bd28bWgm.js} +31 -26
  302. package/dist/utils-Bd28bWgm.js.map +1 -0
  303. package/dist/vega.d.ts +8 -30
  304. package/dist/vega.js +5 -13
  305. package/dist/vega.js.map +1 -1
  306. package/dist/{vegaTheme-CSvFEMBl.js → vegaTheme-VQMWTlBw.js} +7 -21
  307. package/dist/vegaTheme-VQMWTlBw.js.map +1 -0
  308. package/package.json +10 -9
  309. package/src/styles.css +120 -14
  310. package/src/theme.css +126 -6
  311. package/dist/AIKit-ELIsegJz.js.map +0 -1
  312. package/dist/Alert-BsIM_oFK.js.map +0 -1
  313. package/dist/AlertModal-BGJdaRRj.js.map +0 -1
  314. package/dist/AppShell-DRgJxpXW.js.map +0 -1
  315. package/dist/Badge-o5jURtpB.js.map +0 -1
  316. package/dist/BrandLogo-CoKBk4MI.js.map +0 -1
  317. package/dist/Breadcrumb-xqEUxfwn.js.map +0 -1
  318. package/dist/Button-DsRrU5F1.js.map +0 -1
  319. package/dist/Calendar-cG5NIJ4O.js.map +0 -1
  320. package/dist/Card-Dyo7055Q.js.map +0 -1
  321. package/dist/Checkbox-Dq5fPNrO.js.map +0 -1
  322. package/dist/CodeEditor-BJKJXA0c.js.map +0 -1
  323. package/dist/ColorInput-Bj3dfPFA.js.map +0 -1
  324. package/dist/ColorModeSwitch-CWt-DZGC.js.map +0 -1
  325. package/dist/Combobox-D8PrEqTG.js +0 -619
  326. package/dist/Combobox-D8PrEqTG.js.map +0 -1
  327. package/dist/DateRangeInput-7M9Z4cVO.js.map +0 -1
  328. package/dist/DateRangePicker-DjSUFjh4.js.map +0 -1
  329. package/dist/DropdownMenu-CgVwhDvl.js.map +0 -1
  330. package/dist/FieldItem-DZGIdiXE.js.map +0 -1
  331. package/dist/FormGroup-DR_gZ25-.js.map +0 -1
  332. package/dist/FullScreenModal-CN9nAs72.js.map +0 -1
  333. package/dist/InputGroup-Do8K2hvD.js.map +0 -1
  334. package/dist/Kbd-LCFMumoq.js.map +0 -1
  335. package/dist/MermaidDiagram-ZG0iiDV_.js.map +0 -1
  336. package/dist/Modal-I3VWk2oo.js.map +0 -1
  337. package/dist/ModalTitle-CeLM_mX9.js.map +0 -1
  338. package/dist/PageHeader-Q3IpCnQd.js.map +0 -1
  339. package/dist/PageLayout-DSVM-ASz.js.map +0 -1
  340. package/dist/PageToolbar-BKVJiDAL.js.map +0 -1
  341. package/dist/Popover-BEbQrC_P.js.map +0 -1
  342. package/dist/SearchInput-92r2bkA7.js.map +0 -1
  343. package/dist/SectionNav-CNLJsiVG.js.map +0 -1
  344. package/dist/Sheet-OparjIi-.js.map +0 -1
  345. package/dist/Sidebar-CLEbBtNY.js.map +0 -1
  346. package/dist/TextInput-CFTf4Cz1.js.map +0 -1
  347. package/dist/ThemeProvider-DAmNn9Sd.js.map +0 -1
  348. package/dist/ZoomableSvg-BZlk3PFJ.js.map +0 -1
  349. package/dist/context-D7X470dy.js.map +0 -1
  350. package/dist/findLiteralMatches-BGBw8Vbl.js.map +0 -1
  351. package/dist/icons-Cek151jC.js.map +0 -1
  352. package/dist/styles-BAFscjSV.js.map +0 -1
  353. package/dist/svgTransforms-CJAYPk7o.js +0 -81
  354. package/dist/svgTransforms-CJAYPk7o.js.map +0 -1
  355. package/dist/themeScopeContext-D7fSyb06.js.map +0 -1
  356. package/dist/themeTokens-qP1-55O7.js +0 -119
  357. package/dist/themeTokens-qP1-55O7.js.map +0 -1
  358. package/dist/toast-DIC0iNRf.js.map +0 -1
  359. package/dist/useControllableState-M6494mCT.js.map +0 -1
  360. package/dist/useElement-BK3AAiIf.js +0 -24
  361. package/dist/useElement-BK3AAiIf.js.map +0 -1
  362. package/dist/utils-BW4AE8VP.js.map +0 -1
  363. package/dist/vegaTheme-CSvFEMBl.js.map +0 -1
package/dist/rjsf.js CHANGED
@@ -1,22 +1,22 @@
1
- import { Tooltip, debounce } from "./utils-BW4AE8VP.js";
2
- import { BookOpen, Info, Trash2 } from "./icons-Cek151jC.js";
3
- import { Button } from "./Button-DsRrU5F1.js";
1
+ import { Tooltip, debounce } from "./utils-Bd28bWgm.js";
2
+ import { BookOpen, Info, Trash2 } from "./icons-wcA70iQx.js";
3
+ import { Button } from "./Button-Ca4Q3VJU.js";
4
4
  import { Label } from "./internal/components/Label.js";
5
5
  import { Link } from "./internal/components/Link.js";
6
6
  import { useStableCallback } from "./internal/hooks/useStableCallback.js";
7
- import { TextInput } from "./TextInput-CFTf4Cz1.js";
8
- import { RadioGroup } from "./RadioGroup-Byc2mym4.js";
9
- import { Checkbox } from "./Checkbox-Dq5fPNrO.js";
10
- import { Combobox } from "./Combobox-D8PrEqTG.js";
11
- import { FormGroup } from "./FormGroup-DR_gZ25-.js";
7
+ import { TextInput } from "./TextInput-CDG2XpBl.js";
8
+ import { RadioGroup } from "./RadioGroup-CBPRLRN0.js";
9
+ import { Checkbox } from "./Checkbox-8yIIgY7g.js";
10
+ import { Combobox } from "./Combobox-CxRAYOBt.js";
11
+ import { FormGroup } from "./FormGroup-CmNiAtU6.js";
12
12
  import { NumberInput } from "./internal/blocks/NumberInput.js";
13
13
  import { Textarea } from "./internal/blocks/Textarea.js";
14
- import { DateInput } from "./DateInput-B6N8g0ra.js";
14
+ import { DateInput } from "./DateInput-DyEErfJf.js";
15
15
  import { PasswordInput } from "./internal/blocks/PasswordInput.js";
16
- import { Alert } from "./Alert-BsIM_oFK.js";
16
+ import { Alert } from "./Alert-UI-CIs-1.js";
17
17
  import { CollapsiblePanel } from "./internal/components/CollapsiblePanel.js";
18
- import { Tabs, TabsContent } from "./Tabs-eB974xJf.js";
19
- import { CodeEditor, isLanguageMode } from "./CodeEditor-BJKJXA0c.js";
18
+ import { Tabs, TabsContent } from "./Tabs-Dt9oLYHC.js";
19
+ import { CodeEditor, isLanguageMode } from "./CodeEditor-BSo-oLFG.js";
20
20
  import { createContext, isValidElement, use, useCallback, useEffect, useMemo, useRef, useState } from "react";
21
21
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
22
22
  import DOMPurify from "dompurify";
@@ -692,9 +692,6 @@ const useRootFormData = () => use(RootFormDataContext).data;
692
692
  const useRootContext = () => use(RootFormDataContext).context;
693
693
  //#endregion
694
694
  //#region src/blocks/RjsfSchemaEditor/templates/FieldTemplate.tsx
695
- /**
696
- * Resolves a dot-path against an object.
697
- */
698
695
  const resolveByPath$1 = (parts, data) => {
699
696
  let current = data;
700
697
  for (const part of parts) {
@@ -706,8 +703,8 @@ const resolveByPath$1 = (parts, data) => {
706
703
  /**
707
704
  * Resolves a dependency path against form data.
708
705
  *
709
- * - Paths starting with "root." are resolved from the root form data
710
- * - Other paths are resolved as siblings (relative to the parent object)
706
+ * 1. `root.`-prefixed → from the root.
707
+ * 2. Otherwise a sibling in the parent object, falling back to the root.
711
708
  */
712
709
  const resolveDependencyValue = (path, formData, parentPath) => {
713
710
  if (path.startsWith("root.")) return resolveByPath$1(path.replace(/^root\./, "").split("."), formData);
@@ -719,14 +716,10 @@ const resolveDependencyValue = (path, formData, parentPath) => {
719
716
  return resolveByPath$1(path.split("."), formData);
720
717
  };
721
718
  /**
722
- * Evaluates json-editor `options.dependencies` against current form data.
723
- * Returns true if the field should be visible.
724
- *
725
- * Rules (matching old json-editor behavior):
726
- * - `{ "field": "value" }` — show when field equals value
727
- * - `{ "field": ["a", "b"] }` — show when field is one of the values
728
- * - `{ "field": "" }` — show when field is empty/falsy
729
- * - Multiple entries are AND-ed: all conditions must match
719
+ * Whether json-editor `options.dependencies` show the field; every entry must match.
720
+ * - `"value"` — the field equals it
721
+ * - `["a", "b"]` — the field is one of them
722
+ * - `""` — the field is empty
730
723
  */
731
724
  const evaluateDependencies = (dependencies, formData, parentPath) => {
732
725
  for (const [path, expected] of Object.entries(dependencies)) {
@@ -753,10 +746,8 @@ const DocumentationLinkIcon = ({ documentation }) => /* @__PURE__ */ jsx(Tooltip
753
746
  })
754
747
  });
755
748
  /**
756
- * Renders the field's FormGroup wrapper, label, help, and errors.
757
- * Does NOT subscribe to RootFormDataContext — that subscription only happens
758
- * inside FieldTemplateWithDependencies, so fields without dependencies don't
759
- * re-render on every form-state change.
749
+ * FormGroup wrapper with label, help and errors.
750
+ * - Does not subscribe to RootFormDataContext, so it skips form-state re-renders.
760
751
  */
761
752
  const FieldTemplateBody = ({ id, label, rawHelp, rawDescription, rawErrors, children, schema, uiSchema, displayLabel }) => {
762
753
  const widget = uiSchema?.["ui:widget"];
@@ -793,11 +784,8 @@ const FieldTemplateBody = ({ id, label, rawHelp, rawDescription, rawErrors, chil
793
784
  });
794
785
  };
795
786
  /**
796
- * Wraps FieldTemplateBody with a root-form-data subscription used to evaluate
797
- * conditional visibility (options.dependencies). Subscribing here — instead of
798
- * unconditionally in FieldTemplate — keeps fields without dependencies out of
799
- * the RootFormDataContext consumer set, so they don't re-render on every
800
- * keystroke. Critical for forms with many fields (e.g. column_mapping tables).
787
+ * FieldTemplateBody gated by `options.dependencies`.
788
+ * - Only these fields subscribe to root form data, so the rest skip per-keystroke re-renders.
801
789
  */
802
790
  const FieldTemplateWithDependencies = ({ dependencies, keepMounted, ...props }) => {
803
791
  const rootFormData = useRootFormData();
@@ -921,7 +909,7 @@ const DateWidget = ({ id, value, onChange, onBlur, onFocus, disabled, readonly,
921
909
  * Widget for fields using json-editor's enumSource/watch pattern.
922
910
  * Reads options dynamically from the root form data based on watched paths.
923
911
  */
924
- const DynamicSelectWidget = ({ id, value, onChange, disabled, readonly, options: widgetOptions, required }) => {
912
+ const DynamicSelectWidget = ({ id, value, onChange, onBlur, disabled, readonly, options: widgetOptions, required, rawErrors }) => {
925
913
  const data = useRootFormData();
926
914
  const watch = widgetOptions.watch;
927
915
  const enumSource = widgetOptions.enumSource;
@@ -941,6 +929,9 @@ const DynamicSelectWidget = ({ id, value, onChange, disabled, readonly, options:
941
929
  value: selectedItem,
942
930
  allowClear: !required,
943
931
  disabled: disabled || readonly,
932
+ onBlur: () => onBlur(id, value),
933
+ "aria-invalid": rawErrors?.length ? true : void 0,
934
+ state: rawErrors?.length ? "error" : "default",
944
935
  onValueChange: (selected) => onChange(selected?.value ?? "")
945
936
  });
946
937
  };
@@ -996,7 +987,7 @@ const RadioWidget = ({ id, value, onChange, disabled, readonly, options }) => {
996
987
  };
997
988
  //#endregion
998
989
  //#region src/blocks/RjsfSchemaEditor/widgets/SelectWidget.tsx
999
- const SelectWidget = ({ id, value, schema, onChange, disabled, readonly, options, placeholder, required }) => {
990
+ const SelectWidget = ({ id, value, schema, onChange, onBlur, disabled, readonly, options, placeholder, required, rawErrors }) => {
1000
991
  const enumOptions = options.enumOptions ?? [];
1001
992
  const isBoolean = schema.type === "boolean";
1002
993
  const items = enumOptions.map((o) => ({
@@ -1011,6 +1002,9 @@ const SelectWidget = ({ id, value, schema, onChange, disabled, readonly, options
1011
1002
  value: selectedItem ?? null,
1012
1003
  allowClear: !required,
1013
1004
  disabled: disabled || readonly,
1005
+ onBlur: () => onBlur(id, value),
1006
+ "aria-invalid": rawErrors?.length ? true : void 0,
1007
+ state: rawErrors?.length ? "error" : "default",
1014
1008
  placeholder,
1015
1009
  onValueChange: (selected) => {
1016
1010
  const selectedValue = selected?.value ?? "";
@@ -1024,21 +1018,12 @@ const SelectWidget = ({ id, value, schema, onChange, disabled, readonly, options
1024
1018
  };
1025
1019
  //#endregion
1026
1020
  //#region src/blocks/RjsfSchemaEditor/widgets/TemplateWatchWidget.tsx
1027
- /**
1028
- * Renders a watched value as text.
1029
- *
1030
- * - Objects and arrays are serialized as JSON; anything else goes through `String`.
1031
- * - `null` and `undefined` render as an empty string.
1032
- */
1033
1021
  const stringify = (value) => {
1034
1022
  if (value == null) return "";
1035
1023
  if (typeof value === "object") return JSON.stringify(value);
1036
1024
  return String(value);
1037
1025
  };
1038
- /**
1039
- * Resolves a json-editor `template` string by substituting watched variables.
1040
- * e.g. template="{{val}}" with watch={ val: "some.path" } → resolves "some.path" from form data.
1041
- */
1026
+ /** Replaces each `{{var}}` in a json-editor template with the form value at `watch[var]`. */
1042
1027
  const resolveTemplate = (template, watch, rootFormData) => {
1043
1028
  return template.replace(/\{\{(\w+)\}\}/g, (_, varName) => {
1044
1029
  const watchPath = watch[varName];
@@ -1049,22 +1034,16 @@ const resolveTemplate = (template, watch, rootFormData) => {
1049
1034
  /**
1050
1035
  * Whether `rootContext` declares the value a path reads.
1051
1036
  *
1052
- * - A context entry shares its top-level key with the form data — a sync action writes its own
1053
- * keys under the same key — so the entry key alone does not settle it.
1054
- * - Both the entry and the segment under it must be own properties — plain-object lookups also
1055
- * answer for `toString` and the rest of the prototype chain.
1056
- * - A path naming an entry and nothing under it reads the whole namespace, context included.
1037
+ * - The entry key alone does not settle it: sync actions write form keys under the same key.
1038
+ * - Entry and segment must be own properties, not prototype members like `toString`.
1039
+ * - A path naming only an entry reads the whole namespace.
1057
1040
  */
1058
1041
  const declaresPath = (segments, rootContext) => {
1059
1042
  const [entryKey = "", key] = segments;
1060
1043
  const entry = rootContext[entryKey];
1061
1044
  return isRecord(entry) && (key === void 0 || Object.hasOwn(entry, key));
1062
1045
  };
1063
- /**
1064
- * Whether every watched path reads a value `rootContext` declares.
1065
- *
1066
- * - No watched paths means nothing is derived, which is not a context view.
1067
- */
1046
+ /** Whether every watched path reads a value `rootContext` declares; false with none. */
1068
1047
  const readsOnlyContext = (watch, rootContext) => {
1069
1048
  const paths = Object.values(watch);
1070
1049
  return paths.length > 0 && paths.every((path) => {
@@ -1073,16 +1052,11 @@ const readsOnlyContext = (watch, rootContext) => {
1073
1052
  });
1074
1053
  };
1075
1054
  /**
1076
- * Widget for json-editor's `template`/`watch` pattern (without `enumSource`).
1077
- * Computes a value from watched paths and shows it.
1055
+ * json-editor `template`/`watch` (no `enumSource`): writes the computed value into form data.
1078
1056
  *
1079
- * - With `options.hidden` it renders nothing — a helper for cross-object dependencies.
1080
- * - Without it, the value is shown in a read-only input; `FieldTemplate` supplies the label.
1081
- * - It writes the computed value into the form data, so a component reads it back from the
1082
- * saved configuration.
1083
- * - It stops writing when every watched path reads `rootContext` — the configuration does not
1084
- * own that context.
1085
- * - `options.hidden` fields always write; they exist to feed cross-object dependencies.
1057
+ * - `options.hidden`: renders nothing and always writes — feeds cross-object dependencies.
1058
+ * - Otherwise a read-only input that stops writing when every watched path reads
1059
+ * `rootContext`, which the configuration does not own.
1086
1060
  */
1087
1061
  const TemplateWatchWidget = ({ id, value, onChange, disabled, readonly, rawErrors, options: widgetOptions }) => {
1088
1062
  const data = useRootFormData();
@@ -1193,10 +1167,7 @@ const defaultTemplates = {
1193
1167
  };
1194
1168
  //#endregion
1195
1169
  //#region src/blocks/RjsfSchemaEditor/schemaUtils.ts
1196
- /**
1197
- * Resolves a $ref reference against the schema definitions, merging any
1198
- * sibling overrides (title, options, etc.) on top of the resolved schema.
1199
- */
1170
+ /** Resolves `$ref` against definitions; sibling keys (title, options) override the result. */
1200
1171
  const resolveRef = (propSchema, definitions) => {
1201
1172
  if (!propSchema.$ref || !definitions) return propSchema;
1202
1173
  const resolved = definitions[String(propSchema.$ref).replace("#/definitions/", "")];
@@ -1207,10 +1178,7 @@ const resolveRef = (propSchema, definitions) => {
1207
1178
  ...overrides
1208
1179
  };
1209
1180
  };
1210
- /**
1211
- * Walks a JSON Schema and generates a RJSF uiSchema based on custom `format` and `options` properties.
1212
- * This maps the legacy @json-editor/json-editor conventions to RJSF widget references.
1213
- */
1181
+ /** Generates an RJSF uiSchema from json-editor `format` and `options` conventions. */
1214
1182
  const generateUiSchema = (schema, readOnly = false, definitions, globalConfig, hasProtectedDefaultBranch = false) => {
1215
1183
  const uiSchema = {};
1216
1184
  const defs = definitions ?? schema.definitions;
@@ -1404,12 +1372,7 @@ const isMultiSelectSchema = (schema) => {
1404
1372
  "integer"
1405
1373
  ].includes(items.type) && (items.enum || items.enumSource || schema.options?.tags));
1406
1374
  };
1407
- /**
1408
- * Cleans up non-standard properties from a schema before passing to RJSF/AJV.
1409
- * RJSF is strict about unknown keywords, and our schemas contain json-editor-specific
1410
- * extensions (format: 'button', options, etc.).
1411
- */
1412
- /** Convert CSS height like "100px" to approximate textarea rows */
1375
+ /** CSS height like "100px" → approximate textarea rows. */
1413
1376
  const parseInputHeightToRows = (height) => {
1414
1377
  const px = parseInt(height, 10);
1415
1378
  if (Number.isNaN(px) || px <= 0) return 5;
@@ -1433,6 +1396,7 @@ const CUSTOM_FORMATS = [
1433
1396
  "button",
1434
1397
  "radio"
1435
1398
  ];
1399
+ /** Strips json-editor extensions (format: 'button', options, …) that RJSF/AJV reject. */
1436
1400
  const sanitizeSchema = (schema, definitions, isConditionalBranch = false) => {
1437
1401
  const cleaned = { ...schema };
1438
1402
  const defs = definitions ?? cleaned.definitions;
@@ -1504,11 +1468,7 @@ const sanitizeSchema = (schema, definitions, isConditionalBranch = false) => {
1504
1468
  //#endregion
1505
1469
  //#region src/blocks/RjsfSchemaEditor/RjsfSchemaEditor.tsx
1506
1470
  const defaultRenderMarkdown = (source) => source;
1507
- /**
1508
- * Produces a canonical JSON string with sorted keys at every level.
1509
- * This ensures two objects with the same data but different key ordering
1510
- * produce the same string. Also normalizes undefined → omitted (via JSON.stringify).
1511
- */
1471
+ /** JSON with keys sorted at every level, so key order never makes two equal objects differ. */
1512
1472
  const stableStringify = (obj) => JSON.stringify(obj, (_key, val) => {
1513
1473
  if (val && typeof val === "object" && !Array.isArray(val)) {
1514
1474
  const sorted = {};