@keboola/design 2.0.0 → 2.1.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 (654) hide show
  1. package/README.md +57 -1
  2. package/dist/icon-names.d.cts +7 -0
  3. package/dist/icon-names.d.ts +7 -0
  4. package/dist/icons.cjs +12 -0
  5. package/dist/icons.d.cts +6 -0
  6. package/dist/icons.d.ts +6 -0
  7. package/dist/icons.js +1 -1
  8. package/dist/index.cjs +367 -135
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +10184 -0
  11. package/dist/index.d.ts +10184 -0
  12. package/dist/index.js +392 -173
  13. package/dist/index.js.map +1 -1
  14. package/dist/markdown-editor.cjs +69 -49
  15. package/dist/markdown-editor.cjs.map +1 -1
  16. package/dist/markdown-editor.d.cts +74 -0
  17. package/dist/markdown-editor.d.ts +74 -0
  18. package/dist/markdown-editor.js +69 -49
  19. package/dist/markdown-editor.js.map +1 -1
  20. package/dist/mermaid.cjs +50 -23
  21. package/dist/mermaid.cjs.map +1 -1
  22. package/dist/mermaid.d.cts +11 -0
  23. package/dist/mermaid.d.ts +11 -0
  24. package/dist/mermaid.js +50 -23
  25. package/dist/mermaid.js.map +1 -1
  26. package/dist/styles.css +1 -1
  27. package/package.json +83 -12
  28. package/src/blocks/AIKit/AnswerSummary.stories.tsx +0 -38
  29. package/src/blocks/AIKit/AnswerSummary.tsx +0 -63
  30. package/src/blocks/AIKit/CollapsibleStepHeader.stories.tsx +0 -53
  31. package/src/blocks/AIKit/CollapsibleStepHeader.tsx +0 -64
  32. package/src/blocks/AIKit/InlineStepDetail.stories.tsx +0 -25
  33. package/src/blocks/AIKit/InlineStepDetail.tsx +0 -13
  34. package/src/blocks/AIKit/InlineStepLabel.stories.tsx +0 -37
  35. package/src/blocks/AIKit/InlineStepLabel.tsx +0 -36
  36. package/src/blocks/AIKit/MessageBubble.stories.tsx +0 -145
  37. package/src/blocks/AIKit/MessageBubble.tsx +0 -68
  38. package/src/blocks/AIKit/PlanApproval.stories.tsx +0 -121
  39. package/src/blocks/AIKit/PlanApproval.test.tsx +0 -241
  40. package/src/blocks/AIKit/PlanApproval.tsx +0 -363
  41. package/src/blocks/AIKit/PlanRewritingIndicator.test.tsx +0 -17
  42. package/src/blocks/AIKit/PlanRewritingIndicator.tsx +0 -20
  43. package/src/blocks/AIKit/PromptInput.stories.tsx +0 -106
  44. package/src/blocks/AIKit/PromptInput.test.tsx +0 -53
  45. package/src/blocks/AIKit/PromptInput.tsx +0 -218
  46. package/src/blocks/AIKit/PromptInputAction.tsx +0 -18
  47. package/src/blocks/AIKit/PromptInputSubmit.tsx +0 -59
  48. package/src/blocks/AIKit/Question.stories.tsx +0 -235
  49. package/src/blocks/AIKit/Question.tsx +0 -350
  50. package/src/blocks/AIKit/QuestionBlock.stories.tsx +0 -99
  51. package/src/blocks/AIKit/QuestionBlock.tsx +0 -83
  52. package/src/blocks/AIKit/SuggestedPrompt.stories.tsx +0 -82
  53. package/src/blocks/AIKit/SuggestedPrompt.tsx +0 -42
  54. package/src/blocks/AIKit/ThinkingIndicator.stories.tsx +0 -21
  55. package/src/blocks/AIKit/ThinkingIndicator.tsx +0 -14
  56. package/src/blocks/AIKit/index.ts +0 -12
  57. package/src/blocks/AutoSaveTextarea/AutoSaveTextarea.stories.tsx +0 -78
  58. package/src/blocks/AutoSaveTextarea/AutoSaveTextarea.tsx +0 -103
  59. package/src/blocks/AutoSaveTextarea/index.ts +0 -1
  60. package/src/blocks/ClipboardButton/ClipboardButton.stories.tsx +0 -28
  61. package/src/blocks/ClipboardButton/ClipboardButton.tsx +0 -43
  62. package/src/blocks/ClipboardButton/ClipboardInline.tsx +0 -40
  63. package/src/blocks/ClipboardButton/index.ts +0 -2
  64. package/src/blocks/ColorInput/ColorInput.stories.tsx +0 -109
  65. package/src/blocks/ColorInput/ColorInput.test.tsx +0 -163
  66. package/src/blocks/ColorInput/ColorInput.tsx +0 -171
  67. package/src/blocks/ColorInput/ColorPicker.tsx +0 -42
  68. package/src/blocks/ColorInput/index.ts +0 -1
  69. package/src/blocks/ColorInput/utils.test.ts +0 -189
  70. package/src/blocks/ColorInput/utils.ts +0 -74
  71. package/src/blocks/EmptyConfigurationActionCard/EmptyConfigurationActionCard.stories.tsx +0 -30
  72. package/src/blocks/EmptyConfigurationActionCard/EmptyConfigurationActionCard.tsx +0 -20
  73. package/src/blocks/EmptyConfigurationActionCard/index.ts +0 -1
  74. package/src/blocks/EmptyState/EmptyState.stories.tsx +0 -93
  75. package/src/blocks/EmptyState/EmptyState.tsx +0 -146
  76. package/src/blocks/EmptyState/index.ts +0 -1
  77. package/src/blocks/ErrorState/ErrorState.stories.tsx +0 -125
  78. package/src/blocks/ErrorState/ErrorState.tsx +0 -147
  79. package/src/blocks/ErrorState/index.ts +0 -1
  80. package/src/blocks/Form/components/FormBody.tsx +0 -27
  81. package/src/blocks/Form/components/SubmitButton.tsx +0 -30
  82. package/src/blocks/Form/connectors/CheckboxField.tsx +0 -34
  83. package/src/blocks/Form/connectors/FieldShell.tsx +0 -46
  84. package/src/blocks/Form/connectors/NumberField.tsx +0 -36
  85. package/src/blocks/Form/connectors/PasswordField.tsx +0 -38
  86. package/src/blocks/Form/connectors/SelectField.tsx +0 -73
  87. package/src/blocks/Form/connectors/SwitchField.tsx +0 -34
  88. package/src/blocks/Form/connectors/TextAreaField.tsx +0 -36
  89. package/src/blocks/Form/connectors/TextField.tsx +0 -36
  90. package/src/blocks/Form/contexts.ts +0 -4
  91. package/src/blocks/Form/formHook.ts +0 -45
  92. package/src/blocks/Form/index.ts +0 -2
  93. package/src/blocks/Form/setServerFieldErrors.test.ts +0 -38
  94. package/src/blocks/Form/setServerFieldErrors.ts +0 -21
  95. package/src/blocks/MermaidDiagram/MermaidDiagram.stories.tsx +0 -87
  96. package/src/blocks/MermaidDiagram/MermaidDiagram.tsx +0 -266
  97. package/src/blocks/MermaidDiagram/index.ts +0 -1
  98. package/src/blocks/MultiActionButtonGroup/MultiActionButton.stories.tsx +0 -119
  99. package/src/blocks/MultiActionButtonGroup/MultiActionButton.tsx +0 -41
  100. package/src/blocks/MultiActionButtonGroup/MultiActionButtonGroup.tsx +0 -16
  101. package/src/blocks/MultiActionButtonGroup/index.ts +0 -1
  102. package/src/blocks/MultiCombobox/MultiCombobox.stories.tsx +0 -324
  103. package/src/blocks/MultiCombobox/MultiCombobox.tsx +0 -257
  104. package/src/blocks/MultiCombobox/index.ts +0 -1
  105. package/src/blocks/NumberInput/NumberInput.stories.tsx +0 -112
  106. package/src/blocks/NumberInput/NumberInput.test.tsx +0 -148
  107. package/src/blocks/NumberInput/NumberInput.tsx +0 -89
  108. package/src/blocks/NumberInput/index.ts +0 -1
  109. package/src/blocks/PageHeader/AGENTS.md +0 -137
  110. package/src/blocks/PageHeader/PageHeader.stories.tsx +0 -371
  111. package/src/blocks/PageHeader/PageHeader.tsx +0 -22
  112. package/src/blocks/PageHeader/PageHeaderDetail.tsx +0 -84
  113. package/src/blocks/PageHeader/PageHeaderIndex.tsx +0 -75
  114. package/src/blocks/PageHeader/index.ts +0 -1
  115. package/src/blocks/PageHeader/styles.ts +0 -6
  116. package/src/blocks/PageLayout/AGENTS.md +0 -94
  117. package/src/blocks/PageLayout/PageLayout.stories.tsx +0 -146
  118. package/src/blocks/PageLayout/PageLayout.tsx +0 -139
  119. package/src/blocks/PageLayout/index.ts +0 -1
  120. package/src/blocks/PageToolbar/PageToolbar.stories.tsx +0 -353
  121. package/src/blocks/PageToolbar/PageToolbar.tsx +0 -160
  122. package/src/blocks/PageToolbar/PageToolbarToken.tsx +0 -61
  123. package/src/blocks/PageToolbar/index.ts +0 -1
  124. package/src/blocks/PasswordInput/PasswordInput.stories.tsx +0 -114
  125. package/src/blocks/PasswordInput/PasswordInput.test.tsx +0 -219
  126. package/src/blocks/PasswordInput/PasswordInput.tsx +0 -180
  127. package/src/blocks/PasswordInput/index.ts +0 -1
  128. package/src/blocks/SearchInput/SearchInput.stories.tsx +0 -127
  129. package/src/blocks/SearchInput/SearchInput.test.tsx +0 -162
  130. package/src/blocks/SearchInput/SearchInput.tsx +0 -172
  131. package/src/blocks/SearchInput/index.ts +0 -1
  132. package/src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.stories.tsx +0 -73
  133. package/src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.tsx +0 -92
  134. package/src/blocks/SearchInputWithNavigation/index.ts +0 -1
  135. package/src/blocks/SplitButton/SplitButton.stories.tsx +0 -91
  136. package/src/blocks/SplitButton/SplitButton.tsx +0 -81
  137. package/src/blocks/SplitButton/index.ts +0 -1
  138. package/src/blocks/Tagger/TagItem.tsx +0 -32
  139. package/src/blocks/Tagger/TagSelectPopover/TagSelectCreateItem.tsx +0 -44
  140. package/src/blocks/Tagger/TagSelectPopover/TagSelectItem.tsx +0 -31
  141. package/src/blocks/Tagger/TagSelectPopover/TagSelectList.tsx +0 -67
  142. package/src/blocks/Tagger/TagSelectPopover/TagSelectPopover.tsx +0 -34
  143. package/src/blocks/Tagger/TagSelectPopover/TagSelectValue.tsx +0 -47
  144. package/src/blocks/Tagger/TagSelectPopover/index.ts +0 -1
  145. package/src/blocks/Tagger/Tagger.stories.tsx +0 -80
  146. package/src/blocks/Tagger/Tagger.tsx +0 -101
  147. package/src/blocks/Tagger/index.ts +0 -1
  148. package/src/blocks/Tagger/types.ts +0 -11
  149. package/src/blocks/Textarea/Textarea.stories.tsx +0 -47
  150. package/src/blocks/Textarea/Textarea.tsx +0 -50
  151. package/src/blocks/Textarea/index.ts +0 -1
  152. package/src/components/Alert/Alert.stories.tsx +0 -101
  153. package/src/components/Alert/Alert.tsx +0 -121
  154. package/src/components/Alert/AlertAction.tsx +0 -31
  155. package/src/components/Alert/AlertCollapsibleIcon.tsx +0 -25
  156. package/src/components/Alert/AlertDescription.tsx +0 -36
  157. package/src/components/Alert/AlertIcon.tsx +0 -40
  158. package/src/components/Alert/AlertRoot.tsx +0 -64
  159. package/src/components/Alert/AlertTitle.tsx +0 -25
  160. package/src/components/Alert/index.ts +0 -1
  161. package/src/components/Avatar.stories.tsx +0 -22
  162. package/src/components/Avatar.tsx +0 -88
  163. package/src/components/Badge/Badge.stories.tsx +0 -122
  164. package/src/components/Badge/Badge.tsx +0 -71
  165. package/src/components/Badge/BadgeAddon.tsx +0 -63
  166. package/src/components/Badge/BadgeButton.tsx +0 -40
  167. package/src/components/Badge/BadgeLabel.tsx +0 -37
  168. package/src/components/Badge/BadgeRoot.tsx +0 -21
  169. package/src/components/Badge/index.ts +0 -1
  170. package/src/components/Badge/styles.ts +0 -74
  171. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +0 -135
  172. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -23
  173. package/src/components/Breadcrumb/BreadcrumbEllipsis.tsx +0 -43
  174. package/src/components/Breadcrumb/BreadcrumbItem.tsx +0 -9
  175. package/src/components/Breadcrumb/BreadcrumbLink.tsx +0 -48
  176. package/src/components/Breadcrumb/BreadcrumbList.tsx +0 -26
  177. package/src/components/Breadcrumb/BreadcrumbPage.tsx +0 -22
  178. package/src/components/Breadcrumb/BreadcrumbSeparator.tsx +0 -28
  179. package/src/components/Breadcrumb/index.ts +0 -1
  180. package/src/components/Button/Button.stories.tsx +0 -80
  181. package/src/components/Button/Button.tsx +0 -110
  182. package/src/components/Button/ButtonInline.stories.tsx +0 -54
  183. package/src/components/Button/ButtonInline.tsx +0 -77
  184. package/src/components/Button/index.ts +0 -3
  185. package/src/components/Button/styles.ts +0 -290
  186. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +0 -140
  187. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -79
  188. package/src/components/ButtonGroup/index.ts +0 -1
  189. package/src/components/Calendar/Calendar.stories.tsx +0 -101
  190. package/src/components/Calendar/Calendar.tsx +0 -44
  191. package/src/components/Calendar/index.ts +0 -2
  192. package/src/components/Card/Card.stories.tsx +0 -60
  193. package/src/components/Card/Card.tsx +0 -42
  194. package/src/components/Card/CardContent.tsx +0 -5
  195. package/src/components/Card/CardHeader.tsx +0 -5
  196. package/src/components/Card/CardTitle.tsx +0 -13
  197. package/src/components/Card/index.ts +0 -1
  198. package/src/components/Card/styles.ts +0 -32
  199. package/src/components/Checkbox/Checkbox.stories.tsx +0 -210
  200. package/src/components/Checkbox/Checkbox.test.tsx +0 -140
  201. package/src/components/Checkbox/Checkbox.tsx +0 -83
  202. package/src/components/Checkbox/index.ts +0 -1
  203. package/src/components/Checkbox/styles.ts +0 -77
  204. package/src/components/Clipboard/Clipboard.stories.tsx +0 -44
  205. package/src/components/Clipboard/Clipboard.tsx +0 -89
  206. package/src/components/Clipboard/index.ts +0 -1
  207. package/src/components/CodeEditor/ButtonToolbar.tsx +0 -14
  208. package/src/components/CodeEditor/CodeEditor.tsx +0 -155
  209. package/src/components/CodeEditor/SqlEditor.stories.tsx +0 -76
  210. package/src/components/CodeEditor/SqlEditor.tsx +0 -206
  211. package/src/components/CodeEditor/ToggleComponentHelp.tsx +0 -7
  212. package/src/components/CodeEditor/activeQueryHighlight.test.ts +0 -178
  213. package/src/components/CodeEditor/activeQueryHighlight.ts +0 -245
  214. package/src/components/CodeEditor/helpers.ts +0 -100
  215. package/src/components/CodeEditor/highlighting.ts +0 -184
  216. package/src/components/CodeEditor/index.ts +0 -3
  217. package/src/components/CodeEditor/search.ts +0 -186
  218. package/src/components/Collapse.stories.tsx +0 -56
  219. package/src/components/Collapse.tsx +0 -61
  220. package/src/components/Collapsible/Collapsible.stories.tsx +0 -55
  221. package/src/components/Collapsible/Collapsible.tsx +0 -11
  222. package/src/components/Collapsible/CollapsibleContent.tsx +0 -25
  223. package/src/components/Collapsible/index.ts +0 -1
  224. package/src/components/CollapsiblePanel.stories.tsx +0 -25
  225. package/src/components/CollapsiblePanel.tsx +0 -127
  226. package/src/components/Combobox/Combobox.stories.tsx +0 -426
  227. package/src/components/Combobox/Combobox.test.tsx +0 -165
  228. package/src/components/Combobox/Combobox.tsx +0 -345
  229. package/src/components/Combobox/ComboboxChips.tsx +0 -68
  230. package/src/components/Combobox/ComboboxContent.tsx +0 -95
  231. package/src/components/Combobox/ComboboxEmpty.tsx +0 -30
  232. package/src/components/Combobox/ComboboxInput.tsx +0 -10
  233. package/src/components/Combobox/ComboboxInputGroup.tsx +0 -38
  234. package/src/components/Combobox/ComboboxItem.tsx +0 -70
  235. package/src/components/Combobox/ComboboxItemIndicator.tsx +0 -78
  236. package/src/components/Combobox/ComboboxList.tsx +0 -32
  237. package/src/components/Combobox/ComboboxRoot.tsx +0 -5
  238. package/src/components/Combobox/ComboboxSeparator.tsx +0 -20
  239. package/src/components/Combobox/Group/ComboboxCollection.tsx +0 -7
  240. package/src/components/Combobox/Group/ComboboxGroup.tsx +0 -23
  241. package/src/components/Combobox/Group/ComboboxGroupLabel.tsx +0 -38
  242. package/src/components/Combobox/Group/index.ts +0 -3
  243. package/src/components/Combobox/index.ts +0 -1
  244. package/src/components/Combobox/types.ts +0 -22
  245. package/src/components/Combobox/utils.test.ts +0 -95
  246. package/src/components/Combobox/utils.ts +0 -103
  247. package/src/components/Command/Command.stories.tsx +0 -367
  248. package/src/components/Command/Command.tsx +0 -37
  249. package/src/components/Command/CommandContent.tsx +0 -19
  250. package/src/components/Command/CommandEmpty.tsx +0 -6
  251. package/src/components/Command/CommandGroup.tsx +0 -26
  252. package/src/components/Command/CommandInput.tsx +0 -27
  253. package/src/components/Command/CommandItem/CheckIndicator.tsx +0 -86
  254. package/src/components/Command/CommandItem/CommandItem.tsx +0 -94
  255. package/src/components/Command/CommandItem/index.ts +0 -1
  256. package/src/components/Command/CommandList.tsx +0 -32
  257. package/src/components/Command/CommandSeparator.tsx +0 -13
  258. package/src/components/Command/index.ts +0 -6
  259. package/src/components/DatePicker/DatePicker.tsx +0 -37
  260. package/src/components/DatePicker/index.ts +0 -1
  261. package/src/components/DiffView/DiffView.stories.tsx +0 -80
  262. package/src/components/DiffView/DiffView.tsx +0 -131
  263. package/src/components/DiffView/DiffViewMark.tsx +0 -21
  264. package/src/components/DiffView/DiffViewTd.tsx +0 -84
  265. package/src/components/DiffView/DiffViewTh.tsx +0 -23
  266. package/src/components/DiffView/index.ts +0 -11
  267. package/src/components/DiffView/util.test.ts +0 -231
  268. package/src/components/DiffView/util.ts +0 -311
  269. package/src/components/DotsLoader.tsx +0 -22
  270. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +0 -310
  271. package/src/components/DropdownMenu/DropdownMenu.tsx +0 -61
  272. package/src/components/DropdownMenu/DropdownMenuCheckboxItem.tsx +0 -55
  273. package/src/components/DropdownMenu/DropdownMenuContent.tsx +0 -52
  274. package/src/components/DropdownMenu/DropdownMenuContext.tsx +0 -13
  275. package/src/components/DropdownMenu/DropdownMenuItem.tsx +0 -80
  276. package/src/components/DropdownMenu/DropdownMenuItemDescription.tsx +0 -42
  277. package/src/components/DropdownMenu/DropdownMenuItemIndicator.tsx +0 -104
  278. package/src/components/DropdownMenu/DropdownMenuLabel.tsx +0 -21
  279. package/src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.tsx +0 -31
  280. package/src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioItem.tsx +0 -67
  281. package/src/components/DropdownMenu/DropdownMenuRadioGroup/index.ts +0 -2
  282. package/src/components/DropdownMenu/DropdownMenuSeparator.tsx +0 -35
  283. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSub.tsx +0 -3
  284. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubContent.tsx +0 -21
  285. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubTrigger.tsx +0 -17
  286. package/src/components/DropdownMenu/DropdownMenuSub/index.ts +0 -3
  287. package/src/components/DropdownMenu/DropdownMenuTrigger.tsx +0 -19
  288. package/src/components/DropdownMenu/ItemIcon.tsx +0 -30
  289. package/src/components/DropdownMenu/index.ts +0 -1
  290. package/src/components/DropdownMenu/styles.ts +0 -82
  291. package/src/components/EmptySearchContent.stories.tsx +0 -12
  292. package/src/components/EmptySearchContent.tsx +0 -13
  293. package/src/components/FieldBox/FieldBox.stories.tsx +0 -138
  294. package/src/components/FieldBox/FieldBox.tsx +0 -43
  295. package/src/components/FieldBox/FieldBoxDescription.tsx +0 -18
  296. package/src/components/FieldBox/FieldBoxTitle.tsx +0 -20
  297. package/src/components/FieldBox/index.ts +0 -1
  298. package/src/components/FieldBox/styles.ts +0 -37
  299. package/src/components/FormGroup/FormGroup.stories.tsx +0 -120
  300. package/src/components/FormGroup/FormGroup.tsx +0 -48
  301. package/src/components/FormGroup/FormGroupColorInput.tsx +0 -15
  302. package/src/components/FormGroup/FormGroupHelp.tsx +0 -17
  303. package/src/components/FormGroup/FormGroupNumberInput.tsx +0 -15
  304. package/src/components/FormGroup/FormGroupTextInput.tsx +0 -15
  305. package/src/components/FormGroup/FormGroupTextarea.tsx +0 -12
  306. package/src/components/FormGroup/context.ts +0 -11
  307. package/src/components/FormGroup/index.ts +0 -2
  308. package/src/components/FormGroup/types.ts +0 -5
  309. package/src/components/FullScreenModal/FullScreenModal.tsx +0 -8
  310. package/src/components/FullScreenModal/FullScreenModalBody.tsx +0 -16
  311. package/src/components/FullScreenModal/FullScreenModalHeader.tsx +0 -92
  312. package/src/components/FullScreenModal/FullScreenModalRoot.tsx +0 -79
  313. package/src/components/FullScreenModal/index.ts +0 -3
  314. package/src/components/HelpBlock/HelpBlock.stories.tsx +0 -28
  315. package/src/components/HelpBlock/HelpBlock.tsx +0 -31
  316. package/src/components/HelpBlock/index.ts +0 -1
  317. package/src/components/HoverCard/HoverCard.stories.tsx +0 -77
  318. package/src/components/HoverCard/HoverCard.tsx +0 -13
  319. package/src/components/HoverCard/HoverCardContent.tsx +0 -68
  320. package/src/components/HoverCard/index.ts +0 -1
  321. package/src/components/Icon/Icon.stories.tsx +0 -26
  322. package/src/components/Icon/Icon.tsx +0 -10
  323. package/src/components/Icon/Icons.mdx +0 -28
  324. package/src/components/Icon/constants.ts +0 -1
  325. package/src/components/Icon/index.ts +0 -27
  326. package/src/components/Input/DateInput/DateInput.stories.tsx +0 -58
  327. package/src/components/Input/DateInput/DateInput.tsx +0 -143
  328. package/src/components/Input/DateInput/helpers.test.ts +0 -102
  329. package/src/components/Input/DateInput/helpers.ts +0 -59
  330. package/src/components/Input/DateInput/index.ts +0 -1
  331. package/src/components/Input/DateRangeInput/DateRangeInput.stories.tsx +0 -66
  332. package/src/components/Input/DateRangeInput/DateRangeInput.tsx +0 -139
  333. package/src/components/Input/DateRangeInput/helpers.test.ts +0 -146
  334. package/src/components/Input/DateRangeInput/helpers.ts +0 -36
  335. package/src/components/Input/DateRangeInput/index.ts +0 -1
  336. package/src/components/Input/Input.stories.tsx +0 -93
  337. package/src/components/Input/Input.test.tsx +0 -112
  338. package/src/components/Input/Input.tsx +0 -163
  339. package/src/components/Input/TextInput/TextInput.stories.tsx +0 -68
  340. package/src/components/Input/TextInput/TextInput.test.tsx +0 -52
  341. package/src/components/Input/TextInput/TextInput.tsx +0 -73
  342. package/src/components/Input/TextInput/index.ts +0 -1
  343. package/src/components/Input/TimeInput/TimeInput.stories.tsx +0 -89
  344. package/src/components/Input/TimeInput/TimeInput.tsx +0 -106
  345. package/src/components/Input/TimeInput/index.ts +0 -1
  346. package/src/components/Input/index.ts +0 -4
  347. package/src/components/Input/utils.ts +0 -11
  348. package/src/components/InputGroup/InputGroup.stories.tsx +0 -215
  349. package/src/components/InputGroup/InputGroup.tsx +0 -228
  350. package/src/components/InputGroup/InputGroupAddon.tsx +0 -57
  351. package/src/components/InputGroup/InputGroupButton.tsx +0 -25
  352. package/src/components/InputGroup/InputGroupInput.tsx +0 -34
  353. package/src/components/InputGroup/InputGroupText.tsx +0 -21
  354. package/src/components/InputGroup/InputGroupTextArea.tsx +0 -78
  355. package/src/components/InputGroup/index.ts +0 -1
  356. package/src/components/Kbd/Kbd.stories.tsx +0 -82
  357. package/src/components/Kbd/Kbd.tsx +0 -17
  358. package/src/components/Kbd/KbdGroup.tsx +0 -35
  359. package/src/components/Kbd/KbdSeparator.tsx +0 -9
  360. package/src/components/Kbd/index.ts +0 -3
  361. package/src/components/Kbd/keyboardKeys.ts +0 -40
  362. package/src/components/Kbd/styles.ts +0 -39
  363. package/src/components/Label/Label.stories.tsx +0 -53
  364. package/src/components/Label/Label.tsx +0 -31
  365. package/src/components/Label/index.ts +0 -1
  366. package/src/components/Link.stories.tsx +0 -19
  367. package/src/components/Link.tsx +0 -37
  368. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +0 -182
  369. package/src/components/MarkdownEditor/MarkdownEditor.test.ts +0 -171
  370. package/src/components/MarkdownEditor/MarkdownEditor.tsx +0 -245
  371. package/src/components/MarkdownEditor/context.ts +0 -10
  372. package/src/components/MarkdownEditor/index.ts +0 -1
  373. package/src/components/MarkdownEditor/nodes/ImageNode.tsx +0 -115
  374. package/src/components/MarkdownEditor/nodes/ImageNodeComponent.tsx +0 -18
  375. package/src/components/MarkdownEditor/nodes/MermaidNode.tsx +0 -72
  376. package/src/components/MarkdownEditor/nodes/MermaidNodeComponent.tsx +0 -35
  377. package/src/components/MarkdownEditor/plugins/ImagePastePlugin.tsx +0 -149
  378. package/src/components/MarkdownEditor/plugins/KeyboardPlugin.tsx +0 -81
  379. package/src/components/MarkdownEditor/plugins/MarkdownSyncPlugin.tsx +0 -65
  380. package/src/components/MarkdownEditor/plugins/ToolbarPlugin.tsx +0 -284
  381. package/src/components/MarkdownEditor/plugins/toolbar/AlignmentDropdown.tsx +0 -99
  382. package/src/components/MarkdownEditor/plugins/toolbar/BlockTypeDropdown.tsx +0 -142
  383. package/src/components/MarkdownEditor/plugins/toolbar/LinkPanel.tsx +0 -160
  384. package/src/components/MarkdownEditor/plugins/toolbar/ToolbarButton.tsx +0 -36
  385. package/src/components/MarkdownEditor/plugins/toolbar/ToolbarDivider.tsx +0 -1
  386. package/src/components/MarkdownEditor/theme.ts +0 -39
  387. package/src/components/MarkdownEditor/transformers.ts +0 -189
  388. package/src/components/MarkedText/MarkedText.stories.tsx +0 -46
  389. package/src/components/MarkedText/MarkedText.tsx +0 -36
  390. package/src/components/MarkedText/index.ts +0 -1
  391. package/src/components/MarkedText/utils.test.ts +0 -193
  392. package/src/components/MarkedText/utils.ts +0 -37
  393. package/src/components/MergeEditor/AcceptControls/AcceptButton.tsx +0 -25
  394. package/src/components/MergeEditor/AcceptControls/AcceptControls.tsx +0 -77
  395. package/src/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.tsx +0 -38
  396. package/src/components/MergeEditor/MergeEditor.stories.tsx +0 -226
  397. package/src/components/MergeEditor/MergeEditor.tsx +0 -125
  398. package/src/components/MergeEditor/MergePane.tsx +0 -113
  399. package/src/components/MergeEditor/PaneHeader.tsx +0 -11
  400. package/src/components/MergeEditor/constants.ts +0 -48
  401. package/src/components/MergeEditor/decorations.ts +0 -126
  402. package/src/components/MergeEditor/helpers.test.ts +0 -172
  403. package/src/components/MergeEditor/helpers.ts +0 -118
  404. package/src/components/MergeEditor/index.ts +0 -5
  405. package/src/components/MergeEditor/useMergeDiff.ts +0 -573
  406. package/src/components/MergeEditor/useScrollSync.ts +0 -79
  407. package/src/components/Modal/Modal.stories.tsx +0 -680
  408. package/src/components/Modal/Modal.tsx +0 -49
  409. package/src/components/Modal/ModalBody.tsx +0 -33
  410. package/src/components/Modal/ModalCloseIcon.tsx +0 -31
  411. package/src/components/Modal/ModalContent.tsx +0 -95
  412. package/src/components/Modal/ModalDescription.tsx +0 -20
  413. package/src/components/Modal/ModalFooter.tsx +0 -20
  414. package/src/components/Modal/ModalHeader.tsx +0 -61
  415. package/src/components/Modal/ModalIcon.tsx +0 -109
  416. package/src/components/Modal/ModalOverlay.tsx +0 -42
  417. package/src/components/Modal/ModalTitle.tsx +0 -12
  418. package/src/components/Modal/index.ts +0 -1
  419. package/src/components/Navbar/Navbar.stories.tsx +0 -191
  420. package/src/components/Navbar/Navbar.tsx +0 -80
  421. package/src/components/Navbar/NavbarContent.tsx +0 -20
  422. package/src/components/Navbar/NavbarFooter.tsx +0 -11
  423. package/src/components/Navbar/NavbarHeader.tsx +0 -11
  424. package/src/components/Navbar/NavbarMenu.tsx +0 -30
  425. package/src/components/Navbar/NavbarMenuAvatar.tsx +0 -67
  426. package/src/components/Navbar/NavbarMenuButton.tsx +0 -135
  427. package/src/components/Navbar/NavbarMenuItem.tsx +0 -9
  428. package/src/components/Navbar/NavbarMenuItemAdornment.tsx +0 -65
  429. package/src/components/Navbar/index.ts +0 -1
  430. package/src/components/Pagination/Pagination.stories.tsx +0 -131
  431. package/src/components/Pagination/Pagination.tsx +0 -34
  432. package/src/components/Pagination/PaginationButton.tsx +0 -36
  433. package/src/components/Pagination/PaginationContent.tsx +0 -12
  434. package/src/components/Pagination/PaginationEllipsis.tsx +0 -26
  435. package/src/components/Pagination/PaginationItem.tsx +0 -9
  436. package/src/components/Pagination/PaginationNext.tsx +0 -20
  437. package/src/components/Pagination/PaginationPrevious.tsx +0 -14
  438. package/src/components/Pagination/index.ts +0 -1
  439. package/src/components/PanelWithDetails.stories.tsx +0 -28
  440. package/src/components/PanelWithDetails.tsx +0 -65
  441. package/src/components/Popconfirm/Popconfirm.stories.tsx +0 -373
  442. package/src/components/Popconfirm/Popconfirm.tsx +0 -82
  443. package/src/components/Popconfirm/PopconfirmBody.tsx +0 -5
  444. package/src/components/Popconfirm/PopconfirmCancel.tsx +0 -45
  445. package/src/components/Popconfirm/PopconfirmConfirm.tsx +0 -57
  446. package/src/components/Popconfirm/PopconfirmContent.tsx +0 -33
  447. package/src/components/Popconfirm/PopconfirmFooter.tsx +0 -9
  448. package/src/components/Popconfirm/PopconfirmTrigger.tsx +0 -22
  449. package/src/components/Popconfirm/context.ts +0 -19
  450. package/src/components/Popconfirm/index.ts +0 -1
  451. package/src/components/Popover/Popover.stories.tsx +0 -85
  452. package/src/components/Popover/Popover.tsx +0 -15
  453. package/src/components/Popover/PopoverContent.tsx +0 -103
  454. package/src/components/Popover/index.ts +0 -1
  455. package/src/components/Progress/Progress.stories.tsx +0 -67
  456. package/src/components/Progress/Progress.tsx +0 -45
  457. package/src/components/Progress/index.ts +0 -1
  458. package/src/components/RadioGroup/Radio.tsx +0 -61
  459. package/src/components/RadioGroup/RadioGroup.stories.tsx +0 -300
  460. package/src/components/RadioGroup/RadioGroup.tsx +0 -64
  461. package/src/components/RadioGroup/RadioGroupItem.tsx +0 -60
  462. package/src/components/RadioGroup/RadioGroupItemButton.tsx +0 -79
  463. package/src/components/RadioGroup/RadioGroupSeparator.tsx +0 -12
  464. package/src/components/RadioGroup/context.ts +0 -13
  465. package/src/components/RadioGroup/index.ts +0 -1
  466. package/src/components/Resizable/Resizable.stories.tsx +0 -50
  467. package/src/components/Resizable/ResizableHandle.tsx +0 -50
  468. package/src/components/Resizable/ResizablePanel.tsx +0 -12
  469. package/src/components/Resizable/ResizablePanelGroup.tsx +0 -19
  470. package/src/components/Resizable/index.ts +0 -3
  471. package/src/components/ScrollArea/ScrollArea.stories.tsx +0 -43
  472. package/src/components/ScrollArea/ScrollArea.tsx +0 -50
  473. package/src/components/ScrollArea/ScrollBar.tsx +0 -32
  474. package/src/components/ScrollArea/index.ts +0 -2
  475. package/src/components/Search/ClearButton.tsx +0 -42
  476. package/src/components/Search/Search.stories.tsx +0 -77
  477. package/src/components/Search/Search.test.tsx +0 -224
  478. package/src/components/Search/Search.tsx +0 -139
  479. package/src/components/Search/SearchForm.tsx +0 -37
  480. package/src/components/Search/index.ts +0 -2
  481. package/src/components/Search/styles.ts +0 -88
  482. package/src/components/Search/utils.ts +0 -11
  483. package/src/components/Select/Select.stories.tsx +0 -109
  484. package/src/components/Select/Select.tsx +0 -141
  485. package/src/components/Select/SelectContent.tsx +0 -110
  486. package/src/components/Select/SelectGroup.tsx +0 -10
  487. package/src/components/Select/SelectItem.tsx +0 -72
  488. package/src/components/Select/SelectLabel.tsx +0 -32
  489. package/src/components/Select/SelectRoot.tsx +0 -6
  490. package/src/components/Select/SelectSeparator.tsx +0 -13
  491. package/src/components/Select/SelectTrigger.tsx +0 -161
  492. package/src/components/Select/index.ts +0 -1
  493. package/src/components/Separator/Separator.stories.tsx +0 -60
  494. package/src/components/Separator/Separator.test.tsx +0 -39
  495. package/src/components/Separator/Separator.tsx +0 -115
  496. package/src/components/Separator/index.ts +0 -1
  497. package/src/components/Sheet/Sheet.stories.tsx +0 -63
  498. package/src/components/Sheet/Sheet.tsx +0 -21
  499. package/src/components/Sheet/SheetBody.tsx +0 -12
  500. package/src/components/Sheet/SheetContent.tsx +0 -131
  501. package/src/components/Sheet/SheetFooter.tsx +0 -9
  502. package/src/components/Sheet/SheetHeader.tsx +0 -39
  503. package/src/components/Sheet/SheetOverlay.tsx +0 -11
  504. package/src/components/Sheet/SheetTitle.tsx +0 -12
  505. package/src/components/Sheet/index.ts +0 -1
  506. package/src/components/Sidebar/Sidebar.stories.tsx +0 -849
  507. package/src/components/Sidebar/Sidebar.tsx +0 -225
  508. package/src/components/Sidebar/SidebarContent.tsx +0 -61
  509. package/src/components/Sidebar/SidebarFillTrigger.tsx +0 -25
  510. package/src/components/Sidebar/SidebarFooter.tsx +0 -13
  511. package/src/components/Sidebar/SidebarGroup/SidebarGroup.tsx +0 -23
  512. package/src/components/Sidebar/SidebarGroup/SidebarGroupAction.tsx +0 -53
  513. package/src/components/Sidebar/SidebarGroup/SidebarGroupContent.tsx +0 -20
  514. package/src/components/Sidebar/SidebarGroup/SidebarGroupLabel.tsx +0 -76
  515. package/src/components/Sidebar/SidebarGroup/index.ts +0 -4
  516. package/src/components/Sidebar/SidebarHeader.tsx +0 -20
  517. package/src/components/Sidebar/SidebarInstanceContext.ts +0 -18
  518. package/src/components/Sidebar/SidebarMenu/SidebarMenu.tsx +0 -28
  519. package/src/components/Sidebar/SidebarMenu/SidebarMenuAction.tsx +0 -69
  520. package/src/components/Sidebar/SidebarMenu/SidebarMenuBadge.tsx +0 -56
  521. package/src/components/Sidebar/SidebarMenu/SidebarMenuButton.tsx +0 -110
  522. package/src/components/Sidebar/SidebarMenu/SidebarMenuCard.tsx +0 -108
  523. package/src/components/Sidebar/SidebarMenu/SidebarMenuIcon.tsx +0 -30
  524. package/src/components/Sidebar/SidebarMenu/SidebarMenuItem.tsx +0 -9
  525. package/src/components/Sidebar/SidebarMenu/SidebarMenuSub.tsx +0 -139
  526. package/src/components/Sidebar/SidebarMenu/SidebarMenuSubItem.tsx +0 -106
  527. package/src/components/Sidebar/SidebarMenu/SidebarSearchInput.tsx +0 -88
  528. package/src/components/Sidebar/SidebarMenu/index.ts +0 -10
  529. package/src/components/Sidebar/SidebarProvider/SidebarProvider.tsx +0 -171
  530. package/src/components/Sidebar/SidebarProvider/context.ts +0 -35
  531. package/src/components/Sidebar/SidebarProvider/index.ts +0 -2
  532. package/src/components/Sidebar/SidebarProvider/useHoverTracking.test.ts +0 -199
  533. package/src/components/Sidebar/SidebarProvider/useHoverTracking.ts +0 -72
  534. package/src/components/Sidebar/SidebarProvider/useSidebarState.ts +0 -50
  535. package/src/components/Sidebar/SidebarProvider/useTransitionPresence.test.ts +0 -179
  536. package/src/components/Sidebar/SidebarProvider/useTransitionPresence.ts +0 -53
  537. package/src/components/Sidebar/SidebarResizeHandle.tsx +0 -28
  538. package/src/components/Sidebar/SidebarSeparator.tsx +0 -15
  539. package/src/components/Sidebar/SidebarTrigger.tsx +0 -40
  540. package/src/components/Sidebar/index.ts +0 -3
  541. package/src/components/Sidebar/types.ts +0 -6
  542. package/src/components/Sidebar/useResizeSidebar.ts +0 -112
  543. package/src/components/Sidebar/utils.test.ts +0 -178
  544. package/src/components/Sidebar/utils.ts +0 -70
  545. package/src/components/Skeleton/Skeleton.stories.tsx +0 -106
  546. package/src/components/Skeleton/Skeleton.tsx +0 -77
  547. package/src/components/Skeleton/SkeletonList.stories.tsx +0 -11
  548. package/src/components/Skeleton/SkeletonList.tsx +0 -65
  549. package/src/components/Slider/Slider.stories.tsx +0 -99
  550. package/src/components/Slider/Slider.tsx +0 -85
  551. package/src/components/Slider/SliderThumb.tsx +0 -57
  552. package/src/components/Slider/SliderTrack.tsx +0 -49
  553. package/src/components/Slider/index.ts +0 -1
  554. package/src/components/Slider/useInteracting.test.ts +0 -159
  555. package/src/components/Slider/useInteracting.ts +0 -64
  556. package/src/components/Switch/Switch.stories.tsx +0 -177
  557. package/src/components/Switch/Switch.tsx +0 -58
  558. package/src/components/Switch/index.ts +0 -1
  559. package/src/components/Switch/styles.ts +0 -173
  560. package/src/components/Table/Table.stories.tsx +0 -328
  561. package/src/components/Table/Table.tsx +0 -68
  562. package/src/components/Table/TableBody.tsx +0 -22
  563. package/src/components/Table/TableCell.tsx +0 -7
  564. package/src/components/Table/TableFooter.tsx +0 -15
  565. package/src/components/Table/TableHead.tsx +0 -15
  566. package/src/components/Table/TableHeader.tsx +0 -20
  567. package/src/components/Table/TableRow.tsx +0 -11
  568. package/src/components/Table/index.ts +0 -1
  569. package/src/components/Tabs.stories.tsx +0 -123
  570. package/src/components/Tabs.tsx +0 -134
  571. package/src/components/ThemeProvider/AIGradientSvg.tsx +0 -18
  572. package/src/components/ThemeProvider/ThemeProvider.tsx +0 -25
  573. package/src/components/ThemeProvider/index.ts +0 -1
  574. package/src/components/TimePicker/TimePicker.tsx +0 -95
  575. package/src/components/TimePicker/TimePickerButton.tsx +0 -39
  576. package/src/components/TimePicker/index.ts +0 -1
  577. package/src/components/TimePicker/utils.ts +0 -31
  578. package/src/components/Timeline/Timeline.stories.tsx +0 -246
  579. package/src/components/Timeline/Timeline.tsx +0 -35
  580. package/src/components/Timeline/TimelineConnector.tsx +0 -154
  581. package/src/components/Timeline/TimelineContent.tsx +0 -18
  582. package/src/components/Timeline/TimelineItem.tsx +0 -14
  583. package/src/components/Timeline/index.ts +0 -1
  584. package/src/components/Timeline/useLastLineHeight.ts +0 -36
  585. package/src/components/Toast/Toast.stories.tsx +0 -178
  586. package/src/components/Toast/ToastAction.tsx +0 -40
  587. package/src/components/Toast/ToastDescription.tsx +0 -28
  588. package/src/components/Toast/ToastDismiss.tsx +0 -36
  589. package/src/components/Toast/ToastDuration.tsx +0 -43
  590. package/src/components/Toast/ToastRoot.tsx +0 -135
  591. package/src/components/Toast/ToastTitle.tsx +0 -33
  592. package/src/components/Toast/Toaster.tsx +0 -25
  593. package/src/components/Toast/index.ts +0 -3
  594. package/src/components/Toast/toast.tsx +0 -94
  595. package/src/components/Toast/useNotification.tsx +0 -33
  596. package/src/components/Toggle/Toggle.stories.tsx +0 -67
  597. package/src/components/Toggle/Toggle.tsx +0 -202
  598. package/src/components/Toggle/index.ts +0 -1
  599. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -60
  600. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -99
  601. package/src/components/ToggleGroup/index.ts +0 -1
  602. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  603. package/src/components/Tooltip/Tooltip.tsx +0 -110
  604. package/src/components/Tooltip/TooltipContent.tsx +0 -90
  605. package/src/components/Tooltip/TooltipRoot.tsx +0 -12
  606. package/src/components/Tooltip/TooltipTrigger.tsx +0 -42
  607. package/src/components/Tooltip/index.ts +0 -1
  608. package/src/components/Truncated.stories.tsx +0 -72
  609. package/src/components/Truncated.tsx +0 -78
  610. package/src/components/ZoomableSvg/ZoomableSvg.stories.tsx +0 -53
  611. package/src/components/ZoomableSvg/ZoomableSvg.tsx +0 -200
  612. package/src/components/ZoomableSvg/index.ts +0 -1
  613. package/src/constants/keyCodes.ts +0 -5
  614. package/src/docs/Colors.mdx +0 -19
  615. package/src/docs/Spacing.mdx +0 -35
  616. package/src/docs/Typography.mdx +0 -63
  617. package/src/docs/components/Typeset.tsx +0 -35
  618. package/src/hooks/useAutosizeInput.stories.tsx +0 -142
  619. package/src/hooks/useAutosizeInput.test.tsx +0 -77
  620. package/src/hooks/useAutosizeInput.tsx +0 -107
  621. package/src/hooks/useElement.ts +0 -16
  622. package/src/hooks/useScrollbarPosition.ts +0 -68
  623. package/src/icon-names.ts +0 -20
  624. package/src/icons/Keboola.tsx +0 -28
  625. package/src/icons/icons.stories.tsx +0 -174
  626. package/src/icons/index.ts +0 -186
  627. package/src/index.ts +0 -89
  628. package/src/patterns/AlertWithAction.stories.tsx +0 -30
  629. package/src/patterns/CardWithEmptyState.stories.tsx +0 -66
  630. package/src/patterns/ConfirmDialog.stories.tsx +0 -72
  631. package/src/patterns/CreatableMultiCombobox.stories.tsx +0 -33
  632. package/src/patterns/DataCardWithSkeleton.stories.tsx +0 -48
  633. package/src/patterns/DisabledButtonTooltip.stories.tsx +0 -30
  634. package/src/patterns/FilterToolbar.stories.tsx +0 -275
  635. package/src/patterns/InfoTooltip.stories.tsx +0 -56
  636. package/src/patterns/ListDetail.stories.tsx +0 -65
  637. package/src/patterns/ModalForm.stories.tsx +0 -59
  638. package/src/patterns/PageHeaderTabs.stories.tsx +0 -48
  639. package/src/utils/classNames.test.ts +0 -16
  640. package/src/utils/classNames.ts +0 -27
  641. package/src/utils/copyToClipboard.ts +0 -3
  642. package/src/utils/createChangeInputEvent.ts +0 -28
  643. package/src/utils/createPrefixedString.ts +0 -2
  644. package/src/utils/debounce.test.ts +0 -63
  645. package/src/utils/debounce.ts +0 -17
  646. package/src/utils/decorators.tsx +0 -16
  647. package/src/utils/escapeStringRegexp.ts +0 -4
  648. package/src/utils/index.ts +0 -11
  649. package/src/utils/isMac.ts +0 -26
  650. package/src/utils/legacyIcon.tsx +0 -28
  651. package/src/utils/mergeRefs.ts +0 -23
  652. package/src/utils/noop.ts +0 -1
  653. package/src/utils/useSHA256.ts +0 -21
  654. package/src/vite-env.d.ts +0 -1
@@ -1,72 +0,0 @@
1
- import { useState } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react-vite';
3
-
4
- import { Button, ButtonGroup, Modal } from '@keboola/design';
5
- import { AlertTriangle, Trash2 } from '@keboola/design/icons';
6
-
7
- const DeleteBucketButton = ({
8
- name,
9
- onConfirm,
10
- }: {
11
- name: string;
12
- onConfirm: () => Promise<void>;
13
- }) => {
14
- const [open, setOpen] = useState(false);
15
- const [isDeleting, setIsDeleting] = useState(false);
16
-
17
- const handleConfirm = async () => {
18
- setIsDeleting(true);
19
- try {
20
- await onConfirm();
21
- setOpen(false);
22
- } finally {
23
- setIsDeleting(false);
24
- }
25
- };
26
-
27
- return (
28
- <Modal open={open} onOpenChange={setOpen}>
29
- <Modal.Trigger asChild>
30
- <Button variant="danger">
31
- <Trash2 className="tw-size-4" />
32
- Delete
33
- </Button>
34
- </Modal.Trigger>
35
- <Modal.Content size="small">
36
- <Modal.Icon color="red" icon={<AlertTriangle />} />
37
- <Modal.Header
38
- title={`Delete bucket "${name}"?`}
39
- description="This action cannot be undone. All tables in the bucket will be lost."
40
- />
41
- <Modal.Footer>
42
- <ButtonGroup variant="block">
43
- <Modal.Close asChild>
44
- <Button type="button" variant="secondary" disabled={isDeleting}>
45
- Cancel
46
- </Button>
47
- </Modal.Close>
48
- <Button type="button" variant="danger" isLoading={isDeleting} onClick={handleConfirm}>
49
- Delete bucket
50
- </Button>
51
- </ButtonGroup>
52
- </Modal.Footer>
53
- </Modal.Content>
54
- </Modal>
55
- );
56
- };
57
-
58
- const meta = {
59
- title: 'Patterns/ConfirmDialog',
60
- component: DeleteBucketButton,
61
- } satisfies Meta<typeof DeleteBucketButton>;
62
-
63
- export default meta;
64
-
65
- type Story = StoryObj<typeof meta>;
66
-
67
- export const Default: Story = {
68
- args: {
69
- name: 'marketing',
70
- onConfirm: () => new Promise((resolve) => setTimeout(resolve, 500)),
71
- },
72
- };
@@ -1,33 +0,0 @@
1
- import { useState } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react-vite';
3
-
4
- import { Combobox } from '@keboola/design';
5
-
6
- const TAGS = ['marketing', 'sales', 'analytics', 'internal'] as const;
7
-
8
- const TagPicker = () => {
9
- const [tag, setTag] = useState<string | null>(null);
10
-
11
- return (
12
- <Combobox
13
- items={TAGS}
14
- value={tag}
15
- onValueChange={setTag}
16
- allowCreate
17
- allowClear
18
- placeholder="Pick or create a tag"
19
- className="tw-w-64"
20
- />
21
- );
22
- };
23
-
24
- const meta = {
25
- title: 'Patterns/CreatableMultiCombobox',
26
- component: TagPicker,
27
- } satisfies Meta<typeof TagPicker>;
28
-
29
- export default meta;
30
-
31
- type Story = StoryObj<typeof meta>;
32
-
33
- export const Default: Story = {};
@@ -1,48 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { Card, Skeleton, SkeletonList } from '@keboola/design';
4
-
5
- type Stats = { tables: number; rows: number };
6
-
7
- const StatsCard = ({ stats, isLoading }: { stats: Stats | null; isLoading: boolean }) => (
8
- <Card bordered>
9
- <Card.Header>
10
- <Card.Title>
11
- {isLoading ? <Skeleton height="md" className="tw-w-32" /> : 'Storage'}
12
- </Card.Title>
13
- </Card.Header>
14
- <Card.Content>
15
- {isLoading || !stats ? (
16
- <SkeletonList groups={2} rowHeight="sm" />
17
- ) : (
18
- <dl className="tw-flex tw-flex-col tw-gap-2">
19
- <div className="tw-flex tw-justify-between">
20
- <dt className="tw-text-muted-foreground">Tables</dt>
21
- <dd>{stats.tables}</dd>
22
- </div>
23
- <div className="tw-flex tw-justify-between">
24
- <dt className="tw-text-muted-foreground">Rows</dt>
25
- <dd>{stats.rows.toLocaleString()}</dd>
26
- </div>
27
- </dl>
28
- )}
29
- </Card.Content>
30
- </Card>
31
- );
32
-
33
- const meta = {
34
- title: 'Patterns/DataCardWithSkeleton',
35
- component: StatsCard,
36
- } satisfies Meta<typeof StatsCard>;
37
-
38
- export default meta;
39
-
40
- type Story = StoryObj<typeof meta>;
41
-
42
- export const Loading: Story = {
43
- args: { stats: null, isLoading: true },
44
- };
45
-
46
- export const Ready: Story = {
47
- args: { stats: { tables: 39, rows: 1284502 }, isLoading: false },
48
- };
@@ -1,30 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { Button, Tooltip } from '@keboola/design';
4
-
5
- const SaveButton = ({ canSave, reason }: { canSave: boolean; reason: string }) => (
6
- <Tooltip tooltip={canSave ? null : reason} placement="top" triggerAsChild>
7
- <span className={canSave ? undefined : 'tw-inline-block tw-cursor-not-allowed'}>
8
- <Button disabled={!canSave} className={canSave ? undefined : 'tw-pointer-events-none'}>
9
- Save
10
- </Button>
11
- </span>
12
- </Tooltip>
13
- );
14
-
15
- const meta = {
16
- title: 'Patterns/DisabledButtonTooltip',
17
- component: SaveButton,
18
- } satisfies Meta<typeof SaveButton>;
19
-
20
- export default meta;
21
-
22
- type Story = StoryObj<typeof meta>;
23
-
24
- export const Disabled: Story = {
25
- args: { canSave: false, reason: 'Fill in all required fields first.' },
26
- };
27
-
28
- export const Enabled: Story = {
29
- args: { canSave: true, reason: '' },
30
- };
@@ -1,275 +0,0 @@
1
- import { useMemo, useState } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react-vite';
3
-
4
- import {
5
- Badge,
6
- Button,
7
- InputGroup,
8
- PageLayout,
9
- PageToolbar,
10
- Select,
11
- Separator,
12
- ToggleGroup,
13
- Tooltip,
14
- } from '@keboola/design';
15
- import {
16
- ChevronsUpDown,
17
- Info,
18
- LayoutGrid,
19
- List,
20
- ListFilter,
21
- Plus,
22
- RefreshCw,
23
- Search,
24
- X,
25
- } from '@keboola/design/icons';
26
-
27
- type Row = {
28
- id: string;
29
- name: string;
30
- type: 'table' | 'file';
31
- status: 'scheduled' | 'failed' | 'succeeded';
32
- };
33
-
34
- type FilterKey = 'scheduled' | 'failed' | 'succeeded';
35
-
36
- type ViewMode = 'list' | 'grid';
37
-
38
- type SortKey = 'name-asc' | 'name-desc' | 'recent';
39
-
40
- const SORT_LABEL: Record<SortKey, string> = {
41
- 'name-asc': 'Name A to Z',
42
- 'name-desc': 'Name Z to A',
43
- recent: 'Recently updated',
44
- };
45
-
46
- const FILTER_LABEL: Record<FilterKey, string> = {
47
- scheduled: 'Scheduled',
48
- failed: 'Failed',
49
- succeeded: 'Succeeded',
50
- };
51
-
52
- const ALL_FILTERS: FilterKey[] = ['scheduled', 'failed', 'succeeded'];
53
-
54
- const SearchField = ({
55
- value,
56
- onValueChange,
57
- }: {
58
- value: string;
59
- onValueChange: (next: string) => void;
60
- }) => (
61
- <InputGroup className="tw-w-[300px]">
62
- <InputGroup.Addon align="inline-start">
63
- <Search className="tw-size-4 tw-text-muted-foreground" />
64
- </InputGroup.Addon>
65
- <InputGroup.Input
66
- placeholder="Search"
67
- value={value}
68
- onChange={(event) => onValueChange(event.target.value)}
69
- />
70
- <InputGroup.Addon align="inline-end">
71
- <Tooltip tooltip="Searches by name and description." triggerAsChild>
72
- <InputGroup.Button tabIndex={0} aria-label="Search help">
73
- <Info className="tw-size-4 tw-text-muted-foreground" />
74
- </InputGroup.Button>
75
- </Tooltip>
76
- </InputGroup.Addon>
77
- </InputGroup>
78
- );
79
-
80
- const ActiveFiltersRow = ({
81
- active,
82
- onRemove,
83
- onAdd,
84
- onClear,
85
- }: {
86
- active: FilterKey[];
87
- onRemove: (key: FilterKey) => void;
88
- onAdd: () => void;
89
- onClear: () => void;
90
- }) => (
91
- <div className="tw-flex tw-w-full tw-items-center tw-gap-2 tw-rounded-xl tw-bg-muted tw-py-1 tw-pl-2 tw-pr-1">
92
- <div className="tw-flex tw-min-w-0 tw-flex-1 tw-items-center tw-gap-2">
93
- {active.map((key) => (
94
- <Badge
95
- key={key}
96
- variant="pill"
97
- color="blue-inverse"
98
- suffix={
99
- <Button
100
- variant="inline"
101
- size="icon-2xs"
102
- aria-label={`Remove ${FILTER_LABEL[key]} filter`}
103
- onClick={() => onRemove(key)}
104
- >
105
- <X className="tw-size-3" />
106
- </Button>
107
- }
108
- >
109
- {FILTER_LABEL[key]}
110
- </Badge>
111
- ))}
112
- <Button argo variant="invisible" size="icon-sm" aria-label="Add filter" onClick={onAdd}>
113
- <Plus className="tw-size-4" />
114
- </Button>
115
- </div>
116
- <Button argo variant="invisible" size="small" onClick={onClear}>
117
- Clear
118
- </Button>
119
- </div>
120
- );
121
-
122
- const FilteredList = ({
123
- rows,
124
- showSort,
125
- showViewToggle,
126
- showRefresh,
127
- showReorder,
128
- }: {
129
- rows: Row[];
130
- showSort: boolean;
131
- showViewToggle: boolean;
132
- showRefresh: boolean;
133
- showReorder: boolean;
134
- }) => {
135
- const [query, setQuery] = useState('');
136
- const [sort, setSort] = useState<SortKey>('name-desc');
137
- const [view, setView] = useState<ViewMode>('list');
138
- const [active, setActive] = useState<FilterKey[]>(['scheduled', 'failed']);
139
-
140
- const filtered = useMemo(() => {
141
- const byQuery = rows.filter((row) => row.name.toLowerCase().includes(query.toLowerCase()));
142
- const byStatus = active.length ? byQuery.filter((row) => active.includes(row.status)) : byQuery;
143
- return [...byStatus].sort((a, b) => {
144
- if (sort === 'name-asc') return a.name.localeCompare(b.name);
145
- if (sort === 'name-desc') return b.name.localeCompare(a.name);
146
- return b.id.localeCompare(a.id);
147
- });
148
- }, [rows, query, active, sort]);
149
-
150
- const addFilter = () => {
151
- setActive((prev) => {
152
- const next = ALL_FILTERS.find((key) => !prev.includes(key));
153
- return next ? [...prev, next] : prev;
154
- });
155
- };
156
-
157
- const showRightCluster = showSort || showViewToggle || showRefresh || showReorder;
158
- const showUtilities = showRefresh || showReorder;
159
- const showDivider = showSort && (showUtilities || showViewToggle);
160
-
161
- return (
162
- <PageLayout>
163
- <PageToolbar className="tw-flex-col tw-flex-nowrap tw-items-stretch tw-gap-2">
164
- <div className="tw-flex tw-w-full tw-items-center tw-gap-6">
165
- <div className="tw-flex tw-min-w-0 tw-flex-1">
166
- <SearchField value={query} onValueChange={setQuery} />
167
- </div>
168
- {showRightCluster && (
169
- <div className="tw-flex tw-items-center tw-gap-2">
170
- <Button argo variant="outline" size="icon" aria-label="Open filters">
171
- <ListFilter className="tw-size-4" />
172
- </Button>
173
- {showSort && (
174
- <Select
175
- variant="argo"
176
- className="tw-w-[200px]"
177
- value={sort}
178
- onValueChange={(next: SortKey) => setSort(next)}
179
- items={(Object.keys(SORT_LABEL) as SortKey[]).map((key) => ({
180
- value: key,
181
- label: SORT_LABEL[key],
182
- }))}
183
- />
184
- )}
185
- {showDivider && <Separator orientation="vertical" className="tw-h-9" />}
186
- {showReorder && (
187
- <Button argo variant="outline" size="icon" aria-label="Reorder">
188
- <ChevronsUpDown className="tw-size-4" />
189
- </Button>
190
- )}
191
- {showRefresh && (
192
- <Button argo variant="outline" size="icon" aria-label="Refresh">
193
- <RefreshCw className="tw-size-4" />
194
- </Button>
195
- )}
196
- {showViewToggle && (
197
- <ToggleGroup
198
- type="single"
199
- value={view}
200
- onValueChange={(next: ViewMode | '') => next && setView(next)}
201
- aria-label="View mode"
202
- >
203
- <ToggleGroup.Item value="list" aria-label="List view">
204
- <List className="tw-size-4" />
205
- </ToggleGroup.Item>
206
- <ToggleGroup.Item value="grid" aria-label="Grid view">
207
- <LayoutGrid className="tw-size-4" />
208
- </ToggleGroup.Item>
209
- </ToggleGroup>
210
- )}
211
- </div>
212
- )}
213
- </div>
214
- {active.length > 0 && (
215
- <ActiveFiltersRow
216
- active={active}
217
- onRemove={(key) => setActive((prev) => prev.filter((k) => k !== key))}
218
- onAdd={addFilter}
219
- onClear={() => setActive([])}
220
- />
221
- )}
222
- </PageToolbar>
223
- <PageLayout.Content>
224
- <ul className="tw-flex tw-flex-col tw-gap-1 tw-text-sm">
225
- {filtered.map((row) => (
226
- <li key={row.id} className="tw-flex tw-items-center tw-gap-2">
227
- <span className="tw-text-muted-foreground">[{row.status}]</span>
228
- {row.name}
229
- </li>
230
- ))}
231
- </ul>
232
- </PageLayout.Content>
233
- </PageLayout>
234
- );
235
- };
236
-
237
- const meta = {
238
- title: 'Patterns/FilterToolbar',
239
- component: FilteredList,
240
- parameters: { layout: 'padded' },
241
- args: {
242
- showSort: true,
243
- showViewToggle: true,
244
- showRefresh: false,
245
- showReorder: false,
246
- rows: [
247
- { id: '1', name: 'marketing.users', type: 'table', status: 'succeeded' },
248
- { id: '2', name: 'sales.leads', type: 'table', status: 'scheduled' },
249
- { id: '3', name: 'export.csv', type: 'file', status: 'failed' },
250
- { id: '4', name: 'snapshot.json', type: 'file', status: 'scheduled' },
251
- { id: '5', name: 'events.parquet', type: 'file', status: 'failed' },
252
- ],
253
- },
254
- } satisfies Meta<typeof FilteredList>;
255
-
256
- export default meta;
257
- type Story = StoryObj<typeof meta>;
258
-
259
- /** Full toolbar — search, filter, sort, view-mode toggle, and the active-filters row. */
260
- export const Default: Story = {};
261
-
262
- /** Minimal variant: only the search field and a filter button. */
263
- export const SearchAndFilterOnly: Story = {
264
- args: { showSort: false, showViewToggle: false },
265
- };
266
-
267
- /** Adds the refresh utility next to the sort, separated by a vertical divider. */
268
- export const WithRefresh: Story = {
269
- args: { showRefresh: true },
270
- };
271
-
272
- /** Reorder + refresh utilities. View toggle hidden, mirrors a sortable list page. */
273
- export const WithReorderUtilities: Story = {
274
- args: { showViewToggle: false, showRefresh: true, showReorder: true },
275
- };
@@ -1,56 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { Button, FormGroup, Label, TextInput, Tooltip } from '@keboola/design';
4
- import { Info } from '@keboola/design/icons';
5
-
6
- /** Info icon next to a label with a hover/focus tooltip — `Label` + icon-only `Button` + `Tooltip`. */
7
- const FieldWithInfo = ({ id, label, hint }: { id: string; label: string; hint: string }) => (
8
- <FormGroup>
9
- <div className="tw-flex tw-items-center tw-gap-1">
10
- <Label htmlFor={id}>{label}</Label>
11
- <Tooltip tooltip={hint} placement="right" triggerAsChild>
12
- <Button
13
- variant="inline"
14
- size="icon-3xs"
15
- aria-label={`More info about ${label}`}
16
- className="tw-text-muted-foreground"
17
- >
18
- <Info className="tw-size-3" />
19
- </Button>
20
- </Tooltip>
21
- </div>
22
- <TextInput id={id} />
23
- </FormGroup>
24
- );
25
-
26
- const meta = {
27
- title: 'Patterns/InfoTooltip',
28
- component: FieldWithInfo,
29
- parameters: {
30
- docs: {
31
- description: {
32
- component: 'Info icon next to a label with a hover/focus tooltip.',
33
- },
34
- },
35
- },
36
- } satisfies Meta<typeof FieldWithInfo>;
37
-
38
- export default meta;
39
-
40
- type Story = StoryObj<typeof meta>;
41
-
42
- export const Default: Story = {
43
- args: {
44
- id: 'account-name',
45
- label: 'Account name',
46
- hint: 'Used to identify your project in URLs.',
47
- },
48
- };
49
-
50
- export const LongHint: Story = {
51
- args: {
52
- id: 'webhook-url',
53
- label: 'Webhook URL',
54
- hint: 'Endpoint that Keboola will POST to whenever this job finishes. Must respond with 2xx within 5 seconds or the call is retried.',
55
- },
56
- };
@@ -1,65 +0,0 @@
1
- import { useState } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react-vite';
3
-
4
- import { Card, PageLayout, Sidebar, SidebarProvider } from '@keboola/design';
5
-
6
- type Item = { id: string; name: string };
7
-
8
- const ListDetailPage = ({ items }: { items: Item[] }) => {
9
- const [selectedId, setSelectedId] = useState(items[0]?.id ?? '');
10
- const selected = items.find((item) => item.id === selectedId);
11
-
12
- return (
13
- <SidebarProvider defaultLeftMode="expanded" leftVariant="inset" leftCollapsible="icon">
14
- <div className="tw-flex tw-flex-1">
15
- <Sidebar side="left">
16
- <Sidebar.Content>
17
- <Sidebar.Menu>
18
- {items.map((item) => (
19
- <Sidebar.MenuItem key={item.id}>
20
- <Sidebar.MenuButton
21
- tooltip={item.name}
22
- aria-selected={item.id === selectedId}
23
- onClick={() => setSelectedId(item.id)}
24
- >
25
- {item.name}
26
- </Sidebar.MenuButton>
27
- </Sidebar.MenuItem>
28
- ))}
29
- </Sidebar.Menu>
30
- </Sidebar.Content>
31
- </Sidebar>
32
- <PageLayout>
33
- <PageLayout.Content>
34
- <Card bordered>
35
- <Card.Header>
36
- <Card.Title>{selected?.name ?? 'Select an item'}</Card.Title>
37
- </Card.Header>
38
- <Card.Content>Detail for {selected?.id}.</Card.Content>
39
- </Card>
40
- </PageLayout.Content>
41
- </PageLayout>
42
- </div>
43
- </SidebarProvider>
44
- );
45
- };
46
-
47
- const meta = {
48
- title: 'Patterns/ListDetail',
49
- component: ListDetailPage,
50
- parameters: { layout: 'fullscreen' },
51
- } satisfies Meta<typeof ListDetailPage>;
52
-
53
- export default meta;
54
-
55
- type Story = StoryObj<typeof meta>;
56
-
57
- export const Default: Story = {
58
- args: {
59
- items: [
60
- { id: 'marketing', name: 'Marketing' },
61
- { id: 'sales', name: 'Sales' },
62
- { id: 'analytics', name: 'Analytics' },
63
- ],
64
- },
65
- };
@@ -1,59 +0,0 @@
1
- import { useState } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react-vite';
3
-
4
- import { Button, Modal, useAppForm } from '@keboola/design';
5
-
6
- const NewBucketModal = () => {
7
- const [open, setOpen] = useState(false);
8
-
9
- const form = useAppForm({
10
- defaultValues: { name: '', description: '' },
11
- onSubmit: async ({ value }) => {
12
- await Promise.resolve(value);
13
- setOpen(false);
14
- form.reset();
15
- },
16
- });
17
-
18
- return (
19
- <Modal open={open} onOpenChange={setOpen}>
20
- <Modal.Trigger asChild>
21
- <Button>New bucket</Button>
22
- </Modal.Trigger>
23
- <Modal.Content size="medium">
24
- <Modal.Header title="New bucket" description="Create an empty storage bucket." />
25
- <Modal.Body>
26
- <form.FormBody>
27
- <form.AppField name="name">
28
- {(field) => <field.TextField label="Name" required variant="secondary" />}
29
- </form.AppField>
30
- <form.AppField name="description">
31
- {(field) => <field.TextAreaField label="Description" variant="secondary" />}
32
- </form.AppField>
33
- </form.FormBody>
34
- </Modal.Body>
35
- <Modal.Footer>
36
- <Modal.Close asChild>
37
- <Button type="button" variant="secondary">
38
- Cancel
39
- </Button>
40
- </Modal.Close>
41
- <form.AppForm>
42
- <form.SubmitButton>Create</form.SubmitButton>
43
- </form.AppForm>
44
- </Modal.Footer>
45
- </Modal.Content>
46
- </Modal>
47
- );
48
- };
49
-
50
- const meta = {
51
- title: 'Patterns/ModalForm',
52
- component: NewBucketModal,
53
- } satisfies Meta<typeof NewBucketModal>;
54
-
55
- export default meta;
56
-
57
- type Story = StoryObj<typeof meta>;
58
-
59
- export const Default: Story = {};
@@ -1,48 +0,0 @@
1
- import { useState } from 'react';
2
- import type { ReactNode } from 'react';
3
- import type { Meta, StoryObj } from '@storybook/react-vite';
4
-
5
- import { PageHeader, PageLayout, Tabs, TabsContent, type Trigger } from '@keboola/design';
6
-
7
- const TABS: Trigger<string>[] = [
8
- { value: '/storage', title: 'Tables & Buckets' },
9
- { value: '/storage/files', title: 'Files' },
10
- { value: '/storage/jobs', title: 'Storage Jobs' },
11
- ];
12
-
13
- // Story uses local state so the composition renders standalone in Storybook.
14
- // See RECIPES.md for the router-driven version (TanStack Router).
15
- const StoragePage = ({ children }: { children: ReactNode }) => {
16
- const [activeTab, setActiveTab] = useState(TABS[0]!.value);
17
-
18
- return (
19
- <PageLayout>
20
- <PageLayout.Header>
21
- <PageHeader.Index
22
- title="Storage"
23
- metadata="3 buckets and 39 tables"
24
- headerNav={
25
- <Tabs triggers={TABS} defaultValue={activeTab} onValueChange={setActiveTab}>
26
- <TabsContent value={activeTab}>{children}</TabsContent>
27
- </Tabs>
28
- }
29
- />
30
- </PageLayout.Header>
31
- </PageLayout>
32
- );
33
- };
34
-
35
- const meta = {
36
- title: 'Patterns/PageHeaderTabs',
37
- component: StoragePage,
38
- } satisfies Meta<typeof StoragePage>;
39
-
40
- export default meta;
41
-
42
- type Story = StoryObj<typeof meta>;
43
-
44
- export const Default: Story = {
45
- args: {
46
- children: <div className="tw-p-4 tw-text-muted-foreground">Tab content</div>,
47
- },
48
- };