@keboola/design 11.0.1 → 11.2.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 (153) hide show
  1. package/AGENTS.md +16 -1
  2. package/CHANGELOG.md +2138 -0
  3. package/COMPONENT-API.md +40 -1
  4. package/dist/{AIKit-Dre37SJr.js → AIKit-DiS0CVOW.js} +6 -6
  5. package/dist/{AIKit-Dre37SJr.js.map → AIKit-DiS0CVOW.js.map} +1 -1
  6. package/dist/{AlertModal-BUC4Es8o.js → AlertModal-Dp_XuJBW.js} +3 -6
  7. package/dist/{AlertModal-BUC4Es8o.js.map → AlertModal-Dp_XuJBW.js.map} +1 -1
  8. package/dist/{BrandEditor-B8o9zdZO.js → BrandEditor-DyzgfVkl.js} +6 -6
  9. package/dist/{BrandEditor-B8o9zdZO.js.map → BrandEditor-DyzgfVkl.js.map} +1 -1
  10. package/dist/{Breadcrumb-DJp7WwSv.js → Breadcrumb-Frst8MTA.js} +3 -3
  11. package/dist/{Breadcrumb-DJp7WwSv.js.map → Breadcrumb-Frst8MTA.js.map} +1 -1
  12. package/dist/{Button-nzmDNS2q.js → Button-6xBX0nNl.js} +15 -15
  13. package/dist/Button-6xBX0nNl.js.map +1 -0
  14. package/dist/{ClipboardButton-ez5V3fkk.js → ClipboardButton-ClcluT0C.js} +2 -2
  15. package/dist/{ClipboardButton-ez5V3fkk.js.map → ClipboardButton-ClcluT0C.js.map} +1 -1
  16. package/dist/{CodeEditor-BfQJfbhL.js → CodeEditor-DyaN-Ij2.js} +58 -10
  17. package/dist/CodeEditor-DyaN-Ij2.js.map +1 -0
  18. package/dist/{ColorInput-Dx8Dsv7Y.js → ColorInput-B8z4j4Y_.js} +2 -2
  19. package/dist/{ColorInput-Dx8Dsv7Y.js.map → ColorInput-B8z4j4Y_.js.map} +1 -1
  20. package/dist/{ColorModeSwitch-CCqj7tjE.js → ColorModeSwitch-dZFZyqy1.js} +3 -3
  21. package/dist/{ColorModeSwitch-CCqj7tjE.js.map → ColorModeSwitch-dZFZyqy1.js.map} +1 -1
  22. package/dist/{Combobox-c_xBjf0P.js → Combobox-Dgm6Z4ib.js} +9 -5
  23. package/dist/Combobox-Dgm6Z4ib.js.map +1 -0
  24. package/dist/{Command-CQ_bQsJp.js → Command-C0aZfVTq.js} +2 -2
  25. package/dist/{Command-CQ_bQsJp.js.map → Command-C0aZfVTq.js.map} +1 -1
  26. package/dist/{DateInput-CMD3dY-T.js → DateInput-B3UdzRfW.js} +3 -3
  27. package/dist/{DateInput-CMD3dY-T.js.map → DateInput-B3UdzRfW.js.map} +1 -1
  28. package/dist/{DatePicker-BbFbmsGl.js → DatePicker-Dw3DpbUh.js} +2 -2
  29. package/dist/{DatePicker-BbFbmsGl.js.map → DatePicker-Dw3DpbUh.js.map} +1 -1
  30. package/dist/{DateRangeInput-D3BhiKyk.js → DateRangeInput-DTuySEiq.js} +3 -3
  31. package/dist/{DateRangeInput-D3BhiKyk.js.map → DateRangeInput-DTuySEiq.js.map} +1 -1
  32. package/dist/{DateRangePicker-BiUgtt_M.js → DateRangePicker-DCmMHg4s.js} +4 -4
  33. package/dist/{DateRangePicker-BiUgtt_M.js.map → DateRangePicker-DCmMHg4s.js.map} +1 -1
  34. package/dist/{DropdownMenu-B6ZbYvaM.js → DropdownMenu-t90tVw6l.js} +8 -8
  35. package/dist/DropdownMenu-t90tVw6l.js.map +1 -0
  36. package/dist/FieldItem-CAPj9lj3.d.ts +111 -0
  37. package/dist/FieldItem-D-h1NeBo.js +108 -0
  38. package/dist/FieldItem-D-h1NeBo.js.map +1 -0
  39. package/dist/{FileUpload-sXRv7JiY.js → FileUpload-BRv0TaZk.js} +2 -2
  40. package/dist/{FileUpload-sXRv7JiY.js.map → FileUpload-BRv0TaZk.js.map} +1 -1
  41. package/dist/{Form-BDCef6O9.js → Form-DHvcFoEi.js} +18 -78
  42. package/dist/{Form-BDCef6O9.js.map → Form-DHvcFoEi.js.map} +1 -1
  43. package/dist/{FormGroup-S9mPNHKH.js → FormGroup-C41n65cE.js} +7 -7
  44. package/dist/FormGroup-C41n65cE.js.map +1 -0
  45. package/dist/{FullScreenModal-CJa2VkJ2.js → FullScreenModal-Cb3PGgh4.js} +2 -2
  46. package/dist/{FullScreenModal-CJa2VkJ2.js.map → FullScreenModal-Cb3PGgh4.js.map} +1 -1
  47. package/dist/{InputGroup-BJWsI35s.js → InputGroup-CdTq8H7c.js} +2 -2
  48. package/dist/{InputGroup-BJWsI35s.js.map → InputGroup-CdTq8H7c.js.map} +1 -1
  49. package/dist/{MermaidDiagram-BB06gymm.js → MermaidDiagram-ChL3WIQT.js} +2 -2
  50. package/dist/{MermaidDiagram-BB06gymm.js.map → MermaidDiagram-ChL3WIQT.js.map} +1 -1
  51. package/dist/{Modal-BA5Wc3sx.js → Modal-wqG8nJiK.js} +2 -2
  52. package/dist/{Modal-BA5Wc3sx.js.map → Modal-wqG8nJiK.js.map} +1 -1
  53. package/dist/{MultiActionButtonGroup-CiBHxsSk.js → MultiActionButtonGroup-BiIIubiL.js} +2 -2
  54. package/dist/{MultiActionButtonGroup-CiBHxsSk.js.map → MultiActionButtonGroup-BiIIubiL.js.map} +1 -1
  55. package/dist/{Navbar-t16usFZQ.js → Navbar-BfaPeLUL.js} +5 -2
  56. package/dist/Navbar-BfaPeLUL.js.map +1 -0
  57. package/dist/{PageToolbar-0_1OBzaZ.js → PageToolbar-OQg3mPF-.js} +4 -4
  58. package/dist/PageToolbar-OQg3mPF-.js.map +1 -0
  59. package/dist/{Pagination-CM_Rszz-.js → Pagination-Cjfda8KG.js} +2 -2
  60. package/dist/{Pagination-CM_Rszz-.js.map → Pagination-Cjfda8KG.js.map} +1 -1
  61. package/dist/{Popconfirm-BGe1jLov.js → Popconfirm-D7_vfxFd.js} +4 -7
  62. package/dist/{Popconfirm-BGe1jLov.js.map → Popconfirm-D7_vfxFd.js.map} +1 -1
  63. package/dist/{Popover-Ca0V6AD1.js → Popover-CzeHjvrB.js} +6 -13
  64. package/dist/Popover-CzeHjvrB.js.map +1 -0
  65. package/dist/{SearchInput-D2fcOv7E.js → SearchInput-C7dF_Ir-.js} +2 -2
  66. package/dist/{SearchInput-D2fcOv7E.js.map → SearchInput-C7dF_Ir-.js.map} +1 -1
  67. package/dist/{SectionNav--7bw2b6u.js → SectionNav-8NoTOKO8.js} +3 -3
  68. package/dist/{SectionNav--7bw2b6u.js.map → SectionNav-8NoTOKO8.js.map} +1 -1
  69. package/dist/{Select-4YX38G5h.js → Select-Is0VkePH.js} +2 -2
  70. package/dist/{Select-4YX38G5h.js.map → Select-Is0VkePH.js.map} +1 -1
  71. package/dist/{Sheet-BQrX8-h5.js → Sheet-Dw9BDvjI.js} +2 -2
  72. package/dist/{Sheet-BQrX8-h5.js.map → Sheet-Dw9BDvjI.js.map} +1 -1
  73. package/dist/{Sidebar-ROaR_AqC.js → Sidebar-Dcb4rinA.js} +2 -2
  74. package/dist/{Sidebar-ROaR_AqC.js.map → Sidebar-Dcb4rinA.js.map} +1 -1
  75. package/dist/{Slider-Da_3mS5v.js → Slider-BOPfMOMm.js} +2 -2
  76. package/dist/{Slider-Da_3mS5v.js.map → Slider-BOPfMOMm.js.map} +1 -1
  77. package/dist/{Tabs-EAihyqCt.js → Tabs-UMQuDoW8.js} +2 -2
  78. package/dist/{Tabs-EAihyqCt.js.map → Tabs-UMQuDoW8.js.map} +1 -1
  79. package/dist/{TextInput-BGed-V13.js → TextInput-CMuN1WfY.js} +2 -2
  80. package/dist/{TextInput-BGed-V13.js.map → TextInput-CMuN1WfY.js.map} +1 -1
  81. package/dist/{TimePicker-B_NegL-7.js → TimePicker-D9zktB8A.js} +2 -2
  82. package/dist/{TimePicker-B_NegL-7.js.map → TimePicker-D9zktB8A.js.map} +1 -1
  83. package/dist/{ZoomableSvg-DG9PnAm8.js → ZoomableSvg-CZEu6sAq.js} +3 -3
  84. package/dist/{ZoomableSvg-DG9PnAm8.js.map → ZoomableSvg-CZEu6sAq.js.map} +1 -1
  85. package/dist/editors.d.ts +71 -9
  86. package/dist/editors.js +58 -3
  87. package/dist/editors.js.map +1 -1
  88. package/dist/index.d.ts +314 -312
  89. package/dist/index.js +41 -40
  90. package/dist/internal/blocks/AIKit.js +1 -1
  91. package/dist/internal/blocks/BrandEditor.js +1 -1
  92. package/dist/internal/blocks/ClipboardButton.js +1 -1
  93. package/dist/internal/blocks/ColorInput.js +1 -1
  94. package/dist/internal/blocks/ColorModeSwitch.js +1 -1
  95. package/dist/internal/blocks/Command.js +1 -1
  96. package/dist/internal/blocks/DateInput.js +1 -1
  97. package/dist/internal/blocks/DateRangeInput.js +1 -1
  98. package/dist/internal/blocks/ExportMenu.js +2 -2
  99. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +56 -0
  100. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js.map +1 -0
  101. package/dist/internal/blocks/Form.js +1 -1
  102. package/dist/internal/blocks/FormGroup.js +1 -1
  103. package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
  104. package/dist/internal/blocks/MultiCombobox.js +8 -3
  105. package/dist/internal/blocks/MultiCombobox.js.map +1 -1
  106. package/dist/internal/blocks/NumberInput.js +1 -1
  107. package/dist/internal/blocks/PageToolbar.js +1 -1
  108. package/dist/internal/blocks/PasswordInput.js +1 -1
  109. package/dist/internal/blocks/SearchInput.js +1 -1
  110. package/dist/internal/blocks/SearchInputWithNavigation.js +2 -2
  111. package/dist/internal/blocks/SectionNav.js +1 -1
  112. package/dist/internal/blocks/SplitButton.js +2 -2
  113. package/dist/internal/blocks/TextInput.js +1 -1
  114. package/dist/internal/blocks/Textarea.js +1 -1
  115. package/dist/internal/blocks/TimeInput.js +2 -2
  116. package/dist/internal/components/AlertModal.js +1 -1
  117. package/dist/internal/components/Breadcrumb.js +1 -1
  118. package/dist/internal/components/Button.js +1 -1
  119. package/dist/internal/components/Combobox.js +1 -1
  120. package/dist/internal/components/DatePicker.js +1 -1
  121. package/dist/internal/components/DateRangePicker.js +1 -1
  122. package/dist/internal/components/DropdownMenu.js +1 -1
  123. package/dist/internal/components/FileUpload.js +1 -1
  124. package/dist/internal/components/FullScreenModal.js +1 -1
  125. package/dist/internal/components/InputGroup.js +1 -1
  126. package/dist/internal/components/Modal.js +1 -1
  127. package/dist/internal/components/Navbar.js +1 -1
  128. package/dist/internal/components/Pagination.js +1 -1
  129. package/dist/internal/components/Popconfirm.js +1 -1
  130. package/dist/internal/components/Popover.js +1 -1
  131. package/dist/internal/components/Select.js +1 -1
  132. package/dist/internal/components/Sheet.js +1 -1
  133. package/dist/internal/components/Sidebar.js +1 -1
  134. package/dist/internal/components/Slider.js +1 -1
  135. package/dist/internal/components/Tabs.js +1 -1
  136. package/dist/internal/components/TimePicker.js +1 -1
  137. package/dist/internal/components/ZoomableSvg.js +1 -1
  138. package/dist/markdown-editor.js +5 -5
  139. package/dist/mermaid.js +1 -1
  140. package/dist/rjsf.d.ts +13 -1
  141. package/dist/rjsf.js +233 -173
  142. package/dist/rjsf.js.map +1 -1
  143. package/dist/styles.css +1 -1
  144. package/package.json +7 -6
  145. package/dist/Button-nzmDNS2q.js.map +0 -1
  146. package/dist/CodeEditor-BfQJfbhL.js.map +0 -1
  147. package/dist/Combobox-c_xBjf0P.js.map +0 -1
  148. package/dist/DropdownMenu-B6ZbYvaM.js.map +0 -1
  149. package/dist/FormGroup-S9mPNHKH.js.map +0 -1
  150. package/dist/Navbar-t16usFZQ.js.map +0 -1
  151. package/dist/PageToolbar-0_1OBzaZ.js.map +0 -1
  152. package/dist/Popover-Ca0V6AD1.js.map +0 -1
  153. package/dist/constants-D6JcsD4_.d.ts +0 -41
package/AGENTS.md CHANGED
@@ -458,7 +458,7 @@ A host that tracks the request itself rather than returning a promise passes `is
458
458
 
459
459
  Both router wirings (TanStack Router, and a custom named router) are in [`RECIPES.md`](./RECIPES.md#section-nav).
460
460
 
461
- **Creatable combobox** — `Combobox` with `allowCreate` accepts values not in `items`:
461
+ **Creatable combobox** — `Combobox` with `allowCreate` accepts values not in `items`. Add `canCreate` when the free-form value has a format: it gates the create row on the typed query, so an unparseable one shows the `empty` state instead of an "Add …" row the app would have to reject afterwards.
462
462
 
463
463
  ```tsx
464
464
  <Combobox
@@ -467,10 +467,25 @@ Both router wirings (TanStack Router, and a custom named router) are in [`RECIPE
467
467
  onValueChange={setTag}
468
468
  allowCreate
469
469
  allowClear
470
+ canCreate={(query) => /^[a-z0-9-]+$/.test(query)}
470
471
  placeholder="Pick or create a tag"
471
472
  />
472
473
  ```
473
474
 
475
+ **Adder combobox** — a picker that hands each selection to something else (a list, an API) rather than holding it. Pin `value` to `null`: the input clears after every pick, ready for the next one, and the chosen items live in whatever you render below.
476
+
477
+ ```tsx
478
+ <Combobox
479
+ items={colleagues}
480
+ value={null}
481
+ onValueChange={(email) => email && addRecipient(email)}
482
+ allowCreate
483
+ canCreate={isEmailValid}
484
+ empty="Enter a valid email address"
485
+ placeholder="Choose a colleague or enter an email address"
486
+ />
487
+ ```
488
+
474
489
  **Sheet** — use `Sheet.Header title="…" description="…"` for a styled title + close icon; do **not** hand-roll with the raw `Sheet.Title`, which renders an unstyled `<h2>`. `Sheet.Body` provides horizontal padding only (`tw:px-4`) — add your own vertical rhythm/gap:
475
490
 
476
491
  ```tsx