@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,171 +0,0 @@
1
- import { useRef, useState } from 'react';
2
- import type {
3
- ChangeEventHandler,
4
- ComponentProps,
5
- ElementRef,
6
- FocusEventHandler,
7
- MouseEventHandler,
8
- Ref,
9
- } from 'react';
10
-
11
- import { InputGroup } from '../../components/InputGroup';
12
- import { X } from '../../icons';
13
- import { cn, createChangeInputEvent, mergeRefs } from '../../utils';
14
-
15
- import { ColorPicker } from './ColorPicker';
16
- import { coerceHexInputValue, isCompleteHexColor } from './utils';
17
-
18
- type InputGroupProps = Pick<
19
- ComponentProps<typeof InputGroup>,
20
- 'variant' | 'focusVariant' | 'state' | 'sizing'
21
- >;
22
-
23
- type InputGroupInputProps = Omit<ComponentProps<typeof InputGroup.Input>, 'value' | 'defaultValue'>;
24
-
25
- type Props = InputGroupProps &
26
- InputGroupInputProps & {
27
- value?: string | null;
28
- defaultValue?: string | null;
29
- onValueChange?: (value: string) => void;
30
- onValueBlur?: (value: string) => void;
31
- allowClear?: boolean;
32
- };
33
-
34
- export const ColorInput = ({
35
- ref,
36
-
37
- // group props
38
- state,
39
- variant,
40
- focusVariant,
41
- sizing,
42
- className,
43
-
44
- // own props
45
- value: valueProp,
46
- onValueChange,
47
- onValueBlur,
48
- onChange,
49
- onBlur,
50
- defaultValue,
51
- allowClear = false,
52
-
53
- // input props
54
- disabled,
55
- readOnly,
56
- ...restInputProps
57
- }: Props & { ref?: Ref<ElementRef<'input'>> }) => {
58
- const inputRef = useRef<ElementRef<'input'>>(null);
59
-
60
- const [internalValue, setInternalValue] = useState(defaultValue ?? '');
61
- const isControlled = valueProp !== undefined;
62
-
63
- const value = isControlled ? (valueProp ?? '') : internalValue;
64
- const setValue = (nextValue: string) => {
65
- if (!isControlled) setInternalValue(nextValue);
66
- onValueChange?.(nextValue);
67
- };
68
-
69
- const canClear = allowClear && !!value && !disabled && !readOnly;
70
- const swatchColor = coerceHexInputValue(value);
71
- const isValidSwatch = isCompleteHexColor(swatchColor);
72
-
73
- // Preserve raw text while the user is typing — sanitise on blur.
74
- const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {
75
- setValue(event.target.value);
76
- onChange?.(event);
77
- };
78
-
79
- const handleBlur: FocusEventHandler<HTMLInputElement> = (event) => {
80
- const newValue = event.target.value;
81
- const sanitizedNewValue = coerceHexInputValue(newValue);
82
-
83
- if (sanitizedNewValue !== newValue) {
84
- // In controlled mode, let the parent decide whether to apply the
85
- // sanitised value via `onValueChange` — don't fight its `value` prop.
86
- if (!isControlled) event.target.value = sanitizedNewValue;
87
- setValue(sanitizedNewValue);
88
- }
89
-
90
- onValueBlur?.(sanitizedNewValue);
91
- onBlur?.(event);
92
- };
93
-
94
- const handlePickerChange: ChangeEventHandler<HTMLInputElement> = (event) => {
95
- setValue(coerceHexInputValue(event.target.value));
96
- onChange?.(event);
97
- };
98
-
99
- const handleClear: MouseEventHandler<HTMLButtonElement> = () => {
100
- if (!inputRef.current) return;
101
- inputRef.current.value = '';
102
- setValue('');
103
- onChange?.(createChangeInputEvent(inputRef.current));
104
- };
105
-
106
- return (
107
- <InputGroup
108
- state={state}
109
- variant={variant}
110
- sizing={sizing}
111
- focusVariant={focusVariant}
112
- className={className}
113
- >
114
- <InputGroup.Addon
115
- align="inline-start"
116
- className={cn(
117
- { '-tw-ml-7 tw-opacity-0': !value },
118
- 'tw-transition-[opacity,margin]',
119
- 'tw-ease-linear',
120
- 'tw-duration-200',
121
- )}
122
- >
123
- <div
124
- style={isValidSwatch ? { background: swatchColor } : undefined}
125
- className={cn(
126
- 'tw-size-5',
127
- 'tw-shrink-0',
128
- 'tw-rounded-sm',
129
- 'tw-border',
130
- 'tw-border-solid',
131
- 'tw-border-neutral-300',
132
- {
133
- 'tw-bg-[linear-gradient(to_top_right,transparent_calc(50%_-_1px),theme(colors.red.300)_calc(50%_-_1px),theme(colors.red.300)_calc(50%_+_1px),transparent_calc(50%_+_1px))]':
134
- !isValidSwatch,
135
- },
136
- )}
137
- />
138
- </InputGroup.Addon>
139
-
140
- <InputGroup.Input
141
- {...restInputProps}
142
- type="text"
143
- ref={mergeRefs(ref ?? null, inputRef)}
144
- value={value}
145
- onChange={handleChange}
146
- onBlur={handleBlur}
147
- disabled={disabled}
148
- readOnly={readOnly}
149
- />
150
-
151
- <InputGroup.Addon align="inline-end">
152
- {canClear && (
153
- <InputGroup.Button
154
- // prevents input focus stealing
155
- onMouseDown={(event) => event.preventDefault()}
156
- onClick={handleClear}
157
- aria-label="Clear color"
158
- >
159
- <X className="tw-size-4" />
160
- </InputGroup.Button>
161
- )}
162
- <ColorPicker
163
- disabled={disabled}
164
- readOnly={readOnly}
165
- value={value}
166
- onChange={handlePickerChange}
167
- />
168
- </InputGroup.Addon>
169
- </InputGroup>
170
- );
171
- };
@@ -1,42 +0,0 @@
1
- import { type ComponentProps, type ElementRef, useRef } from 'react';
2
-
3
- import { Pipette } from '@keboola/design/icons';
4
-
5
- import { InputGroup } from '../../components/InputGroup';
6
-
7
- import { coerceColorPickerValue, showPicker } from './utils';
8
-
9
- type Props = Omit<ComponentProps<'input'>, 'type'>;
10
-
11
- export const ColorPicker = ({ value, disabled, readOnly, ...props }: Props) => {
12
- const pickerRef = useRef<ElementRef<'input'>>(null);
13
-
14
- const handleOpenPicker = () => {
15
- if (!pickerRef.current) return;
16
- showPicker(pickerRef.current);
17
- };
18
-
19
- return (
20
- <div className="tw-relative">
21
- <input
22
- {...props}
23
- ref={pickerRef}
24
- type="color"
25
- value={coerceColorPickerValue(value)}
26
- tabIndex={-1}
27
- aria-hidden
28
- className="tw-pointer-events-none tw-absolute tw-left-0 tw-top-full tw-size-0 tw-opacity-0"
29
- disabled={disabled}
30
- readOnly={readOnly}
31
- />
32
- <InputGroup.Button
33
- onMouseDown={(event) => event.preventDefault()}
34
- disabled={disabled || readOnly}
35
- onClick={handleOpenPicker}
36
- aria-label="Pick color"
37
- >
38
- <Pipette className="tw-size-4" />
39
- </InputGroup.Button>
40
- </div>
41
- );
42
- };
@@ -1 +0,0 @@
1
- export * from './ColorInput';
@@ -1,189 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
-
3
- import { coerceColorPickerValue, coerceHexInputValue, isCompleteHexColor } from './utils';
4
-
5
- describe('coerceColorPickerValue', () => {
6
- describe('valid hex inputs', () => {
7
- it('expands 3-char hex with hash', () => {
8
- expect(coerceColorPickerValue('#abc')).toBe('#aabbcc');
9
- });
10
-
11
- it('expands 3-char hex without hash', () => {
12
- expect(coerceColorPickerValue('abc')).toBe('#aabbcc');
13
- });
14
-
15
- it('expands 4-char hex and drops the alpha channel', () => {
16
- expect(coerceColorPickerValue('#abcd')).toBe('#aabbcc');
17
- });
18
-
19
- it('keeps 6-char hex with hash', () => {
20
- expect(coerceColorPickerValue('#aabbcc')).toBe('#aabbcc');
21
- });
22
-
23
- it('keeps 6-char hex without hash', () => {
24
- expect(coerceColorPickerValue('aabbcc')).toBe('#aabbcc');
25
- });
26
-
27
- it('drops alpha for 8-char hex', () => {
28
- expect(coerceColorPickerValue('#aabbccdd')).toBe('#aabbcc');
29
- });
30
- });
31
-
32
- describe('normalization', () => {
33
- it('lowercases mixed-case hex', () => {
34
- expect(coerceColorPickerValue('#AaBbCc')).toBe('#aabbcc');
35
- });
36
-
37
- it('lowercases uppercase hex', () => {
38
- expect(coerceColorPickerValue('#ABCDEF')).toBe('#abcdef');
39
- });
40
-
41
- it('trims surrounding whitespace', () => {
42
- expect(coerceColorPickerValue(' #abc ')).toBe('#aabbcc');
43
- });
44
-
45
- it('trims whitespace around hex without hash', () => {
46
- expect(coerceColorPickerValue(' aabbcc ')).toBe('#aabbcc');
47
- });
48
- });
49
-
50
- describe('invalid inputs fall back to #000000', () => {
51
- it('rejects invalid hex characters', () => {
52
- expect(coerceColorPickerValue('#xyz')).toBe('#000000');
53
- });
54
-
55
- it('rejects mixed valid/invalid characters', () => {
56
- expect(coerceColorPickerValue('#aabbzz')).toBe('#000000');
57
- });
58
-
59
- it.each([
60
- ['1-char', '#a'],
61
- ['2-char', '#ab'],
62
- ['5-char', '#abcde'],
63
- ['7-char', '#abcdefa'],
64
- ['9-char', '#abcdef000'],
65
- ])('rejects %s hex', (_, input) => {
66
- expect(coerceColorPickerValue(input)).toBe('#000000');
67
- });
68
-
69
- it('rejects empty string', () => {
70
- expect(coerceColorPickerValue('')).toBe('#000000');
71
- });
72
-
73
- it('rejects whitespace-only string', () => {
74
- expect(coerceColorPickerValue(' ')).toBe('#000000');
75
- });
76
-
77
- it('rejects bare hash', () => {
78
- expect(coerceColorPickerValue('#')).toBe('#000000');
79
- });
80
- });
81
-
82
- describe('non-string input types', () => {
83
- it('handles null', () => {
84
- expect(coerceColorPickerValue(null)).toBe('#000000');
85
- });
86
-
87
- it('handles undefined', () => {
88
- expect(coerceColorPickerValue(undefined)).toBe('#000000');
89
- });
90
-
91
- it('handles number', () => {
92
- expect(coerceColorPickerValue(0xaabbcc)).toBe('#000000');
93
- });
94
-
95
- it('handles readonly string array', () => {
96
- expect(coerceColorPickerValue(['#aabbcc'])).toBe('#000000');
97
- });
98
- });
99
- });
100
-
101
- describe('coerceHexInputValue', () => {
102
- it('returns empty string for null', () => {
103
- expect(coerceHexInputValue(null)).toBe('');
104
- });
105
-
106
- it('returns empty string for undefined', () => {
107
- expect(coerceHexInputValue(undefined)).toBe('');
108
- });
109
-
110
- it('returns empty string for empty input', () => {
111
- expect(coerceHexInputValue('')).toBe('');
112
- });
113
-
114
- it('prepends # when missing', () => {
115
- expect(coerceHexInputValue('aabbcc')).toBe('#aabbcc');
116
- });
117
-
118
- it('keeps valid 6-char hex with hash', () => {
119
- expect(coerceHexInputValue('#aabbcc')).toBe('#aabbcc');
120
- });
121
-
122
- it('keeps valid 8-char hex (RGBA)', () => {
123
- expect(coerceHexInputValue('#aabbccdd')).toBe('#aabbccdd');
124
- });
125
-
126
- it('truncates to 8 hex characters max', () => {
127
- expect(coerceHexInputValue('#aabbccddee')).toBe('#aabbccdd');
128
- });
129
-
130
- it('strips invalid characters by keeping only the valid prefix', () => {
131
- expect(coerceHexInputValue('#aabbzz')).toBe('#aabb');
132
- });
133
-
134
- it('returns empty string for bare hash', () => {
135
- expect(coerceHexInputValue('#')).toBe('');
136
- });
137
-
138
- it('returns empty string when no valid hex digits remain', () => {
139
- expect(coerceHexInputValue('zz')).toBe('');
140
- expect(coerceHexInputValue('#zz')).toBe('');
141
- });
142
-
143
- it('trims surrounding whitespace', () => {
144
- expect(coerceHexInputValue(' #abc ')).toBe('#abc');
145
- });
146
-
147
- it('returns empty string for whitespace-only input', () => {
148
- expect(coerceHexInputValue(' ')).toBe('');
149
- });
150
- });
151
-
152
- describe('isCompleteHexColor', () => {
153
- describe('accepts CSS-valid hex lengths', () => {
154
- it.each([
155
- ['3-digit', '#abc'],
156
- ['4-digit (RGBA)', '#abcd'],
157
- ['6-digit', '#aabbcc'],
158
- ['8-digit (RGBA)', '#aabbccdd'],
159
- ])('accepts %s hex', (_, input) => {
160
- expect(isCompleteHexColor(input)).toBe(true);
161
- });
162
-
163
- it('accepts uppercase hex', () => {
164
- expect(isCompleteHexColor('#ABCDEF')).toBe(true);
165
- });
166
- });
167
-
168
- describe('rejects partial / invalid values', () => {
169
- it.each([
170
- ['empty', ''],
171
- ['bare hash', '#'],
172
- ['1-digit', '#a'],
173
- ['2-digit', '#ab'],
174
- ['5-digit', '#abcde'],
175
- ['7-digit', '#abcdefa'],
176
- ['9-digit', '#abcdef000'],
177
- ])('rejects %s', (_, input) => {
178
- expect(isCompleteHexColor(input)).toBe(false);
179
- });
180
-
181
- it('rejects hex without leading #', () => {
182
- expect(isCompleteHexColor('aabbcc')).toBe(false);
183
- });
184
-
185
- it('rejects non-hex characters', () => {
186
- expect(isCompleteHexColor('#aabbzz')).toBe(false);
187
- });
188
- });
189
- });
@@ -1,74 +0,0 @@
1
- import type { ComponentProps } from 'react';
2
-
3
- const HEX_CHARSET = /^[0-9a-fA-F]+$/;
4
- // `#` + 3, 4, 6, or 8 hex digits — every length CSS accepts as a hex color.
5
- const COMPLETE_HEX_PATTERN = /^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
6
- // Longest hex body CSS accepts (`#rrggbbaa` without the hash).
7
- const MAX_HEX_BODY_LENGTH = 8;
8
- // Native <input type="color"> default when fed anything unparseable.
9
- const PICKER_FALLBACK = '#000000';
10
-
11
- const extractHexBody = (value: unknown): string | null => {
12
- if (typeof value !== 'string') return null;
13
- const trimmed = value.trim();
14
- if (trimmed === '') return null;
15
- return trimmed.startsWith('#') ? trimmed.slice(1) : trimmed;
16
- };
17
-
18
- export const isCompleteHexColor = (value: string): boolean => COMPLETE_HEX_PATTERN.test(value);
19
-
20
- // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/showPicker
21
- export const showPicker = (input: HTMLInputElement) => {
22
- const isShowPickerSupported = 'showPicker' in HTMLInputElement.prototype;
23
- isShowPickerSupported ? input.showPicker() : input.click();
24
- };
25
-
26
- /**
27
- * Coerces free-form text into a partial hex color for the visible text
28
- * input. Allows up to 8 hex digits to support `#rrggbbaa` (RGBA / alpha).
29
- *
30
- * Behaviour:
31
- * - empty / null / undefined / non-string → `''`
32
- * - trims surrounding whitespace
33
- * - prepends `#` when the user types raw hex without it
34
- * - keeps only the leading run of valid hex digits, dropping the rest
35
- * - caps total length at `# + 8` hex digits
36
- * - returns `''` when no valid hex digits remain (e.g. bare `#`, `zz`) so
37
- * the input doesn't sit on a lonely `#`
38
- *
39
- * Note: the result may be a *prefix* (e.g. `#a`, `#ab`) that is not yet a
40
- * valid CSS color — gate any rendering on `isCompleteHexColor`.
41
- */
42
- export const coerceHexInputValue = (value?: string | null): string => {
43
- const body = extractHexBody(value);
44
- if (body === null) return '';
45
- const [validBody] = body.match(/^[0-9a-fA-F]+/) ?? [];
46
- if (!validBody) return '';
47
- return `#${validBody.slice(0, MAX_HEX_BODY_LENGTH)}`;
48
- };
49
-
50
- /**
51
- * Coerces any value into the strict lowercase `#rrggbb` form required by the
52
- * native `<input type="color">`. Anything the picker can't render is
53
- * collapsed to `#000000`.
54
- *
55
- * - 3-digit shorthand (`#abc`) → expanded to 6 digits (`#aabbcc`)
56
- * - 4/8-digit RGBA → alpha channel is dropped
57
- * - invalid characters, wrong length, or non-string types → `#000000`
58
- *
59
- * The native picker silently lowercases its value; we lowercase here too so
60
- * controlled consumers see the same string round-trip.
61
- */
62
- export const coerceColorPickerValue = (value: ComponentProps<'input'>['value'] | null) => {
63
- const body = extractHexBody(value);
64
- if (body === null || !HEX_CHARSET.test(body)) return PICKER_FALLBACK;
65
-
66
- if (body.length === 3 || body.length === 4) {
67
- const [r, g, b] = body;
68
- return `#${r}${r}${g}${g}${b}${b}`.toLowerCase();
69
- }
70
- if (body.length === 6 || body.length === 8) {
71
- return `#${body.slice(0, 6).toLowerCase()}`;
72
- }
73
- return PICKER_FALLBACK;
74
- };
@@ -1,30 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { Button } from '../../components/Button';
4
-
5
- import { EmptyConfigurationActionCard } from './EmptyConfigurationActionCard';
6
-
7
- type Story = StoryObj<typeof EmptyConfigurationActionCard>;
8
-
9
- export default {
10
- component: EmptyConfigurationActionCard,
11
- args: {
12
- title: 'Rows',
13
- children: (
14
- <>
15
- <p>No rows created.</p>
16
- <Button onClick={() => {}}>Add Row</Button>
17
- </>
18
- ),
19
- },
20
- parameters: {
21
- docs: {
22
- description: {
23
- component:
24
- 'Empty card component for configuration detail, centers children in Chrome and Safari.',
25
- },
26
- },
27
- },
28
- } satisfies Meta<typeof EmptyConfigurationActionCard>;
29
-
30
- export const Basic: Story = {};
@@ -1,20 +0,0 @@
1
- import type { ReactNode } from 'react';
2
-
3
- import { Card } from '../../components/Card';
4
-
5
- type Props = {
6
- title: string;
7
- children: ReactNode;
8
- className?: string;
9
- };
10
-
11
- export const EmptyConfigurationActionCard = ({ title, children, className }: Props) => {
12
- return (
13
- <Card className={className}>
14
- <Card.Header>
15
- <Card.Title>{title}</Card.Title>
16
- </Card.Header>
17
- <Card.Content className="tw-flex tw-flex-col tw-items-center">{children}</Card.Content>
18
- </Card>
19
- );
20
- };
@@ -1 +0,0 @@
1
- export * from './EmptyConfigurationActionCard';
@@ -1,93 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { Button } from '../../components/Button';
4
- import { Bell, List, Search, Table } from '../../icons';
5
-
6
- import { EmptyState } from './EmptyState';
7
-
8
- type Story = StoryObj<typeof EmptyState>;
9
-
10
- export default {
11
- component: EmptyState,
12
- parameters: {
13
- docs: {
14
- description: {
15
- component:
16
- 'Empty state block for use when a list, table, or search returns no results. Slots compose existing `Button` and `Icon`. Supports `default` and `compact` variants. Default icon color is `tw-text-muted-foreground` — pass `className` on `EmptyState.Icon` to override.',
17
- },
18
- },
19
- },
20
- } satisfies Meta<typeof EmptyState>;
21
-
22
- export const ListEmpty: Story = {
23
- name: 'List empty',
24
- render: () => (
25
- <EmptyState>
26
- <EmptyState.Icon>
27
- <List />
28
- </EmptyState.Icon>
29
- <EmptyState.Title>No items yet</EmptyState.Title>
30
- <EmptyState.Description>
31
- Get started by creating your first item. It will appear here once added.
32
- </EmptyState.Description>
33
- <EmptyState.Actions>
34
- <Button onClick={() => {}}>Create item</Button>
35
- </EmptyState.Actions>
36
- </EmptyState>
37
- ),
38
- };
39
-
40
- export const TableEmpty: Story = {
41
- name: 'Table empty',
42
- render: () => (
43
- <EmptyState>
44
- <EmptyState.Icon>
45
- <Table />
46
- </EmptyState.Icon>
47
- <EmptyState.Title>No rows found</EmptyState.Title>
48
- <EmptyState.Description>
49
- This table has no rows. Add your first row to get started.
50
- </EmptyState.Description>
51
- <EmptyState.Actions>
52
- <Button onClick={() => {}}>Add row</Button>
53
- <Button variant="outline" onClick={() => {}}>
54
- Import data
55
- </Button>
56
- </EmptyState.Actions>
57
- </EmptyState>
58
- ),
59
- };
60
-
61
- export const SearchNoResults: Story = {
62
- name: 'Search — no results',
63
- render: () => (
64
- <EmptyState>
65
- <EmptyState.Icon>
66
- <Search />
67
- </EmptyState.Icon>
68
- <EmptyState.Title>No results found</EmptyState.Title>
69
- <EmptyState.Description>
70
- We couldn&apos;t find anything matching your search. Try a different query or clear your
71
- filters.
72
- </EmptyState.Description>
73
- <EmptyState.Actions>
74
- <Button variant="outline" onClick={() => {}}>
75
- Clear search
76
- </Button>
77
- </EmptyState.Actions>
78
- </EmptyState>
79
- ),
80
- };
81
-
82
- export const CompactListEmpty: Story = {
83
- name: 'Compact — list empty',
84
- render: () => (
85
- <EmptyState variant="compact">
86
- <EmptyState.Icon variant="compact">
87
- <Bell />
88
- </EmptyState.Icon>
89
- <EmptyState.Title variant="compact">No notifications</EmptyState.Title>
90
- <EmptyState.Description variant="compact">You&apos;re all caught up!</EmptyState.Description>
91
- </EmptyState>
92
- ),
93
- };