@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,142 +0,0 @@
1
- import { useRef } from 'react';
2
- import { $createCodeNode } from '@lexical/code';
3
- import { INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND } from '@lexical/list';
4
- import { $createHeadingNode, $createQuoteNode } from '@lexical/rich-text';
5
- import { $getNearestBlockElementAncestorOrThrow } from '@lexical/utils';
6
- import {
7
- $createParagraphNode,
8
- $getSelection,
9
- $isRangeSelection,
10
- $setSelection,
11
- type BaseSelection,
12
- type LexicalEditor,
13
- } from 'lexical';
14
-
15
- import {
16
- ChevronDown,
17
- Heading1,
18
- Heading2,
19
- Heading3,
20
- List as ListIcon,
21
- ListOrdered,
22
- type LucideIcon,
23
- Quote,
24
- SquareCode,
25
- Type,
26
- } from '../../../../icons';
27
- import { cn } from '../../../../utils';
28
- import { DropdownMenu } from '../../../DropdownMenu';
29
- import { Tooltip } from '../../../Tooltip';
30
-
31
- const BLOCK_TYPE_META = {
32
- paragraph: { label: 'Normal', icon: Type satisfies LucideIcon, selectable: true },
33
- h1: { label: 'Heading 1', icon: Heading1 satisfies LucideIcon, selectable: true },
34
- h2: { label: 'Heading 2', icon: Heading2 satisfies LucideIcon, selectable: true },
35
- h3: { label: 'Heading 3', icon: Heading3 satisfies LucideIcon, selectable: true },
36
- bullet: { label: 'Bullet List', icon: ListIcon satisfies LucideIcon, selectable: false },
37
- number: { label: 'Numbered List', icon: ListOrdered satisfies LucideIcon, selectable: false },
38
- quote: { label: 'Quote', icon: Quote satisfies LucideIcon, selectable: false },
39
- code: { label: 'Code Block', icon: SquareCode satisfies LucideIcon, selectable: false },
40
- } as const;
41
-
42
- type BlockType = keyof typeof BLOCK_TYPE_META;
43
-
44
- const BLOCK_TYPE_OPTIONS = (
45
- Object.entries(BLOCK_TYPE_META) as [BlockType, (typeof BLOCK_TYPE_META)[BlockType]][]
46
- )
47
- .filter(([, meta]) => meta.selectable)
48
- .map(([value, { label, icon }]) => ({ value, label, icon }));
49
-
50
- const isBlockType = (value: string): value is BlockType =>
51
- Object.prototype.hasOwnProperty.call(BLOCK_TYPE_META, value);
52
-
53
- export const BlockTypeDropdown = ({
54
- editor,
55
- blockType,
56
- }: {
57
- editor: LexicalEditor;
58
- blockType: string;
59
- }) => {
60
- const savedSelectionRef = useRef<BaseSelection | null>(null);
61
- const currentMeta = isBlockType(blockType) ? BLOCK_TYPE_META[blockType] : null;
62
- const CurrentBlockIcon = currentMeta?.icon ?? Type;
63
-
64
- const handleOpenChange = (open: boolean) => {
65
- if (open) {
66
- editor.getEditorState().read(() => {
67
- const selection = $getSelection();
68
- savedSelectionRef.current = selection ? selection.clone() : null;
69
- });
70
- }
71
- };
72
-
73
- const handleSelect = (type: BlockType) => {
74
- editor.update(() => {
75
- if (savedSelectionRef.current) {
76
- $setSelection(savedSelectionRef.current);
77
- }
78
-
79
- const selection = $getSelection();
80
- if (!$isRangeSelection(selection)) return;
81
-
82
- if (type === 'bullet') {
83
- editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);
84
- return;
85
- }
86
- if (type === 'number') {
87
- editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);
88
- return;
89
- }
90
-
91
- const anchorNode = selection.anchor.getNode();
92
- const element = $getNearestBlockElementAncestorOrThrow(anchorNode);
93
-
94
- const newNode =
95
- type === 'h1' || type === 'h2' || type === 'h3'
96
- ? $createHeadingNode(type)
97
- : type === 'quote'
98
- ? $createQuoteNode()
99
- : type === 'code'
100
- ? $createCodeNode()
101
- : $createParagraphNode();
102
-
103
- element.getChildren().forEach((child) => newNode.append(child));
104
- element.replace(newNode);
105
- });
106
- };
107
-
108
- return (
109
- <DropdownMenu onOpenChange={handleOpenChange}>
110
- <Tooltip tooltip="Change block type" placement="top" triggerAsChild>
111
- <DropdownMenu.Trigger asChild>
112
- <button
113
- type="button"
114
- className={cn(
115
- 'tw-flex tw-h-7 tw-cursor-pointer tw-items-center tw-gap-1.5 tw-rounded tw-border-0 tw-bg-transparent tw-px-1.5 tw-text-xs tw-text-neutral-600',
116
- 'hover:tw-bg-neutral-100',
117
- )}
118
- >
119
- <CurrentBlockIcon className="tw-size-4" />
120
- {currentMeta?.label ?? 'Normal'}
121
- <ChevronDown className="tw-size-3" />
122
- </button>
123
- </DropdownMenu.Trigger>
124
- </Tooltip>
125
- <DropdownMenu.Content align="start" className="tw-min-w-40">
126
- {BLOCK_TYPE_OPTIONS.map(({ value, label, icon: IconComp }) => (
127
- <DropdownMenu.Item
128
- key={value}
129
- onSelect={() => handleSelect(value)}
130
- className={cn(
131
- 'tw-flex tw-items-center tw-gap-2',
132
- blockType === value && 'tw-bg-secondary-50 tw-text-secondary-500',
133
- )}
134
- >
135
- <IconComp className="tw-size-4" />
136
- {label}
137
- </DropdownMenu.Item>
138
- ))}
139
- </DropdownMenu.Content>
140
- </DropdownMenu>
141
- );
142
- };
@@ -1,160 +0,0 @@
1
- import { useRef, useState } from 'react';
2
- import type { KeyboardEvent as ReactKeyboardEvent } from 'react';
3
- import { $createLinkNode, TOGGLE_LINK_COMMAND } from '@lexical/link';
4
- import {
5
- $createTextNode,
6
- $getSelection,
7
- $isRangeSelection,
8
- $setSelection,
9
- type BaseSelection,
10
- type LexicalEditor,
11
- } from 'lexical';
12
-
13
- import { Link as LinkIcon } from '../../../../icons';
14
- import { Button } from '../../../Button';
15
- import { ButtonGroup } from '../../../ButtonGroup';
16
- import { FormGroup } from '../../../FormGroup';
17
- import { TextInput } from '../../../Input';
18
- import { Label } from '../../../Label';
19
-
20
- import { ToolbarButton } from './ToolbarButton';
21
-
22
- const insertLink = (
23
- editor: LexicalEditor,
24
- url: string,
25
- label: string,
26
- savedSelection: BaseSelection | null,
27
- ) => {
28
- editor.update(() => {
29
- $setSelection(savedSelection);
30
- const selection = $getSelection();
31
-
32
- if ($isRangeSelection(selection)) {
33
- const selectedText = selection.getTextContent();
34
- if (selectedText && label === selectedText) {
35
- editor.dispatchCommand(TOGGLE_LINK_COMMAND, url);
36
- return;
37
- }
38
- }
39
-
40
- const linkNode = $createLinkNode(url);
41
- const textNode = $createTextNode(label || url);
42
- linkNode.append(textNode);
43
-
44
- if ($isRangeSelection(selection)) {
45
- selection.insertNodes([linkNode]);
46
- }
47
- });
48
- };
49
-
50
- export const LinkPanel = ({ editor, isLink }: { editor: LexicalEditor; isLink: boolean }) => {
51
- const [open, setOpen] = useState(false);
52
- const [url, setUrl] = useState('');
53
- const [label, setLabel] = useState('');
54
- const savedSelectionRef = useRef<BaseSelection | null>(null);
55
- const panelRef = useRef<HTMLDivElement>(null);
56
-
57
- const handleOpen = () => {
58
- editor.getEditorState().read(() => {
59
- const selection = $getSelection();
60
- savedSelectionRef.current = selection ? selection.clone() : null;
61
-
62
- if ($isRangeSelection(selection)) {
63
- const text = selection.getTextContent();
64
- if (text) setLabel(text);
65
- }
66
- });
67
- setOpen(true);
68
- };
69
-
70
- const handleClose = () => {
71
- setOpen(false);
72
- setUrl('');
73
- setLabel('');
74
- savedSelectionRef.current = null;
75
- editor.focus();
76
- };
77
-
78
- const handleSubmit = () => {
79
- const trimmedUrl = url.trim();
80
- if (!trimmedUrl) return;
81
-
82
- insertLink(editor, trimmedUrl, label.trim(), savedSelectionRef.current);
83
- handleClose();
84
- };
85
-
86
- const handleKeyDown = (e: ReactKeyboardEvent) => {
87
- if (e.key === 'Enter') {
88
- e.preventDefault();
89
- handleSubmit();
90
- }
91
- if (e.key === 'Escape') {
92
- e.preventDefault();
93
- handleClose();
94
- }
95
- };
96
-
97
- if (isLink) {
98
- return (
99
- <ToolbarButton
100
- active
101
- onClick={() => editor.dispatchCommand(TOGGLE_LINK_COMMAND, null)}
102
- tooltip="Remove Link"
103
- >
104
- <LinkIcon className="tw-size-4" />
105
- </ToolbarButton>
106
- );
107
- }
108
-
109
- return (
110
- <div className="tw-relative">
111
- <ToolbarButton active={open} onClick={handleOpen} tooltip="Insert Link">
112
- <LinkIcon className="tw-size-4" />
113
- </ToolbarButton>
114
- {open && (
115
- <div
116
- ref={panelRef}
117
- className="tw-absolute tw-left-0 tw-top-full tw-z-50 tw-mt-1 tw-w-80 tw-rounded-md tw-border tw-border-neutral-200 tw-bg-white tw-p-3 tw-shadow-lg"
118
- >
119
- <div className="tw-flex tw-flex-col tw-gap-2">
120
- <FormGroup>
121
- <Label htmlFor="link-label" className="tw-mb-1 tw-text-xs">
122
- Label
123
- </Label>
124
- <TextInput
125
- id="link-label"
126
- autoFocus
127
- placeholder="Link text"
128
- value={label}
129
- onValueChange={setLabel}
130
- onKeyDown={handleKeyDown}
131
- variant="secondary"
132
- />
133
- </FormGroup>
134
- <FormGroup>
135
- <Label htmlFor="link-url" className="tw-mb-1 tw-text-xs">
136
- URL
137
- </Label>
138
- <TextInput
139
- id="link-url"
140
- placeholder="https://…"
141
- value={url}
142
- onValueChange={setUrl}
143
- onKeyDown={handleKeyDown}
144
- variant="secondary"
145
- />
146
- </FormGroup>
147
- <ButtonGroup>
148
- <Button size="small" variant="outline" onClick={handleClose}>
149
- Cancel
150
- </Button>
151
- <Button size="small" onClick={handleSubmit} disabled={!url.trim()}>
152
- Add link
153
- </Button>
154
- </ButtonGroup>
155
- </div>
156
- </div>
157
- )}
158
- </div>
159
- );
160
- };
@@ -1,36 +0,0 @@
1
- import type { ReactNode } from 'react';
2
-
3
- import { cn } from '../../../../utils';
4
- import { Tooltip } from '../../../Tooltip';
5
-
6
- export const ToolbarButton = ({
7
- active,
8
- disabled,
9
- onClick,
10
- tooltip,
11
- children,
12
- className: extraClassName,
13
- }: {
14
- active?: boolean;
15
- disabled?: boolean;
16
- onClick: () => void;
17
- tooltip: ReactNode;
18
- children: ReactNode;
19
- className?: string;
20
- }) => (
21
- <Tooltip tooltip={tooltip} placement="top" triggerAsChild>
22
- <button
23
- type="button"
24
- disabled={disabled}
25
- onClick={onClick}
26
- className={cn(
27
- 'tw-flex tw-h-7 tw-min-w-7 tw-cursor-pointer tw-items-center tw-justify-center tw-rounded tw-border-0 tw-bg-transparent tw-px-1 tw-text-xs tw-text-neutral-600',
28
- 'hover:tw-bg-neutral-100 disabled:tw-cursor-not-allowed disabled:tw-opacity-30',
29
- active && 'tw-bg-secondary-100 tw-text-secondary-500',
30
- extraClassName,
31
- )}
32
- >
33
- {children}
34
- </button>
35
- </Tooltip>
36
- );
@@ -1 +0,0 @@
1
- export const ToolbarDivider = () => <div className="tw-mx-0.5 tw-h-5 tw-w-px tw-bg-neutral-200" />;
@@ -1,39 +0,0 @@
1
- import type { EditorThemeClasses } from 'lexical';
2
-
3
- /**
4
- * Lexical editor theme — maps node types to CSS classes.
5
- * The editor container uses `tw-prose` so semantic elements (headings, lists, blockquotes, etc.)
6
- * are styled by Tailwind Typography. We only need explicit classes for text formatting
7
- * (bold, italic, etc.) because Lexical renders those as `<span>` elements.
8
- */
9
- export const editorTheme: EditorThemeClasses = {
10
- link: 'tw-cursor-pointer !tw-text-secondary-500 tw-underline',
11
- text: {
12
- bold: 'tw-font-bold',
13
- italic: 'tw-italic',
14
- strikethrough: 'tw-line-through',
15
- underline: 'tw-underline',
16
- code: 'tw-rounded tw-bg-neutral-100 tw-px-1 tw-py-0.5 tw-font-mono tw-text-[0.85em]',
17
- },
18
- list: {
19
- ol: '!tw-list-decimal',
20
- ul: '!tw-list-disc',
21
- checklist: '!tw-list-none !tw-pl-0',
22
- listitemChecked: [
23
- 'tw-relative !tw-pl-6 tw-list-none tw-outline-none tw-line-through tw-text-neutral-400',
24
- 'before:tw-content-[""] before:tw-absolute before:tw-left-0 before:tw-top-[3px]',
25
- 'before:tw-size-4 before:tw-rounded before:tw-border before:tw-border-solid',
26
- 'before:tw-bg-secondary-500 before:tw-border-secondary-500 before:tw-cursor-pointer',
27
- 'after:tw-content-[""] after:tw-absolute after:tw-left-[5.5px] after:tw-top-[5.5px]',
28
- 'after:tw-w-1 after:tw-h-2 after:tw-border-white after:tw-border-solid',
29
- 'after:tw-border-r-[1.5px] after:tw-border-b-[1.5px] after:tw-border-t-0 after:tw-border-l-0',
30
- 'after:tw-rotate-45',
31
- ].join(' '),
32
- listitemUnchecked: [
33
- 'tw-relative !tw-pl-6 tw-list-none tw-outline-none',
34
- 'before:tw-content-[""] before:tw-absolute before:tw-left-0 before:tw-top-[3px]',
35
- 'before:tw-size-4 before:tw-rounded before:tw-border before:tw-border-solid',
36
- 'before:tw-border-neutral-200 before:tw-bg-white before:tw-cursor-pointer',
37
- ].join(' '),
38
- },
39
- };
@@ -1,189 +0,0 @@
1
- import type {
2
- ElementTransformer,
3
- MultilineElementTransformer,
4
- TextMatchTransformer,
5
- Transformer,
6
- } from '@lexical/markdown';
7
- import { CHECK_LIST, TRANSFORMERS } from '@lexical/markdown';
8
- import {
9
- $createHorizontalRuleNode,
10
- $isHorizontalRuleNode,
11
- HorizontalRuleNode,
12
- } from '@lexical/react/LexicalHorizontalRuleNode';
13
-
14
- import { $createImageNode, $isImageNode, ImageNode } from './nodes/ImageNode';
15
- import { $createMermaidNode, $isMermaidNode, MermaidNode } from './nodes/MermaidNode';
16
-
17
- /** Markdown image: `![alt](src)` */
18
- const IMAGE: TextMatchTransformer = {
19
- dependencies: [ImageNode],
20
- export: (node) => {
21
- if (!$isImageNode(node)) return null;
22
- return `![${node.getAlt()}](${node.getSrc()})`;
23
- },
24
- importRegExp: /!\[([^\]]*)\]\(([^)]+)\)/,
25
- regExp: /!\[([^\]]*)\]\(([^)]+)\)$/,
26
- replace: (textNode, match) => {
27
- const [, alt = '', src = ''] = match;
28
- const imageNode = $createImageNode(src, alt);
29
- textNode.replace(imageNode);
30
- },
31
- trigger: ')',
32
- type: 'text-match',
33
- };
34
-
35
- /** Horizontal rule: `---`, `***`, or `___` */
36
- const HORIZONTAL_RULE: ElementTransformer = {
37
- dependencies: [HorizontalRuleNode],
38
- export: (node) => {
39
- return $isHorizontalRuleNode(node) ? '---' : null;
40
- },
41
- regExp: /^(---|\*\*\*|___)$/,
42
- replace: (parentNode) => {
43
- const node = $createHorizontalRuleNode();
44
- parentNode.replace(node);
45
- },
46
- type: 'element',
47
- };
48
-
49
- /** Fenced mermaid block: ` ```mermaid ... ``` ` → MermaidNode (rendered as diagram) */
50
- const MERMAID: MultilineElementTransformer = {
51
- dependencies: [MermaidNode],
52
- export: (node) => {
53
- if (!$isMermaidNode(node)) return null;
54
- return '```mermaid\n' + node.getCode() + '\n```';
55
- },
56
- regExpStart: /^[ \t]*(`{3,})mermaid(?:\s.*)?$/,
57
- regExpEnd: {
58
- optional: true,
59
- regExp: /^[ \t]*`{3,}$/,
60
- },
61
- replace: (rootNode, _children, _startMatch, _endMatch, linesInBetween) => {
62
- if (!linesInBetween) return;
63
- const code = linesInBetween.join('\n').trim();
64
- if (code) {
65
- rootNode.append($createMermaidNode(code));
66
- }
67
- },
68
- handleImportAfterStartMatch: ({
69
- lines,
70
- rootNode,
71
- startLineIndex,
72
- startMatch,
73
- }): [boolean, number] => {
74
- const fence = startMatch[1];
75
- if (!fence) return [false, startLineIndex];
76
- const fenceLength = fence.trim().length;
77
- const endRegex = new RegExp(`^[ \\t]*\`{${fenceLength},}$`);
78
-
79
- for (let i = startLineIndex + 1; i < lines.length; i++) {
80
- if (endRegex.test(lines[i] ?? '')) {
81
- const code = lines
82
- .slice(startLineIndex + 1, i)
83
- .join('\n')
84
- .trim();
85
- if (code) {
86
- rootNode.append($createMermaidNode(code));
87
- }
88
- return [true, i];
89
- }
90
- }
91
-
92
- // No closing fence — consume remaining lines
93
- const code = lines
94
- .slice(startLineIndex + 1)
95
- .join('\n')
96
- .trim();
97
- if (code) {
98
- rootNode.append($createMermaidNode(code));
99
- }
100
- return [true, lines.length - 1];
101
- },
102
- type: 'multiline-element',
103
- };
104
-
105
- /**
106
- * Custom transformers = our additions + built-in Lexical transformers.
107
- * MERMAID is placed before TRANSFORMERS so it intercepts ` ```mermaid ``` ` before the generic CODE transformer.
108
- * IMAGE is placed before built-in LINK to prevent `![alt](url)` from being parsed as `!` + link.
109
- */
110
- export const CUSTOM_TRANSFORMERS: Transformer[] = [
111
- IMAGE,
112
- HORIZONTAL_RULE,
113
- CHECK_LIST,
114
- MERMAID,
115
- ...TRANSFORMERS,
116
- ];
117
-
118
- /**
119
- * Inline-only subset for `singleLine` mode: keeps text-format (bold/italic/code/strike)
120
- * and text-match (links) transformers; drops every element / multiline-element transformer
121
- * (headings, lists, HR, code blocks, mermaid). Used for inline-editable titles where the
122
- * caller doesn't want block-level markdown syntax to "promote" a line.
123
- */
124
- export const SINGLE_LINE_TRANSFORMERS: Transformer[] = CUSTOM_TRANSFORMERS.filter(
125
- (t) => t.type === 'text-format' || t.type === 'text-match',
126
- );
127
-
128
- // --- Table pre/post-processing ---
129
- // GFM tables can't round-trip through Lexical's markdown (no built-in table transformer).
130
- // We wrap them in fenced code blocks on import and unwrap on export to preserve them exactly.
131
-
132
- const TABLE_FENCE_LANG = '__kbc_table__';
133
-
134
- const isTableLine = (line: string): boolean => {
135
- const trimmed = line.trim();
136
- return trimmed.startsWith('|') && trimmed.endsWith('|');
137
- };
138
-
139
- const CODE_FENCE_REGEX = /^[ \t]*`{3,}/;
140
-
141
- /** Wrap GFM tables in code fences so they survive Lexical's markdown round-trip. */
142
- export const preprocessMarkdown = (markdown: string): string => {
143
- const lines = markdown.split('\n');
144
- const result: string[] = [];
145
- let tableLines: string[] = [];
146
- let insideCodeFence = false;
147
-
148
- const flushTable = () => {
149
- if (tableLines.length >= 2) {
150
- result.push(`\`\`\`${TABLE_FENCE_LANG}`);
151
- result.push(...tableLines);
152
- result.push('```');
153
- } else {
154
- // Single pipe line isn't a table — keep as-is
155
- result.push(...tableLines);
156
- }
157
- tableLines = [];
158
- };
159
-
160
- for (const line of lines) {
161
- if (CODE_FENCE_REGEX.test(line)) {
162
- if (tableLines.length > 0) flushTable();
163
- insideCodeFence = !insideCodeFence;
164
- result.push(line);
165
- continue;
166
- }
167
-
168
- if (insideCodeFence) {
169
- result.push(line);
170
- continue;
171
- }
172
-
173
- if (isTableLine(line)) {
174
- tableLines.push(line);
175
- } else {
176
- if (tableLines.length > 0) flushTable();
177
- result.push(line);
178
- }
179
- }
180
- if (tableLines.length > 0) flushTable();
181
-
182
- return result.join('\n');
183
- };
184
-
185
- /** Unwrap code-fenced tables back to raw GFM table markdown. */
186
- export const postprocessMarkdown = (markdown: string): string => {
187
- const regex = new RegExp(`\`\`\`${TABLE_FENCE_LANG}\\n([\\s\\S]*?)\\n\`\`\``, 'g');
188
- return markdown.replace(regex, '$1');
189
- };
@@ -1,46 +0,0 @@
1
- import { useState } from 'react';
2
- import type { ComponentProps } from 'react';
3
- import type { Meta, StoryObj } from '@storybook/react-vite';
4
-
5
- import { TextInput } from '../Input';
6
-
7
- import { MarkedText } from './MarkedText';
8
-
9
- export default {
10
- component: MarkedText,
11
- args: {
12
- source: 'This is a text with marked words.',
13
- mark: 'marked',
14
- },
15
- } satisfies Meta<typeof MarkedText>;
16
-
17
- type Story = StoryObj<typeof MarkedText>;
18
-
19
- export const Default: Story = {};
20
-
21
- const MarkedTextDemo = (props: ComponentProps<typeof MarkedText>) => {
22
- const [search, setSearch] = useState('');
23
- return (
24
- <div className="tw-flex tw-flex-col tw-gap-4">
25
- <TextInput
26
- value={search}
27
- placeholder="Search..."
28
- onValueChange={setSearch}
29
- variant="secondary"
30
- />
31
- <MarkedText {...props} mark={search} />
32
- </div>
33
- );
34
- };
35
-
36
- export const WithInput: Story = {
37
- args: {
38
- source:
39
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam euismod, nisi vel consectetur interdum, nisl nunc egestas nunc, vitae tincidunt nisl nunc euismod nunc. Sed euismod, nisi vel consectetur interdum, nisl nunc egestas nunc, vitae tincidunt nisl nunc euismod nunc.\n' +
40
- 'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Proin eget tortor risus. Vivamus suscipit tortor eget felis porttitor volutpat. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi.\n' +
41
- 'Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Pellentesque in ipsum id orci porta dapibus. Cras ultricies ligula sed magna dictum porta. Nulla quis lorem ut libero malesuada feugiat. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a.\n' +
42
- 'Sed porttitor lectus nibh. Nulla porttitor accumsan tincidunt. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur aliquet quam id dui posuere blandit. Nulla quis lorem ut libero malesuada feugiat.\n' +
43
- 'Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Donec rutrum congue leo eget malesuada. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a. Nulla porttitor accumsan tincidunt. Vivamus suscipit tortor eget felis porttitor volutpat.',
44
- },
45
- render: MarkedTextDemo,
46
- };
@@ -1,36 +0,0 @@
1
- import { useMemo } from 'react';
2
- import type { ComponentProps, ElementRef, Ref } from 'react';
3
-
4
- import { createMarkedParts } from './utils';
5
-
6
- type Props = {
7
- source: string;
8
- className?: string;
9
- mark?: string;
10
- isCaseSensitive?: boolean;
11
- } & ComponentProps<'span'>;
12
-
13
- export const MarkedText = ({
14
- ref,
15
- source,
16
- mark,
17
- isCaseSensitive = false,
18
- ...spanProps
19
- }: Props & { ref?: Ref<ElementRef<'span'>> }) => {
20
- const parts = useMemo(
21
- () =>
22
- createMarkedParts({
23
- mark,
24
- source,
25
- isCaseSensitive,
26
- }),
27
- [isCaseSensitive, mark, source],
28
- );
29
-
30
- return (
31
- <span {...spanProps} ref={ref}>
32
- {/* oxlint-disable-next-line react/no-array-index-key */}
33
- {parts.map(({ isMark, part }, index) => (isMark ? <mark key={index}>{part}</mark> : part))}
34
- </span>
35
- );
36
- };
@@ -1 +0,0 @@
1
- export { MarkedText } from './MarkedText';