@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,12 +0,0 @@
1
- export * from './AnswerSummary';
2
- export * from './CollapsibleStepHeader';
3
- export * from './InlineStepDetail';
4
- export * from './InlineStepLabel';
5
- export * from './MessageBubble';
6
- export * from './PlanApproval';
7
- export * from './PlanRewritingIndicator';
8
- export * from './PromptInput';
9
- export * from './Question';
10
- export * from './QuestionBlock';
11
- export * from './SuggestedPrompt';
12
- export * from './ThinkingIndicator';
@@ -1,78 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { AutoSaveTextarea } from './AutoSaveTextarea';
4
-
5
- const simulateSave = (value: string) =>
6
- new Promise<void>((resolve) => {
7
- console.log('Saving:', value);
8
- setTimeout(resolve, 1000);
9
- });
10
-
11
- export default {
12
- component: AutoSaveTextarea,
13
- args: {
14
- placeholder: 'Type something and blur to save...',
15
- onSave: simulateSave,
16
- },
17
- } satisfies Meta<typeof AutoSaveTextarea>;
18
-
19
- type Story = StoryObj<typeof AutoSaveTextarea>;
20
-
21
- export const Default: Story = {};
22
-
23
- export const WithSavedValue: Story = {
24
- args: {
25
- savedValue: 'Previously saved instructions',
26
- },
27
- };
28
-
29
- export const Disabled: Story = {
30
- args: {
31
- disabled: true,
32
- savedValue: 'Cannot edit this',
33
- },
34
- };
35
-
36
- export const SecondaryVariant: Story = {
37
- args: {
38
- variant: 'secondary',
39
- minRows: 3,
40
- savedValue: 'Secondary variant textarea',
41
- },
42
- };
43
-
44
- export const WithMaxLength: Story = {
45
- args: {
46
- maxLength: 100,
47
- savedValue: 'Short text',
48
- variant: 'secondary',
49
- minRows: 3,
50
- },
51
- };
52
-
53
- export const ExceedingMaxLength: Story = {
54
- args: {
55
- maxLength: 20,
56
- savedValue:
57
- 'This text is way too long and exceeds the character limit that was set for this textarea',
58
- variant: 'secondary',
59
- minRows: 3,
60
- },
61
- };
62
-
63
- export const Grow: Story = {
64
- args: {
65
- grow: true,
66
- variant: 'secondary',
67
- maxLength: 4000,
68
- savedValue:
69
- 'Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.',
70
- },
71
- decorators: [
72
- (Story) => (
73
- <div className="tw-flex tw-h-[500px] tw-w-80 tw-flex-col tw-overflow-hidden tw-p-4">
74
- <Story />
75
- </div>
76
- ),
77
- ],
78
- };
@@ -1,103 +0,0 @@
1
- import { type ComponentProps, useState } from 'react';
2
-
3
- import { CircleCheck, Loader2 } from '../../icons';
4
- import { cn } from '../../utils';
5
- import { Textarea } from '../Textarea';
6
-
7
- type AutoSaveTextareaProps = {
8
- savedValue?: string;
9
- onSave: (value: string) => Promise<void>;
10
- placeholder?: string;
11
- disabled?: boolean;
12
- grow?: boolean;
13
- } & Pick<
14
- ComponentProps<typeof Textarea>,
15
- 'variant' | 'minRows' | 'maxRows' | 'className' | 'containerClassName' | 'maxLength'
16
- >;
17
-
18
- export const AutoSaveTextarea = ({
19
- savedValue,
20
- onSave,
21
- placeholder,
22
- disabled,
23
- grow = false,
24
- ...textareaProps
25
- }: AutoSaveTextareaProps) => {
26
- const { maxLength, ...restTextareaProps } = textareaProps;
27
- const [value, setValue] = useState<string | null>(null);
28
- const [isSaving, setIsSaving] = useState(false);
29
-
30
- const currentValue = value ?? savedValue ?? '';
31
- const isOverLimit = maxLength != null && currentValue.length > maxLength;
32
- const isChanged = value !== null && savedValue !== value.trim();
33
-
34
- const onSaveHandler = (blurValue = '') => {
35
- if (!isChanged || isOverLimit) return;
36
-
37
- setIsSaving(true);
38
- onSave(blurValue.trim())
39
- .catch(() => {})
40
- .finally(() => {
41
- setIsSaving(false);
42
- });
43
- };
44
-
45
- return (
46
- <div
47
- className={cn(
48
- 'tw-relative',
49
- // `-mx-1 + px-3` gives the focus ring 4px of horizontal breathing room inside
50
- // ancestors that clip with `overflow: hidden` and no horizontal padding (e.g. the
51
- // Kai sidebar's TabsContent). `-my-1 + py-1` keeps the original zero vertical inset.
52
- grow &&
53
- '-tw-m-1 tw-flex tw-min-h-0 tw-flex-1 tw-flex-col tw-overflow-hidden tw-px-3 tw-py-1',
54
- )}
55
- >
56
- <Textarea
57
- {...restTextareaProps}
58
- containerClassName={cn(
59
- // Descendant selectors match InputGroup's `[&>textarea]:!tw-min-h-[…]` specificity
60
- // so the textarea fills the wrapper instead of being pinned to the sizing min-height.
61
- grow &&
62
- 'tw-min-h-0 tw-flex-1 tw-overflow-hidden [&>textarea]:!tw-min-h-full [&>textarea]:!tw-max-h-full [&>textarea]:tw-overflow-y-auto',
63
- restTextareaProps.containerClassName,
64
- )}
65
- state={isOverLimit ? 'error' : undefined}
66
- value={currentValue}
67
- onValueChange={setValue}
68
- onValueBlur={() => onSaveHandler(value ?? '')}
69
- placeholder={placeholder}
70
- disabled={disabled || isSaving}
71
- disableResize={grow}
72
- // `grow` fills the container regardless of content length; skip the 4-row cap.
73
- maxRows={grow ? 'unlimited' : restTextareaProps.maxRows}
74
- />
75
- <div
76
- className={cn(
77
- 'tw-mt-1 tw-flex tw-items-center tw-text-xs',
78
- maxLength != null ? 'tw-justify-between' : 'tw-justify-end',
79
- )}
80
- >
81
- {maxLength != null && (
82
- <span className={cn(isOverLimit ? 'tw-text-error-500' : 'tw-text-neutral-400')}>
83
- {currentValue.length} / {maxLength}
84
- </span>
85
- )}
86
- <span className="tw-flex tw-items-center tw-gap-1 tw-text-neutral-400">
87
- {isOverLimit && 'Character limit exceeded'}
88
- {!isOverLimit && isChanged && !isSaving && 'Unsaved'}
89
- {!isOverLimit && isChanged && isSaving && (
90
- <>
91
- <Loader2 className="tw-size-4 tw-animate-spin" /> Saving
92
- </>
93
- )}
94
- {!isOverLimit && value !== null && !isChanged && !isSaving && (
95
- <>
96
- <CircleCheck className="tw-size-4 tw-text-primary-500" /> Saved
97
- </>
98
- )}
99
- </span>
100
- </div>
101
- </div>
102
- );
103
- };
@@ -1 +0,0 @@
1
- export { AutoSaveTextarea } from './AutoSaveTextarea';
@@ -1,28 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { withTooltipProvider } from '../../utils';
4
-
5
- import { ClipboardButton } from './ClipboardButton';
6
- import { ClipboardInline } from './ClipboardInline';
7
-
8
- export default {
9
- component: ClipboardButton,
10
- decorators: [withTooltipProvider],
11
- args: {
12
- text: 'Text written to clipboard',
13
- },
14
- } satisfies Meta<typeof ClipboardButton>;
15
-
16
- type Story = StoryObj<typeof ClipboardButton>;
17
-
18
- export const AsIconButton: Story = {
19
- render: ({ text }) => <ClipboardButton size="icon" variant="invisible" text={text} />,
20
- };
21
-
22
- export const AsButton: Story = {
23
- render: ({ text }) => <ClipboardButton text={text}>Copy To Clipboard</ClipboardButton>,
24
- };
25
-
26
- export const AsInlineButton: Story = {
27
- render: ({ text }) => <ClipboardInline text={text}>Copy to Clipboard</ClipboardInline>,
28
- };
@@ -1,43 +0,0 @@
1
- import type { ComponentProps, ReactNode } from 'react';
2
-
3
- import { Button } from '../../components/Button';
4
- import { Clipboard } from '../../components/Clipboard';
5
- import { Copy } from '../../icons';
6
-
7
- type ClipboardProps = Pick<
8
- ComponentProps<typeof Clipboard>,
9
- 'text' | 'tooltip' | 'tooltipPlacement' | 'tooltipVariant'
10
- >;
11
-
12
- type ButtonProps = Omit<ComponentProps<typeof Button>, 'disabled' | 'icon'>;
13
-
14
- type Props = ClipboardProps & ButtonProps & { icon?: ReactNode };
15
-
16
- const DEFAULT_ICON: ReactNode = <Copy />;
17
-
18
- export const ClipboardButton = ({
19
- // clipboard props
20
- text,
21
- tooltip,
22
- tooltipPlacement,
23
- tooltipVariant,
24
-
25
- // button props
26
- icon = DEFAULT_ICON,
27
- variant = 'outline',
28
- children,
29
- ...rest
30
- }: Props) => (
31
- <Clipboard
32
- asChild
33
- tooltip={tooltip}
34
- tooltipPlacement={tooltipPlacement}
35
- tooltipVariant={tooltipVariant}
36
- text={text}
37
- >
38
- <Button {...rest} variant={variant} disabled={!text}>
39
- {icon}
40
- {children}
41
- </Button>
42
- </Clipboard>
43
- );
@@ -1,40 +0,0 @@
1
- import type { ComponentProps } from 'react';
2
-
3
- import { ButtonInline } from '../../components/Button';
4
- import { Clipboard } from '../../components/Clipboard';
5
- import { Copy } from '../../icons';
6
-
7
- type ClipboardProps = Pick<
8
- ComponentProps<typeof Clipboard>,
9
- 'text' | 'tooltip' | 'tooltipPlacement' | 'tooltipVariant'
10
- >;
11
-
12
- type ButtonProps = Omit<ComponentProps<typeof ButtonInline>, 'disabled'>;
13
-
14
- type Props = { hideIcon?: boolean } & ClipboardProps & ButtonProps;
15
-
16
- export const ClipboardInline = ({
17
- // clipboard props
18
- text,
19
- tooltip,
20
- tooltipPlacement,
21
- tooltipVariant,
22
-
23
- // button props
24
- children = 'Copy To Clipboard',
25
- hideIcon = false,
26
- ...rest
27
- }: Props) => (
28
- <Clipboard
29
- asChild
30
- text={text}
31
- tooltip={tooltip}
32
- tooltipPlacement={tooltipPlacement}
33
- tooltipVariant={tooltipVariant}
34
- >
35
- <ButtonInline {...rest} disabled={!text}>
36
- {!hideIcon && <Copy className="tw-size-4" />}
37
- {children}
38
- </ButtonInline>
39
- </Clipboard>
40
- );
@@ -1,2 +0,0 @@
1
- export { ClipboardButton } from './ClipboardButton';
2
- export { ClipboardInline } from './ClipboardInline';
@@ -1,109 +0,0 @@
1
- import { useState } 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 { Button } from '../../components/Button';
7
-
8
- import { ColorInput } from './ColorInput';
9
-
10
- type Story = StoryObj<typeof ColorInput>;
11
- type ColorInputProps = ComponentProps<typeof ColorInput>;
12
- type State = NonNullable<ColorInputProps['state']>;
13
- type Variant = NonNullable<ColorInputProps['variant']>;
14
- type Sizing = NonNullable<ColorInputProps['sizing']>;
15
- type FocusVariant = NonNullable<ColorInputProps['focusVariant']>;
16
-
17
- const states: State[] = ['default', 'error', 'warning'];
18
- const variants: Variant[] = ['primary', 'secondary', 'argo'];
19
- const sizings: Sizing[] = ['small', 'default', 'medium'];
20
- const focusVariants: FocusVariant[] = ['default', 'on', 'off'];
21
-
22
- /**
23
- * Color input with a swatch indicator, hex text entry (RGB or RGBA), and an
24
- * OS-native color picker. Works in both controlled and uncontrolled modes.
25
- */
26
- export default {
27
- component: ColorInput,
28
- args: {
29
- placeholder: 'Placeholder',
30
- variant: 'primary',
31
- state: 'default',
32
- sizing: 'default',
33
- focusVariant: 'default',
34
- allowClear: false,
35
- readOnly: false,
36
- disabled: false,
37
-
38
- onValueChange: action('onValueChange'),
39
- onValueBlur: action('onValueBlur'),
40
- },
41
- argTypes: {
42
- state: {
43
- description: 'Set validation state',
44
- type: { name: 'enum', value: states },
45
- },
46
-
47
- variant: {
48
- defaultValue: 'primary',
49
- description: 'Set Variant',
50
- type: { name: 'enum', value: variants },
51
- },
52
-
53
- sizing: {
54
- defaultValue: 'default',
55
- description: 'Set Sizing',
56
- type: { name: 'enum', value: sizings },
57
- },
58
-
59
- focusVariant: {
60
- defaultValue: 'default',
61
- description: 'Set Focus Variant',
62
- type: { name: 'enum', value: focusVariants },
63
- },
64
- },
65
- } satisfies Meta<typeof ColorInput>;
66
-
67
- export const Basic: Story = {};
68
-
69
- const ControlledDemo = (props: ComponentProps<typeof ColorInput>) => {
70
- const [value, setValue] = useState('');
71
- const handleOnValueChange = (value: string) => {
72
- action('onValueChange')(value);
73
- setValue(value);
74
- };
75
-
76
- return <ColorInput {...props} value={value} onValueChange={handleOnValueChange} />;
77
- };
78
-
79
- export const Controlled: Story = {
80
- render: ControlledDemo,
81
- };
82
-
83
- const UncontrolledDemo = (props: ComponentProps<typeof ColorInput>) => {
84
- const handleSubmit: FormEventHandler<HTMLFormElement> = (event) => {
85
- event.preventDefault();
86
- const values = new FormData(event.currentTarget);
87
- action('onSubmit')(Object.fromEntries(values.entries()));
88
- };
89
-
90
- return (
91
- <form className="tw-flex tw-gap-2" onSubmit={handleSubmit}>
92
- <ColorInput
93
- {...props}
94
- onValueChange={action('onValueChange')}
95
- onValueBlur={action('onValueBlur')}
96
- />
97
- <Button type="submit">Submit</Button>
98
- </form>
99
- );
100
- };
101
-
102
- export const Uncontrolled: Story = {
103
- render: UncontrolledDemo,
104
- args: {
105
- defaultValue: '#ff0000',
106
- allowClear: true,
107
- name: 'uncontrolled-color-input',
108
- },
109
- };
@@ -1,163 +0,0 @@
1
- import { fireEvent, render, screen } from '@testing-library/react';
2
- import { describe, expect, it, vi } from 'vitest';
3
-
4
- import { ColorInput } from './ColorInput';
5
-
6
- const getTextInput = () => screen.getByPlaceholderText('color') as HTMLInputElement;
7
- const getColorPicker = () => document.querySelector<HTMLInputElement>('input[type="color"]')!;
8
- const queryClearButton = () => screen.queryByLabelText('Clear color');
9
-
10
- describe('<ColorInput />', () => {
11
- describe('controlled state', () => {
12
- it('renders empty when value is null', () => {
13
- render(<ColorInput placeholder="color" value={null} />);
14
- expect(getTextInput().value).toBe('');
15
- });
16
-
17
- it('renders empty when value is undefined and no defaultValue', () => {
18
- render(<ColorInput placeholder="color" />);
19
- expect(getTextInput().value).toBe('');
20
- });
21
-
22
- it('renders the controlled value', () => {
23
- render(<ColorInput placeholder="color" value="#abcdef" onValueChange={vi.fn()} />);
24
- expect(getTextInput().value).toBe('#abcdef');
25
- });
26
-
27
- it('emits raw onValueChange on every keystroke', () => {
28
- const onValueChange = vi.fn();
29
- render(<ColorInput placeholder="color" value="" onValueChange={onValueChange} />);
30
- fireEvent.change(getTextInput(), { target: { value: 'aabbcc' } });
31
- expect(onValueChange).toHaveBeenCalledWith('aabbcc');
32
- });
33
-
34
- it('emits sanitized value via onValueBlur on blur', () => {
35
- const onValueChange = vi.fn();
36
- const onValueBlur = vi.fn();
37
- render(
38
- <ColorInput
39
- placeholder="color"
40
- value="aabbcc"
41
- onValueChange={onValueChange}
42
- onValueBlur={onValueBlur}
43
- />,
44
- );
45
- fireEvent.blur(getTextInput());
46
- expect(onValueBlur).toHaveBeenCalledWith('#aabbcc');
47
- expect(onValueChange).toHaveBeenCalledWith('#aabbcc');
48
- });
49
-
50
- it('snaps invalid input to its sanitized prefix on blur', () => {
51
- const onValueBlur = vi.fn();
52
- render(<ColorInput placeholder="color" value="aabbzz" onValueBlur={onValueBlur} />);
53
- fireEvent.blur(getTextInput());
54
- expect(onValueBlur).toHaveBeenCalledWith('#aabb');
55
- });
56
-
57
- it('clears the value on blur when no valid hex digits remain', () => {
58
- const onValueBlur = vi.fn();
59
- render(<ColorInput placeholder="color" value="gabc" onValueBlur={onValueBlur} />);
60
- fireEvent.blur(getTextInput());
61
- expect(onValueBlur).toHaveBeenCalledWith('');
62
- });
63
- });
64
-
65
- describe('uncontrolled state', () => {
66
- it('seeds the input from defaultValue', () => {
67
- render(<ColorInput placeholder="color" defaultValue="#abc" />);
68
- expect(getTextInput().value).toBe('#abc');
69
- });
70
-
71
- it('treats null defaultValue as empty', () => {
72
- render(<ColorInput placeholder="color" defaultValue={null} />);
73
- expect(getTextInput().value).toBe('');
74
- });
75
-
76
- it('keeps raw text in the DOM while typing', () => {
77
- const onValueChange = vi.fn();
78
- render(<ColorInput placeholder="color" onValueChange={onValueChange} />);
79
- const input = getTextInput();
80
- fireEvent.change(input, { target: { value: 'aabbcc' } });
81
- expect(input.value).toBe('aabbcc');
82
- expect(onValueChange).toHaveBeenLastCalledWith('aabbcc');
83
- });
84
-
85
- it('sanitizes the visible value on blur', () => {
86
- render(<ColorInput placeholder="color" />);
87
- const input = getTextInput();
88
- fireEvent.change(input, { target: { value: 'aabbcc' } });
89
- fireEvent.blur(input);
90
- expect(input.value).toBe('#aabbcc');
91
- });
92
- });
93
-
94
- describe('clear button', () => {
95
- it('is hidden when there is no value', () => {
96
- render(<ColorInput placeholder="color" allowClear />);
97
- expect(queryClearButton()).toBeNull();
98
- });
99
-
100
- it('is hidden when disabled', () => {
101
- render(<ColorInput placeholder="color" allowClear disabled defaultValue="#abc" />);
102
- expect(queryClearButton()).toBeNull();
103
- });
104
-
105
- it('is hidden when readOnly', () => {
106
- render(<ColorInput placeholder="color" allowClear readOnly defaultValue="#abc" />);
107
- expect(queryClearButton()).toBeNull();
108
- });
109
-
110
- it('clears the DOM input in uncontrolled mode', () => {
111
- const onValueChange = vi.fn();
112
- render(
113
- <ColorInput
114
- placeholder="color"
115
- allowClear
116
- defaultValue="#abc"
117
- onValueChange={onValueChange}
118
- />,
119
- );
120
- const input = getTextInput();
121
- expect(input.value).toBe('#abc');
122
- fireEvent.click(queryClearButton()!);
123
- expect(input.value).toBe('');
124
- expect(onValueChange).toHaveBeenCalledWith('');
125
- });
126
-
127
- it('emits onValueChange("") in controlled mode without mutating the DOM directly', () => {
128
- const onValueChange = vi.fn();
129
- render(
130
- <ColorInput placeholder="color" allowClear value="#abcdef" onValueChange={onValueChange} />,
131
- );
132
- fireEvent.click(queryClearButton()!);
133
- expect(onValueChange).toHaveBeenCalledWith('');
134
- });
135
-
136
- it('synthesizes an onChange event when clearing', () => {
137
- const onChange = vi.fn();
138
- render(<ColorInput placeholder="color" allowClear defaultValue="#abc" onChange={onChange} />);
139
- fireEvent.click(queryClearButton()!);
140
- expect(onChange).toHaveBeenCalled();
141
- expect(onChange.mock.lastCall?.[0].target.value).toBe('');
142
- });
143
- });
144
-
145
- describe('color picker', () => {
146
- it('applies the picked color to the text input in uncontrolled mode', () => {
147
- const onValueChange = vi.fn();
148
- render(<ColorInput placeholder="color" onValueChange={onValueChange} />);
149
- const picker = getColorPicker();
150
- fireEvent.change(picker, { target: { value: '#112233' } });
151
- expect(getTextInput().value).toBe('#112233');
152
- expect(onValueChange).toHaveBeenCalledWith('#112233');
153
- });
154
-
155
- it('emits onValueChange with the picked color in controlled mode', () => {
156
- const onValueChange = vi.fn();
157
- render(<ColorInput placeholder="color" value="#abcdef" onValueChange={onValueChange} />);
158
- const picker = getColorPicker();
159
- fireEvent.change(picker, { target: { value: '#112233' } });
160
- expect(onValueChange).toHaveBeenCalledWith('#112233');
161
- });
162
- });
163
- });