@keboola/design 10.1.0 → 11.0.1

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 (382) hide show
  1. package/AGENTS.md +2 -0
  2. package/dist/AIKit-Dre37SJr.js +1320 -0
  3. package/dist/AIKit-Dre37SJr.js.map +1 -0
  4. package/dist/Alert-DfZq9kGe.js +133 -0
  5. package/dist/Alert-DfZq9kGe.js.map +1 -0
  6. package/dist/AlertModal-BUC4Es8o.js +222 -0
  7. package/dist/AlertModal-BUC4Es8o.js.map +1 -0
  8. package/dist/AppShell-B5GQN6Zs.js +143 -0
  9. package/dist/AppShell-B5GQN6Zs.js.map +1 -0
  10. package/dist/AutoSaveTextarea-BeuWuszr.js +58 -0
  11. package/dist/AutoSaveTextarea-BeuWuszr.js.map +1 -0
  12. package/dist/Badge-Ch26CXoP.js +195 -0
  13. package/dist/Badge-Ch26CXoP.js.map +1 -0
  14. package/dist/BrandEditor-B8o9zdZO.js +903 -0
  15. package/dist/BrandEditor-B8o9zdZO.js.map +1 -0
  16. package/dist/BrandLogo-CJkRd0F8.js +46 -0
  17. package/dist/BrandLogo-CJkRd0F8.js.map +1 -0
  18. package/dist/Breadcrumb-DJp7WwSv.js +330 -0
  19. package/dist/Breadcrumb-DJp7WwSv.js.map +1 -0
  20. package/dist/Button-nzmDNS2q.js +391 -0
  21. package/dist/Button-nzmDNS2q.js.map +1 -0
  22. package/dist/Calendar-cG5NIJ4O.js +6768 -0
  23. package/dist/Calendar-cG5NIJ4O.js.map +1 -0
  24. package/dist/Card-BAoZ35CV.js +105 -0
  25. package/dist/Card-BAoZ35CV.js.map +1 -0
  26. package/dist/Checkbox-GJ8-srt4.js +97 -0
  27. package/dist/Checkbox-GJ8-srt4.js.map +1 -0
  28. package/dist/Clipboard-CBJZiviP.js +58 -0
  29. package/dist/Clipboard-CBJZiviP.js.map +1 -0
  30. package/dist/ClipboardButton-ez5V3fkk.js +43 -0
  31. package/dist/ClipboardButton-ez5V3fkk.js.map +1 -0
  32. package/dist/CodeEditor-BfQJfbhL.js +952 -0
  33. package/dist/CodeEditor-BfQJfbhL.js.map +1 -0
  34. package/dist/Collapsible-BQXWEOBC.js +34 -0
  35. package/dist/Collapsible-BQXWEOBC.js.map +1 -0
  36. package/dist/ColorInput-Dx8Dsv7Y.js +180 -0
  37. package/dist/ColorInput-Dx8Dsv7Y.js.map +1 -0
  38. package/dist/ColorModeSwitch-CCqj7tjE.js +77 -0
  39. package/dist/ColorModeSwitch-CCqj7tjE.js.map +1 -0
  40. package/dist/Combobox-c_xBjf0P.js +439 -0
  41. package/dist/Combobox-c_xBjf0P.js.map +1 -0
  42. package/dist/Command-CQ_bQsJp.js +102 -0
  43. package/dist/Command-CQ_bQsJp.js.map +1 -0
  44. package/dist/CopyField-BJ96zvXs.js +322 -0
  45. package/dist/CopyField-BJ96zvXs.js.map +1 -0
  46. package/dist/DateInput-CMD3dY-T.js +141 -0
  47. package/dist/DateInput-CMD3dY-T.js.map +1 -0
  48. package/dist/DatePicker-BbFbmsGl.js +24 -0
  49. package/dist/DatePicker-BbFbmsGl.js.map +1 -0
  50. package/dist/DateRangeInput-D3BhiKyk.js +139 -0
  51. package/dist/DateRangeInput-D3BhiKyk.js.map +1 -0
  52. package/dist/DateRangePicker-BiUgtt_M.js +159 -0
  53. package/dist/DateRangePicker-BiUgtt_M.js.map +1 -0
  54. package/dist/DiagramSkeleton-lwBS2YBa.js +11 -0
  55. package/dist/DiagramSkeleton-lwBS2YBa.js.map +1 -0
  56. package/dist/DiffView-ppTIzh2h.js +429 -0
  57. package/dist/DiffView-ppTIzh2h.js.map +1 -0
  58. package/dist/DropdownMenu-B6ZbYvaM.js +327 -0
  59. package/dist/DropdownMenu-B6ZbYvaM.js.map +1 -0
  60. package/dist/FieldBox-D7DYtX_m.js +70 -0
  61. package/dist/FieldBox-D7DYtX_m.js.map +1 -0
  62. package/dist/FileUpload-sXRv7JiY.js +2527 -0
  63. package/dist/FileUpload-sXRv7JiY.js.map +1 -0
  64. package/dist/Form-BDCef6O9.js +371 -0
  65. package/dist/Form-BDCef6O9.js.map +1 -0
  66. package/dist/FormGroup-S9mPNHKH.js +124 -0
  67. package/dist/FormGroup-S9mPNHKH.js.map +1 -0
  68. package/dist/FullScreenModal-CJa2VkJ2.js +96 -0
  69. package/dist/FullScreenModal-CJa2VkJ2.js.map +1 -0
  70. package/dist/HoverCard-WfDkLK1s.js +31 -0
  71. package/dist/HoverCard-WfDkLK1s.js.map +1 -0
  72. package/dist/InputGroup-BJWsI35s.js +292 -0
  73. package/dist/InputGroup-BJWsI35s.js.map +1 -0
  74. package/dist/Kbd-CxHAo1oo.js +111 -0
  75. package/dist/Kbd-CxHAo1oo.js.map +1 -0
  76. package/dist/MarkedText-Ckbft5mw.js +44 -0
  77. package/dist/MarkedText-Ckbft5mw.js.map +1 -0
  78. package/dist/MermaidDiagram-BB06gymm.js +399 -0
  79. package/dist/MermaidDiagram-BB06gymm.js.map +1 -0
  80. package/dist/Modal-BA5Wc3sx.js +185 -0
  81. package/dist/Modal-BA5Wc3sx.js.map +1 -0
  82. package/dist/ModalTitle-C76ke2eo.js +28 -0
  83. package/dist/ModalTitle-C76ke2eo.js.map +1 -0
  84. package/dist/MultiActionButtonGroup-CiBHxsSk.js +33 -0
  85. package/dist/MultiActionButtonGroup-CiBHxsSk.js.map +1 -0
  86. package/dist/Navbar-t16usFZQ.js +322 -0
  87. package/dist/Navbar-t16usFZQ.js.map +1 -0
  88. package/dist/OtpInput-CbbymqYs.js +93 -0
  89. package/dist/OtpInput-CbbymqYs.js.map +1 -0
  90. package/dist/PageHeader-Q3IpCnQd.js +177 -0
  91. package/dist/PageHeader-Q3IpCnQd.js.map +1 -0
  92. package/dist/PageLayout-DSVM-ASz.js +176 -0
  93. package/dist/PageLayout-DSVM-ASz.js.map +1 -0
  94. package/dist/PageToolbar-0_1OBzaZ.js +153 -0
  95. package/dist/PageToolbar-0_1OBzaZ.js.map +1 -0
  96. package/dist/Pagination-CM_Rszz-.js +70 -0
  97. package/dist/Pagination-CM_Rszz-.js.map +1 -0
  98. package/dist/Popconfirm-BGe1jLov.js +170 -0
  99. package/dist/Popconfirm-BGe1jLov.js.map +1 -0
  100. package/dist/Popover-Ca0V6AD1.js +92 -0
  101. package/dist/Popover-Ca0V6AD1.js.map +1 -0
  102. package/dist/RadioGroup-sIveSsNa.js +233 -0
  103. package/dist/RadioGroup-sIveSsNa.js.map +1 -0
  104. package/dist/Resizable-D3vYToZH.js +52 -0
  105. package/dist/Resizable-D3vYToZH.js.map +1 -0
  106. package/dist/Search-3UiqNZRj.js +184 -0
  107. package/dist/Search-3UiqNZRj.js.map +1 -0
  108. package/dist/SearchInput-D2fcOv7E.js +102 -0
  109. package/dist/SearchInput-D2fcOv7E.js.map +1 -0
  110. package/dist/SectionNav--7bw2b6u.js +276 -0
  111. package/dist/SectionNav--7bw2b6u.js.map +1 -0
  112. package/dist/Select-4YX38G5h.js +181 -0
  113. package/dist/Select-4YX38G5h.js.map +1 -0
  114. package/dist/Sheet-BQrX8-h5.js +169 -0
  115. package/dist/Sheet-BQrX8-h5.js.map +1 -0
  116. package/dist/Sidebar-ROaR_AqC.js +799 -0
  117. package/dist/Sidebar-ROaR_AqC.js.map +1 -0
  118. package/dist/Slider-Da_3mS5v.js +127 -0
  119. package/dist/Slider-Da_3mS5v.js.map +1 -0
  120. package/dist/Stepper-C8sm9ZFM.js +325 -0
  121. package/dist/Stepper-C8sm9ZFM.js.map +1 -0
  122. package/dist/Switch-CX2A0v50.js +201 -0
  123. package/dist/Switch-CX2A0v50.js.map +1 -0
  124. package/dist/Table-CvYuTuNU.js +104 -0
  125. package/dist/Table-CvYuTuNU.js.map +1 -0
  126. package/dist/Tabs-EAihyqCt.js +74 -0
  127. package/dist/Tabs-EAihyqCt.js.map +1 -0
  128. package/dist/TextInput-BGed-V13.js +110 -0
  129. package/dist/TextInput-BGed-V13.js.map +1 -0
  130. package/dist/ThemeProvider-QncUrfJn.js +203 -0
  131. package/dist/ThemeProvider-QncUrfJn.js.map +1 -0
  132. package/dist/TimePicker-B_NegL-7.js +98 -0
  133. package/dist/TimePicker-B_NegL-7.js.map +1 -0
  134. package/dist/Timeline-6btyJl4D.js +154 -0
  135. package/dist/Timeline-6btyJl4D.js.map +1 -0
  136. package/dist/Toast-DQSbs3oA.js +49 -0
  137. package/dist/Toast-DQSbs3oA.js.map +1 -0
  138. package/dist/ToggleGroup-Cy_10Mvu.js +47 -0
  139. package/dist/ToggleGroup-Cy_10Mvu.js.map +1 -0
  140. package/dist/Workbench-BzE-Vvd9.js +293 -0
  141. package/dist/Workbench-BzE-Vvd9.js.map +1 -0
  142. package/dist/ZoomableSvg-DG9PnAm8.js +248 -0
  143. package/dist/ZoomableSvg-DG9PnAm8.js.map +1 -0
  144. package/dist/charts.d.ts +124 -111
  145. package/dist/charts.js +303 -249
  146. package/dist/charts.js.map +1 -1
  147. package/dist/classNames-BzrkDnOD.js +9 -0
  148. package/dist/classNames-BzrkDnOD.js.map +1 -0
  149. package/dist/constants-D6JcsD4_.d.ts +41 -0
  150. package/dist/context-KxxeMHbR.js +62 -0
  151. package/dist/context-KxxeMHbR.js.map +1 -0
  152. package/dist/editors.d.ts +180 -173
  153. package/dist/editors.js +747 -420
  154. package/dist/editors.js.map +1 -1
  155. package/dist/escapeStringRegexp-8MxP2knR.js +6 -0
  156. package/dist/escapeStringRegexp-8MxP2knR.js.map +1 -0
  157. package/dist/icons-Cek151jC.js +640 -0
  158. package/dist/icons-Cek151jC.js.map +1 -0
  159. package/dist/icons.d.ts +2 -41
  160. package/dist/icons.js +2 -4
  161. package/dist/index-m-kQEWiY.d.ts +54 -0
  162. package/dist/index.d.ts +6192 -9904
  163. package/dist/index.js +112 -15803
  164. package/dist/internal/blocks/AIKit.js +2 -0
  165. package/dist/internal/blocks/AppShell.js +2 -0
  166. package/dist/internal/blocks/AutoSaveTextarea.js +2 -0
  167. package/dist/internal/blocks/BrandEditor.js +2 -0
  168. package/dist/internal/blocks/ChartPanel.js +46 -0
  169. package/dist/internal/blocks/ChartPanel.js.map +1 -0
  170. package/dist/internal/blocks/ClipboardButton.js +2 -0
  171. package/dist/internal/blocks/ColorInput.js +2 -0
  172. package/dist/internal/blocks/ColorModeSwitch.js +2 -0
  173. package/dist/internal/blocks/Command.js +2 -0
  174. package/dist/internal/blocks/CopyField.js +2 -0
  175. package/dist/internal/blocks/DashboardHero.js +59 -0
  176. package/dist/internal/blocks/DashboardHero.js.map +1 -0
  177. package/dist/internal/blocks/DateInput.js +2 -0
  178. package/dist/internal/blocks/DateRangeInput.js +2 -0
  179. package/dist/internal/blocks/EmptyConfigurationActionCard.js +16 -0
  180. package/dist/internal/blocks/EmptyConfigurationActionCard.js.map +1 -0
  181. package/dist/internal/blocks/EmptyState.js +142 -0
  182. package/dist/internal/blocks/EmptyState.js.map +1 -0
  183. package/dist/internal/blocks/ErrorState.js +179 -0
  184. package/dist/internal/blocks/ErrorState.js.map +1 -0
  185. package/dist/internal/blocks/ExportMenu.js +41 -0
  186. package/dist/internal/blocks/ExportMenu.js.map +1 -0
  187. package/dist/internal/blocks/Form.js +2 -0
  188. package/dist/internal/blocks/FormGroup.js +2 -0
  189. package/dist/internal/blocks/GoogleButton.js +95 -0
  190. package/dist/internal/blocks/GoogleButton.js.map +1 -0
  191. package/dist/internal/blocks/MicrosoftButton.js +64 -0
  192. package/dist/internal/blocks/MicrosoftButton.js.map +1 -0
  193. package/dist/internal/blocks/MultiActionButtonGroup.js +2 -0
  194. package/dist/internal/blocks/MultiCombobox.js +188 -0
  195. package/dist/internal/blocks/MultiCombobox.js.map +1 -0
  196. package/dist/internal/blocks/NumberInput.js +44 -0
  197. package/dist/internal/blocks/NumberInput.js.map +1 -0
  198. package/dist/internal/blocks/OtpInput.js +2 -0
  199. package/dist/internal/blocks/PageHeader.js +2 -0
  200. package/dist/internal/blocks/PageLayout.js +2 -0
  201. package/dist/internal/blocks/PageToolbar.js +2 -0
  202. package/dist/internal/blocks/PasswordInput.js +97 -0
  203. package/dist/internal/blocks/PasswordInput.js.map +1 -0
  204. package/dist/internal/blocks/SearchInput.js +2 -0
  205. package/dist/internal/blocks/SearchInputWithNavigation.js +65 -0
  206. package/dist/internal/blocks/SearchInputWithNavigation.js.map +1 -0
  207. package/dist/internal/blocks/SectionNav.js +2 -0
  208. package/dist/internal/blocks/SplitButton.js +46 -0
  209. package/dist/internal/blocks/SplitButton.js.map +1 -0
  210. package/dist/internal/blocks/StatCard.js +97 -0
  211. package/dist/internal/blocks/StatCard.js.map +1 -0
  212. package/dist/internal/blocks/TextInput.js +2 -0
  213. package/dist/internal/blocks/Textarea.js +32 -0
  214. package/dist/internal/blocks/Textarea.js.map +1 -0
  215. package/dist/internal/blocks/TimeInput.js +77 -0
  216. package/dist/internal/blocks/TimeInput.js.map +1 -0
  217. package/dist/internal/components/Alert.js +2 -0
  218. package/dist/internal/components/AlertModal.js +2 -0
  219. package/dist/internal/components/Avatar.js +53 -0
  220. package/dist/internal/components/Avatar.js.map +1 -0
  221. package/dist/internal/components/Badge.js +2 -0
  222. package/dist/internal/components/BrandLogo.js +2 -0
  223. package/dist/internal/components/Breadcrumb.js +2 -0
  224. package/dist/internal/components/Button.js +2 -0
  225. package/dist/internal/components/ButtonGroup.js +66 -0
  226. package/dist/internal/components/ButtonGroup.js.map +1 -0
  227. package/dist/internal/components/Calendar.js +2 -0
  228. package/dist/internal/components/Card.js +2 -0
  229. package/dist/internal/components/Checkbox.js +2 -0
  230. package/dist/internal/components/Clipboard.js +2 -0
  231. package/dist/internal/components/Collapsible.js +2 -0
  232. package/dist/internal/components/CollapsiblePanel.js +87 -0
  233. package/dist/internal/components/CollapsiblePanel.js.map +1 -0
  234. package/dist/internal/components/Combobox.js +2 -0
  235. package/dist/internal/components/DatePicker.js +2 -0
  236. package/dist/internal/components/DateRangePicker.js +2 -0
  237. package/dist/internal/components/DiffView.js +2 -0
  238. package/dist/internal/components/DotsLoader.js +18 -0
  239. package/dist/internal/components/DotsLoader.js.map +1 -0
  240. package/dist/internal/components/DropdownMenu.js +2 -0
  241. package/dist/internal/components/EmptySearchContent.js +12 -0
  242. package/dist/internal/components/EmptySearchContent.js.map +1 -0
  243. package/dist/internal/components/FileUpload.js +2 -0
  244. package/dist/internal/components/FullScreenModal.js +2 -0
  245. package/dist/internal/components/HelpBlock.js +25 -0
  246. package/dist/internal/components/HelpBlock.js.map +1 -0
  247. package/dist/internal/components/HoverCard.js +2 -0
  248. package/dist/internal/components/InputGroup.js +2 -0
  249. package/dist/internal/components/Kbd.js +2 -0
  250. package/dist/internal/components/Label.js +39 -0
  251. package/dist/internal/components/Label.js.map +1 -0
  252. package/dist/internal/components/Link.js +22 -0
  253. package/dist/internal/components/Link.js.map +1 -0
  254. package/dist/internal/components/MarkedText.js +2 -0
  255. package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js +20 -0
  256. package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js.map +1 -0
  257. package/dist/internal/components/MergeEditor/PaneHeader.js +13 -0
  258. package/dist/internal/components/MergeEditor/PaneHeader.js.map +1 -0
  259. package/dist/internal/components/MergeEditor/constants.js +18 -0
  260. package/dist/internal/components/MergeEditor/constants.js.map +1 -0
  261. package/dist/internal/components/MergeEditor/useMergeDiff.js +2 -0
  262. package/dist/internal/components/Modal.js +2 -0
  263. package/dist/internal/components/Navbar.js +2 -0
  264. package/dist/internal/components/Pagination.js +2 -0
  265. package/dist/internal/components/PanelWithDetails.js +31 -0
  266. package/dist/internal/components/PanelWithDetails.js.map +1 -0
  267. package/dist/internal/components/Popconfirm.js +2 -0
  268. package/dist/internal/components/Popover.js +2 -0
  269. package/dist/internal/components/Progress.js +47 -0
  270. package/dist/internal/components/Progress.js.map +1 -0
  271. package/dist/internal/components/RadioGroup.js +2 -0
  272. package/dist/internal/components/Resizable.js +2 -0
  273. package/dist/internal/components/ScrollArea.js +42 -0
  274. package/dist/internal/components/ScrollArea.js.map +1 -0
  275. package/dist/internal/components/Search.js +2 -0
  276. package/dist/internal/components/Select.js +2 -0
  277. package/dist/internal/components/Separator.js +84 -0
  278. package/dist/internal/components/Separator.js.map +1 -0
  279. package/dist/internal/components/Sheet.js +2 -0
  280. package/dist/internal/components/Sidebar.js +2 -0
  281. package/dist/internal/components/Skeleton/Skeleton.js +39 -0
  282. package/dist/internal/components/Skeleton/Skeleton.js.map +1 -0
  283. package/dist/internal/components/Skeleton/SkeletonList.js +41 -0
  284. package/dist/internal/components/Skeleton/SkeletonList.js.map +1 -0
  285. package/dist/internal/components/Slider.js +2 -0
  286. package/dist/internal/components/SpotlightBackdrop.js +132 -0
  287. package/dist/internal/components/SpotlightBackdrop.js.map +1 -0
  288. package/dist/internal/components/Stepper.js +2 -0
  289. package/dist/internal/components/Switch.js +2 -0
  290. package/dist/internal/components/Table.js +2 -0
  291. package/dist/internal/components/Tabs.js +2 -0
  292. package/dist/internal/components/ThemeProvider.js +3 -0
  293. package/dist/internal/components/TimePicker.js +2 -0
  294. package/dist/internal/components/Timeline.js +2 -0
  295. package/dist/internal/components/Toast.js +3 -0
  296. package/dist/internal/components/Toggle.js +169 -0
  297. package/dist/internal/components/Toggle.js.map +1 -0
  298. package/dist/internal/components/ToggleGroup.js +2 -0
  299. package/dist/internal/components/Tooltip.js +2 -0
  300. package/dist/internal/components/Truncated.js +45 -0
  301. package/dist/internal/components/Truncated.js.map +1 -0
  302. package/dist/internal/components/Workbench.js +2 -0
  303. package/dist/internal/components/ZoomableSvg.js +2 -0
  304. package/dist/internal/hooks/useAutosizeInput.js +77 -0
  305. package/dist/internal/hooks/useAutosizeInput.js.map +1 -0
  306. package/dist/internal/hooks/useScrollbarPosition.js +45 -0
  307. package/dist/internal/hooks/useScrollbarPosition.js.map +1 -0
  308. package/dist/internal/hooks/useStableCallback.js +29 -0
  309. package/dist/internal/hooks/useStableCallback.js.map +1 -0
  310. package/dist/internal/utils/mergeRefs.js +20 -0
  311. package/dist/internal/utils/mergeRefs.js.map +1 -0
  312. package/dist/internal/utils.js +5 -0
  313. package/dist/markdown-editor.d.ts +72 -72
  314. package/dist/markdown-editor.js +1122 -1193
  315. package/dist/markdown-editor.js.map +1 -1
  316. package/dist/mermaid.d.ts +12 -12
  317. package/dist/mermaid.js +2 -10
  318. package/dist/rjsf.d.ts +33 -34
  319. package/dist/rjsf.js +1543 -1600
  320. package/dist/rjsf.js.map +1 -1
  321. package/dist/rolldown-runtime-Bdc48AWt.js +33 -0
  322. package/dist/styles-DSUP_-9Z.js +158 -0
  323. package/dist/styles-DSUP_-9Z.js.map +1 -0
  324. package/dist/styles.css +1 -1
  325. package/dist/testing.d.ts +8 -7
  326. package/dist/testing.js +36 -16
  327. package/dist/testing.js.map +1 -1
  328. package/dist/themeTokens-BNg98Mu9.js +85 -0
  329. package/dist/themeTokens-BNg98Mu9.js.map +1 -0
  330. package/dist/toast-CjkURw0M.js +184 -0
  331. package/dist/toast-CjkURw0M.js.map +1 -0
  332. package/dist/useColorSchemeState-CYqcUfSH.js +61 -0
  333. package/dist/useColorSchemeState-CYqcUfSH.js.map +1 -0
  334. package/dist/useControllableState-M6494mCT.js +31 -0
  335. package/dist/useControllableState-M6494mCT.js.map +1 -0
  336. package/dist/useElement-DkF6esWL.js +15 -0
  337. package/dist/useElement-DkF6esWL.js.map +1 -0
  338. package/dist/useMergeDiff-CvowEXJ1.js +465 -0
  339. package/dist/useMergeDiff-CvowEXJ1.js.map +1 -0
  340. package/dist/utils-D0c5VAyF.js +308 -0
  341. package/dist/utils-D0c5VAyF.js.map +1 -0
  342. package/package.json +10 -9
  343. package/src/styles.css +35 -7
  344. package/src/theme.css +64 -0
  345. package/dist/MermaidDiagram-EOKJHQQV.js +0 -10
  346. package/dist/MermaidDiagram-EOKJHQQV.js.map +0 -1
  347. package/dist/chunk-63NSN2VL.js +0 -274
  348. package/dist/chunk-63NSN2VL.js.map +0 -1
  349. package/dist/chunk-6FPEI4EM.js +0 -6683
  350. package/dist/chunk-6FPEI4EM.js.map +0 -1
  351. package/dist/chunk-7PUUHEJQ.js +0 -1313
  352. package/dist/chunk-7PUUHEJQ.js.map +0 -1
  353. package/dist/chunk-BOHNXTMM.js +0 -606
  354. package/dist/chunk-BOHNXTMM.js.map +0 -1
  355. package/dist/chunk-C3L3TBBT.js +0 -242
  356. package/dist/chunk-C3L3TBBT.js.map +0 -1
  357. package/dist/chunk-CTCFYWJC.js +0 -407
  358. package/dist/chunk-CTCFYWJC.js.map +0 -1
  359. package/dist/chunk-ESBL3IPF.js +0 -23
  360. package/dist/chunk-ESBL3IPF.js.map +0 -1
  361. package/dist/chunk-IJTHFNNJ.js +0 -261
  362. package/dist/chunk-IJTHFNNJ.js.map +0 -1
  363. package/dist/chunk-JP7PNHLH.js +0 -40
  364. package/dist/chunk-JP7PNHLH.js.map +0 -1
  365. package/dist/chunk-KPNAW5MU.js +0 -229
  366. package/dist/chunk-KPNAW5MU.js.map +0 -1
  367. package/dist/chunk-L37JJ6MR.js +0 -152
  368. package/dist/chunk-L37JJ6MR.js.map +0 -1
  369. package/dist/chunk-Q7NWXLCT.js +0 -90
  370. package/dist/chunk-Q7NWXLCT.js.map +0 -1
  371. package/dist/chunk-SYIEF644.js +0 -1016
  372. package/dist/chunk-SYIEF644.js.map +0 -1
  373. package/dist/chunk-VMFSRV5H.js +0 -16
  374. package/dist/chunk-VMFSRV5H.js.map +0 -1
  375. package/dist/chunk-VPPM7UUQ.js +0 -47
  376. package/dist/chunk-VPPM7UUQ.js.map +0 -1
  377. package/dist/chunk-XV3UUOYF.js +0 -845
  378. package/dist/chunk-XV3UUOYF.js.map +0 -1
  379. package/dist/constants-D3gaMY-W.d.ts +0 -39
  380. package/dist/icons.js.map +0 -1
  381. package/dist/index.js.map +0 -1
  382. package/dist/mermaid.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import { AnswerSummary, CollapsibleStepHeader, InlineStepDetail, InlineStepLabel, Markdown, MessageBubble, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, UsageStats, UsageStatsRing } from "../../AIKit-Dre37SJr.js";
2
+ export { AnswerSummary, CollapsibleStepHeader, InlineStepDetail, InlineStepLabel, Markdown, MessageBubble, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, UsageStats, UsageStatsRing };
@@ -0,0 +1,2 @@
1
+ import { AppShell } from "../../AppShell-B5GQN6Zs.js";
2
+ export { AppShell };
@@ -0,0 +1,2 @@
1
+ import { AutoSaveTextarea } from "../../AutoSaveTextarea-BeuWuszr.js";
2
+ export { AutoSaveTextarea };
@@ -0,0 +1,2 @@
1
+ import { BrandEditor, DEFAULT_FALLBACK_FONT, DEFAULT_FONT_OPTIONS, channelsToHex, contrastRatio, hexToChannels, wcagLevel } from "../../BrandEditor-B8o9zdZO.js";
2
+ export { BrandEditor, DEFAULT_FALLBACK_FONT, DEFAULT_FONT_OPTIONS, channelsToHex, contrastRatio, hexToChannels, wcagLevel };
@@ -0,0 +1,46 @@
1
+ import { cn } from "../../classNames-BzrkDnOD.js";
2
+ import { Card } from "../../Card-BAoZ35CV.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/blocks/ChartPanel/ChartPanel.tsx
5
+ /**
6
+ * Signature chart panel — a `Card` shell with a title/description header, an optional toolbar,
7
+ * a chart body, and an optional footer. Pass a `@keboola/design/charts` chart (`LineChart`,
8
+ * `BarChart`, `AreaChart`, `PieChart`) as children; the panel owns the chrome, the chart owns
9
+ * its own responsive container and themed palette.
10
+ *
11
+ * **When to use:** any framed data-viz block on a dashboard.
12
+ * **When NOT to use:** for a KPI number use `StatCard`; for a raw unframed chart drop the chart
13
+ * component directly. Charts follow the active brand's chart palette — never hardcode colours.
14
+ */
15
+ const ChartPanel = ({ title, description, titleAs = "h3", toolbar, footer, className, bordered = true, children, ...rest }) => /* @__PURE__ */ jsxs(Card, {
16
+ bordered,
17
+ className: cn("tw:gap-4", className),
18
+ ...rest,
19
+ children: [
20
+ /* @__PURE__ */ jsxs(Card.Header, {
21
+ className: "tw:flex tw:items-start tw:justify-between tw:gap-4",
22
+ children: [/* @__PURE__ */ jsxs("div", {
23
+ className: "tw:flex tw:flex-col tw:gap-1",
24
+ children: [/* @__PURE__ */ jsx(Card.Title, {
25
+ as: titleAs,
26
+ children: title
27
+ }), description ? /* @__PURE__ */ jsx("p", {
28
+ className: "tw:m-0 tw:text-sm tw:text-muted-foreground",
29
+ children: description
30
+ }) : null]
31
+ }), toolbar ? /* @__PURE__ */ jsx("div", {
32
+ className: "tw:flex tw:shrink-0 tw:items-center tw:gap-2",
33
+ children: toolbar
34
+ }) : null]
35
+ }),
36
+ /* @__PURE__ */ jsx(Card.Content, { children }),
37
+ footer ? /* @__PURE__ */ jsx("div", {
38
+ className: "tw:border-0 tw:border-t tw:border-solid tw:border-border tw:pt-3 tw:text-sm tw:text-muted-foreground",
39
+ children: footer
40
+ }) : null
41
+ ]
42
+ });
43
+ //#endregion
44
+ export { ChartPanel };
45
+
46
+ //# sourceMappingURL=ChartPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartPanel.js","names":[],"sources":["../../../src/blocks/ChartPanel/ChartPanel.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { Card } from '../../components/Card';\nimport { cn } from '../../utils';\n\ntype RootProps = Omit<ComponentProps<typeof Card>, 'title'> & {\n /** Panel heading. */\n title: ReactNode;\n /** Optional supporting line under the title. */\n description?: ReactNode;\n /** Heading level for the title — defaults to `h3`. Set to sit correctly under a page `h1`/`h2`. */\n titleAs?: ComponentProps<typeof Card.Title>['as'];\n /** Right-aligned header slot — range picker, legend toggle, menu, etc. */\n toolbar?: ReactNode;\n /** Optional footer row (e.g. a source note or an inline legend). */\n footer?: ReactNode;\n};\n\n/**\n * Signature chart panel — a `Card` shell with a title/description header, an optional toolbar,\n * a chart body, and an optional footer. Pass a `@keboola/design/charts` chart (`LineChart`,\n * `BarChart`, `AreaChart`, `PieChart`) as children; the panel owns the chrome, the chart owns\n * its own responsive container and themed palette.\n *\n * **When to use:** any framed data-viz block on a dashboard.\n * **When NOT to use:** for a KPI number use `StatCard`; for a raw unframed chart drop the chart\n * component directly. Charts follow the active brand's chart palette — never hardcode colours.\n */\nexport const ChartPanel = ({\n title,\n description,\n titleAs = 'h3',\n toolbar,\n footer,\n className,\n bordered = true,\n children,\n ...rest\n}: RootProps) => (\n <Card bordered={bordered} className={cn('tw:gap-4', className)} {...rest}>\n <Card.Header className=\"tw:flex tw:items-start tw:justify-between tw:gap-4\">\n <div className=\"tw:flex tw:flex-col tw:gap-1\">\n <Card.Title as={titleAs}>{title}</Card.Title>\n {description ? (\n <p className=\"tw:m-0 tw:text-sm tw:text-muted-foreground\">{description}</p>\n ) : null}\n </div>\n {toolbar ? (\n <div className=\"tw:flex tw:shrink-0 tw:items-center tw:gap-2\">{toolbar}</div>\n ) : null}\n </Card.Header>\n <Card.Content>{children}</Card.Content>\n {footer ? (\n <div className=\"tw:border-0 tw:border-t tw:border-solid tw:border-border tw:pt-3 tw:text-sm tw:text-muted-foreground\">\n {footer}\n </div>\n ) : null}\n </Card>\n);\n\nexport type { RootProps as ChartPanelProps };\n"],"mappings":";;;;;;;;;;;;;;AA4BA,MAAa,cAAc,EACzB,OACA,aACA,UAAU,MACV,SACA,QACA,WACA,WAAW,MACX,UACA,GAAG,WAEH,qBAAC,MAAD;CAAgB;CAAU,WAAW,GAAG,YAAY,SAAS;CAAG,GAAI;CAApE,UAAA;EACE,qBAAC,KAAK,QAAN;GAAa,WAAU;GAAvB,UAAA,CACE,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,oBAAC,KAAK,OAAN;KAAY,IAAI;KAAU,UAAA;IAAkB,CAAA,GAC3C,cACC,oBAAC,KAAD;KAAG,WAAU;KAA8C,UAAA;IAAe,CAAA,IACxE,IACD;GACJ,CAAA,GAAA,UACC,oBAAC,OAAD;IAAK,WAAU;IAAgD,UAAA;GAAa,CAAA,IAC1E,IACO;;EACb,oBAAC,KAAK,SAAN,EAAe,SAAuB,CAAA;EACrC,SACC,oBAAC,OAAD;GAAK,WAAU;GACZ,UAAA;EACE,CAAA,IACH;CACA"}
@@ -0,0 +1,2 @@
1
+ import { ClipboardButton, ClipboardInline } from "../../ClipboardButton-ez5V3fkk.js";
2
+ export { ClipboardButton, ClipboardInline };
@@ -0,0 +1,2 @@
1
+ import { ColorInput } from "../../ColorInput-Dx8Dsv7Y.js";
2
+ export { ColorInput };
@@ -0,0 +1,2 @@
1
+ import { ColorModeSwitch } from "../../ColorModeSwitch-CCqj7tjE.js";
2
+ export { ColorModeSwitch };
@@ -0,0 +1,2 @@
1
+ import { Command, CommandGroup, CommandInput, CommandItem, CommandList, defaultFilter, useCommandState } from "../../Command-CQ_bQsJp.js";
2
+ export { Command, CommandGroup, CommandInput, CommandItem, CommandList, defaultFilter, useCommandState };
@@ -0,0 +1,2 @@
1
+ import { CopyField } from "../../CopyField-BJ96zvXs.js";
2
+ export { CopyField };
@@ -0,0 +1,59 @@
1
+ import { cn } from "../../classNames-BzrkDnOD.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/blocks/DashboardHero/DashboardHero.tsx
4
+ /**
5
+ * Signature dashboard hero banner — the opinionated top-of-page welcome/summary surface
6
+ * (daily-brief header, project overview, greeting + primary CTA).
7
+ *
8
+ * **When to use:** the first block on a landing or dashboard page, above the KPI strip and
9
+ * chart panels. It sets tone with an eyebrow, a large title, a lead paragraph, and an actions row.
10
+ * **When NOT to use:** for an in-app page title use `PageHeader.Index`; for an empty page use
11
+ * `EmptyState`. **Composition:** `DashboardHero.Eyebrow`, `.Title`, `.Description`, `.Actions`,
12
+ * and an optional `.Aside` that floats to the right on wide screens. Reads semantic tokens only.
13
+ */
14
+ const DashboardHeroRoot = ({ className, children, ...rest }) => /* @__PURE__ */ jsx("section", {
15
+ className: cn("tw:flex tw:flex-col tw:gap-6 tw:rounded-lg tw:border tw:border-solid tw:border-border tw:bg-card tw:p-8 tw:text-card-foreground", "tw:md:flex-row tw:md:items-center tw:md:justify-between", className),
16
+ ...rest,
17
+ children
18
+ });
19
+ const DashboardHeroBody = ({ className, children, ...rest }) => /* @__PURE__ */ jsx("div", {
20
+ className: cn("tw:flex tw:flex-col tw:gap-3", className),
21
+ ...rest,
22
+ children
23
+ });
24
+ const DashboardHeroEyebrow = ({ className, children, ...rest }) => /* @__PURE__ */ jsx("p", {
25
+ className: cn("tw:m-0 tw:text-sm tw:font-semibold tw:uppercase tw:tracking-wide tw:text-primary", className),
26
+ ...rest,
27
+ children
28
+ });
29
+ const DashboardHeroTitle = ({ className, children, ...rest }) => /* @__PURE__ */ jsx("h1", {
30
+ className: cn("tw:m-0 tw:text-3xl tw:font-semibold tw:leading-tight tw:tracking-tight tw:text-foreground", className),
31
+ ...rest,
32
+ children
33
+ });
34
+ const DashboardHeroDescription = ({ className, children, ...rest }) => /* @__PURE__ */ jsx("p", {
35
+ className: cn("tw:m-0 tw:max-w-prose tw:text-base tw:text-muted-foreground", className),
36
+ ...rest,
37
+ children
38
+ });
39
+ const DashboardHeroActions = ({ className, children, ...rest }) => /* @__PURE__ */ jsx("div", {
40
+ className: cn("tw:mt-2 tw:flex tw:flex-wrap tw:items-center tw:gap-3", className),
41
+ ...rest,
42
+ children
43
+ });
44
+ const DashboardHeroAside = ({ className, children, ...rest }) => /* @__PURE__ */ jsx("div", {
45
+ className: cn("tw:flex tw:shrink-0 tw:flex-col tw:gap-2", className),
46
+ ...rest,
47
+ children
48
+ });
49
+ const DashboardHero = DashboardHeroRoot;
50
+ DashboardHero.Body = DashboardHeroBody;
51
+ DashboardHero.Eyebrow = DashboardHeroEyebrow;
52
+ DashboardHero.Title = DashboardHeroTitle;
53
+ DashboardHero.Description = DashboardHeroDescription;
54
+ DashboardHero.Actions = DashboardHeroActions;
55
+ DashboardHero.Aside = DashboardHeroAside;
56
+ //#endregion
57
+ export { DashboardHero };
58
+
59
+ //# sourceMappingURL=DashboardHero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardHero.js","names":[],"sources":["../../../src/blocks/DashboardHero/DashboardHero.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\n\ntype RootProps = ComponentProps<'section'>;\n\n/**\n * Signature dashboard hero banner — the opinionated top-of-page welcome/summary surface\n * (daily-brief header, project overview, greeting + primary CTA).\n *\n * **When to use:** the first block on a landing or dashboard page, above the KPI strip and\n * chart panels. It sets tone with an eyebrow, a large title, a lead paragraph, and an actions row.\n * **When NOT to use:** for an in-app page title use `PageHeader.Index`; for an empty page use\n * `EmptyState`. **Composition:** `DashboardHero.Eyebrow`, `.Title`, `.Description`, `.Actions`,\n * and an optional `.Aside` that floats to the right on wide screens. Reads semantic tokens only.\n */\nconst DashboardHeroRoot = ({ className, children, ...rest }: RootProps) => (\n <section\n className={cn(\n 'tw:flex tw:flex-col tw:gap-6 tw:rounded-lg tw:border tw:border-solid tw:border-border tw:bg-card tw:p-8 tw:text-card-foreground',\n 'tw:md:flex-row tw:md:items-center tw:md:justify-between',\n className,\n )}\n {...rest}\n >\n {children}\n </section>\n);\n\ntype BodyProps = ComponentProps<'div'>;\n\nconst DashboardHeroBody = ({ className, children, ...rest }: BodyProps) => (\n <div className={cn('tw:flex tw:flex-col tw:gap-3', className)} {...rest}>\n {children}\n </div>\n);\n\ntype EyebrowProps = ComponentProps<'p'>;\n\nconst DashboardHeroEyebrow = ({ className, children, ...rest }: EyebrowProps) => (\n <p\n className={cn(\n 'tw:m-0 tw:text-sm tw:font-semibold tw:uppercase tw:tracking-wide tw:text-primary',\n className,\n )}\n {...rest}\n >\n {children}\n </p>\n);\n\ntype TitleProps = ComponentProps<'h1'>;\n\nconst DashboardHeroTitle = ({ className, children, ...rest }: TitleProps) => (\n <h1\n className={cn(\n 'tw:m-0 tw:text-3xl tw:font-semibold tw:leading-tight tw:tracking-tight tw:text-foreground',\n className,\n )}\n {...rest}\n >\n {children}\n </h1>\n);\n\ntype DescriptionProps = ComponentProps<'p'>;\n\nconst DashboardHeroDescription = ({ className, children, ...rest }: DescriptionProps) => (\n <p\n className={cn('tw:m-0 tw:max-w-prose tw:text-base tw:text-muted-foreground', className)}\n {...rest}\n >\n {children}\n </p>\n);\n\ntype ActionsProps = ComponentProps<'div'>;\n\nconst DashboardHeroActions = ({ className, children, ...rest }: ActionsProps) => (\n <div className={cn('tw:mt-2 tw:flex tw:flex-wrap tw:items-center tw:gap-3', className)} {...rest}>\n {children}\n </div>\n);\n\ntype AsideProps = ComponentProps<'div'>;\n\nconst DashboardHeroAside = ({ className, children, ...rest }: AsideProps) => (\n <div className={cn('tw:flex tw:shrink-0 tw:flex-col tw:gap-2', className)} {...rest}>\n {children}\n </div>\n);\n\nexport const DashboardHero = DashboardHeroRoot as typeof DashboardHeroRoot & {\n Body: typeof DashboardHeroBody;\n Eyebrow: typeof DashboardHeroEyebrow;\n Title: typeof DashboardHeroTitle;\n Description: typeof DashboardHeroDescription;\n Actions: typeof DashboardHeroActions;\n Aside: typeof DashboardHeroAside;\n};\n\nDashboardHero.Body = DashboardHeroBody;\nDashboardHero.Eyebrow = DashboardHeroEyebrow;\nDashboardHero.Title = DashboardHeroTitle;\nDashboardHero.Description = DashboardHeroDescription;\nDashboardHero.Actions = DashboardHeroActions;\nDashboardHero.Aside = DashboardHeroAside;\n\nexport type { RootProps as DashboardHeroProps };\n"],"mappings":";;;;;;;;;;;;;AAgBA,MAAM,qBAAqB,EAAE,WAAW,UAAU,GAAG,WACnD,oBAAC,WAAD;CACE,WAAW,GACT,mIACA,2DACA,SACF;CACA,GAAI;CAEH;AACM,CAAA;AAKX,MAAM,qBAAqB,EAAE,WAAW,UAAU,GAAG,WACnD,oBAAC,OAAD;CAAK,WAAW,GAAG,gCAAgC,SAAS;CAAG,GAAI;CAChE;AACE,CAAA;AAKP,MAAM,wBAAwB,EAAE,WAAW,UAAU,GAAG,WACtD,oBAAC,KAAD;CACE,WAAW,GACT,oFACA,SACF;CACA,GAAI;CAEH;AACA,CAAA;AAKL,MAAM,sBAAsB,EAAE,WAAW,UAAU,GAAG,WACpD,oBAAC,MAAD;CACE,WAAW,GACT,6FACA,SACF;CACA,GAAI;CAEH;AACC,CAAA;AAKN,MAAM,4BAA4B,EAAE,WAAW,UAAU,GAAG,WAC1D,oBAAC,KAAD;CACE,WAAW,GAAG,+DAA+D,SAAS;CACtF,GAAI;CAEH;AACA,CAAA;AAKL,MAAM,wBAAwB,EAAE,WAAW,UAAU,GAAG,WACtD,oBAAC,OAAD;CAAK,WAAW,GAAG,yDAAyD,SAAS;CAAG,GAAI;CACzF;AACE,CAAA;AAKP,MAAM,sBAAsB,EAAE,WAAW,UAAU,GAAG,WACpD,oBAAC,OAAD;CAAK,WAAW,GAAG,4CAA4C,SAAS;CAAG,GAAI;CAC5E;AACE,CAAA;AAGP,MAAa,gBAAgB;AAS7B,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,QAAQ"}
@@ -0,0 +1,2 @@
1
+ import { DateInput } from "../../DateInput-CMD3dY-T.js";
2
+ export { DateInput };
@@ -0,0 +1,2 @@
1
+ import { DateRangeInput } from "../../DateRangeInput-D3BhiKyk.js";
2
+ export { DateRangeInput };
@@ -0,0 +1,16 @@
1
+ import { Card } from "../../Card-BAoZ35CV.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/blocks/EmptyConfigurationActionCard/EmptyConfigurationActionCard.tsx
4
+ const EmptyConfigurationActionCard = ({ title, children, className }) => {
5
+ return /* @__PURE__ */ jsxs(Card, {
6
+ className,
7
+ children: [/* @__PURE__ */ jsx(Card.Header, { children: /* @__PURE__ */ jsx(Card.Title, { children: title }) }), /* @__PURE__ */ jsx(Card.Content, {
8
+ className: "tw:flex tw:flex-col tw:items-center",
9
+ children
10
+ })]
11
+ });
12
+ };
13
+ //#endregion
14
+ export { EmptyConfigurationActionCard };
15
+
16
+ //# sourceMappingURL=EmptyConfigurationActionCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyConfigurationActionCard.js","names":[],"sources":["../../../src/blocks/EmptyConfigurationActionCard/EmptyConfigurationActionCard.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Card } from '../../components/Card';\n\ntype Props = {\n title: string;\n children: ReactNode;\n className?: string;\n};\n\nexport const EmptyConfigurationActionCard = ({ title, children, className }: Props) => {\n return (\n <Card className={className}>\n <Card.Header>\n <Card.Title>{title}</Card.Title>\n </Card.Header>\n <Card.Content className=\"tw:flex tw:flex-col tw:items-center\">{children}</Card.Content>\n </Card>\n );\n};\n"],"mappings":";;;AAUA,MAAa,gCAAgC,EAAE,OAAO,UAAU,gBAAuB;CACrF,OACE,qBAAC,MAAD;EAAiB;EAAjB,UAAA,CACE,oBAAC,KAAK,QAAN,EAAA,UACE,oBAAC,KAAK,OAAN,EAAA,UAAa,MAAkB,CAAA,EACpB,CAAA,GACb,oBAAC,KAAK,SAAN;GAAc,WAAU;GAAuC;EAAuB,CAAA,CAClF;;AAEV"}
@@ -0,0 +1,142 @@
1
+ import { cva } from "class-variance-authority";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/blocks/EmptyState/EmptyState.tsx
4
+ const emptyStateClassnames = cva([
5
+ "tw:flex",
6
+ "tw:flex-col",
7
+ "tw:items-center",
8
+ "tw:text-center"
9
+ ], {
10
+ variants: { variant: {
11
+ default: [
12
+ "tw:py-16",
13
+ "tw:px-8",
14
+ "tw:gap-4"
15
+ ],
16
+ compact: [
17
+ "tw:py-8",
18
+ "tw:px-4",
19
+ "tw:gap-2"
20
+ ]
21
+ } },
22
+ defaultVariants: { variant: "default" }
23
+ });
24
+ const emptyStateIconClassnames = cva([
25
+ "tw:flex",
26
+ "tw:items-center",
27
+ "tw:justify-center",
28
+ "tw:text-muted-foreground"
29
+ ], {
30
+ variants: { variant: {
31
+ default: [
32
+ "tw:size-16",
33
+ "tw:text-4xl",
34
+ "tw:[&_svg:not([class*=\"tw:size-\"])]:size-10"
35
+ ],
36
+ compact: [
37
+ "tw:size-10",
38
+ "tw:text-2xl",
39
+ "tw:[&_svg:not([class*=\"tw:size-\"])]:size-6"
40
+ ]
41
+ } },
42
+ defaultVariants: { variant: "default" }
43
+ });
44
+ const emptyStateTitleClassnames = cva([
45
+ "tw:m-0",
46
+ "tw:font-semibold",
47
+ "tw:text-foreground"
48
+ ], {
49
+ variants: { variant: {
50
+ default: ["tw:text-lg", "tw:leading-7"],
51
+ compact: ["tw:text-base", "tw:leading-6"]
52
+ } },
53
+ defaultVariants: { variant: "default" }
54
+ });
55
+ const emptyStateDescriptionClassnames = cva(["tw:m-0", "tw:text-muted-foreground"], {
56
+ variants: { variant: {
57
+ default: [
58
+ "tw:text-sm",
59
+ "tw:leading-5",
60
+ "tw:max-w-sm"
61
+ ],
62
+ compact: [
63
+ "tw:text-xs",
64
+ "tw:leading-4",
65
+ "tw:max-w-xs"
66
+ ]
67
+ } },
68
+ defaultVariants: { variant: "default" }
69
+ });
70
+ const emptyStateActionsClassnames = cva([
71
+ "tw:flex",
72
+ "tw:items-center",
73
+ "tw:flex-wrap"
74
+ ], {
75
+ variants: { variant: {
76
+ default: ["tw:gap-3", "tw:mt-2"],
77
+ compact: ["tw:gap-2", "tw:mt-1"]
78
+ } },
79
+ defaultVariants: { variant: "default" }
80
+ });
81
+ /**
82
+ * Friendly "nothing here yet" placeholder with icon, title, description, and actions slots.
83
+ *
84
+ * **When to use:** the user reached a page or surface that is intentionally empty (no items created
85
+ * yet, an empty list after filtering, an empty inbox). The goal is to guide the user to the next action.
86
+ * **When NOT to use:** for an error or failure state use `ErrorState`; for inline loading placeholders
87
+ * use `Skeleton`; for "no matches found after search" inside a search/combobox use `EmptySearchContent`.
88
+ * **Composition:** nest `EmptyState.Icon`, `EmptyState.Title`, `EmptyState.Description`, and
89
+ * `EmptyState.Actions` (with one or two `Button`s). Use `variant="compact"` inside a `Card`.
90
+ *
91
+ * @see RECIPES.md#card-with-empty-state — for the empty-card pattern
92
+ */
93
+ const EmptyStateRoot = ({ className, variant = "default", children, ...rest }) => /* @__PURE__ */ jsx("div", {
94
+ role: "status",
95
+ className: emptyStateClassnames({
96
+ className,
97
+ variant
98
+ }),
99
+ ...rest,
100
+ children
101
+ });
102
+ const EmptyStateIcon = ({ className, variant = "default", children, ...rest }) => /* @__PURE__ */ jsx("div", {
103
+ className: emptyStateIconClassnames({
104
+ className,
105
+ variant
106
+ }),
107
+ ...rest,
108
+ children
109
+ });
110
+ const EmptyStateTitle = ({ className, variant = "default", children, ...rest }) => /* @__PURE__ */ jsx("h3", {
111
+ className: emptyStateTitleClassnames({
112
+ className,
113
+ variant
114
+ }),
115
+ ...rest,
116
+ children
117
+ });
118
+ const EmptyStateDescription = ({ className, variant = "default", children, ...rest }) => /* @__PURE__ */ jsx("p", {
119
+ className: emptyStateDescriptionClassnames({
120
+ className,
121
+ variant
122
+ }),
123
+ ...rest,
124
+ children
125
+ });
126
+ const EmptyStateActions = ({ className, variant = "default", children, ...rest }) => /* @__PURE__ */ jsx("div", {
127
+ className: emptyStateActionsClassnames({
128
+ className,
129
+ variant
130
+ }),
131
+ ...rest,
132
+ children
133
+ });
134
+ const EmptyState = EmptyStateRoot;
135
+ EmptyState.Icon = EmptyStateIcon;
136
+ EmptyState.Title = EmptyStateTitle;
137
+ EmptyState.Description = EmptyStateDescription;
138
+ EmptyState.Actions = EmptyStateActions;
139
+ //#endregion
140
+ export { EmptyState };
141
+
142
+ //# sourceMappingURL=EmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.js","names":[],"sources":["../../../src/blocks/EmptyState/EmptyState.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nconst emptyStateClassnames = cva(['tw:flex', 'tw:flex-col', 'tw:items-center', 'tw:text-center'], {\n variants: {\n variant: {\n default: ['tw:py-16', 'tw:px-8', 'tw:gap-4'],\n compact: ['tw:py-8', 'tw:px-4', 'tw:gap-2'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst emptyStateIconClassnames = cva(\n ['tw:flex', 'tw:items-center', 'tw:justify-center', 'tw:text-muted-foreground'],\n {\n variants: {\n variant: {\n default: ['tw:size-16', 'tw:text-4xl', 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-10'],\n compact: ['tw:size-10', 'tw:text-2xl', 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-6'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nconst emptyStateTitleClassnames = cva(['tw:m-0', 'tw:font-semibold', 'tw:text-foreground'], {\n variants: {\n variant: {\n default: ['tw:text-lg', 'tw:leading-7'],\n compact: ['tw:text-base', 'tw:leading-6'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst emptyStateDescriptionClassnames = cva(['tw:m-0', 'tw:text-muted-foreground'], {\n variants: {\n variant: {\n default: ['tw:text-sm', 'tw:leading-5', 'tw:max-w-sm'],\n compact: ['tw:text-xs', 'tw:leading-4', 'tw:max-w-xs'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst emptyStateActionsClassnames = cva(['tw:flex', 'tw:items-center', 'tw:flex-wrap'], {\n variants: {\n variant: {\n default: ['tw:gap-3', 'tw:mt-2'],\n compact: ['tw:gap-2', 'tw:mt-1'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\ntype Variant = VariantProps<typeof emptyStateClassnames>['variant'];\n\n/**\n * Props for `EmptyState`. `variant` chooses spacing — `\"default\"` for full-page empty states,\n * `\"compact\"` for inside cards / small surfaces.\n */\ntype RootProps = ComponentProps<'div'> &\n VariantProps<typeof emptyStateClassnames> & {\n variant?: Variant;\n };\n\n/**\n * Friendly \"nothing here yet\" placeholder with icon, title, description, and actions slots.\n *\n * **When to use:** the user reached a page or surface that is intentionally empty (no items created\n * yet, an empty list after filtering, an empty inbox). The goal is to guide the user to the next action.\n * **When NOT to use:** for an error or failure state use `ErrorState`; for inline loading placeholders\n * use `Skeleton`; for \"no matches found after search\" inside a search/combobox use `EmptySearchContent`.\n * **Composition:** nest `EmptyState.Icon`, `EmptyState.Title`, `EmptyState.Description`, and\n * `EmptyState.Actions` (with one or two `Button`s). Use `variant=\"compact\"` inside a `Card`.\n *\n * @see RECIPES.md#card-with-empty-state — for the empty-card pattern\n */\nconst EmptyStateRoot = ({ className, variant = 'default', children, ...rest }: RootProps) => (\n <div role=\"status\" className={emptyStateClassnames({ className, variant })} {...rest}>\n {children}\n </div>\n);\n\ntype SlotProps = ComponentProps<'div'> & { variant?: Variant };\n\nconst EmptyStateIcon = ({ className, variant = 'default', children, ...rest }: SlotProps) => (\n <div className={emptyStateIconClassnames({ className, variant })} {...rest}>\n {children}\n </div>\n);\n\ntype TitleProps = ComponentProps<'h3'> & { variant?: Variant };\n\nconst EmptyStateTitle = ({ className, variant = 'default', children, ...rest }: TitleProps) => (\n <h3 className={emptyStateTitleClassnames({ className, variant })} {...rest}>\n {children}\n </h3>\n);\n\ntype DescriptionProps = ComponentProps<'p'> & { variant?: Variant };\n\nconst EmptyStateDescription = ({\n className,\n variant = 'default',\n children,\n ...rest\n}: DescriptionProps) => (\n <p className={emptyStateDescriptionClassnames({ className, variant })} {...rest}>\n {children}\n </p>\n);\n\ntype ActionsProps = ComponentProps<'div'> & { variant?: Variant };\n\nconst EmptyStateActions = ({ className, variant = 'default', children, ...rest }: ActionsProps) => (\n <div className={emptyStateActionsClassnames({ className, variant })} {...rest}>\n {children}\n </div>\n);\n\nexport const EmptyState = EmptyStateRoot as typeof EmptyStateRoot & {\n Icon: typeof EmptyStateIcon;\n Title: typeof EmptyStateTitle;\n Description: typeof EmptyStateDescription;\n Actions: typeof EmptyStateActions;\n};\n\nEmptyState.Icon = EmptyStateIcon;\nEmptyState.Title = EmptyStateTitle;\nEmptyState.Description = EmptyStateDescription;\nEmptyState.Actions = EmptyStateActions;\n\nexport type { RootProps as EmptyStateProps, Variant as EmptyStateVariant };\n"],"mappings":";;;AAIA,MAAM,uBAAuB,IAAI;CAAC;CAAW;CAAe;CAAmB;AAAgB,GAAG;CAChG,UAAU,EACR,SAAS;EACP,SAAS;GAAC;GAAY;GAAW;EAAU;EAC3C,SAAS;GAAC;GAAW;GAAW;EAAU;CAC5C,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;AAED,MAAM,2BAA2B,IAC/B;CAAC;CAAW;CAAmB;CAAqB;AAA0B,GAC9E;CACE,UAAU,EACR,SAAS;EACP,SAAS;GAAC;GAAc;GAAe;EAA6C;EACpF,SAAS;GAAC;GAAc;GAAe;EAA4C;CACrF,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,MAAM,4BAA4B,IAAI;CAAC;CAAU;CAAoB;AAAoB,GAAG;CAC1F,UAAU,EACR,SAAS;EACP,SAAS,CAAC,cAAc,cAAc;EACtC,SAAS,CAAC,gBAAgB,cAAc;CAC1C,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;AAED,MAAM,kCAAkC,IAAI,CAAC,UAAU,0BAA0B,GAAG;CAClF,UAAU,EACR,SAAS;EACP,SAAS;GAAC;GAAc;GAAgB;EAAa;EACrD,SAAS;GAAC;GAAc;GAAgB;EAAa;CACvD,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;AAED,MAAM,8BAA8B,IAAI;CAAC;CAAW;CAAmB;AAAc,GAAG;CACtF,UAAU,EACR,SAAS;EACP,SAAS,CAAC,YAAY,SAAS;EAC/B,SAAS,CAAC,YAAY,SAAS;CACjC,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;;;;;;;;;;;;;AAyBD,MAAM,kBAAkB,EAAE,WAAW,UAAU,WAAW,UAAU,GAAG,WACrE,oBAAC,OAAD;CAAK,MAAK;CAAS,WAAW,qBAAqB;EAAE;EAAW;CAAQ,CAAC;CAAG,GAAI;CAC7E;AACE,CAAA;AAKP,MAAM,kBAAkB,EAAE,WAAW,UAAU,WAAW,UAAU,GAAG,WACrE,oBAAC,OAAD;CAAK,WAAW,yBAAyB;EAAE;EAAW;CAAQ,CAAC;CAAG,GAAI;CACnE;AACE,CAAA;AAKP,MAAM,mBAAmB,EAAE,WAAW,UAAU,WAAW,UAAU,GAAG,WACtE,oBAAC,MAAD;CAAI,WAAW,0BAA0B;EAAE;EAAW;CAAQ,CAAC;CAAG,GAAI;CACnE;AACC,CAAA;AAKN,MAAM,yBAAyB,EAC7B,WACA,UAAU,WACV,UACA,GAAG,WAEH,oBAAC,KAAD;CAAG,WAAW,gCAAgC;EAAE;EAAW;CAAQ,CAAC;CAAG,GAAI;CACxE;AACA,CAAA;AAKL,MAAM,qBAAqB,EAAE,WAAW,UAAU,WAAW,UAAU,GAAG,WACxE,oBAAC,OAAD;CAAK,WAAW,4BAA4B;EAAE;EAAW;CAAQ,CAAC;CAAG,GAAI;CACtE;AACE,CAAA;AAGP,MAAa,aAAa;AAO1B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,cAAc;AACzB,WAAW,UAAU"}
@@ -0,0 +1,179 @@
1
+ import { useArgoDesign } from "../../context-KxxeMHbR.js";
2
+ import { cva } from "class-variance-authority";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/blocks/ErrorState/ErrorState.tsx
5
+ const errorStateClassnames = cva([
6
+ "tw:flex",
7
+ "tw:flex-col",
8
+ "tw:items-center",
9
+ "tw:text-center"
10
+ ], {
11
+ variants: { variant: {
12
+ default: [
13
+ "tw:py-16",
14
+ "tw:px-8",
15
+ "tw:gap-4"
16
+ ],
17
+ compact: [
18
+ "tw:py-8",
19
+ "tw:px-4",
20
+ "tw:gap-2"
21
+ ],
22
+ destructive: [
23
+ "tw:py-16",
24
+ "tw:px-8",
25
+ "tw:gap-4"
26
+ ]
27
+ } },
28
+ defaultVariants: { variant: "default" }
29
+ });
30
+ const errorStateIconClassnames = cva([
31
+ "tw:flex",
32
+ "tw:items-center",
33
+ "tw:justify-center"
34
+ ], {
35
+ variants: { variant: {
36
+ default: [
37
+ "tw:size-16",
38
+ "tw:text-4xl",
39
+ "tw:[&_svg:not([class*=\"tw:size-\"])]:size-10",
40
+ "tw:text-warning"
41
+ ],
42
+ compact: [
43
+ "tw:size-10",
44
+ "tw:text-2xl",
45
+ "tw:[&_svg:not([class*=\"tw:size-\"])]:size-6",
46
+ "tw:text-warning"
47
+ ],
48
+ destructive: [
49
+ "tw:size-16",
50
+ "tw:text-4xl",
51
+ "tw:[&_svg:not([class*=\"tw:size-\"])]:size-10",
52
+ "tw:data-[argo=false]:text-error-500",
53
+ "tw:data-[argo=true]:text-destructive"
54
+ ]
55
+ } },
56
+ defaultVariants: { variant: "default" }
57
+ });
58
+ const errorStateTitleClassnames = cva(["tw:m-0", "tw:font-semibold"], {
59
+ variants: { variant: {
60
+ default: [
61
+ "tw:text-lg",
62
+ "tw:leading-7",
63
+ "tw:text-foreground"
64
+ ],
65
+ compact: [
66
+ "tw:text-base",
67
+ "tw:leading-6",
68
+ "tw:text-foreground"
69
+ ],
70
+ destructive: [
71
+ "tw:text-lg",
72
+ "tw:leading-7",
73
+ "tw:data-[argo=false]:text-error-700",
74
+ "tw:data-[argo=true]:text-destructive"
75
+ ]
76
+ } },
77
+ defaultVariants: { variant: "default" }
78
+ });
79
+ const errorStateDescriptionClassnames = cva(["tw:m-0", "tw:text-muted-foreground"], {
80
+ variants: { variant: {
81
+ default: [
82
+ "tw:text-sm",
83
+ "tw:leading-5",
84
+ "tw:max-w-sm"
85
+ ],
86
+ compact: [
87
+ "tw:text-xs",
88
+ "tw:leading-4",
89
+ "tw:max-w-xs"
90
+ ],
91
+ destructive: [
92
+ "tw:text-sm",
93
+ "tw:leading-5",
94
+ "tw:max-w-sm"
95
+ ]
96
+ } },
97
+ defaultVariants: { variant: "default" }
98
+ });
99
+ const errorStateActionsClassnames = cva([
100
+ "tw:flex",
101
+ "tw:items-center",
102
+ "tw:flex-wrap"
103
+ ], {
104
+ variants: { variant: {
105
+ default: ["tw:gap-3", "tw:mt-2"],
106
+ compact: ["tw:gap-2", "tw:mt-1"],
107
+ destructive: ["tw:gap-3", "tw:mt-2"]
108
+ } },
109
+ defaultVariants: { variant: "default" }
110
+ });
111
+ /**
112
+ * Page-level error placeholder with icon, title, description, and recovery-action slots.
113
+ *
114
+ * **When to use:** the page can't render its content because a request failed, the user lacks permission,
115
+ * or the entity doesn't exist. Show a recovery action (retry, go back, request access) in
116
+ * `ErrorState.Actions`.
117
+ * **When NOT to use:** for transient operation failures use `toast()`; for inline form validation use
118
+ * `FormGroup state="error"`; for contextual warning banners use `Alert variant="error"`.
119
+ * **Composition:** nest `ErrorState.Icon`, `ErrorState.Title`, `ErrorState.Description`, and
120
+ * `ErrorState.Actions`. Use `variant="destructive"` for full-page critical failures.
121
+ */
122
+ const ErrorStateRoot = ({ className, variant = "default", children, ...rest }) => /* @__PURE__ */ jsx("div", {
123
+ role: "alert",
124
+ className: errorStateClassnames({
125
+ className,
126
+ variant
127
+ }),
128
+ ...rest,
129
+ children
130
+ });
131
+ const ErrorStateIcon = ({ className, variant = "default", children, ...rest }) => {
132
+ const renderArgo = useArgoDesign();
133
+ return /* @__PURE__ */ jsx("div", {
134
+ "data-argo": renderArgo,
135
+ className: errorStateIconClassnames({
136
+ className,
137
+ variant
138
+ }),
139
+ ...rest,
140
+ children
141
+ });
142
+ };
143
+ const ErrorStateTitle = ({ className, variant = "default", as: Tag = "h3", children, ...rest }) => {
144
+ const renderArgo = useArgoDesign();
145
+ return /* @__PURE__ */ jsx(Tag, {
146
+ "data-argo": renderArgo,
147
+ className: errorStateTitleClassnames({
148
+ className,
149
+ variant
150
+ }),
151
+ ...rest,
152
+ children
153
+ });
154
+ };
155
+ const ErrorStateDescription = ({ className, variant = "default", children, ...rest }) => /* @__PURE__ */ jsx("p", {
156
+ className: errorStateDescriptionClassnames({
157
+ className,
158
+ variant
159
+ }),
160
+ ...rest,
161
+ children
162
+ });
163
+ const ErrorStateActions = ({ className, variant = "default", children, ...rest }) => /* @__PURE__ */ jsx("div", {
164
+ className: errorStateActionsClassnames({
165
+ className,
166
+ variant
167
+ }),
168
+ ...rest,
169
+ children
170
+ });
171
+ const ErrorState = ErrorStateRoot;
172
+ ErrorState.Icon = ErrorStateIcon;
173
+ ErrorState.Title = ErrorStateTitle;
174
+ ErrorState.Description = ErrorStateDescription;
175
+ ErrorState.Actions = ErrorStateActions;
176
+ //#endregion
177
+ export { ErrorState };
178
+
179
+ //# sourceMappingURL=ErrorState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorState.js","names":[],"sources":["../../../src/blocks/ErrorState/ErrorState.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nimport { useArgoDesign } from '../../components/ThemeProvider/context';\n\nconst errorStateClassnames = cva(['tw:flex', 'tw:flex-col', 'tw:items-center', 'tw:text-center'], {\n variants: {\n variant: {\n default: ['tw:py-16', 'tw:px-8', 'tw:gap-4'],\n compact: ['tw:py-8', 'tw:px-4', 'tw:gap-2'],\n destructive: ['tw:py-16', 'tw:px-8', 'tw:gap-4'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst errorStateIconClassnames = cva(['tw:flex', 'tw:items-center', 'tw:justify-center'], {\n variants: {\n variant: {\n default: [\n 'tw:size-16',\n 'tw:text-4xl',\n 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-10',\n 'tw:text-warning',\n ],\n compact: [\n 'tw:size-10',\n 'tw:text-2xl',\n 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-6',\n 'tw:text-warning',\n ],\n // Legacy keeps the fixed error scale; argo uses the themeable destructive token.\n destructive: [\n 'tw:size-16',\n 'tw:text-4xl',\n 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-10',\n 'tw:data-[argo=false]:text-error-500',\n 'tw:data-[argo=true]:text-destructive',\n ],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst errorStateTitleClassnames = cva(['tw:m-0', 'tw:font-semibold'], {\n variants: {\n variant: {\n default: ['tw:text-lg', 'tw:leading-7', 'tw:text-foreground'],\n compact: ['tw:text-base', 'tw:leading-6', 'tw:text-foreground'],\n destructive: [\n 'tw:text-lg',\n 'tw:leading-7',\n 'tw:data-[argo=false]:text-error-700',\n 'tw:data-[argo=true]:text-destructive',\n ],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst errorStateDescriptionClassnames = cva(['tw:m-0', 'tw:text-muted-foreground'], {\n variants: {\n variant: {\n default: ['tw:text-sm', 'tw:leading-5', 'tw:max-w-sm'],\n compact: ['tw:text-xs', 'tw:leading-4', 'tw:max-w-xs'],\n destructive: ['tw:text-sm', 'tw:leading-5', 'tw:max-w-sm'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst errorStateActionsClassnames = cva(['tw:flex', 'tw:items-center', 'tw:flex-wrap'], {\n variants: {\n variant: {\n default: ['tw:gap-3', 'tw:mt-2'],\n compact: ['tw:gap-2', 'tw:mt-1'],\n destructive: ['tw:gap-3', 'tw:mt-2'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\ntype Variant = VariantProps<typeof errorStateClassnames>['variant'];\n\n/**\n * Props for `ErrorState`. `variant` chooses look — `\"default\"` for non-blocking errors, `\"compact\"` for\n * inside cards, `\"destructive\"` for blocking failures (red title + icon).\n */\ntype RootProps = ComponentProps<'div'> &\n VariantProps<typeof errorStateClassnames> & {\n variant?: Variant;\n };\n\n/**\n * Page-level error placeholder with icon, title, description, and recovery-action slots.\n *\n * **When to use:** the page can't render its content because a request failed, the user lacks permission,\n * or the entity doesn't exist. Show a recovery action (retry, go back, request access) in\n * `ErrorState.Actions`.\n * **When NOT to use:** for transient operation failures use `toast()`; for inline form validation use\n * `FormGroup state=\"error\"`; for contextual warning banners use `Alert variant=\"error\"`.\n * **Composition:** nest `ErrorState.Icon`, `ErrorState.Title`, `ErrorState.Description`, and\n * `ErrorState.Actions`. Use `variant=\"destructive\"` for full-page critical failures.\n */\nconst ErrorStateRoot = ({ className, variant = 'default', children, ...rest }: RootProps) => (\n <div role=\"alert\" className={errorStateClassnames({ className, variant })} {...rest}>\n {children}\n </div>\n);\n\ntype SlotProps = ComponentProps<'div'> & { variant?: Variant };\n\nconst ErrorStateIcon = ({ className, variant = 'default', children, ...rest }: SlotProps) => {\n const renderArgo = useArgoDesign();\n return (\n <div\n data-argo={renderArgo}\n className={errorStateIconClassnames({ className, variant })}\n {...rest}\n >\n {children}\n </div>\n );\n};\n\ntype HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\ntype TitleProps = ComponentProps<'h3'> & {\n variant?: Variant;\n /** Heading tag to render. Defaults to `h3`; set explicitly to avoid a heading-order skip\n * (e.g. `as=\"h2\"` when the error state sits directly under a page's `h1`). */\n as?: HeadingLevel;\n};\n\nconst ErrorStateTitle = ({\n className,\n variant = 'default',\n as: Tag = 'h3',\n children,\n ...rest\n}: TitleProps) => {\n const renderArgo = useArgoDesign();\n return (\n <Tag\n data-argo={renderArgo}\n className={errorStateTitleClassnames({ className, variant })}\n {...rest}\n >\n {children}\n </Tag>\n );\n};\n\ntype DescriptionProps = ComponentProps<'p'> & { variant?: Variant };\n\nconst ErrorStateDescription = ({\n className,\n variant = 'default',\n children,\n ...rest\n}: DescriptionProps) => (\n <p className={errorStateDescriptionClassnames({ className, variant })} {...rest}>\n {children}\n </p>\n);\n\ntype ActionsProps = ComponentProps<'div'> & { variant?: Variant };\n\nconst ErrorStateActions = ({ className, variant = 'default', children, ...rest }: ActionsProps) => (\n <div className={errorStateActionsClassnames({ className, variant })} {...rest}>\n {children}\n </div>\n);\n\nexport const ErrorState = ErrorStateRoot as typeof ErrorStateRoot & {\n Icon: typeof ErrorStateIcon;\n Title: typeof ErrorStateTitle;\n Description: typeof ErrorStateDescription;\n Actions: typeof ErrorStateActions;\n};\n\nErrorState.Icon = ErrorStateIcon;\nErrorState.Title = ErrorStateTitle;\nErrorState.Description = ErrorStateDescription;\nErrorState.Actions = ErrorStateActions;\n\nexport type { RootProps as ErrorStateProps, Variant as ErrorStateVariant };\n"],"mappings":";;;;AAMA,MAAM,uBAAuB,IAAI;CAAC;CAAW;CAAe;CAAmB;AAAgB,GAAG;CAChG,UAAU,EACR,SAAS;EACP,SAAS;GAAC;GAAY;GAAW;EAAU;EAC3C,SAAS;GAAC;GAAW;GAAW;EAAU;EAC1C,aAAa;GAAC;GAAY;GAAW;EAAU;CACjD,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;AAED,MAAM,2BAA2B,IAAI;CAAC;CAAW;CAAmB;AAAmB,GAAG;CACxF,UAAU,EACR,SAAS;EACP,SAAS;GACP;GACA;GACA;GACA;EACF;EACA,SAAS;GACP;GACA;GACA;GACA;EACF;EAEA,aAAa;GACX;GACA;GACA;GACA;GACA;EACF;CACF,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;AAED,MAAM,4BAA4B,IAAI,CAAC,UAAU,kBAAkB,GAAG;CACpE,UAAU,EACR,SAAS;EACP,SAAS;GAAC;GAAc;GAAgB;EAAoB;EAC5D,SAAS;GAAC;GAAgB;GAAgB;EAAoB;EAC9D,aAAa;GACX;GACA;GACA;GACA;EACF;CACF,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;AAED,MAAM,kCAAkC,IAAI,CAAC,UAAU,0BAA0B,GAAG;CAClF,UAAU,EACR,SAAS;EACP,SAAS;GAAC;GAAc;GAAgB;EAAa;EACrD,SAAS;GAAC;GAAc;GAAgB;EAAa;EACrD,aAAa;GAAC;GAAc;GAAgB;EAAa;CAC3D,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;AAED,MAAM,8BAA8B,IAAI;CAAC;CAAW;CAAmB;AAAc,GAAG;CACtF,UAAU,EACR,SAAS;EACP,SAAS,CAAC,YAAY,SAAS;EAC/B,SAAS,CAAC,YAAY,SAAS;EAC/B,aAAa,CAAC,YAAY,SAAS;CACrC,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CAAC;;;;;;;;;;;;AAwBD,MAAM,kBAAkB,EAAE,WAAW,UAAU,WAAW,UAAU,GAAG,WACrE,oBAAC,OAAD;CAAK,MAAK;CAAQ,WAAW,qBAAqB;EAAE;EAAW;CAAQ,CAAC;CAAG,GAAI;CAC5E;AACE,CAAA;AAKP,MAAM,kBAAkB,EAAE,WAAW,UAAU,WAAW,UAAU,GAAG,WAAsB;CAC3F,MAAM,aAAa,cAAc;CACjC,OACE,oBAAC,OAAD;EACE,aAAW;EACX,WAAW,yBAAyB;GAAE;GAAW;EAAQ,CAAC;EAC1D,GAAI;EAEH;CACE,CAAA;AAET;AAWA,MAAM,mBAAmB,EACvB,WACA,UAAU,WACV,IAAI,MAAM,MACV,UACA,GAAG,WACa;CAChB,MAAM,aAAa,cAAc;CACjC,OACE,oBAAC,KAAD;EACE,aAAW;EACX,WAAW,0BAA0B;GAAE;GAAW;EAAQ,CAAC;EAC3D,GAAI;EAEH;CACE,CAAA;AAET;AAIA,MAAM,yBAAyB,EAC7B,WACA,UAAU,WACV,UACA,GAAG,WAEH,oBAAC,KAAD;CAAG,WAAW,gCAAgC;EAAE;EAAW;CAAQ,CAAC;CAAG,GAAI;CACxE;AACA,CAAA;AAKL,MAAM,qBAAqB,EAAE,WAAW,UAAU,WAAW,UAAU,GAAG,WACxE,oBAAC,OAAD;CAAK,WAAW,4BAA4B;EAAE;EAAW;CAAQ,CAAC;CAAG,GAAI;CACtE;AACE,CAAA;AAGP,MAAa,aAAa;AAO1B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,cAAc;AACzB,WAAW,UAAU"}
@@ -0,0 +1,41 @@
1
+ import { Tooltip } from "../../utils-D0c5VAyF.js";
2
+ import { Download } from "../../icons-Cek151jC.js";
3
+ import { Button } from "../../Button-nzmDNS2q.js";
4
+ import { DropdownMenu } from "../../DropdownMenu-B6ZbYvaM.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/blocks/ExportMenu/ExportMenu.tsx
7
+ /**
8
+ * Download-icon trigger with a menu of export formats.
9
+ *
10
+ * Lives in the root barrel rather than inside `ZoomableSvg` on purpose: that
11
+ * component ships behind the lazy `@keboola/design/mermaid` boundary, and Radix's
12
+ * menu is not in that chunk closure — importing it there would pull ~11 kB
13
+ * brotlied of chunk-mates (`DropdownMenu` travels with `ButtonGroup` and `toast`,
14
+ * which in turn pulls `ScrollArea`) plus two more external deps behind the lazy
15
+ * boundary. Callers already paying for the barrel inject this instead.
16
+ */
17
+ const ExportMenu = ({ items, label, size = "icon-sm" }) => /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(Tooltip, {
18
+ tooltip: label,
19
+ placement: "top",
20
+ triggerAsChild: true,
21
+ children: /* @__PURE__ */ jsx(DropdownMenu.Trigger, {
22
+ asChild: true,
23
+ children: /* @__PURE__ */ jsx(Button, {
24
+ size,
25
+ variant: "outline",
26
+ "aria-label": label,
27
+ className: "tw:data-[state=open]:!bg-primary/10 tw:data-[state=open]:!text-primary",
28
+ children: /* @__PURE__ */ jsx(Download, { className: "tw:size-4" })
29
+ })
30
+ })
31
+ }), /* @__PURE__ */ jsx(DropdownMenu.Content, {
32
+ align: "end",
33
+ children: items.map((item, index) => /* @__PURE__ */ jsx(DropdownMenu.Item, {
34
+ onSelect: item.onSelect,
35
+ children: item.label
36
+ }, index))
37
+ })] });
38
+ //#endregion
39
+ export { ExportMenu };
40
+
41
+ //# sourceMappingURL=ExportMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportMenu.js","names":[],"sources":["../../../src/blocks/ExportMenu/ExportMenu.tsx"],"sourcesContent":["import { Button } from '../../components/Button';\nimport { DropdownMenu } from '../../components/DropdownMenu';\nimport { Tooltip } from '../../components/Tooltip';\nimport { Download } from '../../icons';\n\nexport type ExportMenuItem = {\n /** Menu label, e.g. \"Download as CSV\". */\n label: string;\n onSelect: () => void;\n};\n\ntype Props = {\n items: ExportMenuItem[];\n /** Accessible name + tooltip for the trigger, e.g. \"Export table\". */\n label: string;\n size?: 'icon-xs' | 'icon-sm';\n};\n\n/**\n * Download-icon trigger with a menu of export formats.\n *\n * Lives in the root barrel rather than inside `ZoomableSvg` on purpose: that\n * component ships behind the lazy `@keboola/design/mermaid` boundary, and Radix's\n * menu is not in that chunk closure — importing it there would pull ~11 kB\n * brotlied of chunk-mates (`DropdownMenu` travels with `ButtonGroup` and `toast`,\n * which in turn pulls `ScrollArea`) plus two more external deps behind the lazy\n * boundary. Callers already paying for the barrel inject this instead.\n */\nexport const ExportMenu = ({ items, label, size = 'icon-sm' }: Props) => (\n <DropdownMenu>\n <Tooltip tooltip={label} placement=\"top\" triggerAsChild>\n <DropdownMenu.Trigger asChild>\n <Button\n size={size}\n variant=\"outline\"\n aria-label={label}\n // A menu trigger reads as active while its menu is open, and the argo\n // `outline` variant resets to the plain background when active\n // (`tw:hover:active:bg-background`). Re-assert the tint so an open\n // trigger stays highlighted instead of dropping back to plain.\n className=\"tw:data-[state=open]:!bg-primary/10 tw:data-[state=open]:!text-primary\"\n >\n <Download className=\"tw:size-4\" />\n </Button>\n </DropdownMenu.Trigger>\n </Tooltip>\n <DropdownMenu.Content align=\"end\">\n {/* Keyed by index, not label: labels aren't guaranteed unique on a public\n export (localized or dynamic text), and a duplicate key trips React's\n duplicate-key warning. */}\n {items.map((item, index) => (\n <DropdownMenu.Item key={index} onSelect={item.onSelect}>\n {item.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n);\n"],"mappings":";;;;;;;;;;;;;;;;AA4BA,MAAa,cAAc,EAAE,OAAO,OAAO,OAAO,gBAChD,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,SAAD;CAAS,SAAS;CAAO,WAAU;CAAM,gBAAA;CACvC,UAAA,oBAAC,aAAa,SAAd;EAAsB,SAAA;EACpB,UAAA,oBAAC,QAAD;GACQ;GACN,SAAQ;GACR,cAAY;GAKZ,WAAU;GAEV,UAAA,oBAAC,UAAD,EAAU,WAAU,YAAa,CAAA;EAC3B,CAAA;CACY,CAAA;AACf,CAAA,GACT,oBAAC,aAAa,SAAd;CAAsB,OAAM;CAIzB,UAAA,MAAM,KAAK,MAAM,UAChB,oBAAC,aAAa,MAAd;EAA+B,UAAU,KAAK;EAC3C,UAAA,KAAK;CACW,GAFK,KAEL,CACpB;AACmB,CAAA,CACV,EAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { setServerFieldErrors, setSubmitError, useAppForm, withForm } from "../../Form-BDCef6O9.js";
2
+ export { setServerFieldErrors, setSubmitError, useAppForm, withForm };
@@ -0,0 +1,2 @@
1
+ import { FormGroup } from "../../FormGroup-S9mPNHKH.js";
2
+ export { FormGroup };