@keboola/design 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (673) hide show
  1. package/README.md +64 -5
  2. package/dist/icons.cjs +13 -733
  3. package/dist/icons.cjs.map +1 -1
  4. package/dist/icons.d.cts +7 -0
  5. package/dist/icons.d.ts +7 -0
  6. package/dist/icons.js +8 -2
  7. package/dist/icons.js.map +1 -1
  8. package/dist/index.cjs +13605 -12713
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +10462 -0
  11. package/dist/index.d.ts +10462 -0
  12. package/dist/index.js +13437 -12576
  13. package/dist/index.js.map +1 -1
  14. package/dist/markdown-editor.cjs +146 -82
  15. package/dist/markdown-editor.cjs.map +1 -1
  16. package/dist/markdown-editor.d.cts +74 -0
  17. package/dist/markdown-editor.d.ts +74 -0
  18. package/dist/markdown-editor.js +146 -83
  19. package/dist/markdown-editor.js.map +1 -1
  20. package/dist/mermaid.cjs +85 -19
  21. package/dist/mermaid.cjs.map +1 -1
  22. package/dist/mermaid.d.cts +11 -0
  23. package/dist/mermaid.d.ts +11 -0
  24. package/dist/mermaid.js +68 -21
  25. package/dist/mermaid.js.map +1 -1
  26. package/dist/styles.css +1 -1
  27. package/dist/testing.cjs +106 -0
  28. package/dist/testing.cjs.map +1 -0
  29. package/dist/testing.d.cts +19 -0
  30. package/dist/testing.d.ts +19 -0
  31. package/dist/testing.js +104 -0
  32. package/dist/testing.js.map +1 -0
  33. package/package.json +94 -15
  34. package/dist/icon-names.cjs +0 -18
  35. package/dist/icon-names.cjs.map +0 -1
  36. package/dist/icon-names.js +0 -16
  37. package/dist/icon-names.js.map +0 -1
  38. package/src/blocks/AIKit/AnswerSummary.stories.tsx +0 -38
  39. package/src/blocks/AIKit/AnswerSummary.tsx +0 -63
  40. package/src/blocks/AIKit/CollapsibleStepHeader.stories.tsx +0 -53
  41. package/src/blocks/AIKit/CollapsibleStepHeader.tsx +0 -64
  42. package/src/blocks/AIKit/InlineStepDetail.stories.tsx +0 -25
  43. package/src/blocks/AIKit/InlineStepDetail.tsx +0 -13
  44. package/src/blocks/AIKit/InlineStepLabel.stories.tsx +0 -37
  45. package/src/blocks/AIKit/InlineStepLabel.tsx +0 -36
  46. package/src/blocks/AIKit/MessageBubble.stories.tsx +0 -145
  47. package/src/blocks/AIKit/MessageBubble.tsx +0 -68
  48. package/src/blocks/AIKit/PlanApproval.stories.tsx +0 -121
  49. package/src/blocks/AIKit/PlanApproval.test.tsx +0 -241
  50. package/src/blocks/AIKit/PlanApproval.tsx +0 -363
  51. package/src/blocks/AIKit/PlanRewritingIndicator.test.tsx +0 -17
  52. package/src/blocks/AIKit/PlanRewritingIndicator.tsx +0 -20
  53. package/src/blocks/AIKit/PromptInput.stories.tsx +0 -106
  54. package/src/blocks/AIKit/PromptInput.test.tsx +0 -53
  55. package/src/blocks/AIKit/PromptInput.tsx +0 -218
  56. package/src/blocks/AIKit/PromptInputAction.tsx +0 -18
  57. package/src/blocks/AIKit/PromptInputSubmit.tsx +0 -59
  58. package/src/blocks/AIKit/Question.stories.tsx +0 -235
  59. package/src/blocks/AIKit/Question.tsx +0 -350
  60. package/src/blocks/AIKit/QuestionBlock.stories.tsx +0 -99
  61. package/src/blocks/AIKit/QuestionBlock.tsx +0 -83
  62. package/src/blocks/AIKit/SuggestedPrompt.stories.tsx +0 -82
  63. package/src/blocks/AIKit/SuggestedPrompt.tsx +0 -42
  64. package/src/blocks/AIKit/ThinkingIndicator.stories.tsx +0 -21
  65. package/src/blocks/AIKit/ThinkingIndicator.tsx +0 -14
  66. package/src/blocks/AIKit/index.ts +0 -12
  67. package/src/blocks/AutoSaveTextarea/AutoSaveTextarea.stories.tsx +0 -78
  68. package/src/blocks/AutoSaveTextarea/AutoSaveTextarea.tsx +0 -103
  69. package/src/blocks/AutoSaveTextarea/index.ts +0 -1
  70. package/src/blocks/ClipboardButton/ClipboardButton.stories.tsx +0 -28
  71. package/src/blocks/ClipboardButton/ClipboardButton.tsx +0 -43
  72. package/src/blocks/ClipboardButton/ClipboardInline.tsx +0 -40
  73. package/src/blocks/ClipboardButton/index.ts +0 -2
  74. package/src/blocks/ColorInput/ColorInput.stories.tsx +0 -109
  75. package/src/blocks/ColorInput/ColorInput.test.tsx +0 -163
  76. package/src/blocks/ColorInput/ColorInput.tsx +0 -171
  77. package/src/blocks/ColorInput/ColorPicker.tsx +0 -42
  78. package/src/blocks/ColorInput/index.ts +0 -1
  79. package/src/blocks/ColorInput/utils.test.ts +0 -189
  80. package/src/blocks/ColorInput/utils.ts +0 -74
  81. package/src/blocks/EmptyConfigurationActionCard/EmptyConfigurationActionCard.stories.tsx +0 -30
  82. package/src/blocks/EmptyConfigurationActionCard/EmptyConfigurationActionCard.tsx +0 -20
  83. package/src/blocks/EmptyConfigurationActionCard/index.ts +0 -1
  84. package/src/blocks/EmptyState/EmptyState.stories.tsx +0 -93
  85. package/src/blocks/EmptyState/EmptyState.tsx +0 -146
  86. package/src/blocks/EmptyState/index.ts +0 -1
  87. package/src/blocks/ErrorState/ErrorState.stories.tsx +0 -125
  88. package/src/blocks/ErrorState/ErrorState.tsx +0 -162
  89. package/src/blocks/ErrorState/index.ts +0 -1
  90. package/src/blocks/Form/components/FormBody.tsx +0 -27
  91. package/src/blocks/Form/components/SubmitButton.tsx +0 -30
  92. package/src/blocks/Form/connectors/CheckboxField.tsx +0 -34
  93. package/src/blocks/Form/connectors/FieldShell.tsx +0 -46
  94. package/src/blocks/Form/connectors/NumberField.tsx +0 -36
  95. package/src/blocks/Form/connectors/PasswordField.tsx +0 -38
  96. package/src/blocks/Form/connectors/SelectField.tsx +0 -73
  97. package/src/blocks/Form/connectors/SwitchField.tsx +0 -34
  98. package/src/blocks/Form/connectors/TextAreaField.tsx +0 -36
  99. package/src/blocks/Form/connectors/TextField.tsx +0 -36
  100. package/src/blocks/Form/contexts.ts +0 -4
  101. package/src/blocks/Form/formHook.ts +0 -45
  102. package/src/blocks/Form/index.ts +0 -2
  103. package/src/blocks/Form/setServerFieldErrors.test.ts +0 -38
  104. package/src/blocks/Form/setServerFieldErrors.ts +0 -21
  105. package/src/blocks/InputOtp/InputOtp.stories.tsx +0 -214
  106. package/src/blocks/InputOtp/InputOtp.test.tsx +0 -162
  107. package/src/blocks/InputOtp/InputOtp.tsx +0 -62
  108. package/src/blocks/InputOtp/InputOtpGroup.tsx +0 -13
  109. package/src/blocks/InputOtp/InputOtpSeparator.tsx +0 -23
  110. package/src/blocks/InputOtp/InputOtpSlot.styles.ts +0 -52
  111. package/src/blocks/InputOtp/InputOtpSlot.tsx +0 -44
  112. package/src/blocks/InputOtp/context.ts +0 -23
  113. package/src/blocks/InputOtp/index.ts +0 -23
  114. package/src/blocks/MermaidDiagram/MermaidDiagram.stories.tsx +0 -87
  115. package/src/blocks/MermaidDiagram/MermaidDiagram.tsx +0 -266
  116. package/src/blocks/MermaidDiagram/index.ts +0 -1
  117. package/src/blocks/MultiActionButtonGroup/MultiActionButton.stories.tsx +0 -119
  118. package/src/blocks/MultiActionButtonGroup/MultiActionButton.tsx +0 -41
  119. package/src/blocks/MultiActionButtonGroup/MultiActionButtonGroup.tsx +0 -16
  120. package/src/blocks/MultiActionButtonGroup/index.ts +0 -1
  121. package/src/blocks/MultiCombobox/MultiCombobox.stories.tsx +0 -324
  122. package/src/blocks/MultiCombobox/MultiCombobox.tsx +0 -257
  123. package/src/blocks/MultiCombobox/index.ts +0 -1
  124. package/src/blocks/NumberInput/NumberInput.stories.tsx +0 -112
  125. package/src/blocks/NumberInput/NumberInput.test.tsx +0 -148
  126. package/src/blocks/NumberInput/NumberInput.tsx +0 -89
  127. package/src/blocks/NumberInput/index.ts +0 -1
  128. package/src/blocks/PageHeader/AGENTS.md +0 -137
  129. package/src/blocks/PageHeader/PageHeader.stories.tsx +0 -371
  130. package/src/blocks/PageHeader/PageHeader.tsx +0 -22
  131. package/src/blocks/PageHeader/PageHeaderDetail.tsx +0 -84
  132. package/src/blocks/PageHeader/PageHeaderIndex.tsx +0 -75
  133. package/src/blocks/PageHeader/index.ts +0 -1
  134. package/src/blocks/PageHeader/styles.ts +0 -6
  135. package/src/blocks/PageLayout/AGENTS.md +0 -94
  136. package/src/blocks/PageLayout/PageLayout.stories.tsx +0 -146
  137. package/src/blocks/PageLayout/PageLayout.tsx +0 -139
  138. package/src/blocks/PageLayout/index.ts +0 -1
  139. package/src/blocks/PageToolbar/PageToolbar.stories.tsx +0 -353
  140. package/src/blocks/PageToolbar/PageToolbar.tsx +0 -160
  141. package/src/blocks/PageToolbar/PageToolbarToken.tsx +0 -61
  142. package/src/blocks/PageToolbar/index.ts +0 -1
  143. package/src/blocks/PasswordInput/PasswordInput.stories.tsx +0 -114
  144. package/src/blocks/PasswordInput/PasswordInput.test.tsx +0 -219
  145. package/src/blocks/PasswordInput/PasswordInput.tsx +0 -180
  146. package/src/blocks/PasswordInput/index.ts +0 -1
  147. package/src/blocks/SearchInput/SearchInput.stories.tsx +0 -127
  148. package/src/blocks/SearchInput/SearchInput.test.tsx +0 -162
  149. package/src/blocks/SearchInput/SearchInput.tsx +0 -172
  150. package/src/blocks/SearchInput/index.ts +0 -1
  151. package/src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.stories.tsx +0 -73
  152. package/src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.tsx +0 -92
  153. package/src/blocks/SearchInputWithNavigation/index.ts +0 -1
  154. package/src/blocks/SplitButton/SplitButton.stories.tsx +0 -91
  155. package/src/blocks/SplitButton/SplitButton.tsx +0 -81
  156. package/src/blocks/SplitButton/index.ts +0 -1
  157. package/src/blocks/Tagger/TagItem.tsx +0 -32
  158. package/src/blocks/Tagger/TagSelectPopover/TagSelectCreateItem.tsx +0 -44
  159. package/src/blocks/Tagger/TagSelectPopover/TagSelectItem.tsx +0 -31
  160. package/src/blocks/Tagger/TagSelectPopover/TagSelectList.tsx +0 -67
  161. package/src/blocks/Tagger/TagSelectPopover/TagSelectPopover.tsx +0 -34
  162. package/src/blocks/Tagger/TagSelectPopover/TagSelectValue.tsx +0 -47
  163. package/src/blocks/Tagger/TagSelectPopover/index.ts +0 -1
  164. package/src/blocks/Tagger/Tagger.stories.tsx +0 -80
  165. package/src/blocks/Tagger/Tagger.tsx +0 -101
  166. package/src/blocks/Tagger/index.ts +0 -1
  167. package/src/blocks/Tagger/types.ts +0 -11
  168. package/src/blocks/Textarea/Textarea.stories.tsx +0 -47
  169. package/src/blocks/Textarea/Textarea.tsx +0 -50
  170. package/src/blocks/Textarea/index.ts +0 -1
  171. package/src/components/Alert/Alert.stories.tsx +0 -101
  172. package/src/components/Alert/Alert.tsx +0 -121
  173. package/src/components/Alert/AlertAction.tsx +0 -31
  174. package/src/components/Alert/AlertCollapsibleIcon.tsx +0 -25
  175. package/src/components/Alert/AlertDescription.tsx +0 -36
  176. package/src/components/Alert/AlertIcon.tsx +0 -40
  177. package/src/components/Alert/AlertRoot.tsx +0 -64
  178. package/src/components/Alert/AlertTitle.tsx +0 -25
  179. package/src/components/Alert/index.ts +0 -1
  180. package/src/components/Avatar.stories.tsx +0 -22
  181. package/src/components/Avatar.tsx +0 -88
  182. package/src/components/Badge/Badge.stories.tsx +0 -122
  183. package/src/components/Badge/Badge.tsx +0 -71
  184. package/src/components/Badge/BadgeAddon.tsx +0 -63
  185. package/src/components/Badge/BadgeButton.tsx +0 -40
  186. package/src/components/Badge/BadgeLabel.tsx +0 -37
  187. package/src/components/Badge/BadgeRoot.tsx +0 -21
  188. package/src/components/Badge/index.ts +0 -1
  189. package/src/components/Badge/styles.ts +0 -74
  190. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +0 -135
  191. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -23
  192. package/src/components/Breadcrumb/BreadcrumbEllipsis.tsx +0 -43
  193. package/src/components/Breadcrumb/BreadcrumbItem.tsx +0 -9
  194. package/src/components/Breadcrumb/BreadcrumbLink.tsx +0 -48
  195. package/src/components/Breadcrumb/BreadcrumbList.tsx +0 -26
  196. package/src/components/Breadcrumb/BreadcrumbPage.tsx +0 -22
  197. package/src/components/Breadcrumb/BreadcrumbSeparator.tsx +0 -28
  198. package/src/components/Breadcrumb/index.ts +0 -1
  199. package/src/components/Button/Button.stories.tsx +0 -80
  200. package/src/components/Button/Button.tsx +0 -110
  201. package/src/components/Button/ButtonInline.stories.tsx +0 -54
  202. package/src/components/Button/ButtonInline.tsx +0 -77
  203. package/src/components/Button/index.ts +0 -3
  204. package/src/components/Button/styles.ts +0 -313
  205. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +0 -140
  206. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -79
  207. package/src/components/ButtonGroup/index.ts +0 -1
  208. package/src/components/Calendar/Calendar.stories.tsx +0 -101
  209. package/src/components/Calendar/Calendar.tsx +0 -44
  210. package/src/components/Calendar/index.ts +0 -2
  211. package/src/components/Card/Card.stories.tsx +0 -60
  212. package/src/components/Card/Card.tsx +0 -42
  213. package/src/components/Card/CardContent.tsx +0 -5
  214. package/src/components/Card/CardHeader.tsx +0 -5
  215. package/src/components/Card/CardTitle.tsx +0 -13
  216. package/src/components/Card/index.ts +0 -1
  217. package/src/components/Card/styles.ts +0 -32
  218. package/src/components/Checkbox/Checkbox.stories.tsx +0 -210
  219. package/src/components/Checkbox/Checkbox.test.tsx +0 -140
  220. package/src/components/Checkbox/Checkbox.tsx +0 -83
  221. package/src/components/Checkbox/index.ts +0 -1
  222. package/src/components/Checkbox/styles.ts +0 -77
  223. package/src/components/Clipboard/Clipboard.stories.tsx +0 -44
  224. package/src/components/Clipboard/Clipboard.tsx +0 -89
  225. package/src/components/Clipboard/index.ts +0 -1
  226. package/src/components/CodeEditor/ButtonToolbar.tsx +0 -14
  227. package/src/components/CodeEditor/CodeEditor.tsx +0 -155
  228. package/src/components/CodeEditor/SqlEditor.stories.tsx +0 -76
  229. package/src/components/CodeEditor/SqlEditor.tsx +0 -206
  230. package/src/components/CodeEditor/ToggleComponentHelp.tsx +0 -7
  231. package/src/components/CodeEditor/activeQueryHighlight.test.ts +0 -178
  232. package/src/components/CodeEditor/activeQueryHighlight.ts +0 -245
  233. package/src/components/CodeEditor/helpers.ts +0 -100
  234. package/src/components/CodeEditor/highlighting.ts +0 -184
  235. package/src/components/CodeEditor/index.ts +0 -3
  236. package/src/components/CodeEditor/search.ts +0 -186
  237. package/src/components/Collapse.stories.tsx +0 -56
  238. package/src/components/Collapse.tsx +0 -61
  239. package/src/components/Collapsible/Collapsible.stories.tsx +0 -55
  240. package/src/components/Collapsible/Collapsible.tsx +0 -11
  241. package/src/components/Collapsible/CollapsibleContent.tsx +0 -25
  242. package/src/components/Collapsible/index.ts +0 -1
  243. package/src/components/CollapsiblePanel.stories.tsx +0 -25
  244. package/src/components/CollapsiblePanel.tsx +0 -127
  245. package/src/components/Combobox/Combobox.stories.tsx +0 -426
  246. package/src/components/Combobox/Combobox.test.tsx +0 -165
  247. package/src/components/Combobox/Combobox.tsx +0 -345
  248. package/src/components/Combobox/ComboboxChips.tsx +0 -68
  249. package/src/components/Combobox/ComboboxContent.tsx +0 -95
  250. package/src/components/Combobox/ComboboxEmpty.tsx +0 -30
  251. package/src/components/Combobox/ComboboxInput.tsx +0 -10
  252. package/src/components/Combobox/ComboboxInputGroup.tsx +0 -38
  253. package/src/components/Combobox/ComboboxItem.tsx +0 -70
  254. package/src/components/Combobox/ComboboxItemIndicator.tsx +0 -78
  255. package/src/components/Combobox/ComboboxList.tsx +0 -32
  256. package/src/components/Combobox/ComboboxRoot.tsx +0 -5
  257. package/src/components/Combobox/ComboboxSeparator.tsx +0 -20
  258. package/src/components/Combobox/Group/ComboboxCollection.tsx +0 -7
  259. package/src/components/Combobox/Group/ComboboxGroup.tsx +0 -23
  260. package/src/components/Combobox/Group/ComboboxGroupLabel.tsx +0 -38
  261. package/src/components/Combobox/Group/index.ts +0 -3
  262. package/src/components/Combobox/index.ts +0 -1
  263. package/src/components/Combobox/types.ts +0 -22
  264. package/src/components/Combobox/utils.test.ts +0 -95
  265. package/src/components/Combobox/utils.ts +0 -103
  266. package/src/components/Command/Command.stories.tsx +0 -367
  267. package/src/components/Command/Command.tsx +0 -37
  268. package/src/components/Command/CommandContent.tsx +0 -19
  269. package/src/components/Command/CommandEmpty.tsx +0 -6
  270. package/src/components/Command/CommandGroup.tsx +0 -26
  271. package/src/components/Command/CommandInput.tsx +0 -27
  272. package/src/components/Command/CommandItem/CheckIndicator.tsx +0 -86
  273. package/src/components/Command/CommandItem/CommandItem.tsx +0 -94
  274. package/src/components/Command/CommandItem/index.ts +0 -1
  275. package/src/components/Command/CommandList.tsx +0 -32
  276. package/src/components/Command/CommandSeparator.tsx +0 -13
  277. package/src/components/Command/index.ts +0 -6
  278. package/src/components/DatePicker/DatePicker.tsx +0 -37
  279. package/src/components/DatePicker/index.ts +0 -1
  280. package/src/components/DiffView/DiffView.stories.tsx +0 -80
  281. package/src/components/DiffView/DiffView.tsx +0 -131
  282. package/src/components/DiffView/DiffViewMark.tsx +0 -21
  283. package/src/components/DiffView/DiffViewTd.tsx +0 -84
  284. package/src/components/DiffView/DiffViewTh.tsx +0 -23
  285. package/src/components/DiffView/index.ts +0 -11
  286. package/src/components/DiffView/util.test.ts +0 -231
  287. package/src/components/DiffView/util.ts +0 -311
  288. package/src/components/DotsLoader.tsx +0 -22
  289. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +0 -310
  290. package/src/components/DropdownMenu/DropdownMenu.tsx +0 -61
  291. package/src/components/DropdownMenu/DropdownMenuCheckboxItem.tsx +0 -55
  292. package/src/components/DropdownMenu/DropdownMenuContent.tsx +0 -52
  293. package/src/components/DropdownMenu/DropdownMenuContext.tsx +0 -13
  294. package/src/components/DropdownMenu/DropdownMenuItem.tsx +0 -80
  295. package/src/components/DropdownMenu/DropdownMenuItemDescription.tsx +0 -42
  296. package/src/components/DropdownMenu/DropdownMenuItemIndicator.tsx +0 -104
  297. package/src/components/DropdownMenu/DropdownMenuLabel.tsx +0 -21
  298. package/src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.tsx +0 -31
  299. package/src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioItem.tsx +0 -67
  300. package/src/components/DropdownMenu/DropdownMenuRadioGroup/index.ts +0 -2
  301. package/src/components/DropdownMenu/DropdownMenuSeparator.tsx +0 -35
  302. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSub.tsx +0 -3
  303. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubContent.tsx +0 -21
  304. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubTrigger.tsx +0 -17
  305. package/src/components/DropdownMenu/DropdownMenuSub/index.ts +0 -3
  306. package/src/components/DropdownMenu/DropdownMenuTrigger.tsx +0 -19
  307. package/src/components/DropdownMenu/ItemIcon.tsx +0 -30
  308. package/src/components/DropdownMenu/index.ts +0 -1
  309. package/src/components/DropdownMenu/styles.ts +0 -82
  310. package/src/components/EmptySearchContent.stories.tsx +0 -12
  311. package/src/components/EmptySearchContent.tsx +0 -13
  312. package/src/components/FieldBox/FieldBox.stories.tsx +0 -138
  313. package/src/components/FieldBox/FieldBox.tsx +0 -43
  314. package/src/components/FieldBox/FieldBoxDescription.tsx +0 -18
  315. package/src/components/FieldBox/FieldBoxTitle.tsx +0 -20
  316. package/src/components/FieldBox/index.ts +0 -1
  317. package/src/components/FieldBox/styles.ts +0 -37
  318. package/src/components/FormGroup/FormGroup.stories.tsx +0 -120
  319. package/src/components/FormGroup/FormGroup.tsx +0 -48
  320. package/src/components/FormGroup/FormGroupColorInput.tsx +0 -15
  321. package/src/components/FormGroup/FormGroupHelp.tsx +0 -17
  322. package/src/components/FormGroup/FormGroupNumberInput.tsx +0 -15
  323. package/src/components/FormGroup/FormGroupTextInput.tsx +0 -15
  324. package/src/components/FormGroup/FormGroupTextarea.tsx +0 -12
  325. package/src/components/FormGroup/context.ts +0 -11
  326. package/src/components/FormGroup/index.ts +0 -2
  327. package/src/components/FormGroup/types.ts +0 -5
  328. package/src/components/FullScreenModal/FullScreenModal.tsx +0 -8
  329. package/src/components/FullScreenModal/FullScreenModalBody.tsx +0 -16
  330. package/src/components/FullScreenModal/FullScreenModalHeader.tsx +0 -92
  331. package/src/components/FullScreenModal/FullScreenModalRoot.tsx +0 -79
  332. package/src/components/FullScreenModal/index.ts +0 -3
  333. package/src/components/HelpBlock/HelpBlock.stories.tsx +0 -28
  334. package/src/components/HelpBlock/HelpBlock.tsx +0 -31
  335. package/src/components/HelpBlock/index.ts +0 -1
  336. package/src/components/HoverCard/HoverCard.stories.tsx +0 -77
  337. package/src/components/HoverCard/HoverCard.tsx +0 -13
  338. package/src/components/HoverCard/HoverCardContent.tsx +0 -68
  339. package/src/components/HoverCard/index.ts +0 -1
  340. package/src/components/Icon/Icon.stories.tsx +0 -26
  341. package/src/components/Icon/Icon.tsx +0 -10
  342. package/src/components/Icon/Icons.mdx +0 -28
  343. package/src/components/Icon/constants.ts +0 -1
  344. package/src/components/Icon/index.ts +0 -27
  345. package/src/components/Input/DateInput/DateInput.stories.tsx +0 -58
  346. package/src/components/Input/DateInput/DateInput.tsx +0 -143
  347. package/src/components/Input/DateInput/helpers.test.ts +0 -102
  348. package/src/components/Input/DateInput/helpers.ts +0 -59
  349. package/src/components/Input/DateInput/index.ts +0 -1
  350. package/src/components/Input/DateRangeInput/DateRangeInput.stories.tsx +0 -66
  351. package/src/components/Input/DateRangeInput/DateRangeInput.tsx +0 -139
  352. package/src/components/Input/DateRangeInput/helpers.test.ts +0 -146
  353. package/src/components/Input/DateRangeInput/helpers.ts +0 -36
  354. package/src/components/Input/DateRangeInput/index.ts +0 -1
  355. package/src/components/Input/Input.stories.tsx +0 -93
  356. package/src/components/Input/Input.test.tsx +0 -112
  357. package/src/components/Input/Input.tsx +0 -163
  358. package/src/components/Input/TextInput/TextInput.stories.tsx +0 -68
  359. package/src/components/Input/TextInput/TextInput.test.tsx +0 -52
  360. package/src/components/Input/TextInput/TextInput.tsx +0 -73
  361. package/src/components/Input/TextInput/index.ts +0 -1
  362. package/src/components/Input/TimeInput/TimeInput.stories.tsx +0 -89
  363. package/src/components/Input/TimeInput/TimeInput.tsx +0 -106
  364. package/src/components/Input/TimeInput/index.ts +0 -1
  365. package/src/components/Input/index.ts +0 -4
  366. package/src/components/Input/utils.ts +0 -11
  367. package/src/components/InputGroup/InputGroup.stories.tsx +0 -215
  368. package/src/components/InputGroup/InputGroup.tsx +0 -228
  369. package/src/components/InputGroup/InputGroupAddon.tsx +0 -57
  370. package/src/components/InputGroup/InputGroupButton.tsx +0 -25
  371. package/src/components/InputGroup/InputGroupInput.tsx +0 -34
  372. package/src/components/InputGroup/InputGroupText.tsx +0 -21
  373. package/src/components/InputGroup/InputGroupTextArea.tsx +0 -78
  374. package/src/components/InputGroup/index.ts +0 -1
  375. package/src/components/Kbd/Kbd.stories.tsx +0 -82
  376. package/src/components/Kbd/Kbd.tsx +0 -17
  377. package/src/components/Kbd/KbdGroup.tsx +0 -35
  378. package/src/components/Kbd/KbdSeparator.tsx +0 -9
  379. package/src/components/Kbd/index.ts +0 -3
  380. package/src/components/Kbd/keyboardKeys.ts +0 -40
  381. package/src/components/Kbd/styles.ts +0 -39
  382. package/src/components/Label/Label.stories.tsx +0 -53
  383. package/src/components/Label/Label.tsx +0 -31
  384. package/src/components/Label/index.ts +0 -1
  385. package/src/components/Link.stories.tsx +0 -19
  386. package/src/components/Link.tsx +0 -37
  387. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +0 -182
  388. package/src/components/MarkdownEditor/MarkdownEditor.test.ts +0 -171
  389. package/src/components/MarkdownEditor/MarkdownEditor.tsx +0 -245
  390. package/src/components/MarkdownEditor/context.ts +0 -10
  391. package/src/components/MarkdownEditor/index.ts +0 -1
  392. package/src/components/MarkdownEditor/nodes/ImageNode.tsx +0 -115
  393. package/src/components/MarkdownEditor/nodes/ImageNodeComponent.tsx +0 -18
  394. package/src/components/MarkdownEditor/nodes/MermaidNode.tsx +0 -72
  395. package/src/components/MarkdownEditor/nodes/MermaidNodeComponent.tsx +0 -35
  396. package/src/components/MarkdownEditor/plugins/ImagePastePlugin.tsx +0 -149
  397. package/src/components/MarkdownEditor/plugins/KeyboardPlugin.tsx +0 -81
  398. package/src/components/MarkdownEditor/plugins/MarkdownSyncPlugin.tsx +0 -65
  399. package/src/components/MarkdownEditor/plugins/ToolbarPlugin.tsx +0 -284
  400. package/src/components/MarkdownEditor/plugins/toolbar/AlignmentDropdown.tsx +0 -99
  401. package/src/components/MarkdownEditor/plugins/toolbar/BlockTypeDropdown.tsx +0 -142
  402. package/src/components/MarkdownEditor/plugins/toolbar/LinkPanel.tsx +0 -160
  403. package/src/components/MarkdownEditor/plugins/toolbar/ToolbarButton.tsx +0 -36
  404. package/src/components/MarkdownEditor/plugins/toolbar/ToolbarDivider.tsx +0 -1
  405. package/src/components/MarkdownEditor/theme.ts +0 -39
  406. package/src/components/MarkdownEditor/transformers.ts +0 -189
  407. package/src/components/MarkedText/MarkedText.stories.tsx +0 -46
  408. package/src/components/MarkedText/MarkedText.tsx +0 -36
  409. package/src/components/MarkedText/index.ts +0 -1
  410. package/src/components/MarkedText/utils.test.ts +0 -193
  411. package/src/components/MarkedText/utils.ts +0 -37
  412. package/src/components/MergeEditor/AcceptControls/AcceptButton.tsx +0 -25
  413. package/src/components/MergeEditor/AcceptControls/AcceptControls.tsx +0 -77
  414. package/src/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.tsx +0 -38
  415. package/src/components/MergeEditor/MergeEditor.stories.tsx +0 -226
  416. package/src/components/MergeEditor/MergeEditor.tsx +0 -125
  417. package/src/components/MergeEditor/MergePane.tsx +0 -113
  418. package/src/components/MergeEditor/PaneHeader.tsx +0 -11
  419. package/src/components/MergeEditor/constants.ts +0 -48
  420. package/src/components/MergeEditor/decorations.ts +0 -126
  421. package/src/components/MergeEditor/helpers.test.ts +0 -172
  422. package/src/components/MergeEditor/helpers.ts +0 -118
  423. package/src/components/MergeEditor/index.ts +0 -5
  424. package/src/components/MergeEditor/useMergeDiff.ts +0 -573
  425. package/src/components/MergeEditor/useScrollSync.ts +0 -79
  426. package/src/components/Modal/Modal.stories.tsx +0 -680
  427. package/src/components/Modal/Modal.tsx +0 -49
  428. package/src/components/Modal/ModalBody.tsx +0 -33
  429. package/src/components/Modal/ModalCloseIcon.tsx +0 -31
  430. package/src/components/Modal/ModalContent.tsx +0 -95
  431. package/src/components/Modal/ModalDescription.tsx +0 -20
  432. package/src/components/Modal/ModalFooter.tsx +0 -20
  433. package/src/components/Modal/ModalHeader.tsx +0 -61
  434. package/src/components/Modal/ModalIcon.tsx +0 -109
  435. package/src/components/Modal/ModalOverlay.tsx +0 -42
  436. package/src/components/Modal/ModalTitle.tsx +0 -12
  437. package/src/components/Modal/index.ts +0 -1
  438. package/src/components/Navbar/Navbar.stories.tsx +0 -191
  439. package/src/components/Navbar/Navbar.tsx +0 -80
  440. package/src/components/Navbar/NavbarContent.tsx +0 -20
  441. package/src/components/Navbar/NavbarFooter.tsx +0 -11
  442. package/src/components/Navbar/NavbarHeader.tsx +0 -11
  443. package/src/components/Navbar/NavbarMenu.tsx +0 -30
  444. package/src/components/Navbar/NavbarMenuAvatar.tsx +0 -67
  445. package/src/components/Navbar/NavbarMenuButton.tsx +0 -135
  446. package/src/components/Navbar/NavbarMenuItem.tsx +0 -9
  447. package/src/components/Navbar/NavbarMenuItemAdornment.tsx +0 -65
  448. package/src/components/Navbar/index.ts +0 -1
  449. package/src/components/Pagination/Pagination.stories.tsx +0 -131
  450. package/src/components/Pagination/Pagination.tsx +0 -34
  451. package/src/components/Pagination/PaginationButton.tsx +0 -36
  452. package/src/components/Pagination/PaginationContent.tsx +0 -12
  453. package/src/components/Pagination/PaginationEllipsis.tsx +0 -26
  454. package/src/components/Pagination/PaginationItem.tsx +0 -9
  455. package/src/components/Pagination/PaginationNext.tsx +0 -20
  456. package/src/components/Pagination/PaginationPrevious.tsx +0 -14
  457. package/src/components/Pagination/index.ts +0 -1
  458. package/src/components/PanelWithDetails.stories.tsx +0 -28
  459. package/src/components/PanelWithDetails.tsx +0 -65
  460. package/src/components/Popconfirm/Popconfirm.stories.tsx +0 -373
  461. package/src/components/Popconfirm/Popconfirm.tsx +0 -82
  462. package/src/components/Popconfirm/PopconfirmBody.tsx +0 -5
  463. package/src/components/Popconfirm/PopconfirmCancel.tsx +0 -45
  464. package/src/components/Popconfirm/PopconfirmConfirm.tsx +0 -57
  465. package/src/components/Popconfirm/PopconfirmContent.tsx +0 -33
  466. package/src/components/Popconfirm/PopconfirmFooter.tsx +0 -9
  467. package/src/components/Popconfirm/PopconfirmTrigger.tsx +0 -22
  468. package/src/components/Popconfirm/context.ts +0 -19
  469. package/src/components/Popconfirm/index.ts +0 -1
  470. package/src/components/Popover/Popover.stories.tsx +0 -85
  471. package/src/components/Popover/Popover.tsx +0 -15
  472. package/src/components/Popover/PopoverContent.tsx +0 -103
  473. package/src/components/Popover/index.ts +0 -1
  474. package/src/components/Progress/Progress.stories.tsx +0 -67
  475. package/src/components/Progress/Progress.tsx +0 -45
  476. package/src/components/Progress/index.ts +0 -1
  477. package/src/components/RadioGroup/Radio.tsx +0 -61
  478. package/src/components/RadioGroup/RadioGroup.stories.tsx +0 -300
  479. package/src/components/RadioGroup/RadioGroup.tsx +0 -64
  480. package/src/components/RadioGroup/RadioGroupItem.tsx +0 -60
  481. package/src/components/RadioGroup/RadioGroupItemButton.tsx +0 -79
  482. package/src/components/RadioGroup/RadioGroupSeparator.tsx +0 -12
  483. package/src/components/RadioGroup/context.ts +0 -13
  484. package/src/components/RadioGroup/index.ts +0 -1
  485. package/src/components/Resizable/Resizable.stories.tsx +0 -50
  486. package/src/components/Resizable/ResizableHandle.tsx +0 -50
  487. package/src/components/Resizable/ResizablePanel.tsx +0 -12
  488. package/src/components/Resizable/ResizablePanelGroup.tsx +0 -19
  489. package/src/components/Resizable/index.ts +0 -3
  490. package/src/components/ScrollArea/ScrollArea.stories.tsx +0 -43
  491. package/src/components/ScrollArea/ScrollArea.tsx +0 -50
  492. package/src/components/ScrollArea/ScrollBar.tsx +0 -32
  493. package/src/components/ScrollArea/index.ts +0 -2
  494. package/src/components/Search/ClearButton.tsx +0 -42
  495. package/src/components/Search/Search.stories.tsx +0 -77
  496. package/src/components/Search/Search.test.tsx +0 -224
  497. package/src/components/Search/Search.tsx +0 -139
  498. package/src/components/Search/SearchForm.tsx +0 -37
  499. package/src/components/Search/index.ts +0 -2
  500. package/src/components/Search/styles.ts +0 -88
  501. package/src/components/Search/utils.ts +0 -11
  502. package/src/components/Select/Select.stories.tsx +0 -109
  503. package/src/components/Select/Select.tsx +0 -141
  504. package/src/components/Select/SelectContent.tsx +0 -110
  505. package/src/components/Select/SelectGroup.tsx +0 -10
  506. package/src/components/Select/SelectItem.tsx +0 -72
  507. package/src/components/Select/SelectLabel.tsx +0 -32
  508. package/src/components/Select/SelectRoot.tsx +0 -6
  509. package/src/components/Select/SelectSeparator.tsx +0 -13
  510. package/src/components/Select/SelectTrigger.tsx +0 -161
  511. package/src/components/Select/index.ts +0 -1
  512. package/src/components/Separator/Separator.stories.tsx +0 -60
  513. package/src/components/Separator/Separator.test.tsx +0 -39
  514. package/src/components/Separator/Separator.tsx +0 -115
  515. package/src/components/Separator/index.ts +0 -1
  516. package/src/components/Sheet/Sheet.stories.tsx +0 -63
  517. package/src/components/Sheet/Sheet.tsx +0 -21
  518. package/src/components/Sheet/SheetBody.tsx +0 -12
  519. package/src/components/Sheet/SheetContent.tsx +0 -131
  520. package/src/components/Sheet/SheetFooter.tsx +0 -9
  521. package/src/components/Sheet/SheetHeader.tsx +0 -39
  522. package/src/components/Sheet/SheetOverlay.tsx +0 -11
  523. package/src/components/Sheet/SheetTitle.tsx +0 -12
  524. package/src/components/Sheet/index.ts +0 -1
  525. package/src/components/Sidebar/Sidebar.stories.tsx +0 -849
  526. package/src/components/Sidebar/Sidebar.tsx +0 -225
  527. package/src/components/Sidebar/SidebarContent.tsx +0 -61
  528. package/src/components/Sidebar/SidebarFillTrigger.tsx +0 -25
  529. package/src/components/Sidebar/SidebarFooter.tsx +0 -13
  530. package/src/components/Sidebar/SidebarGroup/SidebarGroup.tsx +0 -23
  531. package/src/components/Sidebar/SidebarGroup/SidebarGroupAction.tsx +0 -53
  532. package/src/components/Sidebar/SidebarGroup/SidebarGroupContent.tsx +0 -20
  533. package/src/components/Sidebar/SidebarGroup/SidebarGroupLabel.tsx +0 -76
  534. package/src/components/Sidebar/SidebarGroup/index.ts +0 -4
  535. package/src/components/Sidebar/SidebarHeader.tsx +0 -20
  536. package/src/components/Sidebar/SidebarInstanceContext.ts +0 -18
  537. package/src/components/Sidebar/SidebarMenu/SidebarMenu.tsx +0 -28
  538. package/src/components/Sidebar/SidebarMenu/SidebarMenuAction.tsx +0 -69
  539. package/src/components/Sidebar/SidebarMenu/SidebarMenuBadge.tsx +0 -56
  540. package/src/components/Sidebar/SidebarMenu/SidebarMenuButton.tsx +0 -110
  541. package/src/components/Sidebar/SidebarMenu/SidebarMenuCard.tsx +0 -108
  542. package/src/components/Sidebar/SidebarMenu/SidebarMenuIcon.tsx +0 -30
  543. package/src/components/Sidebar/SidebarMenu/SidebarMenuItem.tsx +0 -9
  544. package/src/components/Sidebar/SidebarMenu/SidebarMenuSub.tsx +0 -139
  545. package/src/components/Sidebar/SidebarMenu/SidebarMenuSubItem.tsx +0 -106
  546. package/src/components/Sidebar/SidebarMenu/SidebarSearchInput.tsx +0 -88
  547. package/src/components/Sidebar/SidebarMenu/index.ts +0 -10
  548. package/src/components/Sidebar/SidebarProvider/SidebarProvider.tsx +0 -171
  549. package/src/components/Sidebar/SidebarProvider/context.ts +0 -35
  550. package/src/components/Sidebar/SidebarProvider/index.ts +0 -2
  551. package/src/components/Sidebar/SidebarProvider/useHoverTracking.test.ts +0 -199
  552. package/src/components/Sidebar/SidebarProvider/useHoverTracking.ts +0 -72
  553. package/src/components/Sidebar/SidebarProvider/useSidebarState.ts +0 -50
  554. package/src/components/Sidebar/SidebarProvider/useTransitionPresence.test.ts +0 -179
  555. package/src/components/Sidebar/SidebarProvider/useTransitionPresence.ts +0 -53
  556. package/src/components/Sidebar/SidebarResizeHandle.tsx +0 -28
  557. package/src/components/Sidebar/SidebarSeparator.tsx +0 -15
  558. package/src/components/Sidebar/SidebarTrigger.tsx +0 -40
  559. package/src/components/Sidebar/index.ts +0 -3
  560. package/src/components/Sidebar/types.ts +0 -6
  561. package/src/components/Sidebar/useResizeSidebar.ts +0 -112
  562. package/src/components/Sidebar/utils.test.ts +0 -178
  563. package/src/components/Sidebar/utils.ts +0 -70
  564. package/src/components/Skeleton/Skeleton.stories.tsx +0 -106
  565. package/src/components/Skeleton/Skeleton.tsx +0 -77
  566. package/src/components/Skeleton/SkeletonList.stories.tsx +0 -11
  567. package/src/components/Skeleton/SkeletonList.tsx +0 -65
  568. package/src/components/Slider/Slider.stories.tsx +0 -99
  569. package/src/components/Slider/Slider.tsx +0 -85
  570. package/src/components/Slider/SliderThumb.tsx +0 -57
  571. package/src/components/Slider/SliderTrack.tsx +0 -49
  572. package/src/components/Slider/index.ts +0 -1
  573. package/src/components/Slider/useInteracting.test.ts +0 -159
  574. package/src/components/Slider/useInteracting.ts +0 -64
  575. package/src/components/Switch/Switch.stories.tsx +0 -177
  576. package/src/components/Switch/Switch.tsx +0 -58
  577. package/src/components/Switch/index.ts +0 -1
  578. package/src/components/Switch/styles.ts +0 -173
  579. package/src/components/Table/Table.stories.tsx +0 -328
  580. package/src/components/Table/Table.tsx +0 -68
  581. package/src/components/Table/TableBody.tsx +0 -22
  582. package/src/components/Table/TableCell.tsx +0 -7
  583. package/src/components/Table/TableFooter.tsx +0 -15
  584. package/src/components/Table/TableHead.tsx +0 -15
  585. package/src/components/Table/TableHeader.tsx +0 -20
  586. package/src/components/Table/TableRow.tsx +0 -11
  587. package/src/components/Table/index.ts +0 -1
  588. package/src/components/Tabs.stories.tsx +0 -123
  589. package/src/components/Tabs.tsx +0 -134
  590. package/src/components/ThemeProvider/AIGradientSvg.tsx +0 -18
  591. package/src/components/ThemeProvider/ThemeProvider.tsx +0 -25
  592. package/src/components/ThemeProvider/index.ts +0 -1
  593. package/src/components/TimePicker/TimePicker.tsx +0 -95
  594. package/src/components/TimePicker/TimePickerButton.tsx +0 -39
  595. package/src/components/TimePicker/index.ts +0 -1
  596. package/src/components/TimePicker/utils.ts +0 -31
  597. package/src/components/Timeline/Timeline.stories.tsx +0 -246
  598. package/src/components/Timeline/Timeline.tsx +0 -35
  599. package/src/components/Timeline/TimelineConnector.tsx +0 -158
  600. package/src/components/Timeline/TimelineContent.tsx +0 -18
  601. package/src/components/Timeline/TimelineItem.tsx +0 -14
  602. package/src/components/Timeline/index.ts +0 -1
  603. package/src/components/Timeline/useLastLineHeight.ts +0 -36
  604. package/src/components/Toast/Toast.stories.tsx +0 -178
  605. package/src/components/Toast/ToastAction.tsx +0 -40
  606. package/src/components/Toast/ToastDescription.tsx +0 -28
  607. package/src/components/Toast/ToastDismiss.tsx +0 -36
  608. package/src/components/Toast/ToastDuration.tsx +0 -43
  609. package/src/components/Toast/ToastRoot.tsx +0 -135
  610. package/src/components/Toast/ToastTitle.tsx +0 -33
  611. package/src/components/Toast/Toaster.tsx +0 -25
  612. package/src/components/Toast/index.ts +0 -3
  613. package/src/components/Toast/toast.tsx +0 -94
  614. package/src/components/Toast/useNotification.tsx +0 -33
  615. package/src/components/Toggle/Toggle.stories.tsx +0 -67
  616. package/src/components/Toggle/Toggle.tsx +0 -202
  617. package/src/components/Toggle/index.ts +0 -1
  618. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -60
  619. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -99
  620. package/src/components/ToggleGroup/index.ts +0 -1
  621. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  622. package/src/components/Tooltip/Tooltip.tsx +0 -110
  623. package/src/components/Tooltip/TooltipContent.tsx +0 -90
  624. package/src/components/Tooltip/TooltipRoot.tsx +0 -12
  625. package/src/components/Tooltip/TooltipTrigger.tsx +0 -42
  626. package/src/components/Tooltip/index.ts +0 -1
  627. package/src/components/Truncated.stories.tsx +0 -72
  628. package/src/components/Truncated.tsx +0 -78
  629. package/src/components/ZoomableSvg/ZoomableSvg.stories.tsx +0 -53
  630. package/src/components/ZoomableSvg/ZoomableSvg.tsx +0 -200
  631. package/src/components/ZoomableSvg/index.ts +0 -1
  632. package/src/constants/keyCodes.ts +0 -5
  633. package/src/docs/Colors.mdx +0 -19
  634. package/src/docs/Spacing.mdx +0 -35
  635. package/src/docs/Typography.mdx +0 -63
  636. package/src/docs/components/Typeset.tsx +0 -35
  637. package/src/hooks/useAutosizeInput.stories.tsx +0 -142
  638. package/src/hooks/useAutosizeInput.test.tsx +0 -77
  639. package/src/hooks/useAutosizeInput.tsx +0 -107
  640. package/src/hooks/useElement.ts +0 -16
  641. package/src/hooks/useScrollbarPosition.ts +0 -68
  642. package/src/icon-names.ts +0 -20
  643. package/src/icons/Keboola.tsx +0 -28
  644. package/src/icons/icons.stories.tsx +0 -174
  645. package/src/icons/index.ts +0 -188
  646. package/src/index.ts +0 -90
  647. package/src/patterns/AlertWithAction.stories.tsx +0 -30
  648. package/src/patterns/CardWithEmptyState.stories.tsx +0 -66
  649. package/src/patterns/ConfirmDialog.stories.tsx +0 -72
  650. package/src/patterns/CreatableMultiCombobox.stories.tsx +0 -33
  651. package/src/patterns/DataCardWithSkeleton.stories.tsx +0 -48
  652. package/src/patterns/DisabledButtonTooltip.stories.tsx +0 -30
  653. package/src/patterns/FilterToolbar.stories.tsx +0 -275
  654. package/src/patterns/InfoTooltip.stories.tsx +0 -56
  655. package/src/patterns/ListDetail.stories.tsx +0 -65
  656. package/src/patterns/ModalForm.stories.tsx +0 -59
  657. package/src/patterns/PageHeaderTabs.stories.tsx +0 -48
  658. package/src/utils/classNames.test.ts +0 -16
  659. package/src/utils/classNames.ts +0 -27
  660. package/src/utils/copyToClipboard.ts +0 -3
  661. package/src/utils/createChangeInputEvent.ts +0 -28
  662. package/src/utils/createPrefixedString.ts +0 -2
  663. package/src/utils/debounce.test.ts +0 -63
  664. package/src/utils/debounce.ts +0 -17
  665. package/src/utils/decorators.tsx +0 -16
  666. package/src/utils/escapeStringRegexp.ts +0 -4
  667. package/src/utils/index.ts +0 -11
  668. package/src/utils/isMac.ts +0 -26
  669. package/src/utils/legacyIcon.tsx +0 -28
  670. package/src/utils/mergeRefs.ts +0 -23
  671. package/src/utils/noop.ts +0 -1
  672. package/src/utils/useSHA256.ts +0 -21
  673. package/src/vite-env.d.ts +0 -1
@@ -1,350 +0,0 @@
1
- import { type KeyboardEvent, type ReactNode, useState } from 'react';
2
-
3
- import { Button } from '../../components/Button';
4
- import { Checkbox } from '../../components/Checkbox';
5
- import { TextInput } from '../../components/Input';
6
- import { Progress } from '../../components/Progress';
7
- import { Tooltip } from '../../components/Tooltip';
8
- import { ChevronLeft, ChevronRight, X } from '../../icons';
9
- import { cn } from '../../utils';
10
-
11
- type QuestionOption = {
12
- id: string;
13
- label: string;
14
- description?: string;
15
- preview?: string;
16
- };
17
-
18
- type Props = {
19
- question: string;
20
- header?: string;
21
- options: readonly QuestionOption[];
22
- multiSelect?: boolean;
23
- selectedOptionIds?: readonly string[];
24
- onSelectionChange?: (selectedIds: readonly string[]) => void;
25
- customAnswer?: string;
26
- onCustomAnswerChange?: (value: string) => void;
27
- onCustomAnswerConfirm?: () => void;
28
- showCustomAnswer?: boolean;
29
- customAnswerPlaceholder?: string;
30
- showSkip?: boolean;
31
- onSkip?: () => void;
32
- onClose?: () => void;
33
- onNext?: () => void;
34
- submitTooltip?: ReactNode;
35
- onPrevious?: () => void;
36
- currentStep?: number;
37
- totalSteps?: number;
38
- renderPreview?: (content: string) => ReactNode;
39
- className?: string;
40
- };
41
-
42
- const handleKeyDown = (callback: () => void) => (e: KeyboardEvent) => {
43
- if (e.key === 'Enter' || e.key === ' ') {
44
- e.preventDefault();
45
- callback();
46
- }
47
- };
48
-
49
- export const Question = ({
50
- question,
51
- header,
52
- options,
53
- multiSelect = true,
54
- selectedOptionIds = [],
55
- onSelectionChange,
56
- customAnswer = '',
57
- onCustomAnswerChange,
58
- onCustomAnswerConfirm,
59
- showCustomAnswer = true,
60
- customAnswerPlaceholder = 'Type your answer…',
61
- showSkip = true,
62
- onSkip,
63
- onClose,
64
- onNext,
65
- submitTooltip,
66
- onPrevious,
67
- currentStep,
68
- totalSteps,
69
- renderPreview,
70
- className,
71
- }: Props) => {
72
- const [isCustomExpanded, setIsCustomExpanded] = useState(false);
73
- const isCustomSelected = isCustomExpanded || customAnswer.length > 0;
74
- const hasSteps = currentStep != null && totalSteps != null;
75
- const progressValue = hasSteps ? (currentStep / totalSteps) * 100 : 0;
76
- const isFirstStep = currentStep === 1;
77
- const isLastStep = hasSteps && currentStep === totalSteps;
78
-
79
- const handleOptionToggle = (optionId: string) => {
80
- if (multiSelect) {
81
- const isSelected = selectedOptionIds.includes(optionId);
82
- const nextIds = isSelected
83
- ? selectedOptionIds.filter((id) => id !== optionId)
84
- : [...selectedOptionIds, optionId];
85
- onSelectionChange?.(nextIds);
86
- } else {
87
- // Single-select: picking a real option deselects "Other" and drops any
88
- // typed custom answer so it can't leak into the submitted answer.
89
- setIsCustomExpanded(false);
90
- onCustomAnswerChange?.('');
91
- onSelectionChange?.([optionId]);
92
- }
93
- };
94
-
95
- const handleCustomToggle = (checked: boolean) => {
96
- setIsCustomExpanded(checked);
97
- if (checked) {
98
- // Single-select: "Other" and a real option are mutually exclusive.
99
- if (!multiSelect) {
100
- onSelectionChange?.([]);
101
- }
102
- } else {
103
- onCustomAnswerChange?.('');
104
- }
105
- };
106
-
107
- // Typing into (or focusing) the custom input selects "Other" directly — no
108
- // need to click the row/checkbox first.
109
- const handleCustomFocus = () => {
110
- setIsCustomExpanded(true);
111
- if (!multiSelect) {
112
- onSelectionChange?.([]);
113
- }
114
- };
115
-
116
- const handleCustomRowClick = () => {
117
- // Multi-select: the row toggles the checkbox. Single-select: clicking only
118
- // selects (never deselects, so a second click can't wipe typed text) —
119
- // switch away by picking a real option instead.
120
- if (multiSelect) {
121
- handleCustomToggle(!isCustomSelected);
122
- } else {
123
- handleCustomFocus();
124
- }
125
- };
126
-
127
- return (
128
- <div
129
- className={cn(
130
- 'tw-flex tw-max-w-[800px] tw-flex-col tw-gap-4 tw-overflow-hidden tw-rounded-xl tw-border tw-border-solid tw-border-border tw-bg-neutral-50 tw-shadow-lg',
131
- className,
132
- )}
133
- data-testid="question-root"
134
- data-question-step={currentStep}
135
- data-question-total-steps={totalSteps}
136
- data-question-multi-select={multiSelect}
137
- >
138
- <div className="tw-flex tw-items-start tw-gap-2 tw-pl-4 tw-pr-2 tw-pt-4">
139
- <div className="tw-flex tw-min-w-0 tw-flex-1 tw-flex-col tw-gap-1">
140
- <p className="tw-m-0 tw-text-base tw-font-semibold tw-leading-6 tw-text-neutral-800">
141
- {question}
142
- </p>
143
- {header && <p className="tw-m-0 tw-text-xs tw-leading-4 tw-text-neutral-500">{header}</p>}
144
- </div>
145
- {onClose && (
146
- <Button
147
- argo
148
- variant="outline"
149
- size="icon-sm"
150
- aria-label="Close"
151
- onClick={onClose}
152
- data-testid="question-close-button"
153
- >
154
- <X className="tw-size-4" />
155
- </Button>
156
- )}
157
- </div>
158
-
159
- <div className="tw-px-4">
160
- <div className="tw-flex tw-flex-col tw-gap-4 tw-border-0 tw-border-l tw-border-solid tw-border-primary tw-px-4 tw-py-2">
161
- {options.map((option) => (
162
- <div
163
- key={option.id}
164
- className="tw--mx-2 tw--my-1.5 tw-flex tw-cursor-pointer tw-items-start tw-gap-2 tw-rounded-md tw-px-2 tw-py-1.5 hover:tw-bg-neutral-100"
165
- onClick={() => handleOptionToggle(option.id)}
166
- onKeyDown={handleKeyDown(() => handleOptionToggle(option.id))}
167
- role="button"
168
- tabIndex={0}
169
- data-testid={`question-option-${option.id}`}
170
- >
171
- {multiSelect && (
172
- <Checkbox
173
- checked={selectedOptionIds.includes(option.id)}
174
- onCheckedChange={() => handleOptionToggle(option.id)}
175
- onClick={(e) => e.stopPropagation()}
176
- className="tw-shrink-0"
177
- />
178
- )}
179
- <div className="tw-flex tw-min-w-0 tw-flex-1 tw-items-start tw-gap-3">
180
- <div className="tw-flex tw-flex-col tw-gap-1.5">
181
- <span className="tw-text-sm tw-font-medium tw-leading-none tw-text-neutral-800">
182
- {option.label}
183
- </span>
184
- {option.description && (
185
- <span className="tw-text-sm tw-font-normal tw-leading-5 tw-text-muted-foreground">
186
- {option.description}
187
- </span>
188
- )}
189
- </div>
190
- {option.preview && (
191
- <div
192
- className={cn(
193
- 'tw-ml-auto tw-flex tw-max-h-40 tw-min-w-0 tw-max-w-[50%] tw-flex-col tw-overflow-hidden tw-rounded-md',
194
- !renderPreview &&
195
- 'tw-overflow-auto tw-border tw-border-solid tw-border-neutral-200 tw-bg-white tw-p-2',
196
- )}
197
- >
198
- {renderPreview ? (
199
- renderPreview(option.preview)
200
- ) : (
201
- <pre className="tw-m-0 tw-overflow-visible tw-border-0 tw-bg-transparent tw-p-0 tw-font-mono tw-text-xs tw-leading-5 tw-text-neutral-700">
202
- {option.preview}
203
- </pre>
204
- )}
205
- </div>
206
- )}
207
- </div>
208
- </div>
209
- ))}
210
-
211
- {showCustomAnswer && (
212
- <div className="tw-flex tw-flex-col tw-gap-2">
213
- <div
214
- className="tw--mx-2 tw--my-1.5 tw-flex tw-cursor-pointer tw-items-start tw-gap-2 tw-rounded-md tw-px-2 tw-py-1.5 hover:tw-bg-neutral-100"
215
- onClick={handleCustomRowClick}
216
- onKeyDown={handleKeyDown(handleCustomRowClick)}
217
- role="button"
218
- tabIndex={0}
219
- >
220
- {/* Multi-select shows a checkbox alongside the option checkboxes.
221
- Single-select options auto-advance and carry no indicator, so
222
- "Other" is a plain clickable row that reveals the input below. */}
223
- {multiSelect && (
224
- <Checkbox
225
- checked={isCustomSelected}
226
- onCheckedChange={handleCustomToggle}
227
- onClick={(e) => e.stopPropagation()}
228
- className="tw-shrink-0"
229
- />
230
- )}
231
- <span
232
- className={cn(
233
- 'tw-text-sm tw-font-medium tw-leading-none',
234
- !multiSelect && isCustomSelected ? 'tw-text-primary' : 'tw-text-neutral-800',
235
- )}
236
- >
237
- Other
238
- </span>
239
- </div>
240
- {/* Always rendered and editable: typing or focusing selects "Other"
241
- directly, and keeping it mounted avoids layout shift. */}
242
- <TextInput
243
- value={customAnswer}
244
- onValueChange={(value) => onCustomAnswerChange?.(value)}
245
- onFocus={handleCustomFocus}
246
- onKeyDown={
247
- onCustomAnswerConfirm
248
- ? (e: KeyboardEvent<HTMLInputElement>) => {
249
- if (e.key === 'Enter' && !e.shiftKey && !(e.metaKey || e.ctrlKey)) {
250
- e.preventDefault();
251
- onCustomAnswerConfirm();
252
- }
253
- }
254
- : undefined
255
- }
256
- placeholder={customAnswerPlaceholder}
257
- sizing="small"
258
- testId="question-custom"
259
- />
260
- </div>
261
- )}
262
- </div>
263
- </div>
264
-
265
- <div className="tw-flex tw-flex-col">
266
- {hasSteps && <Progress size="sm" value={progressValue} className="tw-rounded-none" />}
267
-
268
- <div
269
- className={cn(
270
- 'tw-flex tw-items-center tw-justify-end tw-gap-4 tw-px-4 tw-py-3',
271
- !hasSteps && 'tw-border-0 tw-border-t tw-border-solid tw-border-neutral-100',
272
- )}
273
- >
274
- {hasSteps && (
275
- <div className="tw-flex tw-items-center tw-gap-2">
276
- <button
277
- type="button"
278
- disabled={isFirstStep}
279
- className="tailwindcss-preflight tw-flex tw-cursor-pointer tw-items-center tw-justify-center tw-bg-transparent tw-p-0 disabled:tw-cursor-default"
280
- onClick={onPrevious}
281
- aria-label="Previous step"
282
- >
283
- <ChevronLeft
284
- className={cn(
285
- 'tw-size-5',
286
- isFirstStep ? 'tw-text-primary/25' : 'tw-text-primary',
287
- )}
288
- />
289
- </button>
290
- <span className="tw-text-xs tw-leading-4 tw-text-neutral-500">
291
- {currentStep} of {totalSteps}
292
- </span>
293
- <button
294
- type="button"
295
- disabled={currentStep === totalSteps}
296
- className="tailwindcss-preflight tw-flex tw-cursor-pointer tw-items-center tw-justify-center tw-bg-transparent tw-p-0 disabled:tw-cursor-default"
297
- onClick={onNext}
298
- aria-label="Next step"
299
- >
300
- <ChevronRight
301
- className={cn(
302
- 'tw-size-5',
303
- currentStep === totalSteps ? 'tw-text-primary/25' : 'tw-text-primary',
304
- )}
305
- />
306
- </button>
307
- </div>
308
- )}
309
- {showSkip && onSkip && (
310
- <Button
311
- argo
312
- variant="outline"
313
- size="small"
314
- onClick={onSkip}
315
- data-testid="question-skip-button"
316
- >
317
- Skip
318
- </Button>
319
- )}
320
- {(multiSelect || isCustomSelected) &&
321
- (submitTooltip ? (
322
- <Tooltip tooltip={submitTooltip} placement="top" triggerAsChild>
323
- <Button
324
- argo
325
- variant="primary"
326
- size="small"
327
- onClick={onNext}
328
- data-testid="question-next-button"
329
- >
330
- {isLastStep ? 'Submit' : 'Next'}
331
- </Button>
332
- </Tooltip>
333
- ) : (
334
- <Button
335
- argo
336
- variant="primary"
337
- size="small"
338
- onClick={onNext}
339
- data-testid="question-next-button"
340
- >
341
- {isLastStep ? 'Submit' : 'Next'}
342
- </Button>
343
- ))}
344
- </div>
345
- </div>
346
- </div>
347
- );
348
- };
349
-
350
- export type { QuestionOption, Props as QuestionProps };
@@ -1,99 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import type { QuestionStep } from './QuestionBlock';
4
- import { QuestionBlock } from './QuestionBlock';
5
-
6
- const steps: [QuestionStep, ...QuestionStep[]] = [
7
- {
8
- question: 'What kind of transformation do you need?',
9
- header: 'Select all that apply',
10
- options: [
11
- {
12
- id: 'aggregation',
13
- label: 'Aggregation / Summarization',
14
- description: 'Group, sum, average, count, data',
15
- },
16
- {
17
- id: 'joining',
18
- label: 'Joining / Merging tables',
19
- description: 'Combine multiple tables together',
20
- },
21
- {
22
- id: 'filtering',
23
- label: 'Filtering / Cleaning',
24
- description: 'Remove duplicates, filter rows, fix data quality',
25
- },
26
- {
27
- id: 'custom-logic',
28
- label: 'Custom business logic',
29
- description: 'Apply specific calculations or business rules',
30
- },
31
- {
32
- id: 'not-sure',
33
- label: 'Not sure yet',
34
- description: "I'd like to explore the data first and decide",
35
- },
36
- ],
37
- showCustomAnswer: true,
38
- multiSelect: true,
39
- },
40
- {
41
- question: 'How often should this run?',
42
- header: 'Pick one',
43
- options: [
44
- { id: 'hourly', label: 'Hourly', description: 'Run every hour' },
45
- { id: 'daily', label: 'Daily', description: 'Run once a day' },
46
- { id: 'weekly', label: 'Weekly', description: 'Run once a week' },
47
- { id: 'manual', label: 'Manual', description: 'Only when triggered' },
48
- ],
49
- multiSelect: false,
50
- },
51
- {
52
- question: 'Where should we write the output?',
53
- header: 'Select destination',
54
- options: [
55
- { id: 'new-table', label: 'New table', description: 'Create a fresh output table' },
56
- {
57
- id: 'existing',
58
- label: 'Existing table',
59
- description: 'Append to or replace an existing table',
60
- },
61
- {
62
- id: 'multiple',
63
- label: 'Multiple tables',
64
- description: 'Split output across several tables',
65
- },
66
- ],
67
- multiSelect: false,
68
- },
69
- ];
70
-
71
- const meta: Meta<typeof QuestionBlock> = {
72
- title: 'AI Kit/QuestionBlock',
73
- component: QuestionBlock,
74
- args: {
75
- steps,
76
- showSkip: true,
77
- },
78
- decorators: [
79
- (Story) => (
80
- <div style={{ maxWidth: 800 }}>
81
- <Story />
82
- </div>
83
- ),
84
- ],
85
- };
86
-
87
- export default meta;
88
-
89
- type Story = StoryObj<typeof QuestionBlock>;
90
-
91
- export const Default: Story = {
92
- render: (args) => (
93
- <QuestionBlock
94
- {...args}
95
- onSubmit={(answers) => alert(JSON.stringify(answers, null, 2))}
96
- onClose={() => alert('Close')}
97
- />
98
- ),
99
- };
@@ -1,83 +0,0 @@
1
- import { type ReactNode, useState } from 'react';
2
-
3
- import type { QuestionOption } from './Question';
4
- import { Question } from './Question';
5
-
6
- type QuestionStep = {
7
- question: string;
8
- header?: string;
9
- options: readonly QuestionOption[];
10
- multiSelect?: boolean;
11
- showCustomAnswer?: boolean;
12
- customAnswerPlaceholder?: string;
13
- };
14
-
15
- type QuestionAnswers = {
16
- selections: Record<number, readonly string[]>;
17
- customAnswers: Record<number, string>;
18
- };
19
-
20
- type Props = {
21
- steps: readonly [QuestionStep, ...QuestionStep[]];
22
- showSkip?: boolean;
23
- onSubmit?: (answers: QuestionAnswers) => void;
24
- onClose?: () => void;
25
- renderPreview?: (content: string) => ReactNode;
26
- className?: string;
27
- };
28
-
29
- export const QuestionBlock = ({
30
- steps,
31
- showSkip = true,
32
- onSubmit,
33
- onClose,
34
- renderPreview,
35
- className,
36
- }: Props) => {
37
- const [currentStep, setCurrentStep] = useState(1);
38
- const [selections, setSelections] = useState<Record<number, readonly string[]>>({});
39
- const [customAnswers, setCustomAnswers] = useState<Record<number, string>>({});
40
- const stepData = steps[currentStep - 1]!;
41
- const isLastStep = currentStep === steps.length;
42
-
43
- const advance = (updatedSelections?: Record<number, readonly string[]>) => {
44
- const finalSelections = updatedSelections ?? selections;
45
- if (isLastStep) {
46
- onSubmit?.({ selections: finalSelections, customAnswers });
47
- } else {
48
- setCurrentStep((s) => Math.min(s + 1, steps.length));
49
- }
50
- };
51
-
52
- const handleSelectionChange = (ids: readonly string[]) => {
53
- const updated = { ...selections, [currentStep]: ids };
54
- setSelections(updated);
55
- if (!stepData.multiSelect) {
56
- advance(updated);
57
- }
58
- };
59
-
60
- return (
61
- <Question
62
- key={currentStep}
63
- {...stepData}
64
- selectedOptionIds={selections[currentStep] ?? []}
65
- onSelectionChange={handleSelectionChange}
66
- customAnswer={customAnswers[currentStep] ?? ''}
67
- onCustomAnswerChange={(value) =>
68
- setCustomAnswers((prev) => ({ ...prev, [currentStep]: value }))
69
- }
70
- currentStep={currentStep}
71
- totalSteps={steps.length}
72
- showSkip={showSkip && !isLastStep}
73
- onNext={() => advance()}
74
- onPrevious={() => setCurrentStep((s) => Math.max(s - 1, 1))}
75
- onSkip={() => setCurrentStep((s) => Math.min(s + 1, steps.length))}
76
- onClose={onClose}
77
- renderPreview={renderPreview}
78
- className={className}
79
- />
80
- );
81
- };
82
-
83
- export type { QuestionStep, QuestionAnswers, Props as QuestionBlockProps };
@@ -1,82 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { Play } from '../../icons';
4
-
5
- import { SuggestedPrompt } from './SuggestedPrompt';
6
-
7
- const meta: Meta<typeof SuggestedPrompt> = {
8
- title: 'AI Kit/SuggestedPrompt',
9
- component: SuggestedPrompt,
10
- parameters: {
11
- layout: 'padded',
12
- },
13
- argTypes: {
14
- disabled: {
15
- control: 'boolean',
16
- description: 'Whether the button is disabled',
17
- },
18
- onClick: {
19
- action: 'clicked',
20
- description: 'Callback when the suggestion is clicked',
21
- },
22
- },
23
- };
24
-
25
- export default meta;
26
- type Story = StoryObj<typeof SuggestedPrompt>;
27
-
28
- export const Default: Story = {
29
- args: {
30
- label: 'What can you help me with?',
31
- disabled: false,
32
- },
33
- };
34
-
35
- export const Disabled: Story = {
36
- args: {
37
- label: 'What can you help me with?',
38
- disabled: true,
39
- },
40
- };
41
-
42
- export const LongLabel: Story = {
43
- render: () => (
44
- <div className="tw-w-64">
45
- <SuggestedPrompt
46
- label="Help me analyze my data and create a visualization dashboard with charts and graphs"
47
- onClick={() => console.log('Clicked')}
48
- />
49
- </div>
50
- ),
51
- };
52
-
53
- export const WithCustomIcon: Story = {
54
- args: {
55
- label: 'Run a transformation',
56
- icon: <Play className="tw-size-4 tw-shrink-0 tw-basis-4 tw-text-secondary-500" />,
57
- disabled: false,
58
- },
59
- };
60
-
61
- export const MultiplePrompts: Story = {
62
- render: () => {
63
- const labels = [
64
- 'What can you help me with?',
65
- 'Analyze my data',
66
- 'Create a new transformation',
67
- 'Show me recent jobs',
68
- ];
69
-
70
- return (
71
- <div className="tw-flex tw-flex-col tw-gap-1">
72
- {labels.map((label) => (
73
- <SuggestedPrompt
74
- key={label}
75
- label={label}
76
- onClick={() => console.log('Clicked:', label)}
77
- />
78
- ))}
79
- </div>
80
- );
81
- },
82
- };
@@ -1,42 +0,0 @@
1
- import type { ReactNode } from 'react';
2
-
3
- import { FileText } from '../../icons';
4
- import { cn } from '../../utils';
5
-
6
- type Props = {
7
- label: string;
8
- disabled?: boolean;
9
- onClick: () => void;
10
- icon?: ReactNode;
11
- className?: string;
12
- };
13
-
14
- export const SuggestedPrompt = ({ label, disabled, onClick, icon, className }: Props) => {
15
- return (
16
- <button
17
- type="button"
18
- disabled={disabled}
19
- className={cn(
20
- 'tw-group tailwindcss-preflight tw-flex tw-items-center tw-justify-start tw-gap-2 tw-whitespace-nowrap tw-rounded-lg tw-p-2 tw-text-left tw-text-sm tw-font-medium tw-text-neutral-600 tw-transition-colors not-disabled:hover:tw-bg-neutral-100 disabled:tw-cursor-not-allowed disabled:tw-opacity-50',
21
- className,
22
- )}
23
- onClick={onClick}
24
- >
25
- {icon ?? (
26
- <FileText
27
- className={cn(
28
- 'tw-size-4 tw-shrink-0 tw-basis-4',
29
- // Lucide icons are stroke-based — paint the visible line with the
30
- // AI gradient (no fill, so the glyph keeps its outline silhouette
31
- // instead of becoming a solid block). The `*` selector catches
32
- // every shape element (path, circle, polyline, …) so multi-part
33
- // icons don't lose sub-shapes the way `path`-only selectors do.
34
- '[&_*]:tw-stroke-aigradient-600',
35
- 'group-not-disabled:group-hover:[&_*]:tw-stroke-secondary-600',
36
- )}
37
- />
38
- )}
39
- <div className="tw-whitespace-normal tw-text-left">{label}</div>
40
- </button>
41
- );
42
- };
@@ -1,21 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
-
3
- import { ThinkingIndicator } from './ThinkingIndicator';
4
-
5
- export default {
6
- title: 'AI Kit/ThinkingIndicator',
7
- component: ThinkingIndicator,
8
- args: {
9
- label: 'Thinking...',
10
- },
11
- } satisfies Meta<typeof ThinkingIndicator>;
12
-
13
- type Story = StoryObj<typeof ThinkingIndicator>;
14
-
15
- export const Default: Story = {};
16
-
17
- export const CustomLabel: Story = {
18
- args: {
19
- label: 'Processing...',
20
- },
21
- };
@@ -1,14 +0,0 @@
1
- import { Loader2 } from '../../icons';
2
-
3
- type ThinkingIndicatorProps = {
4
- label?: string;
5
- };
6
-
7
- export const ThinkingIndicator = ({ label = 'Thinking...' }: ThinkingIndicatorProps) => {
8
- return (
9
- <div className="tw-flex tw-items-center tw-gap-2" data-testid="chat-thinking-indicator">
10
- <Loader2 className="tw-size-4 tw-animate-spin tw-text-secondary-500" />
11
- <span className="tw-text-sm tw-italic tw-text-secondary-500">{label}</span>
12
- </div>
13
- );
14
- };