@keboola/design 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (673) hide show
  1. package/README.md +64 -5
  2. package/dist/icons.cjs +13 -733
  3. package/dist/icons.cjs.map +1 -1
  4. package/dist/icons.d.cts +7 -0
  5. package/dist/icons.d.ts +7 -0
  6. package/dist/icons.js +8 -2
  7. package/dist/icons.js.map +1 -1
  8. package/dist/index.cjs +13605 -12713
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +10462 -0
  11. package/dist/index.d.ts +10462 -0
  12. package/dist/index.js +13437 -12576
  13. package/dist/index.js.map +1 -1
  14. package/dist/markdown-editor.cjs +146 -82
  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 +146 -83
  19. package/dist/markdown-editor.js.map +1 -1
  20. package/dist/mermaid.cjs +85 -19
  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 +68 -21
  25. package/dist/mermaid.js.map +1 -1
  26. package/dist/styles.css +1 -1
  27. package/dist/testing.cjs +106 -0
  28. package/dist/testing.cjs.map +1 -0
  29. package/dist/testing.d.cts +19 -0
  30. package/dist/testing.d.ts +19 -0
  31. package/dist/testing.js +104 -0
  32. package/dist/testing.js.map +1 -0
  33. package/package.json +94 -15
  34. package/dist/icon-names.cjs +0 -18
  35. package/dist/icon-names.cjs.map +0 -1
  36. package/dist/icon-names.js +0 -16
  37. package/dist/icon-names.js.map +0 -1
  38. package/src/blocks/AIKit/AnswerSummary.stories.tsx +0 -38
  39. package/src/blocks/AIKit/AnswerSummary.tsx +0 -63
  40. package/src/blocks/AIKit/CollapsibleStepHeader.stories.tsx +0 -53
  41. package/src/blocks/AIKit/CollapsibleStepHeader.tsx +0 -64
  42. package/src/blocks/AIKit/InlineStepDetail.stories.tsx +0 -25
  43. package/src/blocks/AIKit/InlineStepDetail.tsx +0 -13
  44. package/src/blocks/AIKit/InlineStepLabel.stories.tsx +0 -37
  45. package/src/blocks/AIKit/InlineStepLabel.tsx +0 -36
  46. package/src/blocks/AIKit/MessageBubble.stories.tsx +0 -145
  47. package/src/blocks/AIKit/MessageBubble.tsx +0 -68
  48. package/src/blocks/AIKit/PlanApproval.stories.tsx +0 -121
  49. package/src/blocks/AIKit/PlanApproval.test.tsx +0 -241
  50. package/src/blocks/AIKit/PlanApproval.tsx +0 -363
  51. package/src/blocks/AIKit/PlanRewritingIndicator.test.tsx +0 -17
  52. package/src/blocks/AIKit/PlanRewritingIndicator.tsx +0 -20
  53. package/src/blocks/AIKit/PromptInput.stories.tsx +0 -106
  54. package/src/blocks/AIKit/PromptInput.test.tsx +0 -53
  55. package/src/blocks/AIKit/PromptInput.tsx +0 -218
  56. package/src/blocks/AIKit/PromptInputAction.tsx +0 -18
  57. package/src/blocks/AIKit/PromptInputSubmit.tsx +0 -59
  58. package/src/blocks/AIKit/Question.stories.tsx +0 -235
  59. package/src/blocks/AIKit/Question.tsx +0 -350
  60. package/src/blocks/AIKit/QuestionBlock.stories.tsx +0 -99
  61. package/src/blocks/AIKit/QuestionBlock.tsx +0 -83
  62. package/src/blocks/AIKit/SuggestedPrompt.stories.tsx +0 -82
  63. package/src/blocks/AIKit/SuggestedPrompt.tsx +0 -42
  64. package/src/blocks/AIKit/ThinkingIndicator.stories.tsx +0 -21
  65. package/src/blocks/AIKit/ThinkingIndicator.tsx +0 -14
  66. package/src/blocks/AIKit/index.ts +0 -12
  67. package/src/blocks/AutoSaveTextarea/AutoSaveTextarea.stories.tsx +0 -78
  68. package/src/blocks/AutoSaveTextarea/AutoSaveTextarea.tsx +0 -103
  69. package/src/blocks/AutoSaveTextarea/index.ts +0 -1
  70. package/src/blocks/ClipboardButton/ClipboardButton.stories.tsx +0 -28
  71. package/src/blocks/ClipboardButton/ClipboardButton.tsx +0 -43
  72. package/src/blocks/ClipboardButton/ClipboardInline.tsx +0 -40
  73. package/src/blocks/ClipboardButton/index.ts +0 -2
  74. package/src/blocks/ColorInput/ColorInput.stories.tsx +0 -109
  75. package/src/blocks/ColorInput/ColorInput.test.tsx +0 -163
  76. package/src/blocks/ColorInput/ColorInput.tsx +0 -171
  77. package/src/blocks/ColorInput/ColorPicker.tsx +0 -42
  78. package/src/blocks/ColorInput/index.ts +0 -1
  79. package/src/blocks/ColorInput/utils.test.ts +0 -189
  80. package/src/blocks/ColorInput/utils.ts +0 -74
  81. package/src/blocks/EmptyConfigurationActionCard/EmptyConfigurationActionCard.stories.tsx +0 -30
  82. package/src/blocks/EmptyConfigurationActionCard/EmptyConfigurationActionCard.tsx +0 -20
  83. package/src/blocks/EmptyConfigurationActionCard/index.ts +0 -1
  84. package/src/blocks/EmptyState/EmptyState.stories.tsx +0 -93
  85. package/src/blocks/EmptyState/EmptyState.tsx +0 -146
  86. package/src/blocks/EmptyState/index.ts +0 -1
  87. package/src/blocks/ErrorState/ErrorState.stories.tsx +0 -125
  88. package/src/blocks/ErrorState/ErrorState.tsx +0 -162
  89. package/src/blocks/ErrorState/index.ts +0 -1
  90. package/src/blocks/Form/components/FormBody.tsx +0 -27
  91. package/src/blocks/Form/components/SubmitButton.tsx +0 -30
  92. package/src/blocks/Form/connectors/CheckboxField.tsx +0 -34
  93. package/src/blocks/Form/connectors/FieldShell.tsx +0 -46
  94. package/src/blocks/Form/connectors/NumberField.tsx +0 -36
  95. package/src/blocks/Form/connectors/PasswordField.tsx +0 -38
  96. package/src/blocks/Form/connectors/SelectField.tsx +0 -73
  97. package/src/blocks/Form/connectors/SwitchField.tsx +0 -34
  98. package/src/blocks/Form/connectors/TextAreaField.tsx +0 -36
  99. package/src/blocks/Form/connectors/TextField.tsx +0 -36
  100. package/src/blocks/Form/contexts.ts +0 -4
  101. package/src/blocks/Form/formHook.ts +0 -45
  102. package/src/blocks/Form/index.ts +0 -2
  103. package/src/blocks/Form/setServerFieldErrors.test.ts +0 -38
  104. package/src/blocks/Form/setServerFieldErrors.ts +0 -21
  105. package/src/blocks/InputOtp/InputOtp.stories.tsx +0 -214
  106. package/src/blocks/InputOtp/InputOtp.test.tsx +0 -162
  107. package/src/blocks/InputOtp/InputOtp.tsx +0 -62
  108. package/src/blocks/InputOtp/InputOtpGroup.tsx +0 -13
  109. package/src/blocks/InputOtp/InputOtpSeparator.tsx +0 -23
  110. package/src/blocks/InputOtp/InputOtpSlot.styles.ts +0 -52
  111. package/src/blocks/InputOtp/InputOtpSlot.tsx +0 -44
  112. package/src/blocks/InputOtp/context.ts +0 -23
  113. package/src/blocks/InputOtp/index.ts +0 -23
  114. package/src/blocks/MermaidDiagram/MermaidDiagram.stories.tsx +0 -87
  115. package/src/blocks/MermaidDiagram/MermaidDiagram.tsx +0 -266
  116. package/src/blocks/MermaidDiagram/index.ts +0 -1
  117. package/src/blocks/MultiActionButtonGroup/MultiActionButton.stories.tsx +0 -119
  118. package/src/blocks/MultiActionButtonGroup/MultiActionButton.tsx +0 -41
  119. package/src/blocks/MultiActionButtonGroup/MultiActionButtonGroup.tsx +0 -16
  120. package/src/blocks/MultiActionButtonGroup/index.ts +0 -1
  121. package/src/blocks/MultiCombobox/MultiCombobox.stories.tsx +0 -324
  122. package/src/blocks/MultiCombobox/MultiCombobox.tsx +0 -257
  123. package/src/blocks/MultiCombobox/index.ts +0 -1
  124. package/src/blocks/NumberInput/NumberInput.stories.tsx +0 -112
  125. package/src/blocks/NumberInput/NumberInput.test.tsx +0 -148
  126. package/src/blocks/NumberInput/NumberInput.tsx +0 -89
  127. package/src/blocks/NumberInput/index.ts +0 -1
  128. package/src/blocks/PageHeader/AGENTS.md +0 -137
  129. package/src/blocks/PageHeader/PageHeader.stories.tsx +0 -371
  130. package/src/blocks/PageHeader/PageHeader.tsx +0 -22
  131. package/src/blocks/PageHeader/PageHeaderDetail.tsx +0 -84
  132. package/src/blocks/PageHeader/PageHeaderIndex.tsx +0 -75
  133. package/src/blocks/PageHeader/index.ts +0 -1
  134. package/src/blocks/PageHeader/styles.ts +0 -6
  135. package/src/blocks/PageLayout/AGENTS.md +0 -94
  136. package/src/blocks/PageLayout/PageLayout.stories.tsx +0 -146
  137. package/src/blocks/PageLayout/PageLayout.tsx +0 -139
  138. package/src/blocks/PageLayout/index.ts +0 -1
  139. package/src/blocks/PageToolbar/PageToolbar.stories.tsx +0 -353
  140. package/src/blocks/PageToolbar/PageToolbar.tsx +0 -160
  141. package/src/blocks/PageToolbar/PageToolbarToken.tsx +0 -61
  142. package/src/blocks/PageToolbar/index.ts +0 -1
  143. package/src/blocks/PasswordInput/PasswordInput.stories.tsx +0 -114
  144. package/src/blocks/PasswordInput/PasswordInput.test.tsx +0 -219
  145. package/src/blocks/PasswordInput/PasswordInput.tsx +0 -180
  146. package/src/blocks/PasswordInput/index.ts +0 -1
  147. package/src/blocks/SearchInput/SearchInput.stories.tsx +0 -127
  148. package/src/blocks/SearchInput/SearchInput.test.tsx +0 -162
  149. package/src/blocks/SearchInput/SearchInput.tsx +0 -172
  150. package/src/blocks/SearchInput/index.ts +0 -1
  151. package/src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.stories.tsx +0 -73
  152. package/src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.tsx +0 -92
  153. package/src/blocks/SearchInputWithNavigation/index.ts +0 -1
  154. package/src/blocks/SplitButton/SplitButton.stories.tsx +0 -91
  155. package/src/blocks/SplitButton/SplitButton.tsx +0 -81
  156. package/src/blocks/SplitButton/index.ts +0 -1
  157. package/src/blocks/Tagger/TagItem.tsx +0 -32
  158. package/src/blocks/Tagger/TagSelectPopover/TagSelectCreateItem.tsx +0 -44
  159. package/src/blocks/Tagger/TagSelectPopover/TagSelectItem.tsx +0 -31
  160. package/src/blocks/Tagger/TagSelectPopover/TagSelectList.tsx +0 -67
  161. package/src/blocks/Tagger/TagSelectPopover/TagSelectPopover.tsx +0 -34
  162. package/src/blocks/Tagger/TagSelectPopover/TagSelectValue.tsx +0 -47
  163. package/src/blocks/Tagger/TagSelectPopover/index.ts +0 -1
  164. package/src/blocks/Tagger/Tagger.stories.tsx +0 -80
  165. package/src/blocks/Tagger/Tagger.tsx +0 -101
  166. package/src/blocks/Tagger/index.ts +0 -1
  167. package/src/blocks/Tagger/types.ts +0 -11
  168. package/src/blocks/Textarea/Textarea.stories.tsx +0 -47
  169. package/src/blocks/Textarea/Textarea.tsx +0 -50
  170. package/src/blocks/Textarea/index.ts +0 -1
  171. package/src/components/Alert/Alert.stories.tsx +0 -101
  172. package/src/components/Alert/Alert.tsx +0 -121
  173. package/src/components/Alert/AlertAction.tsx +0 -31
  174. package/src/components/Alert/AlertCollapsibleIcon.tsx +0 -25
  175. package/src/components/Alert/AlertDescription.tsx +0 -36
  176. package/src/components/Alert/AlertIcon.tsx +0 -40
  177. package/src/components/Alert/AlertRoot.tsx +0 -64
  178. package/src/components/Alert/AlertTitle.tsx +0 -25
  179. package/src/components/Alert/index.ts +0 -1
  180. package/src/components/Avatar.stories.tsx +0 -22
  181. package/src/components/Avatar.tsx +0 -88
  182. package/src/components/Badge/Badge.stories.tsx +0 -122
  183. package/src/components/Badge/Badge.tsx +0 -71
  184. package/src/components/Badge/BadgeAddon.tsx +0 -63
  185. package/src/components/Badge/BadgeButton.tsx +0 -40
  186. package/src/components/Badge/BadgeLabel.tsx +0 -37
  187. package/src/components/Badge/BadgeRoot.tsx +0 -21
  188. package/src/components/Badge/index.ts +0 -1
  189. package/src/components/Badge/styles.ts +0 -74
  190. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +0 -135
  191. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -23
  192. package/src/components/Breadcrumb/BreadcrumbEllipsis.tsx +0 -43
  193. package/src/components/Breadcrumb/BreadcrumbItem.tsx +0 -9
  194. package/src/components/Breadcrumb/BreadcrumbLink.tsx +0 -48
  195. package/src/components/Breadcrumb/BreadcrumbList.tsx +0 -26
  196. package/src/components/Breadcrumb/BreadcrumbPage.tsx +0 -22
  197. package/src/components/Breadcrumb/BreadcrumbSeparator.tsx +0 -28
  198. package/src/components/Breadcrumb/index.ts +0 -1
  199. package/src/components/Button/Button.stories.tsx +0 -80
  200. package/src/components/Button/Button.tsx +0 -110
  201. package/src/components/Button/ButtonInline.stories.tsx +0 -54
  202. package/src/components/Button/ButtonInline.tsx +0 -77
  203. package/src/components/Button/index.ts +0 -3
  204. package/src/components/Button/styles.ts +0 -313
  205. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +0 -140
  206. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -79
  207. package/src/components/ButtonGroup/index.ts +0 -1
  208. package/src/components/Calendar/Calendar.stories.tsx +0 -101
  209. package/src/components/Calendar/Calendar.tsx +0 -44
  210. package/src/components/Calendar/index.ts +0 -2
  211. package/src/components/Card/Card.stories.tsx +0 -60
  212. package/src/components/Card/Card.tsx +0 -42
  213. package/src/components/Card/CardContent.tsx +0 -5
  214. package/src/components/Card/CardHeader.tsx +0 -5
  215. package/src/components/Card/CardTitle.tsx +0 -13
  216. package/src/components/Card/index.ts +0 -1
  217. package/src/components/Card/styles.ts +0 -32
  218. package/src/components/Checkbox/Checkbox.stories.tsx +0 -210
  219. package/src/components/Checkbox/Checkbox.test.tsx +0 -140
  220. package/src/components/Checkbox/Checkbox.tsx +0 -83
  221. package/src/components/Checkbox/index.ts +0 -1
  222. package/src/components/Checkbox/styles.ts +0 -77
  223. package/src/components/Clipboard/Clipboard.stories.tsx +0 -44
  224. package/src/components/Clipboard/Clipboard.tsx +0 -89
  225. package/src/components/Clipboard/index.ts +0 -1
  226. package/src/components/CodeEditor/ButtonToolbar.tsx +0 -14
  227. package/src/components/CodeEditor/CodeEditor.tsx +0 -155
  228. package/src/components/CodeEditor/SqlEditor.stories.tsx +0 -76
  229. package/src/components/CodeEditor/SqlEditor.tsx +0 -206
  230. package/src/components/CodeEditor/ToggleComponentHelp.tsx +0 -7
  231. package/src/components/CodeEditor/activeQueryHighlight.test.ts +0 -178
  232. package/src/components/CodeEditor/activeQueryHighlight.ts +0 -245
  233. package/src/components/CodeEditor/helpers.ts +0 -100
  234. package/src/components/CodeEditor/highlighting.ts +0 -184
  235. package/src/components/CodeEditor/index.ts +0 -3
  236. package/src/components/CodeEditor/search.ts +0 -186
  237. package/src/components/Collapse.stories.tsx +0 -56
  238. package/src/components/Collapse.tsx +0 -61
  239. package/src/components/Collapsible/Collapsible.stories.tsx +0 -55
  240. package/src/components/Collapsible/Collapsible.tsx +0 -11
  241. package/src/components/Collapsible/CollapsibleContent.tsx +0 -25
  242. package/src/components/Collapsible/index.ts +0 -1
  243. package/src/components/CollapsiblePanel.stories.tsx +0 -25
  244. package/src/components/CollapsiblePanel.tsx +0 -127
  245. package/src/components/Combobox/Combobox.stories.tsx +0 -426
  246. package/src/components/Combobox/Combobox.test.tsx +0 -165
  247. package/src/components/Combobox/Combobox.tsx +0 -345
  248. package/src/components/Combobox/ComboboxChips.tsx +0 -68
  249. package/src/components/Combobox/ComboboxContent.tsx +0 -95
  250. package/src/components/Combobox/ComboboxEmpty.tsx +0 -30
  251. package/src/components/Combobox/ComboboxInput.tsx +0 -10
  252. package/src/components/Combobox/ComboboxInputGroup.tsx +0 -38
  253. package/src/components/Combobox/ComboboxItem.tsx +0 -70
  254. package/src/components/Combobox/ComboboxItemIndicator.tsx +0 -78
  255. package/src/components/Combobox/ComboboxList.tsx +0 -32
  256. package/src/components/Combobox/ComboboxRoot.tsx +0 -5
  257. package/src/components/Combobox/ComboboxSeparator.tsx +0 -20
  258. package/src/components/Combobox/Group/ComboboxCollection.tsx +0 -7
  259. package/src/components/Combobox/Group/ComboboxGroup.tsx +0 -23
  260. package/src/components/Combobox/Group/ComboboxGroupLabel.tsx +0 -38
  261. package/src/components/Combobox/Group/index.ts +0 -3
  262. package/src/components/Combobox/index.ts +0 -1
  263. package/src/components/Combobox/types.ts +0 -22
  264. package/src/components/Combobox/utils.test.ts +0 -95
  265. package/src/components/Combobox/utils.ts +0 -103
  266. package/src/components/Command/Command.stories.tsx +0 -367
  267. package/src/components/Command/Command.tsx +0 -37
  268. package/src/components/Command/CommandContent.tsx +0 -19
  269. package/src/components/Command/CommandEmpty.tsx +0 -6
  270. package/src/components/Command/CommandGroup.tsx +0 -26
  271. package/src/components/Command/CommandInput.tsx +0 -27
  272. package/src/components/Command/CommandItem/CheckIndicator.tsx +0 -86
  273. package/src/components/Command/CommandItem/CommandItem.tsx +0 -94
  274. package/src/components/Command/CommandItem/index.ts +0 -1
  275. package/src/components/Command/CommandList.tsx +0 -32
  276. package/src/components/Command/CommandSeparator.tsx +0 -13
  277. package/src/components/Command/index.ts +0 -6
  278. package/src/components/DatePicker/DatePicker.tsx +0 -37
  279. package/src/components/DatePicker/index.ts +0 -1
  280. package/src/components/DiffView/DiffView.stories.tsx +0 -80
  281. package/src/components/DiffView/DiffView.tsx +0 -131
  282. package/src/components/DiffView/DiffViewMark.tsx +0 -21
  283. package/src/components/DiffView/DiffViewTd.tsx +0 -84
  284. package/src/components/DiffView/DiffViewTh.tsx +0 -23
  285. package/src/components/DiffView/index.ts +0 -11
  286. package/src/components/DiffView/util.test.ts +0 -231
  287. package/src/components/DiffView/util.ts +0 -311
  288. package/src/components/DotsLoader.tsx +0 -22
  289. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +0 -310
  290. package/src/components/DropdownMenu/DropdownMenu.tsx +0 -61
  291. package/src/components/DropdownMenu/DropdownMenuCheckboxItem.tsx +0 -55
  292. package/src/components/DropdownMenu/DropdownMenuContent.tsx +0 -52
  293. package/src/components/DropdownMenu/DropdownMenuContext.tsx +0 -13
  294. package/src/components/DropdownMenu/DropdownMenuItem.tsx +0 -80
  295. package/src/components/DropdownMenu/DropdownMenuItemDescription.tsx +0 -42
  296. package/src/components/DropdownMenu/DropdownMenuItemIndicator.tsx +0 -104
  297. package/src/components/DropdownMenu/DropdownMenuLabel.tsx +0 -21
  298. package/src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.tsx +0 -31
  299. package/src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioItem.tsx +0 -67
  300. package/src/components/DropdownMenu/DropdownMenuRadioGroup/index.ts +0 -2
  301. package/src/components/DropdownMenu/DropdownMenuSeparator.tsx +0 -35
  302. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSub.tsx +0 -3
  303. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubContent.tsx +0 -21
  304. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubTrigger.tsx +0 -17
  305. package/src/components/DropdownMenu/DropdownMenuSub/index.ts +0 -3
  306. package/src/components/DropdownMenu/DropdownMenuTrigger.tsx +0 -19
  307. package/src/components/DropdownMenu/ItemIcon.tsx +0 -30
  308. package/src/components/DropdownMenu/index.ts +0 -1
  309. package/src/components/DropdownMenu/styles.ts +0 -82
  310. package/src/components/EmptySearchContent.stories.tsx +0 -12
  311. package/src/components/EmptySearchContent.tsx +0 -13
  312. package/src/components/FieldBox/FieldBox.stories.tsx +0 -138
  313. package/src/components/FieldBox/FieldBox.tsx +0 -43
  314. package/src/components/FieldBox/FieldBoxDescription.tsx +0 -18
  315. package/src/components/FieldBox/FieldBoxTitle.tsx +0 -20
  316. package/src/components/FieldBox/index.ts +0 -1
  317. package/src/components/FieldBox/styles.ts +0 -37
  318. package/src/components/FormGroup/FormGroup.stories.tsx +0 -120
  319. package/src/components/FormGroup/FormGroup.tsx +0 -48
  320. package/src/components/FormGroup/FormGroupColorInput.tsx +0 -15
  321. package/src/components/FormGroup/FormGroupHelp.tsx +0 -17
  322. package/src/components/FormGroup/FormGroupNumberInput.tsx +0 -15
  323. package/src/components/FormGroup/FormGroupTextInput.tsx +0 -15
  324. package/src/components/FormGroup/FormGroupTextarea.tsx +0 -12
  325. package/src/components/FormGroup/context.ts +0 -11
  326. package/src/components/FormGroup/index.ts +0 -2
  327. package/src/components/FormGroup/types.ts +0 -5
  328. package/src/components/FullScreenModal/FullScreenModal.tsx +0 -8
  329. package/src/components/FullScreenModal/FullScreenModalBody.tsx +0 -16
  330. package/src/components/FullScreenModal/FullScreenModalHeader.tsx +0 -92
  331. package/src/components/FullScreenModal/FullScreenModalRoot.tsx +0 -79
  332. package/src/components/FullScreenModal/index.ts +0 -3
  333. package/src/components/HelpBlock/HelpBlock.stories.tsx +0 -28
  334. package/src/components/HelpBlock/HelpBlock.tsx +0 -31
  335. package/src/components/HelpBlock/index.ts +0 -1
  336. package/src/components/HoverCard/HoverCard.stories.tsx +0 -77
  337. package/src/components/HoverCard/HoverCard.tsx +0 -13
  338. package/src/components/HoverCard/HoverCardContent.tsx +0 -68
  339. package/src/components/HoverCard/index.ts +0 -1
  340. package/src/components/Icon/Icon.stories.tsx +0 -26
  341. package/src/components/Icon/Icon.tsx +0 -10
  342. package/src/components/Icon/Icons.mdx +0 -28
  343. package/src/components/Icon/constants.ts +0 -1
  344. package/src/components/Icon/index.ts +0 -27
  345. package/src/components/Input/DateInput/DateInput.stories.tsx +0 -58
  346. package/src/components/Input/DateInput/DateInput.tsx +0 -143
  347. package/src/components/Input/DateInput/helpers.test.ts +0 -102
  348. package/src/components/Input/DateInput/helpers.ts +0 -59
  349. package/src/components/Input/DateInput/index.ts +0 -1
  350. package/src/components/Input/DateRangeInput/DateRangeInput.stories.tsx +0 -66
  351. package/src/components/Input/DateRangeInput/DateRangeInput.tsx +0 -139
  352. package/src/components/Input/DateRangeInput/helpers.test.ts +0 -146
  353. package/src/components/Input/DateRangeInput/helpers.ts +0 -36
  354. package/src/components/Input/DateRangeInput/index.ts +0 -1
  355. package/src/components/Input/Input.stories.tsx +0 -93
  356. package/src/components/Input/Input.test.tsx +0 -112
  357. package/src/components/Input/Input.tsx +0 -163
  358. package/src/components/Input/TextInput/TextInput.stories.tsx +0 -68
  359. package/src/components/Input/TextInput/TextInput.test.tsx +0 -52
  360. package/src/components/Input/TextInput/TextInput.tsx +0 -73
  361. package/src/components/Input/TextInput/index.ts +0 -1
  362. package/src/components/Input/TimeInput/TimeInput.stories.tsx +0 -89
  363. package/src/components/Input/TimeInput/TimeInput.tsx +0 -106
  364. package/src/components/Input/TimeInput/index.ts +0 -1
  365. package/src/components/Input/index.ts +0 -4
  366. package/src/components/Input/utils.ts +0 -11
  367. package/src/components/InputGroup/InputGroup.stories.tsx +0 -215
  368. package/src/components/InputGroup/InputGroup.tsx +0 -228
  369. package/src/components/InputGroup/InputGroupAddon.tsx +0 -57
  370. package/src/components/InputGroup/InputGroupButton.tsx +0 -25
  371. package/src/components/InputGroup/InputGroupInput.tsx +0 -34
  372. package/src/components/InputGroup/InputGroupText.tsx +0 -21
  373. package/src/components/InputGroup/InputGroupTextArea.tsx +0 -78
  374. package/src/components/InputGroup/index.ts +0 -1
  375. package/src/components/Kbd/Kbd.stories.tsx +0 -82
  376. package/src/components/Kbd/Kbd.tsx +0 -17
  377. package/src/components/Kbd/KbdGroup.tsx +0 -35
  378. package/src/components/Kbd/KbdSeparator.tsx +0 -9
  379. package/src/components/Kbd/index.ts +0 -3
  380. package/src/components/Kbd/keyboardKeys.ts +0 -40
  381. package/src/components/Kbd/styles.ts +0 -39
  382. package/src/components/Label/Label.stories.tsx +0 -53
  383. package/src/components/Label/Label.tsx +0 -31
  384. package/src/components/Label/index.ts +0 -1
  385. package/src/components/Link.stories.tsx +0 -19
  386. package/src/components/Link.tsx +0 -37
  387. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +0 -182
  388. package/src/components/MarkdownEditor/MarkdownEditor.test.ts +0 -171
  389. package/src/components/MarkdownEditor/MarkdownEditor.tsx +0 -245
  390. package/src/components/MarkdownEditor/context.ts +0 -10
  391. package/src/components/MarkdownEditor/index.ts +0 -1
  392. package/src/components/MarkdownEditor/nodes/ImageNode.tsx +0 -115
  393. package/src/components/MarkdownEditor/nodes/ImageNodeComponent.tsx +0 -18
  394. package/src/components/MarkdownEditor/nodes/MermaidNode.tsx +0 -72
  395. package/src/components/MarkdownEditor/nodes/MermaidNodeComponent.tsx +0 -35
  396. package/src/components/MarkdownEditor/plugins/ImagePastePlugin.tsx +0 -149
  397. package/src/components/MarkdownEditor/plugins/KeyboardPlugin.tsx +0 -81
  398. package/src/components/MarkdownEditor/plugins/MarkdownSyncPlugin.tsx +0 -65
  399. package/src/components/MarkdownEditor/plugins/ToolbarPlugin.tsx +0 -284
  400. package/src/components/MarkdownEditor/plugins/toolbar/AlignmentDropdown.tsx +0 -99
  401. package/src/components/MarkdownEditor/plugins/toolbar/BlockTypeDropdown.tsx +0 -142
  402. package/src/components/MarkdownEditor/plugins/toolbar/LinkPanel.tsx +0 -160
  403. package/src/components/MarkdownEditor/plugins/toolbar/ToolbarButton.tsx +0 -36
  404. package/src/components/MarkdownEditor/plugins/toolbar/ToolbarDivider.tsx +0 -1
  405. package/src/components/MarkdownEditor/theme.ts +0 -39
  406. package/src/components/MarkdownEditor/transformers.ts +0 -189
  407. package/src/components/MarkedText/MarkedText.stories.tsx +0 -46
  408. package/src/components/MarkedText/MarkedText.tsx +0 -36
  409. package/src/components/MarkedText/index.ts +0 -1
  410. package/src/components/MarkedText/utils.test.ts +0 -193
  411. package/src/components/MarkedText/utils.ts +0 -37
  412. package/src/components/MergeEditor/AcceptControls/AcceptButton.tsx +0 -25
  413. package/src/components/MergeEditor/AcceptControls/AcceptControls.tsx +0 -77
  414. package/src/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.tsx +0 -38
  415. package/src/components/MergeEditor/MergeEditor.stories.tsx +0 -226
  416. package/src/components/MergeEditor/MergeEditor.tsx +0 -125
  417. package/src/components/MergeEditor/MergePane.tsx +0 -113
  418. package/src/components/MergeEditor/PaneHeader.tsx +0 -11
  419. package/src/components/MergeEditor/constants.ts +0 -48
  420. package/src/components/MergeEditor/decorations.ts +0 -126
  421. package/src/components/MergeEditor/helpers.test.ts +0 -172
  422. package/src/components/MergeEditor/helpers.ts +0 -118
  423. package/src/components/MergeEditor/index.ts +0 -5
  424. package/src/components/MergeEditor/useMergeDiff.ts +0 -573
  425. package/src/components/MergeEditor/useScrollSync.ts +0 -79
  426. package/src/components/Modal/Modal.stories.tsx +0 -680
  427. package/src/components/Modal/Modal.tsx +0 -49
  428. package/src/components/Modal/ModalBody.tsx +0 -33
  429. package/src/components/Modal/ModalCloseIcon.tsx +0 -31
  430. package/src/components/Modal/ModalContent.tsx +0 -95
  431. package/src/components/Modal/ModalDescription.tsx +0 -20
  432. package/src/components/Modal/ModalFooter.tsx +0 -20
  433. package/src/components/Modal/ModalHeader.tsx +0 -61
  434. package/src/components/Modal/ModalIcon.tsx +0 -109
  435. package/src/components/Modal/ModalOverlay.tsx +0 -42
  436. package/src/components/Modal/ModalTitle.tsx +0 -12
  437. package/src/components/Modal/index.ts +0 -1
  438. package/src/components/Navbar/Navbar.stories.tsx +0 -191
  439. package/src/components/Navbar/Navbar.tsx +0 -80
  440. package/src/components/Navbar/NavbarContent.tsx +0 -20
  441. package/src/components/Navbar/NavbarFooter.tsx +0 -11
  442. package/src/components/Navbar/NavbarHeader.tsx +0 -11
  443. package/src/components/Navbar/NavbarMenu.tsx +0 -30
  444. package/src/components/Navbar/NavbarMenuAvatar.tsx +0 -67
  445. package/src/components/Navbar/NavbarMenuButton.tsx +0 -135
  446. package/src/components/Navbar/NavbarMenuItem.tsx +0 -9
  447. package/src/components/Navbar/NavbarMenuItemAdornment.tsx +0 -65
  448. package/src/components/Navbar/index.ts +0 -1
  449. package/src/components/Pagination/Pagination.stories.tsx +0 -131
  450. package/src/components/Pagination/Pagination.tsx +0 -34
  451. package/src/components/Pagination/PaginationButton.tsx +0 -36
  452. package/src/components/Pagination/PaginationContent.tsx +0 -12
  453. package/src/components/Pagination/PaginationEllipsis.tsx +0 -26
  454. package/src/components/Pagination/PaginationItem.tsx +0 -9
  455. package/src/components/Pagination/PaginationNext.tsx +0 -20
  456. package/src/components/Pagination/PaginationPrevious.tsx +0 -14
  457. package/src/components/Pagination/index.ts +0 -1
  458. package/src/components/PanelWithDetails.stories.tsx +0 -28
  459. package/src/components/PanelWithDetails.tsx +0 -65
  460. package/src/components/Popconfirm/Popconfirm.stories.tsx +0 -373
  461. package/src/components/Popconfirm/Popconfirm.tsx +0 -82
  462. package/src/components/Popconfirm/PopconfirmBody.tsx +0 -5
  463. package/src/components/Popconfirm/PopconfirmCancel.tsx +0 -45
  464. package/src/components/Popconfirm/PopconfirmConfirm.tsx +0 -57
  465. package/src/components/Popconfirm/PopconfirmContent.tsx +0 -33
  466. package/src/components/Popconfirm/PopconfirmFooter.tsx +0 -9
  467. package/src/components/Popconfirm/PopconfirmTrigger.tsx +0 -22
  468. package/src/components/Popconfirm/context.ts +0 -19
  469. package/src/components/Popconfirm/index.ts +0 -1
  470. package/src/components/Popover/Popover.stories.tsx +0 -85
  471. package/src/components/Popover/Popover.tsx +0 -15
  472. package/src/components/Popover/PopoverContent.tsx +0 -103
  473. package/src/components/Popover/index.ts +0 -1
  474. package/src/components/Progress/Progress.stories.tsx +0 -67
  475. package/src/components/Progress/Progress.tsx +0 -45
  476. package/src/components/Progress/index.ts +0 -1
  477. package/src/components/RadioGroup/Radio.tsx +0 -61
  478. package/src/components/RadioGroup/RadioGroup.stories.tsx +0 -300
  479. package/src/components/RadioGroup/RadioGroup.tsx +0 -64
  480. package/src/components/RadioGroup/RadioGroupItem.tsx +0 -60
  481. package/src/components/RadioGroup/RadioGroupItemButton.tsx +0 -79
  482. package/src/components/RadioGroup/RadioGroupSeparator.tsx +0 -12
  483. package/src/components/RadioGroup/context.ts +0 -13
  484. package/src/components/RadioGroup/index.ts +0 -1
  485. package/src/components/Resizable/Resizable.stories.tsx +0 -50
  486. package/src/components/Resizable/ResizableHandle.tsx +0 -50
  487. package/src/components/Resizable/ResizablePanel.tsx +0 -12
  488. package/src/components/Resizable/ResizablePanelGroup.tsx +0 -19
  489. package/src/components/Resizable/index.ts +0 -3
  490. package/src/components/ScrollArea/ScrollArea.stories.tsx +0 -43
  491. package/src/components/ScrollArea/ScrollArea.tsx +0 -50
  492. package/src/components/ScrollArea/ScrollBar.tsx +0 -32
  493. package/src/components/ScrollArea/index.ts +0 -2
  494. package/src/components/Search/ClearButton.tsx +0 -42
  495. package/src/components/Search/Search.stories.tsx +0 -77
  496. package/src/components/Search/Search.test.tsx +0 -224
  497. package/src/components/Search/Search.tsx +0 -139
  498. package/src/components/Search/SearchForm.tsx +0 -37
  499. package/src/components/Search/index.ts +0 -2
  500. package/src/components/Search/styles.ts +0 -88
  501. package/src/components/Search/utils.ts +0 -11
  502. package/src/components/Select/Select.stories.tsx +0 -109
  503. package/src/components/Select/Select.tsx +0 -141
  504. package/src/components/Select/SelectContent.tsx +0 -110
  505. package/src/components/Select/SelectGroup.tsx +0 -10
  506. package/src/components/Select/SelectItem.tsx +0 -72
  507. package/src/components/Select/SelectLabel.tsx +0 -32
  508. package/src/components/Select/SelectRoot.tsx +0 -6
  509. package/src/components/Select/SelectSeparator.tsx +0 -13
  510. package/src/components/Select/SelectTrigger.tsx +0 -161
  511. package/src/components/Select/index.ts +0 -1
  512. package/src/components/Separator/Separator.stories.tsx +0 -60
  513. package/src/components/Separator/Separator.test.tsx +0 -39
  514. package/src/components/Separator/Separator.tsx +0 -115
  515. package/src/components/Separator/index.ts +0 -1
  516. package/src/components/Sheet/Sheet.stories.tsx +0 -63
  517. package/src/components/Sheet/Sheet.tsx +0 -21
  518. package/src/components/Sheet/SheetBody.tsx +0 -12
  519. package/src/components/Sheet/SheetContent.tsx +0 -131
  520. package/src/components/Sheet/SheetFooter.tsx +0 -9
  521. package/src/components/Sheet/SheetHeader.tsx +0 -39
  522. package/src/components/Sheet/SheetOverlay.tsx +0 -11
  523. package/src/components/Sheet/SheetTitle.tsx +0 -12
  524. package/src/components/Sheet/index.ts +0 -1
  525. package/src/components/Sidebar/Sidebar.stories.tsx +0 -849
  526. package/src/components/Sidebar/Sidebar.tsx +0 -225
  527. package/src/components/Sidebar/SidebarContent.tsx +0 -61
  528. package/src/components/Sidebar/SidebarFillTrigger.tsx +0 -25
  529. package/src/components/Sidebar/SidebarFooter.tsx +0 -13
  530. package/src/components/Sidebar/SidebarGroup/SidebarGroup.tsx +0 -23
  531. package/src/components/Sidebar/SidebarGroup/SidebarGroupAction.tsx +0 -53
  532. package/src/components/Sidebar/SidebarGroup/SidebarGroupContent.tsx +0 -20
  533. package/src/components/Sidebar/SidebarGroup/SidebarGroupLabel.tsx +0 -76
  534. package/src/components/Sidebar/SidebarGroup/index.ts +0 -4
  535. package/src/components/Sidebar/SidebarHeader.tsx +0 -20
  536. package/src/components/Sidebar/SidebarInstanceContext.ts +0 -18
  537. package/src/components/Sidebar/SidebarMenu/SidebarMenu.tsx +0 -28
  538. package/src/components/Sidebar/SidebarMenu/SidebarMenuAction.tsx +0 -69
  539. package/src/components/Sidebar/SidebarMenu/SidebarMenuBadge.tsx +0 -56
  540. package/src/components/Sidebar/SidebarMenu/SidebarMenuButton.tsx +0 -110
  541. package/src/components/Sidebar/SidebarMenu/SidebarMenuCard.tsx +0 -108
  542. package/src/components/Sidebar/SidebarMenu/SidebarMenuIcon.tsx +0 -30
  543. package/src/components/Sidebar/SidebarMenu/SidebarMenuItem.tsx +0 -9
  544. package/src/components/Sidebar/SidebarMenu/SidebarMenuSub.tsx +0 -139
  545. package/src/components/Sidebar/SidebarMenu/SidebarMenuSubItem.tsx +0 -106
  546. package/src/components/Sidebar/SidebarMenu/SidebarSearchInput.tsx +0 -88
  547. package/src/components/Sidebar/SidebarMenu/index.ts +0 -10
  548. package/src/components/Sidebar/SidebarProvider/SidebarProvider.tsx +0 -171
  549. package/src/components/Sidebar/SidebarProvider/context.ts +0 -35
  550. package/src/components/Sidebar/SidebarProvider/index.ts +0 -2
  551. package/src/components/Sidebar/SidebarProvider/useHoverTracking.test.ts +0 -199
  552. package/src/components/Sidebar/SidebarProvider/useHoverTracking.ts +0 -72
  553. package/src/components/Sidebar/SidebarProvider/useSidebarState.ts +0 -50
  554. package/src/components/Sidebar/SidebarProvider/useTransitionPresence.test.ts +0 -179
  555. package/src/components/Sidebar/SidebarProvider/useTransitionPresence.ts +0 -53
  556. package/src/components/Sidebar/SidebarResizeHandle.tsx +0 -28
  557. package/src/components/Sidebar/SidebarSeparator.tsx +0 -15
  558. package/src/components/Sidebar/SidebarTrigger.tsx +0 -40
  559. package/src/components/Sidebar/index.ts +0 -3
  560. package/src/components/Sidebar/types.ts +0 -6
  561. package/src/components/Sidebar/useResizeSidebar.ts +0 -112
  562. package/src/components/Sidebar/utils.test.ts +0 -178
  563. package/src/components/Sidebar/utils.ts +0 -70
  564. package/src/components/Skeleton/Skeleton.stories.tsx +0 -106
  565. package/src/components/Skeleton/Skeleton.tsx +0 -77
  566. package/src/components/Skeleton/SkeletonList.stories.tsx +0 -11
  567. package/src/components/Skeleton/SkeletonList.tsx +0 -65
  568. package/src/components/Slider/Slider.stories.tsx +0 -99
  569. package/src/components/Slider/Slider.tsx +0 -85
  570. package/src/components/Slider/SliderThumb.tsx +0 -57
  571. package/src/components/Slider/SliderTrack.tsx +0 -49
  572. package/src/components/Slider/index.ts +0 -1
  573. package/src/components/Slider/useInteracting.test.ts +0 -159
  574. package/src/components/Slider/useInteracting.ts +0 -64
  575. package/src/components/Switch/Switch.stories.tsx +0 -177
  576. package/src/components/Switch/Switch.tsx +0 -58
  577. package/src/components/Switch/index.ts +0 -1
  578. package/src/components/Switch/styles.ts +0 -173
  579. package/src/components/Table/Table.stories.tsx +0 -328
  580. package/src/components/Table/Table.tsx +0 -68
  581. package/src/components/Table/TableBody.tsx +0 -22
  582. package/src/components/Table/TableCell.tsx +0 -7
  583. package/src/components/Table/TableFooter.tsx +0 -15
  584. package/src/components/Table/TableHead.tsx +0 -15
  585. package/src/components/Table/TableHeader.tsx +0 -20
  586. package/src/components/Table/TableRow.tsx +0 -11
  587. package/src/components/Table/index.ts +0 -1
  588. package/src/components/Tabs.stories.tsx +0 -123
  589. package/src/components/Tabs.tsx +0 -134
  590. package/src/components/ThemeProvider/AIGradientSvg.tsx +0 -18
  591. package/src/components/ThemeProvider/ThemeProvider.tsx +0 -25
  592. package/src/components/ThemeProvider/index.ts +0 -1
  593. package/src/components/TimePicker/TimePicker.tsx +0 -95
  594. package/src/components/TimePicker/TimePickerButton.tsx +0 -39
  595. package/src/components/TimePicker/index.ts +0 -1
  596. package/src/components/TimePicker/utils.ts +0 -31
  597. package/src/components/Timeline/Timeline.stories.tsx +0 -246
  598. package/src/components/Timeline/Timeline.tsx +0 -35
  599. package/src/components/Timeline/TimelineConnector.tsx +0 -158
  600. package/src/components/Timeline/TimelineContent.tsx +0 -18
  601. package/src/components/Timeline/TimelineItem.tsx +0 -14
  602. package/src/components/Timeline/index.ts +0 -1
  603. package/src/components/Timeline/useLastLineHeight.ts +0 -36
  604. package/src/components/Toast/Toast.stories.tsx +0 -178
  605. package/src/components/Toast/ToastAction.tsx +0 -40
  606. package/src/components/Toast/ToastDescription.tsx +0 -28
  607. package/src/components/Toast/ToastDismiss.tsx +0 -36
  608. package/src/components/Toast/ToastDuration.tsx +0 -43
  609. package/src/components/Toast/ToastRoot.tsx +0 -135
  610. package/src/components/Toast/ToastTitle.tsx +0 -33
  611. package/src/components/Toast/Toaster.tsx +0 -25
  612. package/src/components/Toast/index.ts +0 -3
  613. package/src/components/Toast/toast.tsx +0 -94
  614. package/src/components/Toast/useNotification.tsx +0 -33
  615. package/src/components/Toggle/Toggle.stories.tsx +0 -67
  616. package/src/components/Toggle/Toggle.tsx +0 -202
  617. package/src/components/Toggle/index.ts +0 -1
  618. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -60
  619. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -99
  620. package/src/components/ToggleGroup/index.ts +0 -1
  621. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  622. package/src/components/Tooltip/Tooltip.tsx +0 -110
  623. package/src/components/Tooltip/TooltipContent.tsx +0 -90
  624. package/src/components/Tooltip/TooltipRoot.tsx +0 -12
  625. package/src/components/Tooltip/TooltipTrigger.tsx +0 -42
  626. package/src/components/Tooltip/index.ts +0 -1
  627. package/src/components/Truncated.stories.tsx +0 -72
  628. package/src/components/Truncated.tsx +0 -78
  629. package/src/components/ZoomableSvg/ZoomableSvg.stories.tsx +0 -53
  630. package/src/components/ZoomableSvg/ZoomableSvg.tsx +0 -200
  631. package/src/components/ZoomableSvg/index.ts +0 -1
  632. package/src/constants/keyCodes.ts +0 -5
  633. package/src/docs/Colors.mdx +0 -19
  634. package/src/docs/Spacing.mdx +0 -35
  635. package/src/docs/Typography.mdx +0 -63
  636. package/src/docs/components/Typeset.tsx +0 -35
  637. package/src/hooks/useAutosizeInput.stories.tsx +0 -142
  638. package/src/hooks/useAutosizeInput.test.tsx +0 -77
  639. package/src/hooks/useAutosizeInput.tsx +0 -107
  640. package/src/hooks/useElement.ts +0 -16
  641. package/src/hooks/useScrollbarPosition.ts +0 -68
  642. package/src/icon-names.ts +0 -20
  643. package/src/icons/Keboola.tsx +0 -28
  644. package/src/icons/icons.stories.tsx +0 -174
  645. package/src/icons/index.ts +0 -188
  646. package/src/index.ts +0 -90
  647. package/src/patterns/AlertWithAction.stories.tsx +0 -30
  648. package/src/patterns/CardWithEmptyState.stories.tsx +0 -66
  649. package/src/patterns/ConfirmDialog.stories.tsx +0 -72
  650. package/src/patterns/CreatableMultiCombobox.stories.tsx +0 -33
  651. package/src/patterns/DataCardWithSkeleton.stories.tsx +0 -48
  652. package/src/patterns/DisabledButtonTooltip.stories.tsx +0 -30
  653. package/src/patterns/FilterToolbar.stories.tsx +0 -275
  654. package/src/patterns/InfoTooltip.stories.tsx +0 -56
  655. package/src/patterns/ListDetail.stories.tsx +0 -65
  656. package/src/patterns/ModalForm.stories.tsx +0 -59
  657. package/src/patterns/PageHeaderTabs.stories.tsx +0 -48
  658. package/src/utils/classNames.test.ts +0 -16
  659. package/src/utils/classNames.ts +0 -27
  660. package/src/utils/copyToClipboard.ts +0 -3
  661. package/src/utils/createChangeInputEvent.ts +0 -28
  662. package/src/utils/createPrefixedString.ts +0 -2
  663. package/src/utils/debounce.test.ts +0 -63
  664. package/src/utils/debounce.ts +0 -17
  665. package/src/utils/decorators.tsx +0 -16
  666. package/src/utils/escapeStringRegexp.ts +0 -4
  667. package/src/utils/index.ts +0 -11
  668. package/src/utils/isMac.ts +0 -26
  669. package/src/utils/legacyIcon.tsx +0 -28
  670. package/src/utils/mergeRefs.ts +0 -23
  671. package/src/utils/noop.ts +0 -1
  672. package/src/utils/useSHA256.ts +0 -21
  673. package/src/vite-env.d.ts +0 -1
@@ -1,680 +0,0 @@
1
- import { useReducer } from 'react';
2
- import type { ComponentProps, FormEventHandler } from 'react';
3
- import type { Meta, StoryObj } from '@storybook/react-vite';
4
- import { action } from 'storybook/actions';
5
-
6
- import { Rocket } from '@keboola/design/icons';
7
-
8
- import { Alert } from '../Alert';
9
- import { Button } from '../Button';
10
- import { ButtonGroup } from '../ButtonGroup';
11
- import { FormGroup } from '../FormGroup';
12
- import { Label } from '../Label';
13
- import { Tabs, TabsContent } from '../Tabs';
14
-
15
- import { Modal } from './Modal';
16
- import { ModalContent } from './ModalContent';
17
-
18
- const meta = {
19
- component: Modal,
20
- } satisfies Meta<typeof Modal>;
21
-
22
- export default meta;
23
-
24
- type Story = StoryObj<typeof meta>;
25
-
26
- const ModalDefault = (props: ComponentProps<typeof Modal>) => (
27
- <Modal {...props}>
28
- <Modal.Trigger asChild>
29
- <Button>Open Modal</Button>
30
- </Modal.Trigger>
31
-
32
- <Modal.Content>
33
- <Modal.Icon color="red" icon={<Rocket />} />
34
- <Modal.Header title="Default Modal" description="Opens default modal">
35
- <Alert variant="info">Additional Header stuff</Alert>
36
- </Modal.Header>
37
-
38
- <Modal.Body>
39
- <p>Some contents...</p>
40
- <p>Some contents...</p>
41
- <p>Some contents...</p>
42
- </Modal.Body>
43
-
44
- <Modal.Footer>
45
- <ButtonGroup variant="block">
46
- <Modal.Close asChild>
47
- <Button type="button" variant="secondary">
48
- Close
49
- </Button>
50
- </Modal.Close>
51
-
52
- <Button type="button">Ok</Button>
53
- </ButtonGroup>
54
- </Modal.Footer>
55
- </Modal.Content>
56
- </Modal>
57
- );
58
-
59
- /**
60
- * Default Modal component in uncontrolled mode __(Recommended)__
61
- */
62
- export const Default: Story = {
63
- render: ModalDefault,
64
- };
65
-
66
- const ModalLongContent = (props: ComponentProps<typeof Modal>) => (
67
- <Modal {...props}>
68
- <Modal.Trigger asChild>
69
- <Button>Open Modal</Button>
70
- </Modal.Trigger>
71
-
72
- <Modal.Content>
73
- <Modal.Icon color="red" icon={<Rocket />} />
74
- <Modal.Header title="Default Modal" description="Opens default modal">
75
- <Alert variant="info">Addiitonal Header staff</Alert>
76
- </Modal.Header>
77
-
78
- <Modal.Body>
79
- <p>
80
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris fringilla, risus ut
81
- imperdiet pellentesque, justo augue placerat dui, eget porta augue justo sed enim. Vivamus
82
- dui nulla, interdum vitae dolor vitae, condimentum sagittis odio. Sed sit amet nisi
83
- pulvinar, lacinia nibh at, pulvinar velit. Etiam arcu eros, consequat in volutpat nec,
84
- scelerisque at risus. Donec nibh ipsum, tristique ut nisi vitae, auctor vulputate erat.
85
- Fusce egestas augue eu nisl euismod, non mattis massa lacinia. Nulla facilisi. Mauris
86
- gravida tincidunt tristique. Morbi sollicitudin laoreet enim, at rutrum libero volutpat
87
- eu. Nunc accumsan viverra dolor, id dapibus tortor sodales sed. In sit amet viverra magna.
88
- Suspendisse eget quam vulputate, imperdiet massa ac, volutpat sem. Ut sit amet tortor
89
- mollis, imperdiet nisi vel, gravida urna. Mauris quis consectetur turpis. Phasellus vel
90
- tortor ornare, finibus velit sed, vestibulum mauris. Suspendisse efficitur nulla enim,
91
- eget congue urna iaculis ut. In hac habitasse platea dictumst. Mauris quis finibus sapien,
92
- in pretium justo. Etiam gravida orci eget tincidunt ornare. Suspendisse eget malesuada
93
- lorem. Fusce pretium orci tempor ante consectetur laoreet. Morbi placerat dignissim massa
94
- sed rhoncus. Duis eu leo ac justo egestas faucibus. Quisque risus justo, mattis sed
95
- lobortis et, fringilla eu nibh. Donec tempor arcu a est rhoncus, non tempor mauris tempor.
96
- Etiam auctor aliquet ipsum, vitae tincidunt mauris aliquam sit amet. In fermentum molestie
97
- felis, vel tincidunt mi sodales egestas. Fusce in nibh vitae tortor hendrerit mollis nec
98
- et enim. Donec euismod orci eu consectetur volutpat. Vivamus at mauris eget elit aliquet
99
- venenatis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
100
- cubilia curae; Cras lobortis, purus at dignissim viverra, tortor mauris lobortis urna,
101
- consequat facilisis dolor lacus imperdiet est. In sit amet viverra est. Vestibulum a diam
102
- a purus commodo gravida vitae eleifend dui. Pellentesque vitae eros ut libero sodales
103
- vulputate et sed risus. Mauris et sapien efficitur, sollicitudin ipsum quis, volutpat
104
- nisl. Mauris pellentesque, ipsum in accumsan laoreet, sem est mollis nibh, in dictum lacus
105
- diam lacinia tellus. Quisque sit amet ante vitae odio congue molestie. Lorem ipsum dolor
106
- sit amet, consectetur adipiscing elit. Phasellus ut quam ut nisl faucibus feugiat non id
107
- urna. Pellentesque rutrum justo at egestas egestas. In elementum purus dapibus, dapibus
108
- risus eget, viverra tortor. Pellentesque volutpat cursus faucibus. Vivamus laoreet, tellus
109
- id fringilla luctus, elit tellus convallis mauris, non finibus nisl magna a libero.
110
- Integer porta euismod pellentesque. Morbi porta accumsan nibh ut molestie. Proin mattis
111
- eros sed mauris fringilla ornare. Suspendisse ut rutrum ligula. Sed in laoreet tortor, eu
112
- congue elit. Morbi accumsan tincidunt arcu, vitae dapibus orci tincidunt sit amet. Duis
113
- efficitur ipsum nec cursus feugiat. Etiam lacinia felis ut ligula suscipit vehicula.
114
- Aliquam vitae luctus erat. Pellentesque lacinia ante et odio semper tincidunt. Quisque
115
- volutpat sem in nunc faucibus, eget pulvinar nisi molestie. Etiam nec placerat eros. Donec
116
- viverra eros porta imperdiet condimentum. Integer neque mauris, convallis in nisi at,
117
- vestibulum porta lacus. Pellentesque tristique dictum felis, scelerisque pulvinar sem
118
- semper sit amet. Sed sollicitudin maximus purus, sit amet lacinia enim aliquam
119
- condimentum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris fringilla,
120
- risus ut imperdiet pellentesque, justo augue placerat dui, eget porta augue justo sed
121
- enim. Vivamus dui nulla, interdum vitae dolor vitae, condimentum sagittis odio. Sed sit
122
- amet nisi pulvinar, lacinia nibh at, pulvinar velit. Etiam arcu eros, consequat in
123
- volutpat nec, scelerisque at risus. Donec nibh ipsum, tristique ut nisi vitae, auctor
124
- vulputate erat. Fusce egestas augue eu nisl euismod, non mattis massa lacinia. Nulla
125
- facilisi. Mauris gravida tincidunt tristique. Morbi sollicitudin laoreet enim, at rutrum
126
- libero volutpat eu. Nunc accumsan viverra dolor, id dapibus tortor sodales sed. In sit
127
- amet viverra magna. Suspendisse eget quam vulputate, imperdiet massa ac, volutpat sem. Ut
128
- sit amet tortor mollis, imperdiet nisi vel, gravida urna. Mauris quis consectetur turpis.
129
- Phasellus vel tortor ornare, finibus velit sed, vestibulum mauris. Suspendisse efficitur
130
- nulla enim, eget congue urna iaculis ut. In hac habitasse platea dictumst. Mauris quis
131
- finibus sapien, in pretium justo. Etiam gravida orci eget tincidunt ornare. Suspendisse
132
- eget malesuada lorem. Fusce pretium orci tempor ante consectetur laoreet. Morbi placerat
133
- dignissim massa sed rhoncus. Duis eu leo ac justo egestas faucibus. Quisque risus justo,
134
- mattis sed lobortis et, fringilla eu nibh. Donec tempor arcu a est rhoncus, non tempor
135
- mauris tempor. Etiam auctor aliquet ipsum, vitae tincidunt mauris aliquam sit amet. In
136
- fermentum molestie felis, vel tincidunt mi sodales egestas. Fusce in nibh vitae tortor
137
- hendrerit mollis nec et enim. Donec euismod orci eu consectetur volutpat. Vivamus at
138
- mauris eget elit aliquet venenatis. Vestibulum ante ipsum primis in faucibus orci luctus
139
- et ultrices posuere cubilia curae; Cras lobortis, purus at dignissim viverra, tortor
140
- mauris lobortis urna, consequat facilisis dolor lacus imperdiet est. In sit amet viverra
141
- est. Vestibulum a diam a purus commodo gravida vitae eleifend dui. Pellentesque vitae eros
142
- ut libero sodales vulputate et sed risus. Mauris et sapien efficitur, sollicitudin ipsum
143
- quis, volutpat nisl. Mauris pellentesque, ipsum in accumsan laoreet, sem est mollis nibh,
144
- in dictum lacus diam lacinia tellus. Quisque sit amet ante vitae odio congue molestie.
145
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ut quam ut nisl
146
- faucibus feugiat non id urna. Pellentesque rutrum justo at egestas egestas. In elementum
147
- purus dapibus, dapibus risus eget, viverra tortor. Pellentesque volutpat cursus faucibus.
148
- Vivamus laoreet, tellus id fringilla luctus, elit tellus convallis mauris, non finibus
149
- nisl magna a libero. Integer porta euismod pellentesque. Morbi porta accumsan nibh ut
150
- molestie. Proin mattis eros sed mauris fringilla ornare. Suspendisse ut rutrum ligula. Sed
151
- in laoreet tortor, eu congue elit. Morbi accumsan tincidunt arcu, vitae dapibus orci
152
- tincidunt sit amet. Duis efficitur ipsum nec cursus feugiat. Etiam lacinia felis ut ligula
153
- suscipit vehicula. Aliquam vitae luctus erat. Pellentesque lacinia ante et odio semper
154
- tincidunt. Quisque volutpat sem in nunc faucibus, eget pulvinar nisi molestie. Etiam nec
155
- placerat eros. Donec viverra eros porta imperdiet condimentum. Integer neque mauris,
156
- convallis in nisi at, vestibulum porta lacus. Pellentesque tristique dictum felis,
157
- scelerisque pulvinar sem semper sit amet. Sed sollicitudin maximus purus, sit amet lacinia
158
- enim aliquam condimentum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
159
- fringilla, risus ut imperdiet pellentesque, justo augue placerat dui, eget porta augue
160
- justo sed enim. Vivamus dui nulla, interdum vitae dolor vitae, condimentum sagittis odio.
161
- Sed sit amet nisi pulvinar, lacinia nibh at, pulvinar velit. Etiam arcu eros, consequat in
162
- volutpat nec, scelerisque at risus. Donec nibh ipsum, tristique ut nisi vitae, auctor
163
- vulputate erat. Fusce egestas augue eu nisl euismod, non mattis massa lacinia. Nulla
164
- facilisi. Mauris gravida tincidunt tristique. Morbi sollicitudin laoreet enim, at rutrum
165
- libero volutpat eu. Nunc accumsan viverra dolor, id dapibus tortor sodales sed. In sit
166
- amet viverra magna. Suspendisse eget quam vulputate, imperdiet massa ac, volutpat sem. Ut
167
- sit amet tortor mollis, imperdiet nisi vel, gravida urna. Mauris quis consectetur turpis.
168
- Phasellus vel tortor ornare, finibus velit sed, vestibulum mauris. Suspendisse efficitur
169
- nulla enim, eget congue urna iaculis ut. In hac habitasse platea dictumst. Mauris quis
170
- finibus sapien, in pretium justo. Etiam gravida orci eget tincidunt ornare. Suspendisse
171
- eget malesuada lorem. Fusce pretium orci tempor ante consectetur laoreet. Morbi placerat
172
- dignissim massa sed rhoncus. Duis eu leo ac justo egestas faucibus. Quisque risus justo,
173
- mattis sed lobortis et, fringilla eu nibh. Donec tempor arcu a est rhoncus, non tempor
174
- mauris tempor. Etiam auctor aliquet ipsum, vitae tincidunt mauris aliquam sit amet. In
175
- fermentum molestie felis, vel tincidunt mi sodales egestas. Fusce in nibh vitae tortor
176
- hendrerit mollis nec et enim. Donec euismod orci eu consectetur volutpat. Vivamus at
177
- mauris eget elit aliquet venenatis. Vestibulum ante ipsum primis in faucibus orci luctus
178
- et ultrices posuere cubilia curae; Cras lobortis, purus at dignissim viverra, tortor
179
- mauris lobortis urna, consequat facilisis dolor lacus imperdiet est. In sit amet viverra
180
- est. Vestibulum a diam a purus commodo gravida vitae eleifend dui. Pellentesque vitae eros
181
- ut libero sodales vulputate et sed risus. Mauris et sapien efficitur, sollicitudin ipsum
182
- quis, volutpat nisl. Mauris pellentesque, ipsum in accumsan laoreet, sem est mollis nibh,
183
- in dictum lacus diam lacinia tellus. Quisque sit amet ante vitae odio congue molestie.
184
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ut quam ut nisl
185
- faucibus feugiat non id urna. Pellentesque rutrum justo at egestas egestas. In elementum
186
- purus dapibus, dapibus risus eget, viverra tortor. Pellentesque volutpat cursus faucibus.
187
- Vivamus laoreet, tellus id fringilla luctus, elit tellus convallis mauris, non finibus
188
- nisl magna a libero. Integer porta euismod pellentesque. Morbi porta accumsan nibh ut
189
- molestie. Proin mattis eros sed mauris fringilla ornare. Suspendisse ut rutrum ligula. Sed
190
- in laoreet tortor, eu congue elit. Morbi accumsan tincidunt arcu, vitae dapibus orci
191
- tincidunt sit amet. Duis efficitur ipsum nec cursus feugiat. Etiam lacinia felis ut ligula
192
- suscipit vehicula. Aliquam vitae luctus erat. Pellentesque lacinia ante et odio semper
193
- tincidunt. Quisque volutpat sem in nunc faucibus, eget pulvinar nisi molestie. Etiam nec
194
- placerat eros. Donec viverra eros porta imperdiet condimentum. Integer neque mauris,
195
- convallis in nisi at, vestibulum porta lacus. Pellentesque tristique dictum felis,
196
- scelerisque pulvinar sem semper sit amet. Sed sollicitudin maximus purus, sit amet lacinia
197
- enim aliquam condimentum.
198
- </p>
199
- </Modal.Body>
200
-
201
- <Modal.Footer>
202
- <ButtonGroup variant="block">
203
- <Modal.Close asChild>
204
- <Button type="button" variant="secondary">
205
- Close
206
- </Button>
207
- </Modal.Close>
208
-
209
- <Button type="button">Ok</Button>
210
- </ButtonGroup>
211
- </Modal.Footer>
212
- </Modal.Content>
213
- </Modal>
214
- );
215
-
216
- export const LongContent: Story = {
217
- render: ModalLongContent,
218
- };
219
-
220
- const FORM_NAME = 'user-form';
221
-
222
- const ModalRemoteFormSubmission = (props: ComponentProps<typeof Modal>) => {
223
- const handleSubmit: FormEventHandler<HTMLFormElement> = (event) => {
224
- event.preventDefault();
225
- const formData = new FormData(event.currentTarget);
226
- const formValues = Object.fromEntries(formData.entries());
227
- action('onSubmit')(formValues);
228
- };
229
-
230
- return (
231
- <Modal {...props}>
232
- <Modal.Trigger asChild>
233
- <Button>Create User</Button>
234
- </Modal.Trigger>
235
-
236
- <Modal.Content>
237
- <Modal.Icon color="red" icon={<Rocket />} />
238
-
239
- <Modal.Header title="Crate User" description="Opens modal with remote form submission" />
240
-
241
- <Modal.Body className="tw-flex tw-flex-col tw-gap-4">
242
- <form onSubmit={handleSubmit} id={FORM_NAME}>
243
- <FormGroup>
244
- <Label htmlFor="name">Name</Label>
245
- <FormGroup.TextInput name="name" id="name" variant="secondary" />
246
- </FormGroup>
247
- </form>
248
- </Modal.Body>
249
-
250
- <Modal.Footer>
251
- <ButtonGroup variant="block">
252
- <Modal.Close asChild>
253
- <Button type="button" variant="secondary">
254
- Close
255
- </Button>
256
- </Modal.Close>
257
-
258
- <Button form={FORM_NAME} type="submit">
259
- Save changes
260
- </Button>
261
- </ButtonGroup>
262
- </Modal.Footer>
263
- </Modal.Content>
264
- </Modal>
265
- );
266
- };
267
-
268
- /**
269
- * Modal with remote form submission
270
- * It is not recommended to wrap Modal.Body and Modal.Footer in a single form tag as it can break the styling, use remote a form submission.
271
- */
272
- export const RemoteFormSubmission: Story = {
273
- render: ModalRemoteFormSubmission,
274
- };
275
-
276
- const ModalReusableOwnContentComponent = () => (
277
- <>
278
- <Modal.Header title="Reusable Modal With Own Content Component" />
279
- <Modal.Body>Here defined reusable layout</Modal.Body>
280
- </>
281
- );
282
-
283
- const ModalReusableWithOwnContentComponent = (props: Record<string, unknown>) => (
284
- <Modal {...props}>
285
- <Modal.Trigger asChild>
286
- <Button>Open Modal</Button>
287
- </Modal.Trigger>
288
-
289
- <Modal.Content>
290
- <ModalReusableOwnContentComponent />
291
- </Modal.Content>
292
- </Modal>
293
- );
294
-
295
- export const ReusableModalWithOwnContentComponent: Story = {
296
- render: ModalReusableWithOwnContentComponent,
297
- };
298
-
299
- const ModalReusableTriggerAsChild = (props: ComponentProps<typeof Modal>) => (
300
- <Modal>
301
- <Modal.Trigger asChild>{props.children}</Modal.Trigger>
302
- <ModalContent>
303
- <Modal.Header title="Reusable Modal With Trigger as Child" />
304
- <Modal.Body>
305
- <p>Some contents...</p>
306
- <p>Some contents...</p>
307
- <p>Some contents...</p>
308
- </Modal.Body>
309
- </ModalContent>
310
- </Modal>
311
- );
312
-
313
- export const ReusableModalWithTriggerAsChild: Story = {
314
- render: (props) => (
315
- <ModalReusableTriggerAsChild {...props}>
316
- <Button>Open Modal</Button>
317
- </ModalReusableTriggerAsChild>
318
- ),
319
- };
320
-
321
- type StepProps = {
322
- id: string;
323
- onSubmit: FormEventHandler<HTMLFormElement>;
324
- defaultValues?: Record<string, string> | null;
325
- };
326
-
327
- // Steps are exclusive, we can safely use the same id for each step
328
- const WIZARD_FORM_NAME = 'WIZARD_FORM_NAME';
329
- const FIRST_NAME_FIELD_NAME = 'firstName';
330
- const USERNAME_FIELD_NAME = 'username';
331
- const FIRST_STEP = 1;
332
- const LAST_STEP = 3;
333
-
334
- const Step1 = ({ id, onSubmit, defaultValues }: StepProps) => (
335
- <form id={id} onSubmit={onSubmit}>
336
- <FormGroup>
337
- <Label htmlFor={FIRST_NAME_FIELD_NAME}>Fist Name</Label>
338
- <FormGroup.TextInput
339
- name={FIRST_NAME_FIELD_NAME}
340
- defaultValue={defaultValues?.[FIRST_NAME_FIELD_NAME]}
341
- placeholder="Enter your first name"
342
- />
343
- </FormGroup>
344
- </form>
345
- );
346
-
347
- const Step2 = ({ id, onSubmit, defaultValues }: StepProps) => (
348
- <form id={id} onSubmit={onSubmit}>
349
- <FormGroup>
350
- <Label htmlFor={USERNAME_FIELD_NAME}>Username</Label>
351
- <FormGroup.TextInput
352
- name={USERNAME_FIELD_NAME}
353
- defaultValue={defaultValues?.[USERNAME_FIELD_NAME]}
354
- placeholder="Enter your username"
355
- />
356
- </FormGroup>
357
- </form>
358
- );
359
-
360
- type StepperState = {
361
- step: number;
362
- values: Record<number, Record<string, string>>;
363
- };
364
-
365
- type Action =
366
- | {
367
- type: 'NEXT';
368
- values: Record<string, string>;
369
- }
370
- | {
371
- type: 'PREVIOUS';
372
- };
373
-
374
- const reducer = (state: StepperState, action: Action) => {
375
- switch (action.type) {
376
- case 'NEXT': {
377
- const currStep = state.step;
378
- return {
379
- ...state,
380
- step: Math.min(currStep + 1, LAST_STEP),
381
- values: {
382
- ...state.values,
383
- [currStep]: action.values,
384
- },
385
- };
386
- }
387
- case 'PREVIOUS': {
388
- return {
389
- ...state,
390
- step: Math.max(state.step - 1, FIRST_STEP),
391
- };
392
- }
393
- default:
394
- return state;
395
- }
396
- };
397
-
398
- const ModalMultiStepContent = () => {
399
- const [state, dispatch] = useReducer(reducer, {
400
- step: 1,
401
- values: {},
402
- });
403
- const isLastStep = state.step === LAST_STEP;
404
- const isFirstStep = state.step === FIRST_STEP;
405
-
406
- const handleSubmit: FormEventHandler<HTMLFormElement> = (event) => {
407
- event.preventDefault();
408
- const formData = new FormData(event.currentTarget);
409
- const formValues = Object.fromEntries(formData.entries()) as Record<string, string>;
410
- dispatch({ type: 'NEXT', values: formValues });
411
- };
412
-
413
- const handlePreviousClick = () => {
414
- dispatch({ type: 'PREVIOUS' });
415
- };
416
-
417
- const handleSubmitClick = () => {
418
- action('onSubmit')(state.values);
419
- };
420
-
421
- return (
422
- <>
423
- <Modal.Icon color="blue" icon={<Rocket />} />
424
- <Modal.Header title="Wizard Form" description="Opens modal with multi-step form" />
425
-
426
- <Modal.Body>
427
- {state.step === 1 && (
428
- <Step1
429
- id={WIZARD_FORM_NAME}
430
- onSubmit={handleSubmit}
431
- defaultValues={state.values?.[state.step]}
432
- />
433
- )}
434
- {state.step === 2 && (
435
- <Step2
436
- id={WIZARD_FORM_NAME}
437
- onSubmit={handleSubmit}
438
- defaultValues={state.values?.[state.step]}
439
- />
440
- )}
441
-
442
- {state.step === 3 && (
443
- <>
444
- <h3>Wizard is Done</h3>
445
- <pre>{JSON.stringify(state.values, null, 4)}</pre>
446
- </>
447
- )}
448
- </Modal.Body>
449
-
450
- <Modal.Footer>
451
- <ButtonGroup variant="block">
452
- <Button type="button" onClick={handlePreviousClick} disabled={isFirstStep}>
453
- Previous
454
- </Button>
455
-
456
- {isLastStep ? (
457
- <Button type="button" onClick={handleSubmitClick}>
458
- Submit
459
- </Button>
460
- ) : (
461
- <Button form={WIZARD_FORM_NAME} type="submit">
462
- Next
463
- </Button>
464
- )}
465
- </ButtonGroup>
466
- </Modal.Footer>
467
- </>
468
- );
469
- };
470
-
471
- /**
472
- * Example of a multi-step (wizard form) inside modal.
473
- * 1. State should be manged in a component inside Modal.Content, which is re-mounted on each open. No need to for state reset.
474
- * 2. If state reset is needed, you can use `<Modal.Content onEscapeKeyDown={} onPointerDownOutside={}/>` callbacks.
475
- */
476
- export const WizardFormInsideModal: Story = {
477
- render: (props) => (
478
- <Modal {...props}>
479
- <Modal.Trigger asChild>
480
- <Button>Open modal</Button>
481
- </Modal.Trigger>
482
-
483
- <Modal.Content>
484
- <ModalMultiStepContent />
485
- </Modal.Content>
486
- </Modal>
487
- ),
488
- };
489
-
490
- const ModalMediumSize = (props: ComponentProps<typeof Modal>) => (
491
- <Modal {...props}>
492
- <Modal.Trigger asChild>
493
- <Button>Open Modal</Button>
494
- </Modal.Trigger>
495
- <Modal.Content>
496
- <Modal.Header title="Medium Modal" description="This is a medium-sized modal (default)" />
497
- <Modal.Body>
498
- <p>This modal uses the default medium size (max-width: 672px / 42rem).</p>
499
- <p>Some contents...</p>
500
- <p>Some contents...</p>
501
- </Modal.Body>
502
- <Modal.Footer>
503
- <ButtonGroup variant="block">
504
- <Modal.Close asChild>
505
- <Button type="button" variant="secondary">
506
- Close
507
- </Button>
508
- </Modal.Close>
509
- <Button type="button">Ok</Button>
510
- </ButtonGroup>
511
- </Modal.Footer>
512
- </Modal.Content>
513
- </Modal>
514
- );
515
-
516
- /**
517
- * Modal with medium size (default)
518
- */
519
- export const MediumSize: Story = {
520
- render: ModalMediumSize,
521
- };
522
-
523
- const ModalLargeSize = (props: ComponentProps<typeof Modal>) => (
524
- <Modal {...props}>
525
- <Modal.Trigger asChild>
526
- <Button>Open Modal</Button>
527
- </Modal.Trigger>
528
- <Modal.Content size="large">
529
- <Modal.Header title="Large Modal" description="This is a large-sized modal" />
530
- <Modal.Body>
531
- <p>This modal uses the large size (max-width: 896px / 56rem).</p>
532
- <p>
533
- Large modals are useful for content that needs more horizontal space, such as wide forms,
534
- tables, or detailed information displays.
535
- </p>
536
- <p>Some contents...</p>
537
- </Modal.Body>
538
- <Modal.Footer>
539
- <ButtonGroup variant="block">
540
- <Modal.Close asChild>
541
- <Button type="button" variant="secondary">
542
- Close
543
- </Button>
544
- </Modal.Close>
545
- <Button type="button">Ok</Button>
546
- </ButtonGroup>
547
- </Modal.Footer>
548
- </Modal.Content>
549
- </Modal>
550
- );
551
-
552
- /**
553
- * Modal with large size
554
- */
555
- export const LargeSize: Story = {
556
- render: ModalLargeSize,
557
- };
558
-
559
- const ModalWithImageIcon = (props: ComponentProps<typeof Modal>) => (
560
- <Modal {...props}>
561
- <Modal.Trigger asChild>
562
- <Button>Open Modal</Button>
563
- </Modal.Trigger>
564
- <Modal.Content>
565
- <Modal.Icon
566
- iconUrl="https://ui.keboola-assets.com/developer-portal/icons/keboola.ex-db-snowflake/64/1576250365598.png"
567
- iconAlt="Snowflake extractor"
568
- />
569
- <Modal.Header
570
- title="Modal with Image Icon"
571
- description="This modal uses an image URL instead of a FontAwesome icon"
572
- />
573
- <Modal.Body>
574
- <p>The icon displays a custom image from a URL with a white background and shadow.</p>
575
- <p>You can optionally provide an iconAlt prop for accessibility.</p>
576
- </Modal.Body>
577
- <Modal.Footer>
578
- <ButtonGroup variant="block">
579
- <Modal.Close asChild>
580
- <Button type="button" variant="secondary">
581
- Close
582
- </Button>
583
- </Modal.Close>
584
- <Button type="button">Ok</Button>
585
- </ButtonGroup>
586
- </Modal.Footer>
587
- </Modal.Content>
588
- </Modal>
589
- );
590
-
591
- /**
592
- * Modal with an image icon (iconUrl) instead of a FontAwesome icon.
593
- * By default, the image icon has a white background with shadow.
594
- */
595
- export const WithImageIcon: Story = {
596
- render: ModalWithImageIcon,
597
- };
598
-
599
- const ModalWithImageIconError = (props: ComponentProps<typeof Modal>) => (
600
- <Modal {...props}>
601
- <Modal.Trigger asChild>
602
- <Button>Open Modal</Button>
603
- </Modal.Trigger>
604
- <Modal.Content>
605
- <Modal.Icon iconUrl="xxx" />
606
- <Modal.Header
607
- title="Modal with Failed Image"
608
- description="The icon is hidden because the image failed to load"
609
- />
610
- <Modal.Body>
611
- <p>When the image URL is invalid or fails to load, the icon is automatically hidden.</p>
612
- </Modal.Body>
613
- <Modal.Footer>
614
- <ButtonGroup variant="block">
615
- <Modal.Close asChild>
616
- <Button type="button" variant="secondary">
617
- Close
618
- </Button>
619
- </Modal.Close>
620
- <Button type="button">Ok</Button>
621
- </ButtonGroup>
622
- </Modal.Footer>
623
- </Modal.Content>
624
- </Modal>
625
- );
626
-
627
- /**
628
- * Modal with an image icon that fails to load.
629
- * The icon is hidden when the image cannot be loaded.
630
- */
631
- export const WithImageIconError: Story = {
632
- render: ModalWithImageIconError,
633
- };
634
-
635
- const ModalWithTabs = (props: ComponentProps<typeof Modal>) => (
636
- <Modal {...props}>
637
- <Modal.Trigger asChild>
638
- <Button>Open Modal</Button>
639
- </Modal.Trigger>
640
- <Modal.Content>
641
- <Modal.Header
642
- title="Modal With Tabs"
643
- description="Header border collapses automatically because Tabs render their own bottom border."
644
- />
645
- <Modal.Body>
646
- <Tabs
647
- triggers={[
648
- { value: 'first', title: 'First Tab' },
649
- { value: 'second', title: 'Second Tab' },
650
- ]}
651
- >
652
- <TabsContent value="first">
653
- <p>Content of the first tab.</p>
654
- </TabsContent>
655
- <TabsContent value="second">
656
- <p>Content of the second tab.</p>
657
- </TabsContent>
658
- </Tabs>
659
- </Modal.Body>
660
- <Modal.Footer>
661
- <ButtonGroup variant="block">
662
- <Modal.Close asChild>
663
- <Button type="button" variant="secondary">
664
- Close
665
- </Button>
666
- </Modal.Close>
667
- <Button type="button">Ok</Button>
668
- </ButtonGroup>
669
- </Modal.Footer>
670
- </Modal.Content>
671
- </Modal>
672
- );
673
-
674
- /**
675
- * Modal with Tabs inside the body — Modal.Header automatically drops its bottom border
676
- * and padding so the Tabs' own bottom border is the single visual separator.
677
- */
678
- export const WithTabs: Story = {
679
- render: ModalWithTabs,
680
- };