@keboola/design 2.0.1 → 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 (663) 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 +4 -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 +127 -97
  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 +163 -133
  13. package/dist/index.js.map +1 -1
  14. package/dist/markdown-editor.cjs +30 -33
  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 +30 -33
  19. package/dist/markdown-editor.js.map +1 -1
  20. package/dist/mermaid.cjs +18 -14
  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 +18 -14
  25. package/dist/mermaid.js.map +1 -1
  26. package/dist/styles.css +1 -1
  27. package/package.json +79 -9
  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 -162
  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/InputOtp/InputOtp.stories.tsx +0 -214
  96. package/src/blocks/InputOtp/InputOtp.test.tsx +0 -162
  97. package/src/blocks/InputOtp/InputOtp.tsx +0 -62
  98. package/src/blocks/InputOtp/InputOtpGroup.tsx +0 -13
  99. package/src/blocks/InputOtp/InputOtpSeparator.tsx +0 -23
  100. package/src/blocks/InputOtp/InputOtpSlot.styles.ts +0 -52
  101. package/src/blocks/InputOtp/InputOtpSlot.tsx +0 -44
  102. package/src/blocks/InputOtp/context.ts +0 -23
  103. package/src/blocks/InputOtp/index.ts +0 -23
  104. package/src/blocks/MermaidDiagram/MermaidDiagram.stories.tsx +0 -87
  105. package/src/blocks/MermaidDiagram/MermaidDiagram.tsx +0 -266
  106. package/src/blocks/MermaidDiagram/index.ts +0 -1
  107. package/src/blocks/MultiActionButtonGroup/MultiActionButton.stories.tsx +0 -119
  108. package/src/blocks/MultiActionButtonGroup/MultiActionButton.tsx +0 -41
  109. package/src/blocks/MultiActionButtonGroup/MultiActionButtonGroup.tsx +0 -16
  110. package/src/blocks/MultiActionButtonGroup/index.ts +0 -1
  111. package/src/blocks/MultiCombobox/MultiCombobox.stories.tsx +0 -324
  112. package/src/blocks/MultiCombobox/MultiCombobox.tsx +0 -257
  113. package/src/blocks/MultiCombobox/index.ts +0 -1
  114. package/src/blocks/NumberInput/NumberInput.stories.tsx +0 -112
  115. package/src/blocks/NumberInput/NumberInput.test.tsx +0 -148
  116. package/src/blocks/NumberInput/NumberInput.tsx +0 -89
  117. package/src/blocks/NumberInput/index.ts +0 -1
  118. package/src/blocks/PageHeader/AGENTS.md +0 -137
  119. package/src/blocks/PageHeader/PageHeader.stories.tsx +0 -371
  120. package/src/blocks/PageHeader/PageHeader.tsx +0 -22
  121. package/src/blocks/PageHeader/PageHeaderDetail.tsx +0 -84
  122. package/src/blocks/PageHeader/PageHeaderIndex.tsx +0 -75
  123. package/src/blocks/PageHeader/index.ts +0 -1
  124. package/src/blocks/PageHeader/styles.ts +0 -6
  125. package/src/blocks/PageLayout/AGENTS.md +0 -94
  126. package/src/blocks/PageLayout/PageLayout.stories.tsx +0 -146
  127. package/src/blocks/PageLayout/PageLayout.tsx +0 -139
  128. package/src/blocks/PageLayout/index.ts +0 -1
  129. package/src/blocks/PageToolbar/PageToolbar.stories.tsx +0 -353
  130. package/src/blocks/PageToolbar/PageToolbar.tsx +0 -160
  131. package/src/blocks/PageToolbar/PageToolbarToken.tsx +0 -61
  132. package/src/blocks/PageToolbar/index.ts +0 -1
  133. package/src/blocks/PasswordInput/PasswordInput.stories.tsx +0 -114
  134. package/src/blocks/PasswordInput/PasswordInput.test.tsx +0 -219
  135. package/src/blocks/PasswordInput/PasswordInput.tsx +0 -180
  136. package/src/blocks/PasswordInput/index.ts +0 -1
  137. package/src/blocks/SearchInput/SearchInput.stories.tsx +0 -127
  138. package/src/blocks/SearchInput/SearchInput.test.tsx +0 -162
  139. package/src/blocks/SearchInput/SearchInput.tsx +0 -172
  140. package/src/blocks/SearchInput/index.ts +0 -1
  141. package/src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.stories.tsx +0 -73
  142. package/src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.tsx +0 -92
  143. package/src/blocks/SearchInputWithNavigation/index.ts +0 -1
  144. package/src/blocks/SplitButton/SplitButton.stories.tsx +0 -91
  145. package/src/blocks/SplitButton/SplitButton.tsx +0 -81
  146. package/src/blocks/SplitButton/index.ts +0 -1
  147. package/src/blocks/Tagger/TagItem.tsx +0 -32
  148. package/src/blocks/Tagger/TagSelectPopover/TagSelectCreateItem.tsx +0 -44
  149. package/src/blocks/Tagger/TagSelectPopover/TagSelectItem.tsx +0 -31
  150. package/src/blocks/Tagger/TagSelectPopover/TagSelectList.tsx +0 -67
  151. package/src/blocks/Tagger/TagSelectPopover/TagSelectPopover.tsx +0 -34
  152. package/src/blocks/Tagger/TagSelectPopover/TagSelectValue.tsx +0 -47
  153. package/src/blocks/Tagger/TagSelectPopover/index.ts +0 -1
  154. package/src/blocks/Tagger/Tagger.stories.tsx +0 -80
  155. package/src/blocks/Tagger/Tagger.tsx +0 -101
  156. package/src/blocks/Tagger/index.ts +0 -1
  157. package/src/blocks/Tagger/types.ts +0 -11
  158. package/src/blocks/Textarea/Textarea.stories.tsx +0 -47
  159. package/src/blocks/Textarea/Textarea.tsx +0 -50
  160. package/src/blocks/Textarea/index.ts +0 -1
  161. package/src/components/Alert/Alert.stories.tsx +0 -101
  162. package/src/components/Alert/Alert.tsx +0 -121
  163. package/src/components/Alert/AlertAction.tsx +0 -31
  164. package/src/components/Alert/AlertCollapsibleIcon.tsx +0 -25
  165. package/src/components/Alert/AlertDescription.tsx +0 -36
  166. package/src/components/Alert/AlertIcon.tsx +0 -40
  167. package/src/components/Alert/AlertRoot.tsx +0 -64
  168. package/src/components/Alert/AlertTitle.tsx +0 -25
  169. package/src/components/Alert/index.ts +0 -1
  170. package/src/components/Avatar.stories.tsx +0 -22
  171. package/src/components/Avatar.tsx +0 -88
  172. package/src/components/Badge/Badge.stories.tsx +0 -122
  173. package/src/components/Badge/Badge.tsx +0 -71
  174. package/src/components/Badge/BadgeAddon.tsx +0 -63
  175. package/src/components/Badge/BadgeButton.tsx +0 -40
  176. package/src/components/Badge/BadgeLabel.tsx +0 -37
  177. package/src/components/Badge/BadgeRoot.tsx +0 -21
  178. package/src/components/Badge/index.ts +0 -1
  179. package/src/components/Badge/styles.ts +0 -74
  180. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +0 -135
  181. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -23
  182. package/src/components/Breadcrumb/BreadcrumbEllipsis.tsx +0 -43
  183. package/src/components/Breadcrumb/BreadcrumbItem.tsx +0 -9
  184. package/src/components/Breadcrumb/BreadcrumbLink.tsx +0 -48
  185. package/src/components/Breadcrumb/BreadcrumbList.tsx +0 -26
  186. package/src/components/Breadcrumb/BreadcrumbPage.tsx +0 -22
  187. package/src/components/Breadcrumb/BreadcrumbSeparator.tsx +0 -28
  188. package/src/components/Breadcrumb/index.ts +0 -1
  189. package/src/components/Button/Button.stories.tsx +0 -80
  190. package/src/components/Button/Button.tsx +0 -110
  191. package/src/components/Button/ButtonInline.stories.tsx +0 -54
  192. package/src/components/Button/ButtonInline.tsx +0 -77
  193. package/src/components/Button/index.ts +0 -3
  194. package/src/components/Button/styles.ts +0 -313
  195. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +0 -140
  196. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -79
  197. package/src/components/ButtonGroup/index.ts +0 -1
  198. package/src/components/Calendar/Calendar.stories.tsx +0 -101
  199. package/src/components/Calendar/Calendar.tsx +0 -44
  200. package/src/components/Calendar/index.ts +0 -2
  201. package/src/components/Card/Card.stories.tsx +0 -60
  202. package/src/components/Card/Card.tsx +0 -42
  203. package/src/components/Card/CardContent.tsx +0 -5
  204. package/src/components/Card/CardHeader.tsx +0 -5
  205. package/src/components/Card/CardTitle.tsx +0 -13
  206. package/src/components/Card/index.ts +0 -1
  207. package/src/components/Card/styles.ts +0 -32
  208. package/src/components/Checkbox/Checkbox.stories.tsx +0 -210
  209. package/src/components/Checkbox/Checkbox.test.tsx +0 -140
  210. package/src/components/Checkbox/Checkbox.tsx +0 -83
  211. package/src/components/Checkbox/index.ts +0 -1
  212. package/src/components/Checkbox/styles.ts +0 -77
  213. package/src/components/Clipboard/Clipboard.stories.tsx +0 -44
  214. package/src/components/Clipboard/Clipboard.tsx +0 -89
  215. package/src/components/Clipboard/index.ts +0 -1
  216. package/src/components/CodeEditor/ButtonToolbar.tsx +0 -14
  217. package/src/components/CodeEditor/CodeEditor.tsx +0 -155
  218. package/src/components/CodeEditor/SqlEditor.stories.tsx +0 -76
  219. package/src/components/CodeEditor/SqlEditor.tsx +0 -206
  220. package/src/components/CodeEditor/ToggleComponentHelp.tsx +0 -7
  221. package/src/components/CodeEditor/activeQueryHighlight.test.ts +0 -178
  222. package/src/components/CodeEditor/activeQueryHighlight.ts +0 -245
  223. package/src/components/CodeEditor/helpers.ts +0 -100
  224. package/src/components/CodeEditor/highlighting.ts +0 -184
  225. package/src/components/CodeEditor/index.ts +0 -3
  226. package/src/components/CodeEditor/search.ts +0 -186
  227. package/src/components/Collapse.stories.tsx +0 -56
  228. package/src/components/Collapse.tsx +0 -61
  229. package/src/components/Collapsible/Collapsible.stories.tsx +0 -55
  230. package/src/components/Collapsible/Collapsible.tsx +0 -11
  231. package/src/components/Collapsible/CollapsibleContent.tsx +0 -25
  232. package/src/components/Collapsible/index.ts +0 -1
  233. package/src/components/CollapsiblePanel.stories.tsx +0 -25
  234. package/src/components/CollapsiblePanel.tsx +0 -127
  235. package/src/components/Combobox/Combobox.stories.tsx +0 -426
  236. package/src/components/Combobox/Combobox.test.tsx +0 -165
  237. package/src/components/Combobox/Combobox.tsx +0 -345
  238. package/src/components/Combobox/ComboboxChips.tsx +0 -68
  239. package/src/components/Combobox/ComboboxContent.tsx +0 -95
  240. package/src/components/Combobox/ComboboxEmpty.tsx +0 -30
  241. package/src/components/Combobox/ComboboxInput.tsx +0 -10
  242. package/src/components/Combobox/ComboboxInputGroup.tsx +0 -38
  243. package/src/components/Combobox/ComboboxItem.tsx +0 -70
  244. package/src/components/Combobox/ComboboxItemIndicator.tsx +0 -78
  245. package/src/components/Combobox/ComboboxList.tsx +0 -32
  246. package/src/components/Combobox/ComboboxRoot.tsx +0 -5
  247. package/src/components/Combobox/ComboboxSeparator.tsx +0 -20
  248. package/src/components/Combobox/Group/ComboboxCollection.tsx +0 -7
  249. package/src/components/Combobox/Group/ComboboxGroup.tsx +0 -23
  250. package/src/components/Combobox/Group/ComboboxGroupLabel.tsx +0 -38
  251. package/src/components/Combobox/Group/index.ts +0 -3
  252. package/src/components/Combobox/index.ts +0 -1
  253. package/src/components/Combobox/types.ts +0 -22
  254. package/src/components/Combobox/utils.test.ts +0 -95
  255. package/src/components/Combobox/utils.ts +0 -103
  256. package/src/components/Command/Command.stories.tsx +0 -367
  257. package/src/components/Command/Command.tsx +0 -37
  258. package/src/components/Command/CommandContent.tsx +0 -19
  259. package/src/components/Command/CommandEmpty.tsx +0 -6
  260. package/src/components/Command/CommandGroup.tsx +0 -26
  261. package/src/components/Command/CommandInput.tsx +0 -27
  262. package/src/components/Command/CommandItem/CheckIndicator.tsx +0 -86
  263. package/src/components/Command/CommandItem/CommandItem.tsx +0 -94
  264. package/src/components/Command/CommandItem/index.ts +0 -1
  265. package/src/components/Command/CommandList.tsx +0 -32
  266. package/src/components/Command/CommandSeparator.tsx +0 -13
  267. package/src/components/Command/index.ts +0 -6
  268. package/src/components/DatePicker/DatePicker.tsx +0 -37
  269. package/src/components/DatePicker/index.ts +0 -1
  270. package/src/components/DiffView/DiffView.stories.tsx +0 -80
  271. package/src/components/DiffView/DiffView.tsx +0 -131
  272. package/src/components/DiffView/DiffViewMark.tsx +0 -21
  273. package/src/components/DiffView/DiffViewTd.tsx +0 -84
  274. package/src/components/DiffView/DiffViewTh.tsx +0 -23
  275. package/src/components/DiffView/index.ts +0 -11
  276. package/src/components/DiffView/util.test.ts +0 -231
  277. package/src/components/DiffView/util.ts +0 -311
  278. package/src/components/DotsLoader.tsx +0 -22
  279. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +0 -310
  280. package/src/components/DropdownMenu/DropdownMenu.tsx +0 -61
  281. package/src/components/DropdownMenu/DropdownMenuCheckboxItem.tsx +0 -55
  282. package/src/components/DropdownMenu/DropdownMenuContent.tsx +0 -52
  283. package/src/components/DropdownMenu/DropdownMenuContext.tsx +0 -13
  284. package/src/components/DropdownMenu/DropdownMenuItem.tsx +0 -80
  285. package/src/components/DropdownMenu/DropdownMenuItemDescription.tsx +0 -42
  286. package/src/components/DropdownMenu/DropdownMenuItemIndicator.tsx +0 -104
  287. package/src/components/DropdownMenu/DropdownMenuLabel.tsx +0 -21
  288. package/src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.tsx +0 -31
  289. package/src/components/DropdownMenu/DropdownMenuRadioGroup/DropdownMenuRadioItem.tsx +0 -67
  290. package/src/components/DropdownMenu/DropdownMenuRadioGroup/index.ts +0 -2
  291. package/src/components/DropdownMenu/DropdownMenuSeparator.tsx +0 -35
  292. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSub.tsx +0 -3
  293. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubContent.tsx +0 -21
  294. package/src/components/DropdownMenu/DropdownMenuSub/DropdownMenuSubTrigger.tsx +0 -17
  295. package/src/components/DropdownMenu/DropdownMenuSub/index.ts +0 -3
  296. package/src/components/DropdownMenu/DropdownMenuTrigger.tsx +0 -19
  297. package/src/components/DropdownMenu/ItemIcon.tsx +0 -30
  298. package/src/components/DropdownMenu/index.ts +0 -1
  299. package/src/components/DropdownMenu/styles.ts +0 -82
  300. package/src/components/EmptySearchContent.stories.tsx +0 -12
  301. package/src/components/EmptySearchContent.tsx +0 -13
  302. package/src/components/FieldBox/FieldBox.stories.tsx +0 -138
  303. package/src/components/FieldBox/FieldBox.tsx +0 -43
  304. package/src/components/FieldBox/FieldBoxDescription.tsx +0 -18
  305. package/src/components/FieldBox/FieldBoxTitle.tsx +0 -20
  306. package/src/components/FieldBox/index.ts +0 -1
  307. package/src/components/FieldBox/styles.ts +0 -37
  308. package/src/components/FormGroup/FormGroup.stories.tsx +0 -120
  309. package/src/components/FormGroup/FormGroup.tsx +0 -48
  310. package/src/components/FormGroup/FormGroupColorInput.tsx +0 -15
  311. package/src/components/FormGroup/FormGroupHelp.tsx +0 -17
  312. package/src/components/FormGroup/FormGroupNumberInput.tsx +0 -15
  313. package/src/components/FormGroup/FormGroupTextInput.tsx +0 -15
  314. package/src/components/FormGroup/FormGroupTextarea.tsx +0 -12
  315. package/src/components/FormGroup/context.ts +0 -11
  316. package/src/components/FormGroup/index.ts +0 -2
  317. package/src/components/FormGroup/types.ts +0 -5
  318. package/src/components/FullScreenModal/FullScreenModal.tsx +0 -8
  319. package/src/components/FullScreenModal/FullScreenModalBody.tsx +0 -16
  320. package/src/components/FullScreenModal/FullScreenModalHeader.tsx +0 -92
  321. package/src/components/FullScreenModal/FullScreenModalRoot.tsx +0 -79
  322. package/src/components/FullScreenModal/index.ts +0 -3
  323. package/src/components/HelpBlock/HelpBlock.stories.tsx +0 -28
  324. package/src/components/HelpBlock/HelpBlock.tsx +0 -31
  325. package/src/components/HelpBlock/index.ts +0 -1
  326. package/src/components/HoverCard/HoverCard.stories.tsx +0 -77
  327. package/src/components/HoverCard/HoverCard.tsx +0 -13
  328. package/src/components/HoverCard/HoverCardContent.tsx +0 -68
  329. package/src/components/HoverCard/index.ts +0 -1
  330. package/src/components/Icon/Icon.stories.tsx +0 -26
  331. package/src/components/Icon/Icon.tsx +0 -10
  332. package/src/components/Icon/Icons.mdx +0 -28
  333. package/src/components/Icon/constants.ts +0 -1
  334. package/src/components/Icon/index.ts +0 -27
  335. package/src/components/Input/DateInput/DateInput.stories.tsx +0 -58
  336. package/src/components/Input/DateInput/DateInput.tsx +0 -143
  337. package/src/components/Input/DateInput/helpers.test.ts +0 -102
  338. package/src/components/Input/DateInput/helpers.ts +0 -59
  339. package/src/components/Input/DateInput/index.ts +0 -1
  340. package/src/components/Input/DateRangeInput/DateRangeInput.stories.tsx +0 -66
  341. package/src/components/Input/DateRangeInput/DateRangeInput.tsx +0 -139
  342. package/src/components/Input/DateRangeInput/helpers.test.ts +0 -146
  343. package/src/components/Input/DateRangeInput/helpers.ts +0 -36
  344. package/src/components/Input/DateRangeInput/index.ts +0 -1
  345. package/src/components/Input/Input.stories.tsx +0 -93
  346. package/src/components/Input/Input.test.tsx +0 -112
  347. package/src/components/Input/Input.tsx +0 -163
  348. package/src/components/Input/TextInput/TextInput.stories.tsx +0 -68
  349. package/src/components/Input/TextInput/TextInput.test.tsx +0 -52
  350. package/src/components/Input/TextInput/TextInput.tsx +0 -73
  351. package/src/components/Input/TextInput/index.ts +0 -1
  352. package/src/components/Input/TimeInput/TimeInput.stories.tsx +0 -89
  353. package/src/components/Input/TimeInput/TimeInput.tsx +0 -106
  354. package/src/components/Input/TimeInput/index.ts +0 -1
  355. package/src/components/Input/index.ts +0 -4
  356. package/src/components/Input/utils.ts +0 -11
  357. package/src/components/InputGroup/InputGroup.stories.tsx +0 -215
  358. package/src/components/InputGroup/InputGroup.tsx +0 -228
  359. package/src/components/InputGroup/InputGroupAddon.tsx +0 -57
  360. package/src/components/InputGroup/InputGroupButton.tsx +0 -25
  361. package/src/components/InputGroup/InputGroupInput.tsx +0 -34
  362. package/src/components/InputGroup/InputGroupText.tsx +0 -21
  363. package/src/components/InputGroup/InputGroupTextArea.tsx +0 -78
  364. package/src/components/InputGroup/index.ts +0 -1
  365. package/src/components/Kbd/Kbd.stories.tsx +0 -82
  366. package/src/components/Kbd/Kbd.tsx +0 -17
  367. package/src/components/Kbd/KbdGroup.tsx +0 -35
  368. package/src/components/Kbd/KbdSeparator.tsx +0 -9
  369. package/src/components/Kbd/index.ts +0 -3
  370. package/src/components/Kbd/keyboardKeys.ts +0 -40
  371. package/src/components/Kbd/styles.ts +0 -39
  372. package/src/components/Label/Label.stories.tsx +0 -53
  373. package/src/components/Label/Label.tsx +0 -31
  374. package/src/components/Label/index.ts +0 -1
  375. package/src/components/Link.stories.tsx +0 -19
  376. package/src/components/Link.tsx +0 -37
  377. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +0 -182
  378. package/src/components/MarkdownEditor/MarkdownEditor.test.ts +0 -171
  379. package/src/components/MarkdownEditor/MarkdownEditor.tsx +0 -245
  380. package/src/components/MarkdownEditor/context.ts +0 -10
  381. package/src/components/MarkdownEditor/index.ts +0 -1
  382. package/src/components/MarkdownEditor/nodes/ImageNode.tsx +0 -115
  383. package/src/components/MarkdownEditor/nodes/ImageNodeComponent.tsx +0 -18
  384. package/src/components/MarkdownEditor/nodes/MermaidNode.tsx +0 -72
  385. package/src/components/MarkdownEditor/nodes/MermaidNodeComponent.tsx +0 -35
  386. package/src/components/MarkdownEditor/plugins/ImagePastePlugin.tsx +0 -149
  387. package/src/components/MarkdownEditor/plugins/KeyboardPlugin.tsx +0 -81
  388. package/src/components/MarkdownEditor/plugins/MarkdownSyncPlugin.tsx +0 -65
  389. package/src/components/MarkdownEditor/plugins/ToolbarPlugin.tsx +0 -284
  390. package/src/components/MarkdownEditor/plugins/toolbar/AlignmentDropdown.tsx +0 -99
  391. package/src/components/MarkdownEditor/plugins/toolbar/BlockTypeDropdown.tsx +0 -142
  392. package/src/components/MarkdownEditor/plugins/toolbar/LinkPanel.tsx +0 -160
  393. package/src/components/MarkdownEditor/plugins/toolbar/ToolbarButton.tsx +0 -36
  394. package/src/components/MarkdownEditor/plugins/toolbar/ToolbarDivider.tsx +0 -1
  395. package/src/components/MarkdownEditor/theme.ts +0 -39
  396. package/src/components/MarkdownEditor/transformers.ts +0 -189
  397. package/src/components/MarkedText/MarkedText.stories.tsx +0 -46
  398. package/src/components/MarkedText/MarkedText.tsx +0 -36
  399. package/src/components/MarkedText/index.ts +0 -1
  400. package/src/components/MarkedText/utils.test.ts +0 -193
  401. package/src/components/MarkedText/utils.ts +0 -37
  402. package/src/components/MergeEditor/AcceptControls/AcceptButton.tsx +0 -25
  403. package/src/components/MergeEditor/AcceptControls/AcceptControls.tsx +0 -77
  404. package/src/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.tsx +0 -38
  405. package/src/components/MergeEditor/MergeEditor.stories.tsx +0 -226
  406. package/src/components/MergeEditor/MergeEditor.tsx +0 -125
  407. package/src/components/MergeEditor/MergePane.tsx +0 -113
  408. package/src/components/MergeEditor/PaneHeader.tsx +0 -11
  409. package/src/components/MergeEditor/constants.ts +0 -48
  410. package/src/components/MergeEditor/decorations.ts +0 -126
  411. package/src/components/MergeEditor/helpers.test.ts +0 -172
  412. package/src/components/MergeEditor/helpers.ts +0 -118
  413. package/src/components/MergeEditor/index.ts +0 -5
  414. package/src/components/MergeEditor/useMergeDiff.ts +0 -573
  415. package/src/components/MergeEditor/useScrollSync.ts +0 -79
  416. package/src/components/Modal/Modal.stories.tsx +0 -680
  417. package/src/components/Modal/Modal.tsx +0 -49
  418. package/src/components/Modal/ModalBody.tsx +0 -33
  419. package/src/components/Modal/ModalCloseIcon.tsx +0 -31
  420. package/src/components/Modal/ModalContent.tsx +0 -95
  421. package/src/components/Modal/ModalDescription.tsx +0 -20
  422. package/src/components/Modal/ModalFooter.tsx +0 -20
  423. package/src/components/Modal/ModalHeader.tsx +0 -61
  424. package/src/components/Modal/ModalIcon.tsx +0 -109
  425. package/src/components/Modal/ModalOverlay.tsx +0 -42
  426. package/src/components/Modal/ModalTitle.tsx +0 -12
  427. package/src/components/Modal/index.ts +0 -1
  428. package/src/components/Navbar/Navbar.stories.tsx +0 -191
  429. package/src/components/Navbar/Navbar.tsx +0 -80
  430. package/src/components/Navbar/NavbarContent.tsx +0 -20
  431. package/src/components/Navbar/NavbarFooter.tsx +0 -11
  432. package/src/components/Navbar/NavbarHeader.tsx +0 -11
  433. package/src/components/Navbar/NavbarMenu.tsx +0 -30
  434. package/src/components/Navbar/NavbarMenuAvatar.tsx +0 -67
  435. package/src/components/Navbar/NavbarMenuButton.tsx +0 -135
  436. package/src/components/Navbar/NavbarMenuItem.tsx +0 -9
  437. package/src/components/Navbar/NavbarMenuItemAdornment.tsx +0 -65
  438. package/src/components/Navbar/index.ts +0 -1
  439. package/src/components/Pagination/Pagination.stories.tsx +0 -131
  440. package/src/components/Pagination/Pagination.tsx +0 -34
  441. package/src/components/Pagination/PaginationButton.tsx +0 -36
  442. package/src/components/Pagination/PaginationContent.tsx +0 -12
  443. package/src/components/Pagination/PaginationEllipsis.tsx +0 -26
  444. package/src/components/Pagination/PaginationItem.tsx +0 -9
  445. package/src/components/Pagination/PaginationNext.tsx +0 -20
  446. package/src/components/Pagination/PaginationPrevious.tsx +0 -14
  447. package/src/components/Pagination/index.ts +0 -1
  448. package/src/components/PanelWithDetails.stories.tsx +0 -28
  449. package/src/components/PanelWithDetails.tsx +0 -65
  450. package/src/components/Popconfirm/Popconfirm.stories.tsx +0 -373
  451. package/src/components/Popconfirm/Popconfirm.tsx +0 -82
  452. package/src/components/Popconfirm/PopconfirmBody.tsx +0 -5
  453. package/src/components/Popconfirm/PopconfirmCancel.tsx +0 -45
  454. package/src/components/Popconfirm/PopconfirmConfirm.tsx +0 -57
  455. package/src/components/Popconfirm/PopconfirmContent.tsx +0 -33
  456. package/src/components/Popconfirm/PopconfirmFooter.tsx +0 -9
  457. package/src/components/Popconfirm/PopconfirmTrigger.tsx +0 -22
  458. package/src/components/Popconfirm/context.ts +0 -19
  459. package/src/components/Popconfirm/index.ts +0 -1
  460. package/src/components/Popover/Popover.stories.tsx +0 -85
  461. package/src/components/Popover/Popover.tsx +0 -15
  462. package/src/components/Popover/PopoverContent.tsx +0 -103
  463. package/src/components/Popover/index.ts +0 -1
  464. package/src/components/Progress/Progress.stories.tsx +0 -67
  465. package/src/components/Progress/Progress.tsx +0 -45
  466. package/src/components/Progress/index.ts +0 -1
  467. package/src/components/RadioGroup/Radio.tsx +0 -61
  468. package/src/components/RadioGroup/RadioGroup.stories.tsx +0 -300
  469. package/src/components/RadioGroup/RadioGroup.tsx +0 -64
  470. package/src/components/RadioGroup/RadioGroupItem.tsx +0 -60
  471. package/src/components/RadioGroup/RadioGroupItemButton.tsx +0 -79
  472. package/src/components/RadioGroup/RadioGroupSeparator.tsx +0 -12
  473. package/src/components/RadioGroup/context.ts +0 -13
  474. package/src/components/RadioGroup/index.ts +0 -1
  475. package/src/components/Resizable/Resizable.stories.tsx +0 -50
  476. package/src/components/Resizable/ResizableHandle.tsx +0 -50
  477. package/src/components/Resizable/ResizablePanel.tsx +0 -12
  478. package/src/components/Resizable/ResizablePanelGroup.tsx +0 -19
  479. package/src/components/Resizable/index.ts +0 -3
  480. package/src/components/ScrollArea/ScrollArea.stories.tsx +0 -43
  481. package/src/components/ScrollArea/ScrollArea.tsx +0 -50
  482. package/src/components/ScrollArea/ScrollBar.tsx +0 -32
  483. package/src/components/ScrollArea/index.ts +0 -2
  484. package/src/components/Search/ClearButton.tsx +0 -42
  485. package/src/components/Search/Search.stories.tsx +0 -77
  486. package/src/components/Search/Search.test.tsx +0 -224
  487. package/src/components/Search/Search.tsx +0 -139
  488. package/src/components/Search/SearchForm.tsx +0 -37
  489. package/src/components/Search/index.ts +0 -2
  490. package/src/components/Search/styles.ts +0 -88
  491. package/src/components/Search/utils.ts +0 -11
  492. package/src/components/Select/Select.stories.tsx +0 -109
  493. package/src/components/Select/Select.tsx +0 -141
  494. package/src/components/Select/SelectContent.tsx +0 -110
  495. package/src/components/Select/SelectGroup.tsx +0 -10
  496. package/src/components/Select/SelectItem.tsx +0 -72
  497. package/src/components/Select/SelectLabel.tsx +0 -32
  498. package/src/components/Select/SelectRoot.tsx +0 -6
  499. package/src/components/Select/SelectSeparator.tsx +0 -13
  500. package/src/components/Select/SelectTrigger.tsx +0 -161
  501. package/src/components/Select/index.ts +0 -1
  502. package/src/components/Separator/Separator.stories.tsx +0 -60
  503. package/src/components/Separator/Separator.test.tsx +0 -39
  504. package/src/components/Separator/Separator.tsx +0 -115
  505. package/src/components/Separator/index.ts +0 -1
  506. package/src/components/Sheet/Sheet.stories.tsx +0 -63
  507. package/src/components/Sheet/Sheet.tsx +0 -21
  508. package/src/components/Sheet/SheetBody.tsx +0 -12
  509. package/src/components/Sheet/SheetContent.tsx +0 -131
  510. package/src/components/Sheet/SheetFooter.tsx +0 -9
  511. package/src/components/Sheet/SheetHeader.tsx +0 -39
  512. package/src/components/Sheet/SheetOverlay.tsx +0 -11
  513. package/src/components/Sheet/SheetTitle.tsx +0 -12
  514. package/src/components/Sheet/index.ts +0 -1
  515. package/src/components/Sidebar/Sidebar.stories.tsx +0 -849
  516. package/src/components/Sidebar/Sidebar.tsx +0 -225
  517. package/src/components/Sidebar/SidebarContent.tsx +0 -61
  518. package/src/components/Sidebar/SidebarFillTrigger.tsx +0 -25
  519. package/src/components/Sidebar/SidebarFooter.tsx +0 -13
  520. package/src/components/Sidebar/SidebarGroup/SidebarGroup.tsx +0 -23
  521. package/src/components/Sidebar/SidebarGroup/SidebarGroupAction.tsx +0 -53
  522. package/src/components/Sidebar/SidebarGroup/SidebarGroupContent.tsx +0 -20
  523. package/src/components/Sidebar/SidebarGroup/SidebarGroupLabel.tsx +0 -76
  524. package/src/components/Sidebar/SidebarGroup/index.ts +0 -4
  525. package/src/components/Sidebar/SidebarHeader.tsx +0 -20
  526. package/src/components/Sidebar/SidebarInstanceContext.ts +0 -18
  527. package/src/components/Sidebar/SidebarMenu/SidebarMenu.tsx +0 -28
  528. package/src/components/Sidebar/SidebarMenu/SidebarMenuAction.tsx +0 -69
  529. package/src/components/Sidebar/SidebarMenu/SidebarMenuBadge.tsx +0 -56
  530. package/src/components/Sidebar/SidebarMenu/SidebarMenuButton.tsx +0 -110
  531. package/src/components/Sidebar/SidebarMenu/SidebarMenuCard.tsx +0 -108
  532. package/src/components/Sidebar/SidebarMenu/SidebarMenuIcon.tsx +0 -30
  533. package/src/components/Sidebar/SidebarMenu/SidebarMenuItem.tsx +0 -9
  534. package/src/components/Sidebar/SidebarMenu/SidebarMenuSub.tsx +0 -139
  535. package/src/components/Sidebar/SidebarMenu/SidebarMenuSubItem.tsx +0 -106
  536. package/src/components/Sidebar/SidebarMenu/SidebarSearchInput.tsx +0 -88
  537. package/src/components/Sidebar/SidebarMenu/index.ts +0 -10
  538. package/src/components/Sidebar/SidebarProvider/SidebarProvider.tsx +0 -171
  539. package/src/components/Sidebar/SidebarProvider/context.ts +0 -35
  540. package/src/components/Sidebar/SidebarProvider/index.ts +0 -2
  541. package/src/components/Sidebar/SidebarProvider/useHoverTracking.test.ts +0 -199
  542. package/src/components/Sidebar/SidebarProvider/useHoverTracking.ts +0 -72
  543. package/src/components/Sidebar/SidebarProvider/useSidebarState.ts +0 -50
  544. package/src/components/Sidebar/SidebarProvider/useTransitionPresence.test.ts +0 -179
  545. package/src/components/Sidebar/SidebarProvider/useTransitionPresence.ts +0 -53
  546. package/src/components/Sidebar/SidebarResizeHandle.tsx +0 -28
  547. package/src/components/Sidebar/SidebarSeparator.tsx +0 -15
  548. package/src/components/Sidebar/SidebarTrigger.tsx +0 -40
  549. package/src/components/Sidebar/index.ts +0 -3
  550. package/src/components/Sidebar/types.ts +0 -6
  551. package/src/components/Sidebar/useResizeSidebar.ts +0 -112
  552. package/src/components/Sidebar/utils.test.ts +0 -178
  553. package/src/components/Sidebar/utils.ts +0 -70
  554. package/src/components/Skeleton/Skeleton.stories.tsx +0 -106
  555. package/src/components/Skeleton/Skeleton.tsx +0 -77
  556. package/src/components/Skeleton/SkeletonList.stories.tsx +0 -11
  557. package/src/components/Skeleton/SkeletonList.tsx +0 -65
  558. package/src/components/Slider/Slider.stories.tsx +0 -99
  559. package/src/components/Slider/Slider.tsx +0 -85
  560. package/src/components/Slider/SliderThumb.tsx +0 -57
  561. package/src/components/Slider/SliderTrack.tsx +0 -49
  562. package/src/components/Slider/index.ts +0 -1
  563. package/src/components/Slider/useInteracting.test.ts +0 -159
  564. package/src/components/Slider/useInteracting.ts +0 -64
  565. package/src/components/Switch/Switch.stories.tsx +0 -177
  566. package/src/components/Switch/Switch.tsx +0 -58
  567. package/src/components/Switch/index.ts +0 -1
  568. package/src/components/Switch/styles.ts +0 -173
  569. package/src/components/Table/Table.stories.tsx +0 -328
  570. package/src/components/Table/Table.tsx +0 -68
  571. package/src/components/Table/TableBody.tsx +0 -22
  572. package/src/components/Table/TableCell.tsx +0 -7
  573. package/src/components/Table/TableFooter.tsx +0 -15
  574. package/src/components/Table/TableHead.tsx +0 -15
  575. package/src/components/Table/TableHeader.tsx +0 -20
  576. package/src/components/Table/TableRow.tsx +0 -11
  577. package/src/components/Table/index.ts +0 -1
  578. package/src/components/Tabs.stories.tsx +0 -123
  579. package/src/components/Tabs.tsx +0 -134
  580. package/src/components/ThemeProvider/AIGradientSvg.tsx +0 -18
  581. package/src/components/ThemeProvider/ThemeProvider.tsx +0 -25
  582. package/src/components/ThemeProvider/index.ts +0 -1
  583. package/src/components/TimePicker/TimePicker.tsx +0 -95
  584. package/src/components/TimePicker/TimePickerButton.tsx +0 -39
  585. package/src/components/TimePicker/index.ts +0 -1
  586. package/src/components/TimePicker/utils.ts +0 -31
  587. package/src/components/Timeline/Timeline.stories.tsx +0 -246
  588. package/src/components/Timeline/Timeline.tsx +0 -35
  589. package/src/components/Timeline/TimelineConnector.tsx +0 -158
  590. package/src/components/Timeline/TimelineContent.tsx +0 -18
  591. package/src/components/Timeline/TimelineItem.tsx +0 -14
  592. package/src/components/Timeline/index.ts +0 -1
  593. package/src/components/Timeline/useLastLineHeight.ts +0 -36
  594. package/src/components/Toast/Toast.stories.tsx +0 -178
  595. package/src/components/Toast/ToastAction.tsx +0 -40
  596. package/src/components/Toast/ToastDescription.tsx +0 -28
  597. package/src/components/Toast/ToastDismiss.tsx +0 -36
  598. package/src/components/Toast/ToastDuration.tsx +0 -43
  599. package/src/components/Toast/ToastRoot.tsx +0 -135
  600. package/src/components/Toast/ToastTitle.tsx +0 -33
  601. package/src/components/Toast/Toaster.tsx +0 -25
  602. package/src/components/Toast/index.ts +0 -3
  603. package/src/components/Toast/toast.tsx +0 -94
  604. package/src/components/Toast/useNotification.tsx +0 -33
  605. package/src/components/Toggle/Toggle.stories.tsx +0 -67
  606. package/src/components/Toggle/Toggle.tsx +0 -202
  607. package/src/components/Toggle/index.ts +0 -1
  608. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -60
  609. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -99
  610. package/src/components/ToggleGroup/index.ts +0 -1
  611. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  612. package/src/components/Tooltip/Tooltip.tsx +0 -110
  613. package/src/components/Tooltip/TooltipContent.tsx +0 -90
  614. package/src/components/Tooltip/TooltipRoot.tsx +0 -12
  615. package/src/components/Tooltip/TooltipTrigger.tsx +0 -42
  616. package/src/components/Tooltip/index.ts +0 -1
  617. package/src/components/Truncated.stories.tsx +0 -72
  618. package/src/components/Truncated.tsx +0 -78
  619. package/src/components/ZoomableSvg/ZoomableSvg.stories.tsx +0 -53
  620. package/src/components/ZoomableSvg/ZoomableSvg.tsx +0 -200
  621. package/src/components/ZoomableSvg/index.ts +0 -1
  622. package/src/constants/keyCodes.ts +0 -5
  623. package/src/docs/Colors.mdx +0 -19
  624. package/src/docs/Spacing.mdx +0 -35
  625. package/src/docs/Typography.mdx +0 -63
  626. package/src/docs/components/Typeset.tsx +0 -35
  627. package/src/hooks/useAutosizeInput.stories.tsx +0 -142
  628. package/src/hooks/useAutosizeInput.test.tsx +0 -77
  629. package/src/hooks/useAutosizeInput.tsx +0 -107
  630. package/src/hooks/useElement.ts +0 -16
  631. package/src/hooks/useScrollbarPosition.ts +0 -68
  632. package/src/icon-names.ts +0 -20
  633. package/src/icons/Keboola.tsx +0 -28
  634. package/src/icons/icons.stories.tsx +0 -174
  635. package/src/icons/index.ts +0 -188
  636. package/src/index.ts +0 -90
  637. package/src/patterns/AlertWithAction.stories.tsx +0 -30
  638. package/src/patterns/CardWithEmptyState.stories.tsx +0 -66
  639. package/src/patterns/ConfirmDialog.stories.tsx +0 -72
  640. package/src/patterns/CreatableMultiCombobox.stories.tsx +0 -33
  641. package/src/patterns/DataCardWithSkeleton.stories.tsx +0 -48
  642. package/src/patterns/DisabledButtonTooltip.stories.tsx +0 -30
  643. package/src/patterns/FilterToolbar.stories.tsx +0 -275
  644. package/src/patterns/InfoTooltip.stories.tsx +0 -56
  645. package/src/patterns/ListDetail.stories.tsx +0 -65
  646. package/src/patterns/ModalForm.stories.tsx +0 -59
  647. package/src/patterns/PageHeaderTabs.stories.tsx +0 -48
  648. package/src/utils/classNames.test.ts +0 -16
  649. package/src/utils/classNames.ts +0 -27
  650. package/src/utils/copyToClipboard.ts +0 -3
  651. package/src/utils/createChangeInputEvent.ts +0 -28
  652. package/src/utils/createPrefixedString.ts +0 -2
  653. package/src/utils/debounce.test.ts +0 -63
  654. package/src/utils/debounce.ts +0 -17
  655. package/src/utils/decorators.tsx +0 -16
  656. package/src/utils/escapeStringRegexp.ts +0 -4
  657. package/src/utils/index.ts +0 -11
  658. package/src/utils/isMac.ts +0 -26
  659. package/src/utils/legacyIcon.tsx +0 -28
  660. package/src/utils/mergeRefs.ts +0 -23
  661. package/src/utils/noop.ts +0 -1
  662. package/src/utils/useSHA256.ts +0 -21
  663. package/src/vite-env.d.ts +0 -1
@@ -1,206 +0,0 @@
1
- import { useCallback, useEffect, useMemo, useRef } from 'react';
2
- import { defaultKeymap } from '@codemirror/commands';
3
- import type { SQLNamespace } from '@codemirror/lang-sql';
4
- import type {
5
- EditorState,
6
- KeyBinding,
7
- ReactCodeMirrorRef,
8
- ViewUpdate,
9
- } from '@uiw/react-codemirror';
10
- import CodeMirror, { EditorView, keymap } from '@uiw/react-codemirror';
11
-
12
- import { installExtensions, type SqlDialectName } from '@keboola/codemirror-lang-sql';
13
- import colors from '@keboola/tailwind-config/colors';
14
-
15
- import { baseThemeStyles, customTheme } from './helpers';
16
- import type { HighlightedLines } from './highlighting';
17
- import { highlightingExtension, updateHighlighting } from './highlighting';
18
- import { searchExtension, updateSearch } from './search';
19
-
20
- const BASIS_SETUP = {
21
- drawSelection: false,
22
- defaultKeymap: false,
23
- completionKeymap: false,
24
- searchKeymap: false,
25
- };
26
-
27
- const CUSTOM_KEYMAP: KeyBinding[] = [
28
- {
29
- key: 'Escape',
30
- stopPropagation: true,
31
- run: (view: EditorView) => {
32
- view.contentDOM.blur();
33
- return true;
34
- },
35
- },
36
- ];
37
-
38
- const theme = {
39
- ...baseThemeStyles,
40
- '&.cm-editor': {
41
- border: 'solid 1px transparent',
42
- background: colors.white,
43
- borderRadius: '8px',
44
- paddingTop: '8px',
45
- paddingBottom: '8px',
46
- },
47
- '&.cm-editor:has(.cm-content[contenteditable="true"]):hover': {
48
- borderColor: colors.secondary[500],
49
- },
50
- '&.cm-editor:has(.cm-content[contenteditable="true"]):focus-within': {
51
- borderColor: colors.secondary[500],
52
- boxShadow: `0 0 0 4px ${colors.secondary[200]}`,
53
- },
54
- '&.cm-editor .cm-scroller': { overflowAnchor: 'none' },
55
- '&.cm-editor :is(.cm-gutters,.cm-scroller)': { background: colors.white },
56
- '&.cm-editor:has(.cm-content[contenteditable="false"])': { background: colors.neutral[100] },
57
- '&.cm-editor:has(.cm-content[contenteditable="false"]) :is(.cm-scroller,.cm-gutters)': {
58
- background: colors.neutral[100],
59
- },
60
- };
61
-
62
- type Props = {
63
- value: string;
64
- onChange?: (value: string) => void;
65
- onSelectionChange?: (text: string) => void;
66
- onCreateEditor?: (view: EditorView, state: EditorState) => void;
67
- onDestroyEditor?: () => void;
68
- onBlurEditor?: (view: EditorView) => void;
69
- onFocusEditor?: (view: EditorView) => void;
70
- readOnly: boolean;
71
- placeholder?: string;
72
- searchQuery?: string;
73
- searchMatchIndex?: number;
74
- extraKeys?: KeyBinding[];
75
- queryParser?: (sql: string) => Promise<string[]>;
76
- autoFocus?: boolean;
77
- lineNumbers?: boolean;
78
- className?: string;
79
- schema?: SQLNamespace;
80
- variables?: string[];
81
- defaultSchema?: string;
82
- defaultDatabase?: string;
83
- highlightLines?: HighlightedLines;
84
- dialect?: SqlDialectName;
85
- };
86
-
87
- export const SqlEditor = ({
88
- value,
89
- onChange,
90
- onSelectionChange,
91
- onCreateEditor,
92
- onDestroyEditor,
93
- onBlurEditor,
94
- onFocusEditor,
95
- placeholder = '',
96
- searchQuery = '',
97
- searchMatchIndex,
98
- readOnly = false,
99
- extraKeys,
100
- queryParser,
101
- autoFocus = false,
102
- lineNumbers = true,
103
- className,
104
- schema,
105
- variables,
106
- defaultDatabase,
107
- defaultSchema,
108
- highlightLines,
109
- dialect,
110
- }: Props) => {
111
- const editorRef = useRef<ReactCodeMirrorRef>(null);
112
-
113
- const extensions = useMemo(() => {
114
- const baseKeymap = [...defaultKeymap, ...CUSTOM_KEYMAP];
115
-
116
- return [
117
- EditorView.lineWrapping,
118
- keymap.of(extraKeys ? [...extraKeys, ...baseKeymap] : baseKeymap),
119
- ...installExtensions({ schema, defaultDatabase, defaultSchema, variables, dialect }),
120
- searchExtension(),
121
- highlightingExtension(queryParser),
122
- EditorView.theme(theme),
123
- onBlurEditor ? EditorView.domEventHandlers({ blur: (_, view) => onBlurEditor(view) }) : [],
124
- onFocusEditor ? EditorView.domEventHandlers({ focus: (_, view) => onFocusEditor(view) }) : [],
125
- ];
126
- }, [
127
- extraKeys,
128
- queryParser,
129
- schema,
130
- defaultDatabase,
131
- defaultSchema,
132
- variables,
133
- dialect,
134
- onBlurEditor,
135
- onFocusEditor,
136
- ]);
137
-
138
- const defaultSetup = useMemo(() => {
139
- return { ...BASIS_SETUP, lineNumbers };
140
- }, [lineNumbers]);
141
-
142
- useEffect(() => {
143
- if (editorRef.current?.view) {
144
- updateHighlighting(editorRef.current.view, highlightLines);
145
- }
146
- }, [highlightLines]);
147
-
148
- useEffect(() => {
149
- if (editorRef.current?.view) {
150
- updateSearch(editorRef.current.view, searchQuery, searchMatchIndex);
151
- }
152
- }, [searchQuery, searchMatchIndex]);
153
-
154
- useEffect(() => {
155
- if (!onDestroyEditor) return;
156
-
157
- return () => {
158
- onDestroyEditor();
159
- };
160
- }, [onDestroyEditor]);
161
-
162
- const handleOnCreate = useCallback(
163
- (view: EditorView, state: EditorState) => {
164
- onCreateEditor?.(view, state);
165
-
166
- if (highlightLines) {
167
- updateHighlighting(view, highlightLines);
168
- }
169
-
170
- if (searchQuery) {
171
- updateSearch(view, searchQuery, searchMatchIndex);
172
- }
173
- },
174
- [onCreateEditor, highlightLines, searchQuery, searchMatchIndex],
175
- );
176
-
177
- const handleOnUpdate = useCallback(
178
- (update: ViewUpdate) => {
179
- if (update.selectionSet) {
180
- const { main } = update.state.selection;
181
- const text = update.state.sliceDoc(main.from, main.to);
182
-
183
- onSelectionChange?.(text);
184
- }
185
- },
186
- [onSelectionChange],
187
- );
188
-
189
- return (
190
- <CodeMirror
191
- ref={editorRef}
192
- theme={customTheme}
193
- extensions={extensions}
194
- value={value}
195
- onChange={onChange}
196
- onUpdate={handleOnUpdate}
197
- onCreateEditor={handleOnCreate}
198
- autoFocus={autoFocus}
199
- placeholder={placeholder}
200
- className={className}
201
- readOnly={readOnly}
202
- editable={!readOnly}
203
- basicSetup={defaultSetup}
204
- />
205
- );
206
- };
@@ -1,7 +0,0 @@
1
- import { Kbd } from '../Kbd';
2
-
3
- export const ToggleComponentHelp = () => (
4
- <div>
5
- Use <Kbd>Ctrl+/</Kbd> or <Kbd>Command+/</Kbd> to toggle comments.
6
- </div>
7
- );
@@ -1,178 +0,0 @@
1
- import { ChangeSet, EditorState } from '@codemirror/state';
2
- import { EditorView } from '@codemirror/view';
3
-
4
- import {
5
- activeQueryHighlight,
6
- findActiveQueryRange,
7
- mapBoundariesThroughChanges,
8
- } from './activeQueryHighlight';
9
-
10
- describe('findActiveQueryRange', () => {
11
- it('returns null for empty boundaries', () => {
12
- expect(findActiveQueryRange('SELECT 1;', 0, [])).toBeNull();
13
- });
14
-
15
- it('finds single query', () => {
16
- const doc = 'SELECT 1;';
17
- const boundaries = [{ from: 0, to: 9 }];
18
- expect(findActiveQueryRange(doc, 4, boundaries)).toEqual({ from: 0, to: 9 });
19
- });
20
-
21
- it('finds first query when cursor is in it', () => {
22
- // splitSqlQueries returns segments that join back to the original doc
23
- const doc = 'SELECT 1;\nSELECT 2;';
24
- const boundaries = [
25
- { from: 0, to: 10 },
26
- { from: 10, to: 20 },
27
- ];
28
- expect(findActiveQueryRange(doc, 4, boundaries)).toEqual({ from: 0, to: 9 });
29
- });
30
-
31
- it('finds second query when cursor is in it', () => {
32
- const doc = 'SELECT 1;\nSELECT 2;';
33
- const boundaries = [
34
- { from: 0, to: 10 },
35
- { from: 10, to: 20 },
36
- ];
37
- expect(findActiveQueryRange(doc, 14, boundaries)).toEqual({ from: 10, to: 20 });
38
- });
39
-
40
- it('trims leading whitespace from query range', () => {
41
- const doc = 'SELECT 1;\n SELECT 2;';
42
- const boundaries = [
43
- { from: 0, to: 10 },
44
- { from: 10, to: 21 },
45
- ];
46
- expect(findActiveQueryRange(doc, 15, boundaries)).toEqual({ from: 12, to: 21 });
47
- });
48
-
49
- it('trims trailing whitespace from query range', () => {
50
- const doc = 'SELECT 1; \nSELECT 2;';
51
- const boundaries = [
52
- { from: 0, to: 12 },
53
- { from: 12, to: 22 },
54
- ];
55
- expect(findActiveQueryRange(doc, 4, boundaries)).toEqual({ from: 0, to: 9 });
56
- });
57
-
58
- it('uses last query when cursor is past all boundaries', () => {
59
- const doc = 'SELECT 1;\nSELECT 2;';
60
- const boundaries = [
61
- { from: 0, to: 10 },
62
- { from: 10, to: 20 },
63
- ];
64
- expect(findActiveQueryRange(doc, 25, boundaries)).toEqual({ from: 10, to: 20 });
65
- });
66
-
67
- it('returns null for whitespace-only query', () => {
68
- const doc = ' \n ';
69
- const boundaries = [{ from: 0, to: 6 }];
70
- expect(findActiveQueryRange(doc, 2, boundaries)).toBeNull();
71
- });
72
-
73
- it('handles cursor at query boundary (on semicolon)', () => {
74
- const doc = 'SELECT 1;\nSELECT 2;';
75
- const boundaries = [
76
- { from: 0, to: 10 },
77
- { from: 10, to: 20 },
78
- ];
79
- // Cursor at position 10 (the newline after first semicolon) — belongs to first query
80
- expect(findActiveQueryRange(doc, 10, boundaries)).toEqual({ from: 0, to: 9 });
81
- });
82
-
83
- it('handles cursor at position 0', () => {
84
- const doc = 'SELECT 1;';
85
- const boundaries = [{ from: 0, to: 9 }];
86
- expect(findActiveQueryRange(doc, 0, boundaries)).toEqual({ from: 0, to: 9 });
87
- });
88
-
89
- it('handles multi-line query', () => {
90
- const doc = 'SELECT\n *\nFROM\n users;';
91
- const boundaries = [{ from: 0, to: 24 }];
92
- expect(findActiveQueryRange(doc, 12, boundaries)).toEqual({ from: 0, to: 24 });
93
- });
94
- });
95
-
96
- describe('mapBoundariesThroughChanges', () => {
97
- it('maps boundaries through an insertion', () => {
98
- // doc: "SELECT 1;" (length 9) -> insert "A" at position 0 -> "ASELECT 1;" (length 10)
99
- const changes = ChangeSet.of({ from: 0, to: 0, insert: 'A' }, 9);
100
- const boundaries = [{ from: 0, to: 9 }];
101
- expect(mapBoundariesThroughChanges(boundaries, changes)).toEqual([{ from: 0, to: 10 }]);
102
- });
103
-
104
- it('maps boundaries through a deletion', () => {
105
- // doc: "SELECT 1;" (length 9) -> delete last char -> "SELECT 1" (length 8)
106
- const changes = ChangeSet.of({ from: 8, to: 9, insert: '' }, 9);
107
- const boundaries = [{ from: 0, to: 9 }];
108
- expect(mapBoundariesThroughChanges(boundaries, changes)).toEqual([{ from: 0, to: 8 }]);
109
- });
110
-
111
- it('clamps stale boundaries past changeset length (regression for RangeError)', () => {
112
- // Cached boundaries are based on a longer doc (length 20) than the changeset's
113
- // pre-change length (length 10). Without clamping, mapPos would throw RangeError.
114
- const changes = ChangeSet.of({ from: 9, to: 10, insert: '' }, 10);
115
- const staleBoundaries = [
116
- { from: 0, to: 10 },
117
- { from: 10, to: 20 },
118
- ];
119
- expect(() => mapBoundariesThroughChanges(staleBoundaries, changes)).not.toThrow();
120
- const mapped = mapBoundariesThroughChanges(staleBoundaries, changes);
121
- // The second boundary collapses (both ends clamp to prevLen and stay there).
122
- expect(mapped).toEqual([{ from: 0, to: 9 }]);
123
- });
124
-
125
- it('drops degenerate (empty) boundaries', () => {
126
- const changes = ChangeSet.of({ from: 0, to: 5, insert: '' }, 10);
127
- const boundaries = [
128
- { from: 0, to: 5 },
129
- { from: 5, to: 10 },
130
- ];
131
- // First boundary is fully deleted -> collapses to { 0, 0 } and is dropped.
132
- expect(mapBoundariesThroughChanges(boundaries, changes)).toEqual([{ from: 0, to: 5 }]);
133
- });
134
-
135
- it('handles empty boundaries list', () => {
136
- const changes = ChangeSet.of({ from: 0, to: 0, insert: 'A' }, 9);
137
- expect(mapBoundariesThroughChanges([], changes)).toEqual([]);
138
- });
139
- });
140
-
141
- describe('activeQueryHighlight plugin (integration)', () => {
142
- let container: HTMLDivElement;
143
-
144
- beforeEach(() => {
145
- container = document.createElement('div');
146
- document.body.appendChild(container);
147
- });
148
-
149
- afterEach(() => {
150
- container.remove();
151
- });
152
-
153
- it('clears decorations when all cached boundaries become degenerate after a change', async () => {
154
- const splitQueries = (sql: string) => Promise.resolve([sql]);
155
- const state = EditorState.create({
156
- doc: 'SELECT 1;SELECT 2;',
157
- extensions: [activeQueryHighlight(splitQueries)],
158
- });
159
- const view = new EditorView({ state, parent: container });
160
- view.focus();
161
- view.dispatch({ selection: { anchor: 5 } });
162
-
163
- // Wait for the 100ms debounced async parse to populate cachedBoundaries
164
- // and paint the initial `.cm-active-query` decorations.
165
- await new Promise((resolve) => setTimeout(resolve, 150));
166
- expect(container.querySelector('.cm-active-query')).toBeTruthy();
167
-
168
- // Delete the entire doc. Every cached boundary collapses to { 0, 0 } and is
169
- // dropped by mapBoundariesThroughChanges, so cachedBoundaries becomes []
170
- // synchronously. Prior to the fix, updateFromCache early-returned without
171
- // clearing decorations and the stale highlight persisted until the next
172
- // debounce tick (~100ms).
173
- view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: '' } });
174
- expect(container.querySelector('.cm-active-query')).toBeFalsy();
175
-
176
- view.destroy();
177
- });
178
- });
@@ -1,245 +0,0 @@
1
- import type { ChangeSet, Range } from '@codemirror/state';
2
- import { Decoration, EditorView, ViewPlugin, type ViewUpdate } from '@codemirror/view';
3
-
4
- import colors from '@keboola/tailwind-config/colors';
5
-
6
- const activeQueryFirstLine = Decoration.line({ class: 'cm-active-query cm-active-query-first' });
7
- const activeQueryMiddleLine = Decoration.line({ class: 'cm-active-query' });
8
- const activeQueryLastLine = Decoration.line({ class: 'cm-active-query cm-active-query-last' });
9
- const activeQuerySingleLine = Decoration.line({
10
- class: 'cm-active-query cm-active-query-first cm-active-query-last',
11
- });
12
-
13
- type QueryBoundary = { from: number; to: number };
14
-
15
- /**
16
- * Given pre-computed query boundaries and a cursor position, find which query
17
- * the cursor is in. Returns trimmed character offsets or null.
18
- */
19
- export const findActiveQueryRange = (
20
- doc: string,
21
- cursorPos: number,
22
- boundaries: QueryBoundary[],
23
- ): { from: number; to: number } | null => {
24
- if (boundaries.length === 0) return null;
25
-
26
- let match: QueryBoundary | undefined = boundaries[boundaries.length - 1];
27
- for (const boundary of boundaries) {
28
- if (cursorPos <= boundary.to) {
29
- match = boundary;
30
- break;
31
- }
32
- }
33
-
34
- if (!match) return null;
35
-
36
- // Trim leading/trailing whitespace from the query range for tighter boundaries
37
- const queryText = doc.slice(match.from, match.to);
38
- const leadingWhitespace = queryText.length - queryText.trimStart().length;
39
- const trailingWhitespace = queryText.length - queryText.trimEnd().length;
40
-
41
- const trimmedStart = match.from + leadingWhitespace;
42
- const trimmedEnd = match.to - trailingWhitespace;
43
-
44
- if (trimmedStart >= trimmedEnd) return null;
45
-
46
- return { from: trimmedStart, to: trimmedEnd };
47
- };
48
-
49
- /**
50
- * Convert splitSqlQueries result (array of query strings that join back to the
51
- * original doc) into character-offset boundaries.
52
- */
53
- const computeBoundaries = (queries: string[]): QueryBoundary[] => {
54
- const boundaries: QueryBoundary[] = [];
55
- let offset = 0;
56
- for (const query of queries) {
57
- boundaries.push({ from: offset, to: offset + query.length });
58
- offset += query.length;
59
- }
60
- return boundaries;
61
- };
62
-
63
- /**
64
- * Synchronously map cached boundaries through a changeset.
65
- *
66
- * Boundaries can outlive the document state they were computed from (the async
67
- * re-parse in `scheduleDocParse` is debounced, so several edits may land
68
- * before new boundaries are produced). When that happens a cached position
69
- * can exceed the changeset's pre-change length and `ChangeSet.mapPos` throws
70
- * `RangeError: Position X is out of range for changeset of length Y`.
71
- *
72
- * Clamp positions into the valid `[0, changes.length]` range before mapping
73
- * and drop degenerate boundaries so the mapping is safe even with stale cache.
74
- */
75
- export const mapBoundariesThroughChanges = (
76
- boundaries: QueryBoundary[],
77
- changes: ChangeSet,
78
- ): QueryBoundary[] => {
79
- const prevLen = changes.length;
80
- const mapped: QueryBoundary[] = [];
81
- for (const b of boundaries) {
82
- const from = changes.mapPos(Math.max(0, Math.min(b.from, prevLen)), -1);
83
- const to = changes.mapPos(Math.max(0, Math.min(b.to, prevLen)), 1);
84
- if (from < to) mapped.push({ from, to });
85
- }
86
- return mapped;
87
- };
88
-
89
- const buildDecorations = (view: EditorView, range: { from: number; to: number }) => {
90
- const startLine = view.state.doc.lineAt(range.from).number;
91
- const endLine = view.state.doc.lineAt(range.to).number;
92
-
93
- const decorations: Range<Decoration>[] = [];
94
- for (let lineNum = startLine; lineNum <= endLine; lineNum++) {
95
- const lineStart = view.state.doc.line(lineNum).from;
96
- if (startLine === endLine) {
97
- decorations.push(activeQuerySingleLine.range(lineStart));
98
- } else if (lineNum === startLine) {
99
- decorations.push(activeQueryFirstLine.range(lineStart));
100
- } else if (lineNum === endLine) {
101
- decorations.push(activeQueryLastLine.range(lineStart));
102
- } else {
103
- decorations.push(activeQueryMiddleLine.range(lineStart));
104
- }
105
- }
106
-
107
- return Decoration.set(decorations);
108
- };
109
-
110
- export const activeQueryHighlight = (splitQueries: (sql: string) => Promise<string[]>) => {
111
- return [
112
- ViewPlugin.fromClass(
113
- class {
114
- decorations = Decoration.none;
115
- private debounceTimer: ReturnType<typeof setTimeout> | null = null;
116
- private seq = 0;
117
- private cachedDoc = '';
118
- private cachedBoundaries: QueryBoundary[] = [];
119
- private destroyed = false;
120
-
121
- constructor(view: EditorView) {
122
- this.scheduleDocParse(view);
123
- }
124
-
125
- update(update: ViewUpdate) {
126
- if (update.focusChanged && !update.view.hasFocus) {
127
- this.decorations = Decoration.none;
128
- return;
129
- }
130
-
131
- if (update.docChanged) {
132
- // Synchronously map cached boundaries through document changes
133
- // so decorations update immediately without waiting for async re-parse.
134
- // Positions are clamped inside mapBoundariesThroughChanges because
135
- // the async re-parse is debounced and boundaries can be stale.
136
- if (this.cachedBoundaries.length > 0) {
137
- this.cachedBoundaries = mapBoundariesThroughChanges(
138
- this.cachedBoundaries,
139
- update.changes,
140
- );
141
- this.cachedDoc = update.state.doc.toString();
142
- this.updateFromCache(update.view);
143
- }
144
- // Still re-parse for accurate boundaries (handles structural changes like new semicolons)
145
- this.scheduleDocParse(update.view);
146
- } else if (update.selectionSet || (update.focusChanged && update.view.hasFocus)) {
147
- this.updateFromCache(update.view);
148
- }
149
- }
150
-
151
- destroy() {
152
- this.destroyed = true;
153
- if (this.debounceTimer) clearTimeout(this.debounceTimer);
154
- }
155
-
156
- /**
157
- * Update decorations using cached query boundaries.
158
- * Only mutates this.decorations — does NOT call view.dispatch().
159
- * When called from update() (sync), CodeMirror picks up the new
160
- * decorations via the accessor. When called from the async
161
- * scheduleDocParse callback, the caller must dispatch separately.
162
- */
163
- private updateFromCache(view: EditorView) {
164
- if (!view.hasFocus) {
165
- this.decorations = Decoration.none;
166
- return;
167
- }
168
-
169
- const { main } = view.state.selection;
170
-
171
- if (main.from !== main.to) {
172
- // User has text selected — hide highlight
173
- this.decorations = Decoration.none;
174
- return;
175
- }
176
-
177
- const doc = view.state.doc.toString();
178
- if (doc !== this.cachedDoc) return;
179
- if (this.cachedBoundaries.length === 0) {
180
- this.decorations = Decoration.none;
181
- return;
182
- }
183
-
184
- const range = findActiveQueryRange(doc, main.head, this.cachedBoundaries);
185
- this.decorations = range ? buildDecorations(view, range) : Decoration.none;
186
- }
187
-
188
- /** Parse queries async (debounced) and update decorations. */
189
- private scheduleDocParse(view: EditorView) {
190
- if (this.debounceTimer) clearTimeout(this.debounceTimer);
191
-
192
- this.debounceTimer = setTimeout(async () => {
193
- const seq = ++this.seq;
194
- const doc = view.state.doc.toString();
195
-
196
- if (!doc.trim()) {
197
- this.cachedDoc = doc;
198
- this.cachedBoundaries = [];
199
- if (this.decorations !== Decoration.none) {
200
- this.decorations = Decoration.none;
201
- if (!this.destroyed) view.dispatch();
202
- }
203
- return;
204
- }
205
-
206
- let queries: string[];
207
- try {
208
- queries = await splitQueries(doc);
209
- } catch {
210
- return;
211
- }
212
-
213
- // Discard stale results
214
- if (this.destroyed || seq !== this.seq) return;
215
-
216
- this.cachedDoc = doc;
217
- this.cachedBoundaries = computeBoundaries(queries);
218
-
219
- this.updateFromCache(view);
220
- if (!this.destroyed) view.dispatch();
221
- }, 100);
222
- }
223
- },
224
- { decorations: (v) => v.decorations },
225
- ),
226
- EditorView.baseTheme({
227
- '.cm-active-query': {
228
- boxShadow: `inset -1px 0 0 0 ${colors.secondary[300]}, inset 1px 0 0 0 ${colors.secondary[300]}`,
229
- marginRight: '8px',
230
- },
231
- '.cm-active-query-first': {
232
- boxShadow: `inset -1px 0 0 0 ${colors.secondary[300]}, inset 1px 0 0 0 ${colors.secondary[300]}, inset 0 1px 0 0 ${colors.secondary[300]}`,
233
- borderRadius: '4px 4px 0 0',
234
- },
235
- '.cm-active-query-last': {
236
- boxShadow: `inset -1px 0 0 0 ${colors.secondary[300]}, inset 1px 0 0 0 ${colors.secondary[300]}, inset 0 -1px 0 0 ${colors.secondary[300]}`,
237
- borderRadius: '0 0 4px 4px',
238
- },
239
- '.cm-active-query-first.cm-active-query-last': {
240
- boxShadow: `inset 0 0 0 1px ${colors.secondary[300]}`,
241
- borderRadius: '4px',
242
- },
243
- }),
244
- ];
245
- };