@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,350 +0,0 @@
1
- import { type KeyboardEvent, type ReactNode, useState } from 'react';
2
-
3
- import { Button } from '../../components/Button';
4
- import { Checkbox } from '../../components/Checkbox';
5
- import { TextInput } from '../../components/Input';
6
- import { Progress } from '../../components/Progress';
7
- import { Tooltip } from '../../components/Tooltip';
8
- import { ChevronLeft, ChevronRight, X } from '../../icons';
9
- import { cn } from '../../utils';
10
-
11
- type QuestionOption = {
12
- id: string;
13
- label: string;
14
- description?: string;
15
- preview?: string;
16
- };
17
-
18
- type Props = {
19
- question: string;
20
- header?: string;
21
- options: readonly QuestionOption[];
22
- multiSelect?: boolean;
23
- selectedOptionIds?: readonly string[];
24
- onSelectionChange?: (selectedIds: readonly string[]) => void;
25
- customAnswer?: string;
26
- onCustomAnswerChange?: (value: string) => void;
27
- onCustomAnswerConfirm?: () => void;
28
- showCustomAnswer?: boolean;
29
- customAnswerPlaceholder?: string;
30
- showSkip?: boolean;
31
- onSkip?: () => void;
32
- onClose?: () => void;
33
- onNext?: () => void;
34
- submitTooltip?: ReactNode;
35
- onPrevious?: () => void;
36
- currentStep?: number;
37
- totalSteps?: number;
38
- renderPreview?: (content: string) => ReactNode;
39
- className?: string;
40
- };
41
-
42
- const handleKeyDown = (callback: () => void) => (e: KeyboardEvent) => {
43
- if (e.key === 'Enter' || e.key === ' ') {
44
- e.preventDefault();
45
- callback();
46
- }
47
- };
48
-
49
- export const Question = ({
50
- question,
51
- header,
52
- options,
53
- multiSelect = true,
54
- selectedOptionIds = [],
55
- onSelectionChange,
56
- customAnswer = '',
57
- onCustomAnswerChange,
58
- onCustomAnswerConfirm,
59
- showCustomAnswer = true,
60
- customAnswerPlaceholder = 'Type your answer…',
61
- showSkip = true,
62
- onSkip,
63
- onClose,
64
- onNext,
65
- submitTooltip,
66
- onPrevious,
67
- currentStep,
68
- totalSteps,
69
- renderPreview,
70
- className,
71
- }: Props) => {
72
- const [isCustomExpanded, setIsCustomExpanded] = useState(false);
73
- const isCustomSelected = isCustomExpanded || customAnswer.length > 0;
74
- const hasSteps = currentStep != null && totalSteps != null;
75
- const progressValue = hasSteps ? (currentStep / totalSteps) * 100 : 0;
76
- const isFirstStep = currentStep === 1;
77
- const isLastStep = hasSteps && currentStep === totalSteps;
78
-
79
- const handleOptionToggle = (optionId: string) => {
80
- if (multiSelect) {
81
- const isSelected = selectedOptionIds.includes(optionId);
82
- const nextIds = isSelected
83
- ? selectedOptionIds.filter((id) => id !== optionId)
84
- : [...selectedOptionIds, optionId];
85
- onSelectionChange?.(nextIds);
86
- } else {
87
- // Single-select: picking a real option deselects "Other" and drops any
88
- // typed custom answer so it can't leak into the submitted answer.
89
- setIsCustomExpanded(false);
90
- onCustomAnswerChange?.('');
91
- onSelectionChange?.([optionId]);
92
- }
93
- };
94
-
95
- const handleCustomToggle = (checked: boolean) => {
96
- setIsCustomExpanded(checked);
97
- if (checked) {
98
- // Single-select: "Other" and a real option are mutually exclusive.
99
- if (!multiSelect) {
100
- onSelectionChange?.([]);
101
- }
102
- } else {
103
- onCustomAnswerChange?.('');
104
- }
105
- };
106
-
107
- // Typing into (or focusing) the custom input selects "Other" directly — no
108
- // need to click the row/checkbox first.
109
- const handleCustomFocus = () => {
110
- setIsCustomExpanded(true);
111
- if (!multiSelect) {
112
- onSelectionChange?.([]);
113
- }
114
- };
115
-
116
- const handleCustomRowClick = () => {
117
- // Multi-select: the row toggles the checkbox. Single-select: clicking only
118
- // selects (never deselects, so a second click can't wipe typed text) —
119
- // switch away by picking a real option instead.
120
- if (multiSelect) {
121
- handleCustomToggle(!isCustomSelected);
122
- } else {
123
- handleCustomFocus();
124
- }
125
- };
126
-
127
- return (
128
- <div
129
- className={cn(
130
- 'tw-flex tw-max-w-[800px] tw-flex-col tw-gap-4 tw-overflow-hidden tw-rounded-xl tw-border tw-border-solid tw-border-border tw-bg-neutral-50 tw-shadow-lg',
131
- className,
132
- )}
133
- data-testid="question-root"
134
- data-question-step={currentStep}
135
- data-question-total-steps={totalSteps}
136
- data-question-multi-select={multiSelect}
137
- >
138
- <div className="tw-flex tw-items-start tw-gap-2 tw-pl-4 tw-pr-2 tw-pt-4">
139
- <div className="tw-flex tw-min-w-0 tw-flex-1 tw-flex-col tw-gap-1">
140
- <p className="tw-m-0 tw-text-base tw-font-semibold tw-leading-6 tw-text-neutral-800">
141
- {question}
142
- </p>
143
- {header && <p className="tw-m-0 tw-text-xs tw-leading-4 tw-text-neutral-500">{header}</p>}
144
- </div>
145
- {onClose && (
146
- <Button
147
- argo
148
- variant="outline"
149
- size="icon-sm"
150
- aria-label="Close"
151
- onClick={onClose}
152
- data-testid="question-close-button"
153
- >
154
- <X className="tw-size-4" />
155
- </Button>
156
- )}
157
- </div>
158
-
159
- <div className="tw-px-4">
160
- <div className="tw-flex tw-flex-col tw-gap-4 tw-border-0 tw-border-l tw-border-solid tw-border-primary tw-px-4 tw-py-2">
161
- {options.map((option) => (
162
- <div
163
- key={option.id}
164
- className="tw--mx-2 tw--my-1.5 tw-flex tw-cursor-pointer tw-items-start tw-gap-2 tw-rounded-md tw-px-2 tw-py-1.5 hover:tw-bg-neutral-100"
165
- onClick={() => handleOptionToggle(option.id)}
166
- onKeyDown={handleKeyDown(() => handleOptionToggle(option.id))}
167
- role="button"
168
- tabIndex={0}
169
- data-testid={`question-option-${option.id}`}
170
- >
171
- {multiSelect && (
172
- <Checkbox
173
- checked={selectedOptionIds.includes(option.id)}
174
- onCheckedChange={() => handleOptionToggle(option.id)}
175
- onClick={(e) => e.stopPropagation()}
176
- className="tw-shrink-0"
177
- />
178
- )}
179
- <div className="tw-flex tw-min-w-0 tw-flex-1 tw-items-start tw-gap-3">
180
- <div className="tw-flex tw-flex-col tw-gap-1.5">
181
- <span className="tw-text-sm tw-font-medium tw-leading-none tw-text-neutral-800">
182
- {option.label}
183
- </span>
184
- {option.description && (
185
- <span className="tw-text-sm tw-font-normal tw-leading-5 tw-text-muted-foreground">
186
- {option.description}
187
- </span>
188
- )}
189
- </div>
190
- {option.preview && (
191
- <div
192
- className={cn(
193
- 'tw-ml-auto tw-flex tw-max-h-40 tw-min-w-0 tw-max-w-[50%] tw-flex-col tw-overflow-hidden tw-rounded-md',
194
- !renderPreview &&
195
- 'tw-overflow-auto tw-border tw-border-solid tw-border-neutral-200 tw-bg-white tw-p-2',
196
- )}
197
- >
198
- {renderPreview ? (
199
- renderPreview(option.preview)
200
- ) : (
201
- <pre className="tw-m-0 tw-overflow-visible tw-border-0 tw-bg-transparent tw-p-0 tw-font-mono tw-text-xs tw-leading-5 tw-text-neutral-700">
202
- {option.preview}
203
- </pre>
204
- )}
205
- </div>
206
- )}
207
- </div>
208
- </div>
209
- ))}
210
-
211
- {showCustomAnswer && (
212
- <div className="tw-flex tw-flex-col tw-gap-2">
213
- <div
214
- className="tw--mx-2 tw--my-1.5 tw-flex tw-cursor-pointer tw-items-start tw-gap-2 tw-rounded-md tw-px-2 tw-py-1.5 hover:tw-bg-neutral-100"
215
- onClick={handleCustomRowClick}
216
- onKeyDown={handleKeyDown(handleCustomRowClick)}
217
- role="button"
218
- tabIndex={0}
219
- >
220
- {/* Multi-select shows a checkbox alongside the option checkboxes.
221
- Single-select options auto-advance and carry no indicator, so
222
- "Other" is a plain clickable row that reveals the input below. */}
223
- {multiSelect && (
224
- <Checkbox
225
- checked={isCustomSelected}
226
- onCheckedChange={handleCustomToggle}
227
- onClick={(e) => e.stopPropagation()}
228
- className="tw-shrink-0"
229
- />
230
- )}
231
- <span
232
- className={cn(
233
- 'tw-text-sm tw-font-medium tw-leading-none',
234
- !multiSelect && isCustomSelected ? 'tw-text-primary' : 'tw-text-neutral-800',
235
- )}
236
- >
237
- Other
238
- </span>
239
- </div>
240
- {/* Always rendered and editable: typing or focusing selects "Other"
241
- directly, and keeping it mounted avoids layout shift. */}
242
- <TextInput
243
- value={customAnswer}
244
- onValueChange={(value) => onCustomAnswerChange?.(value)}
245
- onFocus={handleCustomFocus}
246
- onKeyDown={
247
- onCustomAnswerConfirm
248
- ? (e: KeyboardEvent<HTMLInputElement>) => {
249
- if (e.key === 'Enter' && !e.shiftKey && !(e.metaKey || e.ctrlKey)) {
250
- e.preventDefault();
251
- onCustomAnswerConfirm();
252
- }
253
- }
254
- : undefined
255
- }
256
- placeholder={customAnswerPlaceholder}
257
- sizing="small"
258
- testId="question-custom"
259
- />
260
- </div>
261
- )}
262
- </div>
263
- </div>
264
-
265
- <div className="tw-flex tw-flex-col">
266
- {hasSteps && <Progress size="sm" value={progressValue} className="tw-rounded-none" />}
267
-
268
- <div
269
- className={cn(
270
- 'tw-flex tw-items-center tw-justify-end tw-gap-4 tw-px-4 tw-py-3',
271
- !hasSteps && 'tw-border-0 tw-border-t tw-border-solid tw-border-neutral-100',
272
- )}
273
- >
274
- {hasSteps && (
275
- <div className="tw-flex tw-items-center tw-gap-2">
276
- <button
277
- type="button"
278
- disabled={isFirstStep}
279
- className="tailwindcss-preflight tw-flex tw-cursor-pointer tw-items-center tw-justify-center tw-bg-transparent tw-p-0 disabled:tw-cursor-default"
280
- onClick={onPrevious}
281
- aria-label="Previous step"
282
- >
283
- <ChevronLeft
284
- className={cn(
285
- 'tw-size-5',
286
- isFirstStep ? 'tw-text-primary/25' : 'tw-text-primary',
287
- )}
288
- />
289
- </button>
290
- <span className="tw-text-xs tw-leading-4 tw-text-neutral-500">
291
- {currentStep} of {totalSteps}
292
- </span>
293
- <button
294
- type="button"
295
- disabled={currentStep === totalSteps}
296
- className="tailwindcss-preflight tw-flex tw-cursor-pointer tw-items-center tw-justify-center tw-bg-transparent tw-p-0 disabled:tw-cursor-default"
297
- onClick={onNext}
298
- aria-label="Next step"
299
- >
300
- <ChevronRight
301
- className={cn(
302
- 'tw-size-5',
303
- currentStep === totalSteps ? 'tw-text-primary/25' : 'tw-text-primary',
304
- )}
305
- />
306
- </button>
307
- </div>
308
- )}
309
- {showSkip && onSkip && (
310
- <Button
311
- argo
312
- variant="outline"
313
- size="small"
314
- onClick={onSkip}
315
- data-testid="question-skip-button"
316
- >
317
- Skip
318
- </Button>
319
- )}
320
- {(multiSelect || isCustomSelected) &&
321
- (submitTooltip ? (
322
- <Tooltip tooltip={submitTooltip} placement="top" triggerAsChild>
323
- <Button
324
- argo
325
- variant="primary"
326
- size="small"
327
- onClick={onNext}
328
- data-testid="question-next-button"
329
- >
330
- {isLastStep ? 'Submit' : 'Next'}
331
- </Button>
332
- </Tooltip>
333
- ) : (
334
- <Button
335
- argo
336
- variant="primary"
337
- size="small"
338
- onClick={onNext}
339
- data-testid="question-next-button"
340
- >
341
- {isLastStep ? 'Submit' : 'Next'}
342
- </Button>
343
- ))}
344
- </div>
345
- </div>
346
- </div>
347
- );
348
- };
349
-
350
- export type { QuestionOption, Props as QuestionProps };
@@ -1,99 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import type { QuestionStep } from './QuestionBlock';
4
- import { QuestionBlock } from './QuestionBlock';
5
-
6
- const steps: [QuestionStep, ...QuestionStep[]] = [
7
- {
8
- question: 'What kind of transformation do you need?',
9
- header: 'Select all that apply',
10
- options: [
11
- {
12
- id: 'aggregation',
13
- label: 'Aggregation / Summarization',
14
- description: 'Group, sum, average, count, data',
15
- },
16
- {
17
- id: 'joining',
18
- label: 'Joining / Merging tables',
19
- description: 'Combine multiple tables together',
20
- },
21
- {
22
- id: 'filtering',
23
- label: 'Filtering / Cleaning',
24
- description: 'Remove duplicates, filter rows, fix data quality',
25
- },
26
- {
27
- id: 'custom-logic',
28
- label: 'Custom business logic',
29
- description: 'Apply specific calculations or business rules',
30
- },
31
- {
32
- id: 'not-sure',
33
- label: 'Not sure yet',
34
- description: "I'd like to explore the data first and decide",
35
- },
36
- ],
37
- showCustomAnswer: true,
38
- multiSelect: true,
39
- },
40
- {
41
- question: 'How often should this run?',
42
- header: 'Pick one',
43
- options: [
44
- { id: 'hourly', label: 'Hourly', description: 'Run every hour' },
45
- { id: 'daily', label: 'Daily', description: 'Run once a day' },
46
- { id: 'weekly', label: 'Weekly', description: 'Run once a week' },
47
- { id: 'manual', label: 'Manual', description: 'Only when triggered' },
48
- ],
49
- multiSelect: false,
50
- },
51
- {
52
- question: 'Where should we write the output?',
53
- header: 'Select destination',
54
- options: [
55
- { id: 'new-table', label: 'New table', description: 'Create a fresh output table' },
56
- {
57
- id: 'existing',
58
- label: 'Existing table',
59
- description: 'Append to or replace an existing table',
60
- },
61
- {
62
- id: 'multiple',
63
- label: 'Multiple tables',
64
- description: 'Split output across several tables',
65
- },
66
- ],
67
- multiSelect: false,
68
- },
69
- ];
70
-
71
- const meta: Meta<typeof QuestionBlock> = {
72
- title: 'AI Kit/QuestionBlock',
73
- component: QuestionBlock,
74
- args: {
75
- steps,
76
- showSkip: true,
77
- },
78
- decorators: [
79
- (Story) => (
80
- <div style={{ maxWidth: 800 }}>
81
- <Story />
82
- </div>
83
- ),
84
- ],
85
- };
86
-
87
- export default meta;
88
-
89
- type Story = StoryObj<typeof QuestionBlock>;
90
-
91
- export const Default: Story = {
92
- render: (args) => (
93
- <QuestionBlock
94
- {...args}
95
- onSubmit={(answers) => alert(JSON.stringify(answers, null, 2))}
96
- onClose={() => alert('Close')}
97
- />
98
- ),
99
- };
@@ -1,83 +0,0 @@
1
- import { type ReactNode, useState } from 'react';
2
-
3
- import type { QuestionOption } from './Question';
4
- import { Question } from './Question';
5
-
6
- type QuestionStep = {
7
- question: string;
8
- header?: string;
9
- options: readonly QuestionOption[];
10
- multiSelect?: boolean;
11
- showCustomAnswer?: boolean;
12
- customAnswerPlaceholder?: string;
13
- };
14
-
15
- type QuestionAnswers = {
16
- selections: Record<number, readonly string[]>;
17
- customAnswers: Record<number, string>;
18
- };
19
-
20
- type Props = {
21
- steps: readonly [QuestionStep, ...QuestionStep[]];
22
- showSkip?: boolean;
23
- onSubmit?: (answers: QuestionAnswers) => void;
24
- onClose?: () => void;
25
- renderPreview?: (content: string) => ReactNode;
26
- className?: string;
27
- };
28
-
29
- export const QuestionBlock = ({
30
- steps,
31
- showSkip = true,
32
- onSubmit,
33
- onClose,
34
- renderPreview,
35
- className,
36
- }: Props) => {
37
- const [currentStep, setCurrentStep] = useState(1);
38
- const [selections, setSelections] = useState<Record<number, readonly string[]>>({});
39
- const [customAnswers, setCustomAnswers] = useState<Record<number, string>>({});
40
- const stepData = steps[currentStep - 1]!;
41
- const isLastStep = currentStep === steps.length;
42
-
43
- const advance = (updatedSelections?: Record<number, readonly string[]>) => {
44
- const finalSelections = updatedSelections ?? selections;
45
- if (isLastStep) {
46
- onSubmit?.({ selections: finalSelections, customAnswers });
47
- } else {
48
- setCurrentStep((s) => Math.min(s + 1, steps.length));
49
- }
50
- };
51
-
52
- const handleSelectionChange = (ids: readonly string[]) => {
53
- const updated = { ...selections, [currentStep]: ids };
54
- setSelections(updated);
55
- if (!stepData.multiSelect) {
56
- advance(updated);
57
- }
58
- };
59
-
60
- return (
61
- <Question
62
- key={currentStep}
63
- {...stepData}
64
- selectedOptionIds={selections[currentStep] ?? []}
65
- onSelectionChange={handleSelectionChange}
66
- customAnswer={customAnswers[currentStep] ?? ''}
67
- onCustomAnswerChange={(value) =>
68
- setCustomAnswers((prev) => ({ ...prev, [currentStep]: value }))
69
- }
70
- currentStep={currentStep}
71
- totalSteps={steps.length}
72
- showSkip={showSkip && !isLastStep}
73
- onNext={() => advance()}
74
- onPrevious={() => setCurrentStep((s) => Math.max(s - 1, 1))}
75
- onSkip={() => setCurrentStep((s) => Math.min(s + 1, steps.length))}
76
- onClose={onClose}
77
- renderPreview={renderPreview}
78
- className={className}
79
- />
80
- );
81
- };
82
-
83
- export type { QuestionStep, QuestionAnswers, Props as QuestionBlockProps };
@@ -1,82 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { Play } from '../../icons';
4
-
5
- import { SuggestedPrompt } from './SuggestedPrompt';
6
-
7
- const meta: Meta<typeof SuggestedPrompt> = {
8
- title: 'AI Kit/SuggestedPrompt',
9
- component: SuggestedPrompt,
10
- parameters: {
11
- layout: 'padded',
12
- },
13
- argTypes: {
14
- disabled: {
15
- control: 'boolean',
16
- description: 'Whether the button is disabled',
17
- },
18
- onClick: {
19
- action: 'clicked',
20
- description: 'Callback when the suggestion is clicked',
21
- },
22
- },
23
- };
24
-
25
- export default meta;
26
- type Story = StoryObj<typeof SuggestedPrompt>;
27
-
28
- export const Default: Story = {
29
- args: {
30
- label: 'What can you help me with?',
31
- disabled: false,
32
- },
33
- };
34
-
35
- export const Disabled: Story = {
36
- args: {
37
- label: 'What can you help me with?',
38
- disabled: true,
39
- },
40
- };
41
-
42
- export const LongLabel: Story = {
43
- render: () => (
44
- <div className="tw-w-64">
45
- <SuggestedPrompt
46
- label="Help me analyze my data and create a visualization dashboard with charts and graphs"
47
- onClick={() => console.log('Clicked')}
48
- />
49
- </div>
50
- ),
51
- };
52
-
53
- export const WithCustomIcon: Story = {
54
- args: {
55
- label: 'Run a transformation',
56
- icon: <Play className="tw-size-4 tw-shrink-0 tw-basis-4 tw-text-secondary-500" />,
57
- disabled: false,
58
- },
59
- };
60
-
61
- export const MultiplePrompts: Story = {
62
- render: () => {
63
- const labels = [
64
- 'What can you help me with?',
65
- 'Analyze my data',
66
- 'Create a new transformation',
67
- 'Show me recent jobs',
68
- ];
69
-
70
- return (
71
- <div className="tw-flex tw-flex-col tw-gap-1">
72
- {labels.map((label) => (
73
- <SuggestedPrompt
74
- key={label}
75
- label={label}
76
- onClick={() => console.log('Clicked:', label)}
77
- />
78
- ))}
79
- </div>
80
- );
81
- },
82
- };
@@ -1,42 +0,0 @@
1
- import type { ReactNode } from 'react';
2
-
3
- import { FileText } from '../../icons';
4
- import { cn } from '../../utils';
5
-
6
- type Props = {
7
- label: string;
8
- disabled?: boolean;
9
- onClick: () => void;
10
- icon?: ReactNode;
11
- className?: string;
12
- };
13
-
14
- export const SuggestedPrompt = ({ label, disabled, onClick, icon, className }: Props) => {
15
- return (
16
- <button
17
- type="button"
18
- disabled={disabled}
19
- className={cn(
20
- 'tw-group tailwindcss-preflight tw-flex tw-items-center tw-justify-start tw-gap-2 tw-whitespace-nowrap tw-rounded-lg tw-p-2 tw-text-left tw-text-sm tw-font-medium tw-text-neutral-600 tw-transition-colors not-disabled:hover:tw-bg-neutral-100 disabled:tw-cursor-not-allowed disabled:tw-opacity-50',
21
- className,
22
- )}
23
- onClick={onClick}
24
- >
25
- {icon ?? (
26
- <FileText
27
- className={cn(
28
- 'tw-size-4 tw-shrink-0 tw-basis-4',
29
- // Lucide icons are stroke-based — paint the visible line with the
30
- // AI gradient (no fill, so the glyph keeps its outline silhouette
31
- // instead of becoming a solid block). The `*` selector catches
32
- // every shape element (path, circle, polyline, …) so multi-part
33
- // icons don't lose sub-shapes the way `path`-only selectors do.
34
- '[&_*]:tw-stroke-aigradient-600',
35
- 'group-not-disabled:group-hover:[&_*]:tw-stroke-secondary-600',
36
- )}
37
- />
38
- )}
39
- <div className="tw-whitespace-normal tw-text-left">{label}</div>
40
- </button>
41
- );
42
- };
@@ -1,21 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { ThinkingIndicator } from './ThinkingIndicator';
4
-
5
- export default {
6
- title: 'AI Kit/ThinkingIndicator',
7
- component: ThinkingIndicator,
8
- args: {
9
- label: 'Thinking...',
10
- },
11
- } satisfies Meta<typeof ThinkingIndicator>;
12
-
13
- type Story = StoryObj<typeof ThinkingIndicator>;
14
-
15
- export const Default: Story = {};
16
-
17
- export const CustomLabel: Story = {
18
- args: {
19
- label: 'Processing...',
20
- },
21
- };
@@ -1,14 +0,0 @@
1
- import { Loader2 } from '../../icons';
2
-
3
- type ThinkingIndicatorProps = {
4
- label?: string;
5
- };
6
-
7
- export const ThinkingIndicator = ({ label = 'Thinking...' }: ThinkingIndicatorProps) => {
8
- return (
9
- <div className="tw-flex tw-items-center tw-gap-2" data-testid="chat-thinking-indicator">
10
- <Loader2 className="tw-size-4 tw-animate-spin tw-text-secondary-500" />
11
- <span className="tw-text-sm tw-italic tw-text-secondary-500">{label}</span>
12
- </div>
13
- );
14
- };