@verbb/plugin-kit-react 1.0.9 → 2.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 (720) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +91 -16
  3. package/dist/app/PluginKitProvider.d.ts +28 -0
  4. package/dist/app/PluginKitProvider.d.ts.map +1 -0
  5. package/dist/app/PluginKitProvider.js +39 -0
  6. package/dist/app/PluginKitProvider.js.map +1 -0
  7. package/dist/app/configure.d.ts +29 -0
  8. package/dist/app/configure.d.ts.map +1 -0
  9. package/dist/app/configure.js +35 -0
  10. package/dist/app/configure.js.map +1 -0
  11. package/dist/app/index.d.ts +5 -0
  12. package/dist/app/index.d.ts.map +1 -0
  13. package/dist/app/index.js +5 -0
  14. package/dist/app/mountShadowApp.d.ts +6 -0
  15. package/dist/app/mountShadowApp.d.ts.map +1 -0
  16. package/dist/app/mountShadowApp.js +2 -0
  17. package/dist/components/Button.d.ts +26 -25
  18. package/dist/components/Button.d.ts.map +1 -1
  19. package/dist/components/Button.js +34 -141
  20. package/dist/components/Button.js.map +1 -1
  21. package/dist/components/ButtonGroup.d.ts +15 -10
  22. package/dist/components/ButtonGroup.d.ts.map +1 -1
  23. package/dist/components/ButtonGroup.js +24 -54
  24. package/dist/components/ButtonGroup.js.map +1 -1
  25. package/dist/components/Calendar.d.ts +17 -10
  26. package/dist/components/Calendar.d.ts.map +1 -1
  27. package/dist/components/Calendar.js +17 -129
  28. package/dist/components/Calendar.js.map +1 -1
  29. package/dist/components/Checkbox.d.ts +27 -4
  30. package/dist/components/Checkbox.d.ts.map +1 -1
  31. package/dist/components/Checkbox.js +37 -34
  32. package/dist/components/Checkbox.js.map +1 -1
  33. package/dist/components/CheckboxInput.d.ts +10 -10
  34. package/dist/components/CheckboxInput.d.ts.map +1 -1
  35. package/dist/components/CheckboxInput.js +30 -10
  36. package/dist/components/CheckboxInput.js.map +1 -1
  37. package/dist/components/CheckboxSelect.d.ts +18 -17
  38. package/dist/components/CheckboxSelect.d.ts.map +1 -1
  39. package/dist/components/CheckboxSelect.js +30 -58
  40. package/dist/components/CheckboxSelect.js.map +1 -1
  41. package/dist/components/CodeEditor.d.ts +16 -10
  42. package/dist/components/CodeEditor.d.ts.map +1 -1
  43. package/dist/components/CodeEditor.js +32 -71
  44. package/dist/components/CodeEditor.js.map +1 -1
  45. package/dist/components/ColorInput.d.ts +25 -12
  46. package/dist/components/ColorInput.d.ts.map +1 -1
  47. package/dist/components/ColorInput.js +42 -142
  48. package/dist/components/ColorInput.js.map +1 -1
  49. package/dist/components/Combobox.d.ts +31 -39
  50. package/dist/components/Combobox.d.ts.map +1 -1
  51. package/dist/components/Combobox.js +47 -385
  52. package/dist/components/Combobox.js.map +1 -1
  53. package/dist/components/ComboboxInput.d.ts +34 -17
  54. package/dist/components/ComboboxInput.d.ts.map +1 -1
  55. package/dist/components/ComboboxInput.js +81 -161
  56. package/dist/components/ComboboxInput.js.map +1 -1
  57. package/dist/components/CopyButton.d.ts +12 -8
  58. package/dist/components/CopyButton.d.ts.map +1 -1
  59. package/dist/components/CopyButton.js +15 -36
  60. package/dist/components/CopyButton.js.map +1 -1
  61. package/dist/components/DatePicker.d.ts +28 -7
  62. package/dist/components/DatePicker.d.ts.map +1 -1
  63. package/dist/components/DatePicker.js +82 -53
  64. package/dist/components/DatePicker.js.map +1 -1
  65. package/dist/components/Dialog.d.ts +20 -20
  66. package/dist/components/Dialog.d.ts.map +1 -1
  67. package/dist/components/Dialog.js +50 -175
  68. package/dist/components/Dialog.js.map +1 -1
  69. package/dist/components/DropdownMenu.d.ts +39 -46
  70. package/dist/components/DropdownMenu.d.ts.map +1 -1
  71. package/dist/components/DropdownMenu.js +40 -232
  72. package/dist/components/DropdownMenu.js.map +1 -1
  73. package/dist/components/EditableTable.d.ts +82 -27
  74. package/dist/components/EditableTable.d.ts.map +1 -1
  75. package/dist/components/EditableTable.js +183 -133
  76. package/dist/components/EditableTable.js.map +1 -1
  77. package/dist/components/Field.d.ts +13 -0
  78. package/dist/components/Field.d.ts.map +1 -0
  79. package/dist/components/Field.js +32 -0
  80. package/dist/components/Field.js.map +1 -0
  81. package/dist/components/Icon.d.ts +7 -0
  82. package/dist/components/Icon.d.ts.map +1 -0
  83. package/dist/components/Icon.js +15 -0
  84. package/dist/components/Icon.js.map +1 -0
  85. package/dist/components/Input.d.ts +20 -8
  86. package/dist/components/Input.d.ts.map +1 -1
  87. package/dist/components/Input.js +37 -34
  88. package/dist/components/Input.js.map +1 -1
  89. package/dist/components/InputGroup.d.ts +39 -19
  90. package/dist/components/InputGroup.d.ts.map +1 -1
  91. package/dist/components/InputGroup.js +83 -102
  92. package/dist/components/InputGroup.js.map +1 -1
  93. package/dist/components/Lightswitch.d.ts +15 -8
  94. package/dist/components/Lightswitch.d.ts.map +1 -1
  95. package/dist/components/Lightswitch.js +22 -47
  96. package/dist/components/Lightswitch.js.map +1 -1
  97. package/dist/components/Popover.d.ts +23 -11
  98. package/dist/components/Popover.d.ts.map +1 -1
  99. package/dist/components/Popover.js +46 -65
  100. package/dist/components/Popover.js.map +1 -1
  101. package/dist/components/Popup.d.ts +14 -0
  102. package/dist/components/Popup.d.ts.map +1 -0
  103. package/dist/components/Popup.js +19 -0
  104. package/dist/components/Popup.js.map +1 -0
  105. package/dist/components/RadioGroup.d.ts +26 -5
  106. package/dist/components/RadioGroup.d.ts.map +1 -1
  107. package/dist/components/RadioGroup.js +56 -26
  108. package/dist/components/RadioGroup.js.map +1 -1
  109. package/dist/components/RadioGroupInput.d.ts +19 -0
  110. package/dist/components/RadioGroupInput.d.ts.map +1 -0
  111. package/dist/components/RadioGroupInput.js +35 -0
  112. package/dist/components/RadioGroupInput.js.map +1 -0
  113. package/dist/components/ScrollArea.d.ts +11 -15
  114. package/dist/components/ScrollArea.d.ts.map +1 -1
  115. package/dist/components/ScrollArea.js +11 -42
  116. package/dist/components/ScrollArea.js.map +1 -1
  117. package/dist/components/Select.d.ts +46 -22
  118. package/dist/components/Select.d.ts.map +1 -1
  119. package/dist/components/Select.js +74 -196
  120. package/dist/components/Select.js.map +1 -1
  121. package/dist/components/SelectInput.d.ts +28 -21
  122. package/dist/components/SelectInput.d.ts.map +1 -1
  123. package/dist/components/SelectInput.js +62 -76
  124. package/dist/components/SelectInput.js.map +1 -1
  125. package/dist/components/Separator.d.ts +7 -3
  126. package/dist/components/Separator.d.ts.map +1 -1
  127. package/dist/components/Separator.js +11 -13
  128. package/dist/components/Separator.js.map +1 -1
  129. package/dist/components/Spinner.d.ts +12 -8
  130. package/dist/components/Spinner.d.ts.map +1 -1
  131. package/dist/components/Spinner.js +15 -34
  132. package/dist/components/Spinner.js.map +1 -1
  133. package/dist/components/Status.d.ts +7 -7
  134. package/dist/components/Status.d.ts.map +1 -1
  135. package/dist/components/Status.js +11 -51
  136. package/dist/components/Status.js.map +1 -1
  137. package/dist/components/Tabs.d.ts +31 -7
  138. package/dist/components/Tabs.d.ts.map +1 -1
  139. package/dist/components/Tabs.js +57 -30
  140. package/dist/components/Tabs.js.map +1 -1
  141. package/dist/components/Textarea.d.ts +18 -7
  142. package/dist/components/Textarea.d.ts.map +1 -1
  143. package/dist/components/Textarea.js +33 -18
  144. package/dist/components/Textarea.js.map +1 -1
  145. package/dist/components/TimePicker.d.ts +18 -8
  146. package/dist/components/TimePicker.d.ts.map +1 -1
  147. package/dist/components/TimePicker.js +38 -36
  148. package/dist/components/TimePicker.js.map +1 -1
  149. package/dist/components/Tiptap.d.ts +43 -0
  150. package/dist/components/Tiptap.d.ts.map +1 -0
  151. package/dist/components/Tiptap.js +96 -0
  152. package/dist/components/Tiptap.js.map +1 -0
  153. package/dist/components/Toggle.d.ts +13 -8
  154. package/dist/components/Toggle.d.ts.map +1 -1
  155. package/dist/components/Toggle.js +13 -42
  156. package/dist/components/Toggle.js.map +1 -1
  157. package/dist/components/ToggleGroup.d.ts +11 -10
  158. package/dist/components/ToggleGroup.d.ts.map +1 -1
  159. package/dist/components/ToggleGroup.js +11 -65
  160. package/dist/components/ToggleGroup.js.map +1 -1
  161. package/dist/components/Tooltip.d.ts +18 -8
  162. package/dist/components/Tooltip.d.ts.map +1 -1
  163. package/dist/components/Tooltip.js +18 -47
  164. package/dist/components/Tooltip.js.map +1 -1
  165. package/dist/components/index.d.ts +37 -45
  166. package/dist/components/index.d.ts.map +1 -1
  167. package/dist/components/index.js +35 -43
  168. package/dist/fault/AppFaultBoundary.d.ts +18 -0
  169. package/dist/fault/AppFaultBoundary.d.ts.map +1 -0
  170. package/dist/fault/AppFaultBoundary.js +24 -0
  171. package/dist/fault/AppFaultBoundary.js.map +1 -0
  172. package/dist/fault/AppFaultProvider.d.ts +43 -0
  173. package/dist/fault/AppFaultProvider.d.ts.map +1 -0
  174. package/dist/fault/AppFaultProvider.js +192 -0
  175. package/dist/fault/AppFaultProvider.js.map +1 -0
  176. package/dist/fault/FaultFallback.d.ts +16 -0
  177. package/dist/fault/FaultFallback.d.ts.map +1 -0
  178. package/dist/fault/FaultFallback.js +67 -0
  179. package/dist/fault/FaultFallback.js.map +1 -0
  180. package/dist/fault/buildSupportBundle.d.ts +3 -0
  181. package/dist/fault/buildSupportBundle.d.ts.map +1 -0
  182. package/dist/fault/buildSupportBundle.js +22 -0
  183. package/dist/fault/buildSupportBundle.js.map +1 -0
  184. package/dist/fault/index.d.ts +8 -0
  185. package/dist/fault/index.d.ts.map +1 -0
  186. package/dist/fault/index.js +7 -0
  187. package/dist/fault/isIgnorableGlobalError.d.ts +3 -0
  188. package/dist/fault/isIgnorableGlobalError.d.ts.map +1 -0
  189. package/dist/fault/isIgnorableGlobalError.js +14 -0
  190. package/dist/fault/isIgnorableGlobalError.js.map +1 -0
  191. package/dist/fault/types.d.ts +18 -0
  192. package/dist/fault/types.d.ts.map +1 -0
  193. package/dist/fault/useUiWatchdog.d.ts +13 -0
  194. package/dist/fault/useUiWatchdog.d.ts.map +1 -0
  195. package/dist/fault/useUiWatchdog.js +38 -0
  196. package/dist/fault/useUiWatchdog.js.map +1 -0
  197. package/dist/forms/Field.d.ts +19 -31
  198. package/dist/forms/Field.d.ts.map +1 -1
  199. package/dist/forms/Field.js +28 -164
  200. package/dist/forms/Field.js.map +1 -1
  201. package/dist/forms/SchemaFormEngine.d.ts +5 -4
  202. package/dist/forms/SchemaFormEngine.d.ts.map +1 -1
  203. package/dist/forms/SchemaFormEngine.js +36 -16
  204. package/dist/forms/SchemaFormEngine.js.map +1 -1
  205. package/dist/forms/SchemaFormFieldNode.d.ts +13 -0
  206. package/dist/forms/SchemaFormFieldNode.d.ts.map +1 -0
  207. package/dist/forms/SchemaFormFieldNode.js +48 -0
  208. package/dist/forms/SchemaFormFieldNode.js.map +1 -0
  209. package/dist/forms/assertSchemaRegistry.d.ts +18 -0
  210. package/dist/forms/assertSchemaRegistry.d.ts.map +1 -0
  211. package/dist/forms/assertSchemaRegistry.js +71 -0
  212. package/dist/forms/assertSchemaRegistry.js.map +1 -0
  213. package/dist/forms/builtin-field-loaders.d.ts +11 -0
  214. package/dist/forms/builtin-field-loaders.d.ts.map +1 -0
  215. package/dist/forms/builtin-field-loaders.js +31 -0
  216. package/dist/forms/builtin-field-loaders.js.map +1 -0
  217. package/dist/forms/components/FieldWrap.d.ts +7 -1
  218. package/dist/forms/components/FieldWrap.d.ts.map +1 -1
  219. package/dist/forms/components/FieldWrap.js +17 -23
  220. package/dist/forms/components/FieldWrap.js.map +1 -1
  221. package/dist/forms/components/ModalTabs.d.ts +28 -13
  222. package/dist/forms/components/ModalTabs.d.ts.map +1 -1
  223. package/dist/forms/components/ModalTabs.js +99 -30
  224. package/dist/forms/components/ModalTabs.js.map +1 -1
  225. package/dist/forms/components/index.d.ts +3 -2
  226. package/dist/forms/components/index.d.ts.map +1 -1
  227. package/dist/forms/components/schemaErrors.d.ts +5 -0
  228. package/dist/forms/components/schemaErrors.d.ts.map +1 -0
  229. package/dist/forms/components/schemaErrors.js +34 -0
  230. package/dist/forms/components/schemaErrors.js.map +1 -0
  231. package/dist/forms/datetime.d.ts +12 -0
  232. package/dist/forms/datetime.d.ts.map +1 -0
  233. package/dist/forms/datetime.js +34 -0
  234. package/dist/forms/datetime.js.map +1 -0
  235. package/dist/forms/engine/context.d.ts +4 -19
  236. package/dist/forms/engine/context.d.ts.map +1 -1
  237. package/dist/forms/engine/context.js.map +1 -1
  238. package/dist/forms/fields/CheckboxSelectField.d.ts +3 -3
  239. package/dist/forms/fields/CheckboxSelectField.d.ts.map +1 -1
  240. package/dist/forms/fields/CheckboxSelectField.js +1 -3
  241. package/dist/forms/fields/CheckboxSelectField.js.map +1 -1
  242. package/dist/forms/fields/CodeEditorField.d.ts +3 -3
  243. package/dist/forms/fields/CodeEditorField.d.ts.map +1 -1
  244. package/dist/forms/fields/CodeEditorField.js +7 -7
  245. package/dist/forms/fields/CodeEditorField.js.map +1 -1
  246. package/dist/forms/fields/ColorField.d.ts +1 -1
  247. package/dist/forms/fields/ColorField.d.ts.map +1 -1
  248. package/dist/forms/fields/ColorField.js +4 -5
  249. package/dist/forms/fields/ColorField.js.map +1 -1
  250. package/dist/forms/fields/ComboboxField.d.ts +4 -5
  251. package/dist/forms/fields/ComboboxField.d.ts.map +1 -1
  252. package/dist/forms/fields/ComboboxField.js +2 -5
  253. package/dist/forms/fields/ComboboxField.js.map +1 -1
  254. package/dist/forms/fields/DateTimeField.d.ts +1 -1
  255. package/dist/forms/fields/DateTimeField.d.ts.map +1 -1
  256. package/dist/forms/fields/DateTimeField.js +22 -18
  257. package/dist/forms/fields/DateTimeField.js.map +1 -1
  258. package/dist/forms/fields/GroupField.d.ts +2 -2
  259. package/dist/forms/fields/GroupField.d.ts.map +1 -1
  260. package/dist/forms/fields/GroupField.js +0 -1
  261. package/dist/forms/fields/GroupField.js.map +1 -1
  262. package/dist/forms/fields/LightswitchField.d.ts +1 -1
  263. package/dist/forms/fields/LightswitchField.d.ts.map +1 -1
  264. package/dist/forms/fields/LightswitchField.js +2 -6
  265. package/dist/forms/fields/LightswitchField.js.map +1 -1
  266. package/dist/forms/fields/NumberField.d.ts +1 -1
  267. package/dist/forms/fields/NumberField.d.ts.map +1 -1
  268. package/dist/forms/fields/NumberField.js +4 -5
  269. package/dist/forms/fields/NumberField.js.map +1 -1
  270. package/dist/forms/fields/RadioGroupField.d.ts +2 -2
  271. package/dist/forms/fields/RadioGroupField.d.ts.map +1 -1
  272. package/dist/forms/fields/RadioGroupField.js +14 -39
  273. package/dist/forms/fields/RadioGroupField.js.map +1 -1
  274. package/dist/forms/fields/SelectField.d.ts +2 -2
  275. package/dist/forms/fields/SelectField.d.ts.map +1 -1
  276. package/dist/forms/fields/SelectField.js +1 -2
  277. package/dist/forms/fields/SelectField.js.map +1 -1
  278. package/dist/forms/fields/TextField.d.ts +1 -1
  279. package/dist/forms/fields/TextField.d.ts.map +1 -1
  280. package/dist/forms/fields/TextField.js +3 -4
  281. package/dist/forms/fields/TextField.js.map +1 -1
  282. package/dist/forms/fields/TextareaField.d.ts +1 -1
  283. package/dist/forms/fields/TextareaField.d.ts.map +1 -1
  284. package/dist/forms/fields/TextareaField.js +3 -5
  285. package/dist/forms/fields/TextareaField.js.map +1 -1
  286. package/dist/forms/index.d.ts +12 -7
  287. package/dist/forms/index.d.ts.map +1 -1
  288. package/dist/forms/index.js +9 -7
  289. package/dist/forms/registry.d.ts +4 -1
  290. package/dist/forms/registry.d.ts.map +1 -1
  291. package/dist/forms/registry.js +18 -50
  292. package/dist/forms/registry.js.map +1 -1
  293. package/dist/forms/useEngineField.d.ts +1 -1
  294. package/dist/forms/useEngineField.d.ts.map +1 -1
  295. package/dist/forms/useEngineField.js.map +1 -1
  296. package/dist/forms/utils.d.ts +6 -0
  297. package/dist/forms/utils.d.ts.map +1 -0
  298. package/dist/forms/utils.js +14 -0
  299. package/dist/forms/utils.js.map +1 -0
  300. package/dist/hooks/index.d.ts +1 -2
  301. package/dist/hooks/index.d.ts.map +1 -1
  302. package/dist/hooks/index.js +1 -2
  303. package/dist/hooks/useTranslation.d.ts +2 -1
  304. package/dist/hooks/useTranslation.d.ts.map +1 -1
  305. package/dist/hooks/useTranslation.js +3 -5
  306. package/dist/hooks/useTranslation.js.map +1 -1
  307. package/dist/index.d.ts +2 -1
  308. package/dist/index.d.ts.map +1 -1
  309. package/dist/index.js +42 -2
  310. package/dist/utils/cn.d.ts +4 -0
  311. package/dist/utils/cn.d.ts.map +1 -0
  312. package/dist/utils/cn.js +11 -0
  313. package/dist/utils/cn.js.map +1 -0
  314. package/dist/utils/craftHostBridge.d.ts +3 -2
  315. package/dist/utils/craftHostBridge.d.ts.map +1 -1
  316. package/dist/utils/craftHostBridge.js +1 -0
  317. package/dist/utils/craftHostBridge.js.map +1 -1
  318. package/dist/utils/create-plugin-kit-component.d.ts +16 -0
  319. package/dist/utils/create-plugin-kit-component.d.ts.map +1 -0
  320. package/dist/utils/create-plugin-kit-component.js +97 -0
  321. package/dist/utils/create-plugin-kit-component.js.map +1 -0
  322. package/dist/utils/index.d.ts +8 -19
  323. package/dist/utils/index.d.ts.map +1 -1
  324. package/dist/utils/index.js +7 -73
  325. package/dist/utils/isHostEvent.d.ts +7 -0
  326. package/dist/utils/isHostEvent.d.ts.map +1 -0
  327. package/dist/utils/isHostEvent.js +13 -0
  328. package/dist/utils/isHostEvent.js.map +1 -0
  329. package/dist/utils/lit-react-booleans.d.ts +9 -0
  330. package/dist/utils/lit-react-booleans.d.ts.map +1 -0
  331. package/dist/utils/lit-react-booleans.js +17 -0
  332. package/dist/utils/lit-react-booleans.js.map +1 -0
  333. package/dist/utils/pk-change.d.ts +5 -0
  334. package/dist/utils/pk-change.d.ts.map +1 -0
  335. package/dist/utils/pk-change.js +13 -0
  336. package/dist/utils/pk-change.js.map +1 -0
  337. package/package.json +34 -80
  338. package/style.css +16 -0
  339. package/tailwind-preflight-scope.css +28 -0
  340. package/tailwind-theme.css +245 -0
  341. package/vite-dev.mjs +22 -2
  342. package/dist/_virtual/_rolldown/runtime.js +0 -34
  343. package/dist/components/Command.d.ts +0 -26
  344. package/dist/components/Command.d.ts.map +0 -1
  345. package/dist/components/Command.js +0 -94
  346. package/dist/components/Command.js.map +0 -1
  347. package/dist/components/FadeIn.d.ts +0 -12
  348. package/dist/components/FadeIn.d.ts.map +0 -1
  349. package/dist/components/FadeIn.js +0 -24
  350. package/dist/components/FadeIn.js.map +0 -1
  351. package/dist/components/Label.d.ts +0 -4
  352. package/dist/components/Label.d.ts.map +0 -1
  353. package/dist/components/Label.js +0 -15
  354. package/dist/components/Label.js.map +0 -1
  355. package/dist/components/Markdown.d.ts +0 -11
  356. package/dist/components/Markdown.d.ts.map +0 -1
  357. package/dist/components/Markdown.js +0 -46
  358. package/dist/components/Markdown.js.map +0 -1
  359. package/dist/components/MenuButton.d.ts +0 -40
  360. package/dist/components/MenuButton.d.ts.map +0 -1
  361. package/dist/components/MenuButton.js +0 -122
  362. package/dist/components/MenuButton.js.map +0 -1
  363. package/dist/components/ModalTabs.d.ts +0 -8
  364. package/dist/components/ModalTabs.d.ts.map +0 -1
  365. package/dist/components/ModalTabs.js +0 -37
  366. package/dist/components/ModalTabs.js.map +0 -1
  367. package/dist/components/PaneTabs.d.ts +0 -8
  368. package/dist/components/PaneTabs.d.ts.map +0 -1
  369. package/dist/components/PaneTabs.js +0 -37
  370. package/dist/components/PaneTabs.js.map +0 -1
  371. package/dist/components/SlideUp.d.ts +0 -12
  372. package/dist/components/SlideUp.d.ts.map +0 -1
  373. package/dist/components/SlideUp.js +0 -36
  374. package/dist/components/SlideUp.js.map +0 -1
  375. package/dist/components/Slot.d.ts +0 -6
  376. package/dist/components/Slot.d.ts.map +0 -1
  377. package/dist/components/Slot.js +0 -52
  378. package/dist/components/Slot.js.map +0 -1
  379. package/dist/components/Table.d.ts +0 -10
  380. package/dist/components/Table.d.ts.map +0 -1
  381. package/dist/components/Table.js +0 -64
  382. package/dist/components/Table.js.map +0 -1
  383. package/dist/components/TiptapContent.d.ts +0 -9
  384. package/dist/components/TiptapContent.d.ts.map +0 -1
  385. package/dist/components/TiptapContent.js +0 -43
  386. package/dist/components/TiptapContent.js.map +0 -1
  387. package/dist/components/TiptapEditor.d.ts +0 -43
  388. package/dist/components/TiptapEditor.d.ts.map +0 -1
  389. package/dist/components/TiptapEditor.js +0 -573
  390. package/dist/components/TiptapEditor.js.map +0 -1
  391. package/dist/components/TiptapInput.d.ts +0 -20
  392. package/dist/components/TiptapInput.d.ts.map +0 -1
  393. package/dist/components/TiptapInput.js +0 -140
  394. package/dist/components/TiptapInput.js.map +0 -1
  395. package/dist/components/VirtualizedScrollArea.d.ts +0 -25
  396. package/dist/components/VirtualizedScrollArea.d.ts.map +0 -1
  397. package/dist/components/VirtualizedScrollArea.js +0 -80
  398. package/dist/components/VirtualizedScrollArea.js.map +0 -1
  399. package/dist/components/editable-table/RowDataCells.d.ts +0 -3
  400. package/dist/components/editable-table/RowDataCells.d.ts.map +0 -1
  401. package/dist/components/editable-table/RowDataCells.js +0 -33
  402. package/dist/components/editable-table/RowDataCells.js.map +0 -1
  403. package/dist/components/editable-table/TableCell.d.ts +0 -13
  404. package/dist/components/editable-table/TableCell.d.ts.map +0 -1
  405. package/dist/components/editable-table/TableCell.js +0 -415
  406. package/dist/components/editable-table/TableCell.js.map +0 -1
  407. package/dist/components/editable-table/TableRow.d.ts +0 -3
  408. package/dist/components/editable-table/TableRow.d.ts.map +0 -1
  409. package/dist/components/editable-table/TableRow.js +0 -166
  410. package/dist/components/editable-table/TableRow.js.map +0 -1
  411. package/dist/components/editable-table/helpers.d.ts +0 -12
  412. package/dist/components/editable-table/helpers.d.ts.map +0 -1
  413. package/dist/components/editable-table/helpers.js +0 -23
  414. package/dist/components/editable-table/helpers.js.map +0 -1
  415. package/dist/components/editable-table/index.d.ts +0 -4
  416. package/dist/components/editable-table/index.d.ts.map +0 -1
  417. package/dist/components/editable-table/index.js +0 -4
  418. package/dist/components/editable-table/types.d.ts +0 -55
  419. package/dist/components/editable-table/types.d.ts.map +0 -1
  420. package/dist/components/editable-table/types.js +0 -0
  421. package/dist/components/editable-table/useEditableTableCellChange.d.ts +0 -17
  422. package/dist/components/editable-table/useEditableTableCellChange.d.ts.map +0 -1
  423. package/dist/components/editable-table/useEditableTableCellChange.js +0 -152
  424. package/dist/components/editable-table/useEditableTableCellChange.js.map +0 -1
  425. package/dist/components/editable-table/useEditableTableDnd.d.ts +0 -18
  426. package/dist/components/editable-table/useEditableTableDnd.d.ts.map +0 -1
  427. package/dist/components/editable-table/useEditableTableDnd.js +0 -55
  428. package/dist/components/editable-table/useEditableTableDnd.js.map +0 -1
  429. package/dist/components/editable-table/useEditableTableRows.d.ts +0 -17
  430. package/dist/components/editable-table/useEditableTableRows.d.ts.map +0 -1
  431. package/dist/components/editable-table/useEditableTableRows.js +0 -108
  432. package/dist/components/editable-table/useEditableTableRows.js.map +0 -1
  433. package/dist/components/tiptap/InlineVariablePickerPopover.d.ts +0 -24
  434. package/dist/components/tiptap/InlineVariablePickerPopover.d.ts.map +0 -1
  435. package/dist/components/tiptap/InlineVariablePickerPopover.js +0 -63
  436. package/dist/components/tiptap/InlineVariablePickerPopover.js.map +0 -1
  437. package/dist/components/tiptap/InsertLinkDialog.d.ts +0 -14
  438. package/dist/components/tiptap/InsertLinkDialog.d.ts.map +0 -1
  439. package/dist/components/tiptap/InsertLinkDialog.js +0 -145
  440. package/dist/components/tiptap/InsertLinkDialog.js.map +0 -1
  441. package/dist/components/tiptap/LinkBubbleMenu.d.ts +0 -10
  442. package/dist/components/tiptap/LinkBubbleMenu.d.ts.map +0 -1
  443. package/dist/components/tiptap/LinkBubbleMenu.js +0 -106
  444. package/dist/components/tiptap/LinkBubbleMenu.js.map +0 -1
  445. package/dist/components/tiptap/LinkDropdown.d.ts +0 -53
  446. package/dist/components/tiptap/LinkDropdown.d.ts.map +0 -1
  447. package/dist/components/tiptap/LinkDropdown.js +0 -155
  448. package/dist/components/tiptap/LinkDropdown.js.map +0 -1
  449. package/dist/components/tiptap/VariableCommandList.d.ts +0 -37
  450. package/dist/components/tiptap/VariableCommandList.d.ts.map +0 -1
  451. package/dist/components/tiptap/VariableCommandList.js +0 -166
  452. package/dist/components/tiptap/VariableCommandList.js.map +0 -1
  453. package/dist/components/tiptap/VariableDropdown.d.ts +0 -40
  454. package/dist/components/tiptap/VariableDropdown.d.ts.map +0 -1
  455. package/dist/components/tiptap/VariableDropdown.js +0 -121
  456. package/dist/components/tiptap/VariableDropdown.js.map +0 -1
  457. package/dist/components/tiptap/VariablePickerContext.d.ts +0 -58
  458. package/dist/components/tiptap/VariablePickerContext.d.ts.map +0 -1
  459. package/dist/components/tiptap/VariablePickerContext.js +0 -34
  460. package/dist/components/tiptap/VariablePickerContext.js.map +0 -1
  461. package/dist/components/tiptap/VariableTag.d.ts +0 -6
  462. package/dist/components/tiptap/VariableTag.d.ts.map +0 -1
  463. package/dist/components/tiptap/VariableTag.js +0 -153
  464. package/dist/components/tiptap/VariableTag.js.map +0 -1
  465. package/dist/components/tiptap/VariableTagView.d.ts +0 -3
  466. package/dist/components/tiptap/VariableTagView.d.ts.map +0 -1
  467. package/dist/components/tiptap/VariableTagView.js +0 -584
  468. package/dist/components/tiptap/VariableTagView.js.map +0 -1
  469. package/dist/components/tiptap/VariableTransformControls.d.ts +0 -37
  470. package/dist/components/tiptap/VariableTransformControls.d.ts.map +0 -1
  471. package/dist/components/tiptap/VariableTransformControls.js +0 -157
  472. package/dist/components/tiptap/VariableTransformControls.js.map +0 -1
  473. package/dist/components/tiptap/editorConfig.d.ts +0 -15
  474. package/dist/components/tiptap/editorConfig.d.ts.map +0 -1
  475. package/dist/components/tiptap/editorConfig.js +0 -191
  476. package/dist/components/tiptap/editorConfig.js.map +0 -1
  477. package/dist/components/tiptap/useInlineVariablePicker.d.ts +0 -34
  478. package/dist/components/tiptap/useInlineVariablePicker.d.ts.map +0 -1
  479. package/dist/components/tiptap/useInlineVariablePicker.js +0 -240
  480. package/dist/components/tiptap/useInlineVariablePicker.js.map +0 -1
  481. package/dist/components/tiptap/useVariablePicker.d.ts +0 -28
  482. package/dist/components/tiptap/useVariablePicker.d.ts.map +0 -1
  483. package/dist/components/tiptap/useVariablePicker.js +0 -122
  484. package/dist/components/tiptap/useVariablePicker.js.map +0 -1
  485. package/dist/components/tiptap/variablePickerUtils.d.ts +0 -11
  486. package/dist/components/tiptap/variablePickerUtils.d.ts.map +0 -1
  487. package/dist/components/tiptap/variablePickerUtils.js +0 -63
  488. package/dist/components/tiptap/variablePickerUtils.js.map +0 -1
  489. package/dist/components/tiptap/variableSerialization.d.ts +0 -53
  490. package/dist/components/tiptap/variableSerialization.d.ts.map +0 -1
  491. package/dist/components/tiptap/variableSerialization.js +0 -291
  492. package/dist/components/tiptap/variableSerialization.js.map +0 -1
  493. package/dist/css/core.css +0 -288
  494. package/dist/css/style.css +0 -295
  495. package/dist/forms/TranslationIcon.d.ts +0 -5
  496. package/dist/forms/TranslationIcon.d.ts.map +0 -1
  497. package/dist/forms/TranslationIcon.js +0 -18
  498. package/dist/forms/TranslationIcon.js.map +0 -1
  499. package/dist/forms/components/index.js +0 -3
  500. package/dist/forms/contexts/VariableCategoriesContext.d.ts +0 -19
  501. package/dist/forms/contexts/VariableCategoriesContext.d.ts.map +0 -1
  502. package/dist/forms/contexts/VariableCategoriesContext.js +0 -20
  503. package/dist/forms/contexts/VariableCategoriesContext.js.map +0 -1
  504. package/dist/forms/engine/FormStateStore.d.ts +0 -24
  505. package/dist/forms/engine/FormStateStore.d.ts.map +0 -1
  506. package/dist/forms/engine/FormStateStore.js +0 -97
  507. package/dist/forms/engine/FormStateStore.js.map +0 -1
  508. package/dist/forms/engine/SchemaIndex.d.ts +0 -33
  509. package/dist/forms/engine/SchemaIndex.d.ts.map +0 -1
  510. package/dist/forms/engine/SchemaIndex.js +0 -21
  511. package/dist/forms/engine/SchemaIndex.js.map +0 -1
  512. package/dist/forms/engine/ValidationEngine.d.ts +0 -13
  513. package/dist/forms/engine/ValidationEngine.d.ts.map +0 -1
  514. package/dist/forms/engine/ValidationEngine.js +0 -155
  515. package/dist/forms/engine/ValidationEngine.js.map +0 -1
  516. package/dist/forms/engine/buildGroupedMessage.d.ts +0 -2
  517. package/dist/forms/engine/buildGroupedMessage.d.ts.map +0 -1
  518. package/dist/forms/engine/buildGroupedMessage.js +0 -20
  519. package/dist/forms/engine/buildGroupedMessage.js.map +0 -1
  520. package/dist/forms/engine/rules/email.d.ts +0 -2
  521. package/dist/forms/engine/rules/email.d.ts.map +0 -1
  522. package/dist/forms/engine/rules/email.js +0 -11
  523. package/dist/forms/engine/rules/email.js.map +0 -1
  524. package/dist/forms/engine/rules/emailOrVariable.d.ts +0 -2
  525. package/dist/forms/engine/rules/emailOrVariable.d.ts.map +0 -1
  526. package/dist/forms/engine/rules/emailOrVariable.js +0 -13
  527. package/dist/forms/engine/rules/emailOrVariable.js.map +0 -1
  528. package/dist/forms/engine/rules/handle.d.ts +0 -2
  529. package/dist/forms/engine/rules/handle.d.ts.map +0 -1
  530. package/dist/forms/engine/rules/handle.js +0 -12
  531. package/dist/forms/engine/rules/handle.js.map +0 -1
  532. package/dist/forms/engine/rules/index.d.ts +0 -9
  533. package/dist/forms/engine/rules/index.d.ts.map +0 -1
  534. package/dist/forms/engine/rules/index.js +0 -35
  535. package/dist/forms/engine/rules/index.js.map +0 -1
  536. package/dist/forms/engine/rules/max.d.ts +0 -2
  537. package/dist/forms/engine/rules/max.d.ts.map +0 -1
  538. package/dist/forms/engine/rules/max.js +0 -16
  539. package/dist/forms/engine/rules/max.js.map +0 -1
  540. package/dist/forms/engine/rules/min.d.ts +0 -2
  541. package/dist/forms/engine/rules/min.d.ts.map +0 -1
  542. package/dist/forms/engine/rules/min.js +0 -16
  543. package/dist/forms/engine/rules/min.js.map +0 -1
  544. package/dist/forms/engine/rules/required.d.ts +0 -2
  545. package/dist/forms/engine/rules/required.d.ts.map +0 -1
  546. package/dist/forms/engine/rules/required.js +0 -11
  547. package/dist/forms/engine/rules/required.js.map +0 -1
  548. package/dist/forms/engine/rules/uniqueHandle.d.ts +0 -9
  549. package/dist/forms/engine/rules/uniqueHandle.d.ts.map +0 -1
  550. package/dist/forms/engine/rules/uniqueHandle.js +0 -95
  551. package/dist/forms/engine/rules/uniqueHandle.js.map +0 -1
  552. package/dist/forms/engine/rules/utils.d.ts +0 -3
  553. package/dist/forms/engine/rules/utils.d.ts.map +0 -1
  554. package/dist/forms/engine/rules/utils.js +0 -21
  555. package/dist/forms/engine/rules/utils.js.map +0 -1
  556. package/dist/forms/fields/CalculationsField.d.ts +0 -24
  557. package/dist/forms/fields/CalculationsField.d.ts.map +0 -1
  558. package/dist/forms/fields/CalculationsField.js +0 -215
  559. package/dist/forms/fields/CalculationsField.js.map +0 -1
  560. package/dist/forms/fields/CalculationsToolbar.d.ts +0 -17
  561. package/dist/forms/fields/CalculationsToolbar.d.ts.map +0 -1
  562. package/dist/forms/fields/CalculationsToolbar.js +0 -130
  563. package/dist/forms/fields/CalculationsToolbar.js.map +0 -1
  564. package/dist/forms/fields/EditableTableField.d.ts +0 -22
  565. package/dist/forms/fields/EditableTableField.d.ts.map +0 -1
  566. package/dist/forms/fields/EditableTableField.js +0 -37
  567. package/dist/forms/fields/EditableTableField.js.map +0 -1
  568. package/dist/forms/fields/ElementSelectField.d.ts +0 -20
  569. package/dist/forms/fields/ElementSelectField.d.ts.map +0 -1
  570. package/dist/forms/fields/ElementSelectField.js +0 -215
  571. package/dist/forms/fields/ElementSelectField.js.map +0 -1
  572. package/dist/forms/fields/HandleField.d.ts +0 -20
  573. package/dist/forms/fields/HandleField.d.ts.map +0 -1
  574. package/dist/forms/fields/HandleField.js +0 -70
  575. package/dist/forms/fields/HandleField.js.map +0 -1
  576. package/dist/forms/fields/ListField.d.ts +0 -18
  577. package/dist/forms/fields/ListField.d.ts.map +0 -1
  578. package/dist/forms/fields/ListField.js +0 -52
  579. package/dist/forms/fields/ListField.js.map +0 -1
  580. package/dist/forms/fields/RichTextField.d.ts +0 -24
  581. package/dist/forms/fields/RichTextField.d.ts.map +0 -1
  582. package/dist/forms/fields/RichTextField.js +0 -53
  583. package/dist/forms/fields/RichTextField.js.map +0 -1
  584. package/dist/forms/fields/StaticTableField.d.ts +0 -34
  585. package/dist/forms/fields/StaticTableField.d.ts.map +0 -1
  586. package/dist/forms/fields/StaticTableField.js +0 -128
  587. package/dist/forms/fields/StaticTableField.js.map +0 -1
  588. package/dist/forms/fields/VariablePickerField.d.ts +0 -21
  589. package/dist/forms/fields/VariablePickerField.d.ts.map +0 -1
  590. package/dist/forms/fields/VariablePickerField.js +0 -51
  591. package/dist/forms/fields/VariablePickerField.js.map +0 -1
  592. package/dist/forms/store/element-store.d.ts +0 -11
  593. package/dist/forms/store/element-store.d.ts.map +0 -1
  594. package/dist/forms/store/element-store.js +0 -41
  595. package/dist/forms/store/element-store.js.map +0 -1
  596. package/dist/forms/useEditableTableFieldBinding.d.ts +0 -13
  597. package/dist/forms/useEditableTableFieldBinding.d.ts.map +0 -1
  598. package/dist/forms/useEditableTableFieldBinding.js +0 -91
  599. package/dist/forms/useEditableTableFieldBinding.js.map +0 -1
  600. package/dist/hooks/useKeyboardShortcuts.d.ts +0 -14
  601. package/dist/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  602. package/dist/hooks/useKeyboardShortcuts.js +0 -67
  603. package/dist/hooks/useKeyboardShortcuts.js.map +0 -1
  604. package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -15
  605. package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +0 -1
  606. package/dist/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -15
  607. package/dist/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js.map +0 -1
  608. package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -13
  609. package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js.map +0 -1
  610. package/dist/node_modules/@babel/runtime/helpers/createClass.js +0 -21
  611. package/dist/node_modules/@babel/runtime/helpers/createClass.js.map +0 -1
  612. package/dist/node_modules/@babel/runtime/helpers/defineProperty.js +0 -20
  613. package/dist/node_modules/@babel/runtime/helpers/defineProperty.js.map +0 -1
  614. package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -13
  615. package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js.map +0 -1
  616. package/dist/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -13
  617. package/dist/node_modules/@babel/runtime/helpers/iterableToArray.js.map +0 -1
  618. package/dist/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -13
  619. package/dist/node_modules/@babel/runtime/helpers/nonIterableSpread.js.map +0 -1
  620. package/dist/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -21
  621. package/dist/node_modules/@babel/runtime/helpers/toConsumableArray.js.map +0 -1
  622. package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -22
  623. package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js.map +0 -1
  624. package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -18
  625. package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +0 -1
  626. package/dist/node_modules/@babel/runtime/helpers/typeof.js +0 -18
  627. package/dist/node_modules/@babel/runtime/helpers/typeof.js.map +0 -1
  628. package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -19
  629. package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +0 -1
  630. package/dist/node_modules/jexl/dist/Expression.js +0 -84
  631. package/dist/node_modules/jexl/dist/Expression.js.map +0 -1
  632. package/dist/node_modules/jexl/dist/Jexl.js +0 -165
  633. package/dist/node_modules/jexl/dist/Jexl.js.map +0 -1
  634. package/dist/node_modules/jexl/dist/Lexer.js +0 -152
  635. package/dist/node_modules/jexl/dist/Lexer.js.map +0 -1
  636. package/dist/node_modules/jexl/dist/PromiseSync.js +0 -87
  637. package/dist/node_modules/jexl/dist/PromiseSync.js.map +0 -1
  638. package/dist/node_modules/jexl/dist/evaluator/Evaluator.js +0 -98
  639. package/dist/node_modules/jexl/dist/evaluator/Evaluator.js.map +0 -1
  640. package/dist/node_modules/jexl/dist/evaluator/handlers.js +0 -162
  641. package/dist/node_modules/jexl/dist/evaluator/handlers.js.map +0 -1
  642. package/dist/node_modules/jexl/dist/grammar.js +0 -195
  643. package/dist/node_modules/jexl/dist/grammar.js.map +0 -1
  644. package/dist/node_modules/jexl/dist/parser/Parser.js +0 -135
  645. package/dist/node_modules/jexl/dist/parser/Parser.js.map +0 -1
  646. package/dist/node_modules/jexl/dist/parser/handlers.js +0 -205
  647. package/dist/node_modules/jexl/dist/parser/handlers.js.map +0 -1
  648. package/dist/node_modules/jexl/dist/parser/states.js +0 -158
  649. package/dist/node_modules/jexl/dist/parser/states.js.map +0 -1
  650. package/dist/types/global.d.d.ts +0 -1
  651. package/dist/types/global.d.js +0 -0
  652. package/dist/utils/classes.d.ts +0 -18
  653. package/dist/utils/classes.d.ts.map +0 -1
  654. package/dist/utils/classes.js +0 -25
  655. package/dist/utils/classes.js.map +0 -1
  656. package/dist/utils/config.d.ts +0 -14
  657. package/dist/utils/config.d.ts.map +0 -1
  658. package/dist/utils/config.js +0 -20
  659. package/dist/utils/config.js.map +0 -1
  660. package/dist/utils/datetime.d.ts +0 -10
  661. package/dist/utils/datetime.d.ts.map +0 -1
  662. package/dist/utils/datetime.js +0 -60
  663. package/dist/utils/datetime.js.map +0 -1
  664. package/dist/utils/documentScrollStability.d.ts +0 -7
  665. package/dist/utils/documentScrollStability.d.ts.map +0 -1
  666. package/dist/utils/documentScrollStability.js +0 -19
  667. package/dist/utils/documentScrollStability.js.map +0 -1
  668. package/dist/utils/handle.d.ts +0 -10
  669. package/dist/utils/handle.d.ts.map +0 -1
  670. package/dist/utils/handle.js +0 -51
  671. package/dist/utils/handle.js.map +0 -1
  672. package/dist/utils/hostBridge.d.ts +0 -40
  673. package/dist/utils/hostBridge.d.ts.map +0 -1
  674. package/dist/utils/hostBridge.js +0 -35
  675. package/dist/utils/hostBridge.js.map +0 -1
  676. package/dist/utils/index.js.map +0 -1
  677. package/dist/utils/portal.d.ts +0 -17
  678. package/dist/utils/portal.d.ts.map +0 -1
  679. package/dist/utils/portal.js +0 -51
  680. package/dist/utils/portal.js.map +0 -1
  681. package/dist/utils/schema.d.ts +0 -17
  682. package/dist/utils/schema.d.ts.map +0 -1
  683. package/dist/utils/schema.js +0 -56
  684. package/dist/utils/schema.js.map +0 -1
  685. package/dist/utils/schemaFieldNames.d.ts +0 -2
  686. package/dist/utils/schemaFieldNames.d.ts.map +0 -1
  687. package/dist/utils/schemaFieldNames.js +0 -16
  688. package/dist/utils/schemaFieldNames.js.map +0 -1
  689. package/dist/utils/schemaIndex.d.ts +0 -6
  690. package/dist/utils/schemaIndex.d.ts.map +0 -1
  691. package/dist/utils/schemaIndex.js +0 -31
  692. package/dist/utils/schemaIndex.js.map +0 -1
  693. package/dist/utils/schemaIndexCache.d.ts +0 -6
  694. package/dist/utils/schemaIndexCache.d.ts.map +0 -1
  695. package/dist/utils/schemaIndexCache.js +0 -32
  696. package/dist/utils/schemaIndexCache.js.map +0 -1
  697. package/dist/utils/schemaNormalize.d.ts +0 -13
  698. package/dist/utils/schemaNormalize.d.ts.map +0 -1
  699. package/dist/utils/schemaNormalize.js +0 -17
  700. package/dist/utils/schemaNormalize.js.map +0 -1
  701. package/dist/utils/store.d.ts +0 -7
  702. package/dist/utils/store.d.ts.map +0 -1
  703. package/dist/utils/store.js +0 -6
  704. package/dist/utils/store.js.map +0 -1
  705. package/dist/utils/timeOptions.d.ts +0 -6
  706. package/dist/utils/timeOptions.d.ts.map +0 -1
  707. package/dist/utils/timeOptions.js +0 -42
  708. package/dist/utils/timeOptions.js.map +0 -1
  709. package/dist/utils/tiptap.d.ts +0 -13
  710. package/dist/utils/tiptap.d.ts.map +0 -1
  711. package/dist/utils/tiptap.js +0 -39
  712. package/dist/utils/tiptap.js.map +0 -1
  713. package/dist/utils/translation.d.ts +0 -5
  714. package/dist/utils/translation.d.ts.map +0 -1
  715. package/dist/utils/translation.js +0 -21
  716. package/dist/utils/translation.js.map +0 -1
  717. package/dist/utils/validation.d.ts +0 -4
  718. package/dist/utils/validation.d.ts.map +0 -1
  719. package/dist/utils/validation.js +0 -253
  720. package/dist/utils/validation.js.map +0 -1
@@ -1,573 +0,0 @@
1
- import { cn } from "../utils/classes.js";
2
- import "../utils/index.js";
3
- import { useTranslation } from "../hooks/useTranslation.js";
4
- import "../hooks/index.js";
5
- import { Tooltip, TooltipContent, TooltipTrigger } from "./Tooltip.js";
6
- import { VariableDropdown } from "./tiptap/VariableDropdown.js";
7
- import { LinkDropdown } from "./tiptap/LinkDropdown.js";
8
- import { VariablePickerProvider } from "./tiptap/VariablePickerContext.js";
9
- import { InlineVariablePickerPopover } from "./tiptap/InlineVariablePickerPopover.js";
10
- import { useInlineVariablePicker } from "./tiptap/useInlineVariablePicker.js";
11
- import { LinkBubbleMenu } from "./tiptap/LinkBubbleMenu.js";
12
- import { InsertLinkDialog } from "./tiptap/InsertLinkDialog.js";
13
- import { createTiptapExtensions, getFatalTiptapContentError, normalizeContentArray, valueToContent } from "./tiptap/editorConfig.js";
14
- import "./index.js";
15
- import { Button } from "./Button.js";
16
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
17
- import { getMarkRange } from "@tiptap/core";
18
- import { jsx, jsxs } from "react/jsx-runtime";
19
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
20
- import { faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faArrowRotateLeft, faArrowRotateRight, faBold, faBracketsCurly, faCode, faH1, faH2, faH3, faH4, faH5, faH6, faHighlighter, faItalic, faListOl, faListUl, faMinus, faQuoteRight, faStrikethrough, faSubscript, faSuperscript, faTextSlash, faTriangleExclamation, faUnderline } from "@fortawesome/pro-solid-svg-icons";
21
- import { EditorContent, EditorContext, useEditor } from "@tiptap/react";
22
- import { faFileDashedLine, faTable } from "@fortawesome/pro-regular-svg-icons";
23
- //#region src/components/TiptapEditor.tsx
24
- var MenuBar = ({ editor, buttons = ["bold", "italic"], linkOptions, linkSelectorStorageKeyPrefix, variableCategories = {}, variableCategoryLabels, variableCategoryOrder, variablePickerOpen, onVariablePickerOpenChange, openInsertLinkDialog }) => {
25
- const t = useTranslation();
26
- if (!editor) return null;
27
- const hasAnyVariables = Object.values(variableCategories ?? {}).some((items) => {
28
- return Array.isArray(items) && items.length > 0;
29
- });
30
- const visibleButtons = buttons.filter((buttonName) => {
31
- if (buttonName === "variableTag") return hasAnyVariables;
32
- return true;
33
- });
34
- const buttonConfig = {
35
- bold: {
36
- icon: FontAwesomeIcon,
37
- iconProp: faBold,
38
- title: t("Bold"),
39
- action: () => {
40
- return editor.chain().focus().toggleBold().run();
41
- },
42
- isActive: () => {
43
- return editor.isActive("bold");
44
- }
45
- },
46
- italic: {
47
- icon: FontAwesomeIcon,
48
- iconProp: faItalic,
49
- title: t("Italic"),
50
- action: () => {
51
- return editor.chain().focus().toggleItalic().run();
52
- },
53
- isActive: () => {
54
- return editor.isActive("italic");
55
- }
56
- },
57
- underline: {
58
- icon: FontAwesomeIcon,
59
- iconProp: faUnderline,
60
- title: t("Underline"),
61
- action: () => {
62
- return editor.chain().focus().toggleUnderline().run();
63
- },
64
- isActive: () => {
65
- return editor.isActive("underline");
66
- }
67
- },
68
- strikethrough: {
69
- icon: FontAwesomeIcon,
70
- iconProp: faStrikethrough,
71
- title: t("Strikethrough"),
72
- action: () => {
73
- return editor.chain().focus().toggleStrike().run();
74
- },
75
- isActive: () => {
76
- return editor.isActive("strike");
77
- }
78
- },
79
- subscript: {
80
- icon: FontAwesomeIcon,
81
- iconProp: faSubscript,
82
- title: t("Subscript"),
83
- action: () => {
84
- return editor.chain().focus().toggleSubscript().run();
85
- },
86
- isActive: () => {
87
- return editor.isActive("subscript");
88
- }
89
- },
90
- superscript: {
91
- icon: FontAwesomeIcon,
92
- iconProp: faSuperscript,
93
- title: t("Superscript"),
94
- action: () => {
95
- return editor.chain().focus().toggleSuperscript().run();
96
- },
97
- isActive: () => {
98
- return editor.isActive("superscript");
99
- }
100
- },
101
- "unordered-list": {
102
- icon: FontAwesomeIcon,
103
- iconProp: faListUl,
104
- title: t("Bullet List"),
105
- action: () => {
106
- return editor.chain().focus().toggleBulletList().run();
107
- },
108
- isActive: () => {
109
- return editor.isActive("bulletList");
110
- }
111
- },
112
- "ordered-list": {
113
- icon: FontAwesomeIcon,
114
- iconProp: faListOl,
115
- title: t("Ordered List"),
116
- action: () => {
117
- return editor.chain().focus().toggleOrderedList().run();
118
- },
119
- isActive: () => {
120
- return editor.isActive("orderedList");
121
- }
122
- },
123
- blockquote: {
124
- icon: FontAwesomeIcon,
125
- iconProp: faQuoteRight,
126
- title: t("Blockquote"),
127
- action: () => {
128
- return editor.chain().focus().toggleBlockquote().run();
129
- },
130
- isActive: () => {
131
- return editor.isActive("blockquote");
132
- }
133
- },
134
- highlight: {
135
- icon: FontAwesomeIcon,
136
- iconProp: faHighlighter,
137
- title: t("Highlight"),
138
- action: () => {
139
- return editor.chain().focus().toggleHighlight().run();
140
- },
141
- isActive: () => {
142
- return editor.isActive("highlight");
143
- }
144
- },
145
- code: {
146
- icon: FontAwesomeIcon,
147
- iconProp: faBracketsCurly,
148
- title: t("Inline Code"),
149
- action: () => {
150
- return editor.chain().focus().toggleCode().run();
151
- },
152
- isActive: () => {
153
- return editor.isActive("code");
154
- }
155
- },
156
- "code-block": {
157
- icon: FontAwesomeIcon,
158
- iconProp: faCode,
159
- title: t("Code Block"),
160
- action: () => {
161
- return editor.chain().focus().toggleCodeBlock().run();
162
- },
163
- isActive: () => {
164
- return editor.isActive("codeBlock");
165
- }
166
- },
167
- hr: {
168
- icon: FontAwesomeIcon,
169
- iconProp: faMinus,
170
- title: t("Horizontal Rule"),
171
- action: () => {
172
- return editor.chain().focus().setHorizontalRule().run();
173
- }
174
- },
175
- "line-break": {
176
- icon: FontAwesomeIcon,
177
- iconProp: faFileDashedLine,
178
- title: t("Line Break"),
179
- action: () => {
180
- return editor.chain().focus().setHardBreak().run();
181
- }
182
- },
183
- "align-left": {
184
- icon: FontAwesomeIcon,
185
- iconProp: faAlignLeft,
186
- title: t("Align Left"),
187
- action: () => {
188
- return editor.chain().focus().setTextAlign("left").run();
189
- },
190
- isActive: () => {
191
- return editor.isActive({ textAlign: "left" });
192
- }
193
- },
194
- "align-center": {
195
- icon: FontAwesomeIcon,
196
- iconProp: faAlignCenter,
197
- title: t("Align Center"),
198
- action: () => {
199
- return editor.chain().focus().setTextAlign("center").run();
200
- },
201
- isActive: () => {
202
- return editor.isActive({ textAlign: "center" });
203
- }
204
- },
205
- "align-right": {
206
- icon: FontAwesomeIcon,
207
- iconProp: faAlignRight,
208
- title: t("Align Right"),
209
- action: () => {
210
- return editor.chain().focus().setTextAlign("right").run();
211
- },
212
- isActive: () => {
213
- return editor.isActive({ textAlign: "right" });
214
- }
215
- },
216
- "align-justify": {
217
- icon: FontAwesomeIcon,
218
- iconProp: faAlignJustify,
219
- title: t("Justify"),
220
- action: () => {
221
- return editor.chain().focus().setTextAlign("justify").run();
222
- },
223
- isActive: () => {
224
- return editor.isActive({ textAlign: "justify" });
225
- }
226
- },
227
- "clear-format": {
228
- icon: FontAwesomeIcon,
229
- iconProp: faTextSlash,
230
- title: t("Clear Format"),
231
- action: () => {
232
- return editor.chain().focus().clearNodes().unsetAllMarks().run();
233
- }
234
- },
235
- undo: {
236
- icon: FontAwesomeIcon,
237
- iconProp: faArrowRotateLeft,
238
- title: t("Undo"),
239
- action: () => {
240
- return editor.chain().focus().undo().run();
241
- }
242
- },
243
- redo: {
244
- icon: FontAwesomeIcon,
245
- iconProp: faArrowRotateRight,
246
- title: t("Redo"),
247
- action: () => {
248
- return editor.chain().focus().redo().run();
249
- }
250
- },
251
- link: {
252
- title: t("Link"),
253
- isActive: () => {
254
- return editor.isActive("link");
255
- },
256
- isDropdown: true
257
- },
258
- table: {
259
- icon: FontAwesomeIcon,
260
- iconProp: faTable,
261
- title: t("Insert Table"),
262
- action: () => {
263
- return editor.chain().focus().insertTable({
264
- rows: 3,
265
- cols: 3,
266
- withHeaderRow: true
267
- }).run();
268
- }
269
- },
270
- variableTag: {
271
- title: t("Insert Variable"),
272
- isActive: () => {
273
- return editor.isActive("variableTag");
274
- },
275
- isDropdown: true
276
- }
277
- };
278
- [
279
- 1,
280
- 2,
281
- 3,
282
- 4,
283
- 5,
284
- 6
285
- ].forEach((level) => {
286
- buttonConfig[`h${level}`] = {
287
- icon: FontAwesomeIcon,
288
- iconProp: {
289
- 1: faH1,
290
- 2: faH2,
291
- 3: faH3,
292
- 4: faH4,
293
- 5: faH5,
294
- 6: faH6
295
- }[level],
296
- title: t("Heading {level}", { level: String(level) }),
297
- action: () => {
298
- return editor.chain().focus().toggleHeading({ level }).run();
299
- },
300
- isActive: () => {
301
- return editor.isActive("heading", { level });
302
- }
303
- };
304
- });
305
- const resolveIsActive = (config) => {
306
- if (!config.isActive) return false;
307
- return typeof config.isActive === "function" ? config.isActive() : config.isActive;
308
- };
309
- const renderedButtons = visibleButtons.map((buttonName) => {
310
- const config = buttonConfig[buttonName];
311
- if (!config) return null;
312
- if (config.isDropdown && buttonName === "link") return /* @__PURE__ */ jsx(LinkDropdown, {
313
- editor,
314
- linkOptions,
315
- linkSelectorStorageKeyPrefix,
316
- openInsertLinkDialog,
317
- title: config.title
318
- }, buttonName);
319
- if (config.isDropdown && buttonName === "variableTag") return /* @__PURE__ */ jsx(VariableDropdown, {
320
- editor,
321
- variableCategories,
322
- variableCategoryLabels,
323
- variableCategoryOrder,
324
- title: config.title,
325
- open: variablePickerOpen,
326
- onOpenChange: onVariablePickerOpenChange
327
- }, buttonName);
328
- const Icon = config.icon;
329
- return /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx(Button, {
330
- variant: "transparent",
331
- onClick: config.action,
332
- className: cn("w-[32px] h-[32px]", "text-[#1c2e36]", "hover:bg-slate-100!", resolveIsActive(config) && "bg-slate-250! hover:bg-slate-250!"),
333
- children: /* @__PURE__ */ jsx(Icon, {
334
- icon: config.iconProp,
335
- className: "size-4"
336
- })
337
- }) }), /* @__PURE__ */ jsx(TooltipContent, {
338
- sideOffset: 4,
339
- children: config.title
340
- })] }, buttonName);
341
- }).filter(Boolean);
342
- if (renderedButtons.length === 0) return null;
343
- return /* @__PURE__ */ jsx("div", {
344
- className: cn("flex flex-wrap relative z-10 gap-1 px-[8px] py-[4px]", "border-b border-[rgba(96,125,159,0.4)] bg-white", "shadow-[0_2px_3px_rgba(49,49,93,.07)]"),
345
- children: renderedButtons
346
- });
347
- };
348
- var TiptapEditor = ({ value = "", onChange, buttons = ["bold", "italic"], tableOptions = [], linkOptions, linkSelectorStorageKeyPrefix, variableCategories = {}, variableCategoryLabels, variableCategoryOrder, variableTransformerRegistry, variablePickerTriggerCharacters = ["@"], renderVariableConfigureSection, resolveVariableTagLabel, toolbarContent, rows, className, isInvalid, disabled = false, readOnly = false, invalidContentMessage, ...props }) => {
349
- useTranslation();
350
- const wrapperRef = useRef(null);
351
- const handleKeyDownRef = useRef(null);
352
- const lastEmittedContentRef = useRef(null);
353
- const extensions = useMemo(() => {
354
- return createTiptapExtensions({ trailingCursorText: "⁠" });
355
- }, []);
356
- const [isVariablePickerOpen, setIsVariablePickerOpen] = useState(false);
357
- const hasAnyVariables = useMemo(() => {
358
- return Object.values(variableCategories || {}).some((variables) => {
359
- return Array.isArray(variables) && variables.length > 0;
360
- });
361
- }, [variableCategories]);
362
- const editorContent = useMemo(() => {
363
- return valueToContent(value, { trailingCursorText: "⁠" });
364
- }, [value]);
365
- const contentError = useMemo(() => {
366
- const detectedError = getFatalTiptapContentError(value);
367
- return detectedError ? invalidContentMessage || detectedError : "";
368
- }, [invalidContentMessage, value]);
369
- const serializeContent = (content) => {
370
- return normalizeContentArray(content);
371
- };
372
- const serializeEditorDocument = useCallback((editorInstance) => {
373
- return JSON.stringify(serializeContent(editorInstance.getJSON().content));
374
- }, []);
375
- const editor = useEditor({
376
- extensions,
377
- content: contentError ? null : editorContent,
378
- editable: !disabled && !readOnly,
379
- editorProps: { handleKeyDown: (view, event) => {
380
- return handleKeyDownRef.current?.(view, event) ?? false;
381
- } },
382
- onUpdate: ({ editor: editorInstance }) => {
383
- const serialized = serializeContent(editorInstance.getJSON().content);
384
- lastEmittedContentRef.current = JSON.stringify(serialized);
385
- if (onChange) onChange(serialized);
386
- }
387
- });
388
- const inlinePicker = useInlineVariablePicker(editor, {
389
- variableCategories,
390
- variableCategoryLabels,
391
- variableCategoryOrder,
392
- variablePickerTriggerCharacters,
393
- disabled,
394
- readOnly,
395
- wrapperRef,
396
- onOpenDropdown: () => {
397
- return setIsVariablePickerOpen(true);
398
- }
399
- });
400
- useEffect(() => {
401
- handleKeyDownRef.current = inlinePicker.handleKeyDown;
402
- }, [inlinePicker.handleKeyDown]);
403
- const [insertLinkDialogOpen, setInsertLinkDialogOpen] = useState(false);
404
- const [insertLinkInitialValues, setInsertLinkInitialValues] = useState();
405
- const editorMinHeight = useMemo(() => {
406
- return `${Math.max(1, Number(rows || 0)) * 24 + 32}px`;
407
- }, [rows]);
408
- useEffect(() => {
409
- if (!editor?.view?.dom) return;
410
- editor.view.dom.style.minHeight = editorMinHeight;
411
- }, [editor, editorMinHeight]);
412
- const openInsertLinkDialog = useCallback((initial) => {
413
- if (initial) {
414
- const openInNewTab = editor?.isActive("link") ? editor.getAttributes("link").target === "_blank" : false;
415
- setInsertLinkInitialValues({
416
- ...initial,
417
- openInNewTab
418
- });
419
- } else setInsertLinkInitialValues(void 0);
420
- setInsertLinkDialogOpen(true);
421
- }, [editor]);
422
- const insertLink = useCallback((params) => {
423
- if (!editor) return;
424
- const { url, text, openInNewTab, from: fromParam, to: toParam } = params;
425
- const chain = editor.chain().focus();
426
- const linkAttrs = { href: url };
427
- if (openInNewTab) linkAttrs.target = "_blank";
428
- const content = {
429
- type: "text",
430
- text: text.trim() || url,
431
- marks: [{
432
- type: "link",
433
- attrs: linkAttrs
434
- }]
435
- };
436
- if (typeof fromParam === "number" && typeof toParam === "number" && fromParam !== toParam) chain.insertContentAt({
437
- from: fromParam,
438
- to: toParam
439
- }, [content]).run();
440
- else {
441
- const { from, to } = editor.state.selection;
442
- if (editor.state.doc.textBetween(from, to, " ")) chain.extendMarkRange("link").setLink(linkAttrs).run();
443
- else chain.insertContent([content]).run();
444
- }
445
- }, [editor]);
446
- useEffect(() => {
447
- if (!editor) return;
448
- const incomingContent = contentError ? null : editorContent;
449
- const incomingSerialized = JSON.stringify(incomingContent?.content ?? []);
450
- const currentSerialized = serializeEditorDocument(editor);
451
- const isVariableConfigActive = Boolean(document.activeElement?.closest("[data-variable-config-popover]"));
452
- if (incomingSerialized === currentSerialized) return;
453
- if (lastEmittedContentRef.current === incomingSerialized) return;
454
- if (!readOnly && (editor.isFocused || isVariableConfigActive || lastEmittedContentRef.current && currentSerialized === lastEmittedContentRef.current && incomingSerialized !== lastEmittedContentRef.current)) return;
455
- editor.commands.setContent(incomingContent ?? {
456
- type: "doc",
457
- content: []
458
- });
459
- lastEmittedContentRef.current = incomingSerialized;
460
- }, [
461
- contentError,
462
- editor,
463
- editorContent,
464
- readOnly,
465
- serializeEditorDocument
466
- ]);
467
- const handleLinkBubbleEdit = useCallback(() => {
468
- if (!editor) return;
469
- const { href } = editor.getAttributes("link");
470
- const { state } = editor;
471
- const linkType = state.schema.marks.link;
472
- const range = getMarkRange(state.selection.$from, linkType);
473
- const from = range?.from ?? state.selection.from;
474
- const to = range?.to ?? state.selection.to;
475
- openInsertLinkDialog({
476
- url: href,
477
- text: editor.state.doc.textBetween(from, to, " "),
478
- from,
479
- to
480
- });
481
- }, [editor, openInsertLinkDialog]);
482
- return /* @__PURE__ */ jsx("div", {
483
- className: cn("border border-[rgba(96,125,159,0.4)] rounded-sm overflow-hidden", isInvalid && ["border-rose-600!", "[focus-visible:shadow-[0_0_0_1px_var(--color-rose-600),0_0_4px_0_hsl(from_var(--color-rose-600)_h_s_l/0.7)]!"], className),
484
- children: /* @__PURE__ */ jsxs(VariablePickerProvider, {
485
- variableCategories,
486
- variableCategoryLabels,
487
- variableCategoryOrder,
488
- variableTransformerRegistry,
489
- renderVariableConfigureSection,
490
- resolveVariableTagLabel,
491
- children: [/* @__PURE__ */ jsxs(EditorContext.Provider, {
492
- value: { editor },
493
- children: [
494
- toolbarContent ? toolbarContent({
495
- editor,
496
- variableCategories,
497
- variableCategoryLabels,
498
- variableCategoryOrder,
499
- variablePickerOpen: isVariablePickerOpen,
500
- onVariablePickerOpenChange: setIsVariablePickerOpen
501
- }) : /* @__PURE__ */ jsx(MenuBar, {
502
- editor,
503
- buttons,
504
- tableOptions,
505
- linkOptions,
506
- linkSelectorStorageKeyPrefix,
507
- variableCategories,
508
- variableCategoryLabels,
509
- variableCategoryOrder,
510
- variablePickerOpen: isVariablePickerOpen,
511
- onVariablePickerOpenChange: setIsVariablePickerOpen,
512
- openInsertLinkDialog
513
- }),
514
- /* @__PURE__ */ jsxs("div", {
515
- ref: wrapperRef,
516
- className: "relative",
517
- children: [
518
- contentError && /* @__PURE__ */ jsxs("div", {
519
- className: "flex items-start gap-2 border-b border-rose-200 bg-rose-50 px-4 py-2 text-sm text-rose-800",
520
- children: [/* @__PURE__ */ jsx(FontAwesomeIcon, {
521
- icon: faTriangleExclamation,
522
- className: "mt-0.5 size-3.5 shrink-0"
523
- }), /* @__PURE__ */ jsx("p", { children: contentError })]
524
- }),
525
- /* @__PURE__ */ jsx(EditorContent, {
526
- editor,
527
- className: cn("[&_.ProseMirror]:outline-none", "[&_.ProseMirror]:min-h-8", "[&_.ProseMirror]:p-4", "[&_.ProseMirror]:bg-[#fbfcfe]", "[&_.ProseMirror]:shadow-none", "[&_.ProseMirror]:whitespace-pre-wrap", "[&_.ProseMirror_p]:m-0 [&_.ProseMirror_p]:mb-2", "[&_.ProseMirror_p:last-child]:mb-0", "[&_.ProseMirror_h1]:text-xl [&_.ProseMirror_h1]:font-bold [&_.ProseMirror_h1]:mb-2", "[&_.ProseMirror_h2]:text-lg [&_.ProseMirror_h2]:font-semibold [&_.ProseMirror_h2]:mb-2", "[&_.ProseMirror_ul]:list-disc [&_.ProseMirror_ul]:pl-5 [&_.ProseMirror_ul]:mb-2", "[&_.ProseMirror_ol]:list-decimal [&_.ProseMirror_ol]:pl-5 [&_.ProseMirror_ol]:mb-2", "[&_.ProseMirror_li]:mb-1", "[&_.ProseMirror_hr]:border-slate-300 [&_.ProseMirror_hr]:my-4", "[&_.ProseMirror_code]:bg-slate-100 [&_.ProseMirror_code]:px-1 [&_.ProseMirror_code]:py-0.5 [&_.ProseMirror_code]:rounded [&_.ProseMirror_code]:text-sm", "[&_.ProseMirror_pre]:bg-slate-100 [&_.ProseMirror_pre]:p-3 [&_.ProseMirror_pre]:rounded [&_.ProseMirror_pre]:overflow-x-auto [&_.ProseMirror_pre]:mb-2", "[&_.ProseMirror_blockquote]:border-l-4 [&_.ProseMirror_blockquote]:border-slate-300 [&_.ProseMirror_blockquote]:pl-4 [&_.ProseMirror_blockquote]:italic [&_.ProseMirror_blockquote]:text-slate-600 [&_.ProseMirror_blockquote]:mb-2", "[&_.ProseMirror_table]:border-collapse [&_.ProseMirror_table]:w-full [&_.ProseMirror_table]:mb-2", "[&_.ProseMirror_th]:border [&_.ProseMirror_th]:border-slate-300 [&_.ProseMirror_th]:px-3 [&_.ProseMirror_th]:py-2 [&_.ProseMirror_th]:bg-slate-100 [&_.ProseMirror_th]:text-left", "[&_.ProseMirror_td]:border [&_.ProseMirror_td]:border-slate-300 [&_.ProseMirror_td]:px-3 [&_.ProseMirror_td]:py-2", "[&_.ProseMirror_a]:text-blue-600 [&_.ProseMirror_a]:underline [&_.ProseMirror_a]:cursor-pointer"),
528
- ...props
529
- }),
530
- hasAnyVariables && !readOnly && /* @__PURE__ */ jsx(InlineVariablePickerPopover, {
531
- open: inlinePicker.state.open,
532
- onOpenChange: (open) => {
533
- if (!open) inlinePicker.closePicker();
534
- },
535
- position: {
536
- top: inlinePicker.state.top,
537
- left: inlinePicker.state.left
538
- },
539
- isChildMode: inlinePicker.filteredVariables.isChildMode,
540
- query: inlinePicker.state.query,
541
- onQueryChange: inlinePicker.setQuery,
542
- filteredVariables: inlinePicker.filteredVariables,
543
- onSelect: inlinePicker.handleSelect,
544
- onBack: inlinePicker.goBack
545
- })
546
- ]
547
- }),
548
- buttons.includes("link") && editor && /* @__PURE__ */ jsx(LinkBubbleMenu, {
549
- editor,
550
- onEdit: handleLinkBubbleEdit,
551
- dialogOpen: insertLinkDialogOpen
552
- })
553
- ]
554
- }), /* @__PURE__ */ jsx(InsertLinkDialog, {
555
- open: insertLinkDialogOpen,
556
- onOpenChange: setInsertLinkDialogOpen,
557
- initialValues: insertLinkInitialValues,
558
- onInsert: (values) => {
559
- insertLink({
560
- ...values,
561
- from: insertLinkInitialValues?.from,
562
- to: insertLinkInitialValues?.to
563
- });
564
- setInsertLinkDialogOpen(false);
565
- }
566
- })]
567
- })
568
- });
569
- };
570
- //#endregion
571
- export { TiptapEditor };
572
-
573
- //# sourceMappingURL=TiptapEditor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TiptapEditor.js","names":[],"sources":["../../src/components/TiptapEditor.tsx"],"sourcesContent":["import {\n useEffect, useCallback, useMemo, useRef, useState,\n} from 'react';\nimport type { ReactNode } from 'react';\nimport { useEditor, EditorContent, EditorContext } from '@tiptap/react';\nimport { getMarkRange, type Editor as TiptapEditorInstance } from '@tiptap/core';\n\nimport { Button } from '@verbb/plugin-kit-react/components';\nimport { LinkDropdown } from './tiptap/LinkDropdown';\nimport type { LinkOptions, LinkOptionsInput } from './tiptap/LinkDropdown';\nimport { VariableDropdown } from './tiptap/VariableDropdown';\nimport type { VariableOption, VariableCategories } from './tiptap/VariableDropdown';\nimport type { VariableTransformerRegistry, VariableConfigureSectionProps, VariableTagLabelResolver } from './tiptap/VariablePickerContext';\nimport { VariablePickerProvider } from './tiptap/VariablePickerContext';\nimport { InlineVariablePickerPopover } from './tiptap/InlineVariablePickerPopover';\nimport { useInlineVariablePicker } from './tiptap/useInlineVariablePicker';\n\nexport type {\n LinkOptions, LinkOptionsInput, VariableOption, VariableCategories,\n};\nimport { LinkBubbleMenu } from './tiptap/LinkBubbleMenu';\nimport { InsertLinkDialog } from './tiptap/InsertLinkDialog';\n\nimport {\n createTiptapExtensions,\n getFatalTiptapContentError,\n normalizeContentArray,\n valueToContent,\n} from './tiptap/editorConfig';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport {\n faAlignCenter,\n faAlignJustify,\n faAlignLeft,\n faAlignRight,\n faArrowRotateLeft,\n faArrowRotateRight,\n faBold,\n faBracketsCurly,\n faCode,\n faH1,\n faH2,\n faH3,\n faH4,\n faH5,\n faH6,\n faHighlighter,\n faItalic,\n faListOl,\n faListUl,\n faMinus,\n faQuoteRight,\n faStrikethrough,\n faSubscript,\n faSuperscript,\n faTriangleExclamation,\n\n faUnderline,\n faTextSlash,\n} from '@fortawesome/pro-solid-svg-icons';\n\nimport {\n faFileDashedLine,\n faTable,\n} from '@fortawesome/pro-regular-svg-icons';\n\nimport { cn } from '@verbb/plugin-kit-react/utils';\nimport { useTranslation } from '@verbb/plugin-kit-react/hooks';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@verbb/plugin-kit-react/components/Tooltip';\n\nconst MenuBar = ({\n editor,\n buttons = ['bold', 'italic'],\n linkOptions,\n linkSelectorStorageKeyPrefix,\n variableCategories = {},\n variableCategoryLabels,\n variableCategoryOrder,\n variablePickerOpen,\n onVariablePickerOpenChange,\n openInsertLinkDialog,\n}: {\n editor: TiptapEditorInstance | null | undefined;\n buttons?: string[];\n linkOptions?: LinkOptionsInput;\n linkSelectorStorageKeyPrefix?: string;\n variableCategories?: VariableCategories;\n variableCategoryLabels?: Record<string, string>;\n variableCategoryOrder?: string[];\n variablePickerOpen?: boolean;\n onVariablePickerOpenChange?: (open: boolean) => void;\n openInsertLinkDialog?: (initial?: { url?: string; text?: string; from?: number; to?: number }) => void;\n}) => {\n const t = useTranslation();\n\n if (!editor) {\n return null;\n }\n\n const hasAnyVariables = Object.values(variableCategories ?? {}).some(\n items => {\n return Array.isArray(items) && items.length > 0;\n },\n );\n\n const visibleButtons = buttons.filter((buttonName) => {\n if (buttonName === 'variableTag') {\n return hasAnyVariables;\n }\n\n return true;\n });\n\n const buttonConfig = {\n bold: {\n icon: FontAwesomeIcon,\n iconProp: faBold,\n title: t('Bold'),\n action: () => { return editor.chain().focus().toggleBold().run(); },\n isActive: () => { return editor.isActive('bold'); },\n },\n italic: {\n icon: FontAwesomeIcon,\n iconProp: faItalic,\n title: t('Italic'),\n action: () => { return editor.chain().focus().toggleItalic().run(); },\n isActive: () => { return editor.isActive('italic'); },\n },\n underline: {\n icon: FontAwesomeIcon,\n iconProp: faUnderline,\n title: t('Underline'),\n action: () => { return editor.chain().focus().toggleUnderline().run(); },\n isActive: () => { return editor.isActive('underline'); },\n },\n strikethrough: {\n icon: FontAwesomeIcon,\n iconProp: faStrikethrough,\n title: t('Strikethrough'),\n action: () => { return editor.chain().focus().toggleStrike().run(); },\n isActive: () => { return editor.isActive('strike'); },\n },\n subscript: {\n icon: FontAwesomeIcon,\n iconProp: faSubscript,\n title: t('Subscript'),\n action: () => { return editor.chain().focus().toggleSubscript().run(); },\n isActive: () => { return editor.isActive('subscript'); },\n },\n superscript: {\n icon: FontAwesomeIcon,\n iconProp: faSuperscript,\n title: t('Superscript'),\n action: () => { return editor.chain().focus().toggleSuperscript().run(); },\n isActive: () => { return editor.isActive('superscript'); },\n },\n 'unordered-list': {\n icon: FontAwesomeIcon,\n iconProp: faListUl,\n title: t('Bullet List'),\n action: () => { return editor.chain().focus().toggleBulletList().run(); },\n isActive: () => { return editor.isActive('bulletList'); },\n },\n 'ordered-list': {\n icon: FontAwesomeIcon,\n iconProp: faListOl,\n title: t('Ordered List'),\n action: () => { return editor.chain().focus().toggleOrderedList().run(); },\n isActive: () => { return editor.isActive('orderedList'); },\n },\n blockquote: {\n icon: FontAwesomeIcon,\n iconProp: faQuoteRight,\n title: t('Blockquote'),\n action: () => { return editor.chain().focus().toggleBlockquote().run(); },\n isActive: () => { return editor.isActive('blockquote'); },\n },\n highlight: {\n icon: FontAwesomeIcon,\n iconProp: faHighlighter,\n title: t('Highlight'),\n action: () => { return editor.chain().focus().toggleHighlight().run(); },\n isActive: () => { return editor.isActive('highlight'); },\n },\n code: {\n icon: FontAwesomeIcon,\n iconProp: faBracketsCurly,\n title: t('Inline Code'),\n action: () => { return editor.chain().focus().toggleCode().run(); },\n isActive: () => { return editor.isActive('code'); },\n },\n 'code-block': {\n icon: FontAwesomeIcon,\n iconProp: faCode,\n title: t('Code Block'),\n action: () => { return editor.chain().focus().toggleCodeBlock().run(); },\n isActive: () => { return editor.isActive('codeBlock'); },\n },\n hr: {\n icon: FontAwesomeIcon,\n iconProp: faMinus,\n title: t('Horizontal Rule'),\n action: () => { return editor.chain().focus().setHorizontalRule().run(); },\n },\n 'line-break': {\n icon: FontAwesomeIcon,\n iconProp: faFileDashedLine,\n title: t('Line Break'),\n action: () => { return editor.chain().focus().setHardBreak().run(); },\n },\n 'align-left': {\n icon: FontAwesomeIcon,\n iconProp: faAlignLeft,\n title: t('Align Left'),\n action: () => { return editor.chain().focus().setTextAlign('left').run(); },\n isActive: () => { return editor.isActive({ textAlign: 'left' }); },\n },\n 'align-center': {\n icon: FontAwesomeIcon,\n iconProp: faAlignCenter,\n title: t('Align Center'),\n action: () => { return editor.chain().focus().setTextAlign('center').run(); },\n isActive: () => { return editor.isActive({ textAlign: 'center' }); },\n },\n 'align-right': {\n icon: FontAwesomeIcon,\n iconProp: faAlignRight,\n title: t('Align Right'),\n action: () => { return editor.chain().focus().setTextAlign('right').run(); },\n isActive: () => { return editor.isActive({ textAlign: 'right' }); },\n },\n 'align-justify': {\n icon: FontAwesomeIcon,\n iconProp: faAlignJustify,\n title: t('Justify'),\n action: () => { return editor.chain().focus().setTextAlign('justify').run(); },\n isActive: () => { return editor.isActive({ textAlign: 'justify' }); },\n },\n 'clear-format': {\n icon: FontAwesomeIcon,\n iconProp: faTextSlash,\n title: t('Clear Format'),\n action: () => { return editor.chain().focus().clearNodes().unsetAllMarks().run(); },\n },\n undo: {\n icon: FontAwesomeIcon,\n iconProp: faArrowRotateLeft,\n title: t('Undo'),\n action: () => { return editor.chain().focus().undo().run(); },\n },\n redo: {\n icon: FontAwesomeIcon,\n iconProp: faArrowRotateRight,\n title: t('Redo'),\n action: () => { return editor.chain().focus().redo().run(); },\n },\n link: {\n title: t('Link'),\n isActive: () => { return editor.isActive('link'); },\n isDropdown: true,\n },\n table: {\n icon: FontAwesomeIcon,\n iconProp: faTable,\n title: t('Insert Table'),\n action: () => { return editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run(); },\n },\n variableTag: {\n title: t('Insert Variable'),\n isActive: () => { return editor.isActive('variableTag'); },\n isDropdown: true,\n },\n };\n\n // Add heading levels h1–h6\n [1, 2, 3, 4, 5, 6].forEach((level) => {\n buttonConfig[`h${level}`] = {\n icon: FontAwesomeIcon,\n iconProp: {\n 1: faH1,\n 2: faH2,\n 3: faH3,\n 4: faH4,\n 5: faH5,\n 6: faH6,\n }[level],\n title: t('Heading {level}', { level: String(level) }),\n action: () => { return editor.chain().focus().toggleHeading({ level }).run(); },\n isActive: () => { return editor.isActive('heading', { level }); },\n };\n });\n\n const resolveIsActive = (config) => {\n if (!config.isActive) {\n return false;\n }\n return typeof config.isActive === 'function' ? config.isActive() : config.isActive;\n };\n\n const renderedButtons = visibleButtons\n .map((buttonName) => {\n const config = buttonConfig[buttonName];\n\n if (!config) { return null; }\n\n if (config.isDropdown && buttonName === 'link') {\n return (\n <LinkDropdown\n key={buttonName}\n editor={editor}\n linkOptions={linkOptions}\n linkSelectorStorageKeyPrefix={linkSelectorStorageKeyPrefix}\n openInsertLinkDialog={openInsertLinkDialog!}\n title={config.title}\n />\n );\n }\n\n if (config.isDropdown && buttonName === 'variableTag') {\n return (\n <VariableDropdown\n key={buttonName}\n editor={editor}\n variableCategories={variableCategories}\n variableCategoryLabels={variableCategoryLabels}\n variableCategoryOrder={variableCategoryOrder}\n title={config.title}\n open={variablePickerOpen}\n onOpenChange={onVariablePickerOpenChange}\n />\n );\n }\n\n const Icon = config.icon;\n\n return (\n <Tooltip key={buttonName}>\n <TooltipTrigger\n render={\n <Button\n variant=\"transparent\"\n onClick={config.action}\n className={cn(\n 'w-[32px] h-[32px]',\n 'text-[#1c2e36]',\n 'hover:bg-slate-100!',\n resolveIsActive(config) && 'bg-slate-250! hover:bg-slate-250!',\n )}\n >\n <Icon icon={config.iconProp} className=\"size-4\" />\n </Button>\n }\n />\n <TooltipContent sideOffset={4}>{config.title}</TooltipContent>\n </Tooltip>\n );\n })\n .filter(Boolean);\n\n if (renderedButtons.length === 0) {\n return null;\n }\n\n return (\n <div className={cn(\n 'flex flex-wrap relative z-10 gap-1 px-[8px] py-[4px]',\n 'border-b border-[rgba(96,125,159,0.4)] bg-white',\n 'shadow-[0_2px_3px_rgba(49,49,93,.07)]',\n )}>\n {renderedButtons}\n </div>\n );\n};\n\ntype TiptapEditorProps = {\n value?: unknown;\n onChange?: (value: unknown) => void;\n placeholder?: string;\n buttons?: string[];\n tableOptions?: Array<{ rows?: number; cols?: number; withHeaderRow?: boolean }>;\n linkOptions?: LinkOptionsInput;\n linkSelectorStorageKeyPrefix?: string;\n variableCategories?: VariableCategories;\n variableCategoryLabels?: Record<string, string>;\n variableCategoryOrder?: string[];\n variableTransformerRegistry?: VariableTransformerRegistry;\n variablePickerTriggerCharacters?: string[];\n renderVariableConfigureSection?: (props: VariableConfigureSectionProps) => ReactNode;\n resolveVariableTagLabel?: VariableTagLabelResolver;\n toolbarContent?: (params: {\n editor: TiptapEditorInstance | null;\n variableCategories: VariableCategories;\n variableCategoryLabels?: Record<string, string>;\n variableCategoryOrder?: string[];\n variablePickerOpen: boolean;\n onVariablePickerOpenChange: (open: boolean) => void;\n }) => ReactNode;\n rows?: number;\n className?: string;\n isInvalid?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n invalidContentMessage?: string;\n [key: string]: unknown;\n};\n\nexport const TiptapEditor = ({\n value = '',\n onChange,\n buttons = ['bold', 'italic'],\n tableOptions = [],\n linkOptions,\n linkSelectorStorageKeyPrefix,\n variableCategories = {},\n variableCategoryLabels,\n variableCategoryOrder,\n variableTransformerRegistry,\n variablePickerTriggerCharacters = ['@'],\n renderVariableConfigureSection,\n resolveVariableTagLabel,\n toolbarContent,\n rows,\n className,\n isInvalid,\n disabled = false,\n readOnly = false,\n invalidContentMessage,\n ...props\n}: TiptapEditorProps) => {\n // Ensure value is a string and handle null/undefined\n // const safeValue = value || '';\n const t = useTranslation();\n\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const handleKeyDownRef = useRef<import('./tiptap/useInlineVariablePicker').InlineVariablePickerHandleKeyDown | null>(null);\n const lastEmittedContentRef = useRef<string | null>(null);\n\n const extensions = useMemo(() => {\n return createTiptapExtensions({ trailingCursorText: '\\u2060' });\n }, []);\n const [isVariablePickerOpen, setIsVariablePickerOpen] = useState(false);\n const hasAnyVariables = useMemo(() => {\n return Object.values(variableCategories || {}).some((variables) => {\n return Array.isArray(variables) && variables.length > 0;\n });\n }, [variableCategories]);\n const editorContent = useMemo(() => {\n return valueToContent(value, { trailingCursorText: '\\u2060' });\n }, [value]);\n const contentError = useMemo(() => {\n const detectedError = getFatalTiptapContentError(value);\n return detectedError ? (invalidContentMessage || detectedError) : '';\n }, [invalidContentMessage, value]);\n\n const serializeContent = (content: unknown) => {\n return normalizeContentArray(content);\n };\n\n const serializeEditorDocument = useCallback((editorInstance: NonNullable<ReturnType<typeof useEditor>>) => {\n return JSON.stringify(serializeContent(editorInstance.getJSON().content));\n }, []);\n\n const editor = useEditor({\n extensions,\n content: contentError ? null : editorContent,\n editable: !disabled && !readOnly,\n editorProps: {\n handleKeyDown: (view, event) => {\n return handleKeyDownRef.current?.(view, event) ?? false;\n },\n },\n onUpdate: ({ editor: editorInstance }) => {\n const serialized = serializeContent(editorInstance.getJSON().content);\n lastEmittedContentRef.current = JSON.stringify(serialized);\n\n if (onChange) {\n onChange(serialized);\n }\n },\n });\n\n const inlinePicker = useInlineVariablePicker(editor, {\n variableCategories,\n variableCategoryLabels,\n variableCategoryOrder,\n variablePickerTriggerCharacters,\n disabled,\n readOnly,\n wrapperRef,\n onOpenDropdown: () => {\n return setIsVariablePickerOpen(true);\n },\n });\n\n useEffect(() => {\n handleKeyDownRef.current = inlinePicker.handleKeyDown;\n }, [inlinePicker.handleKeyDown]);\n\n const [insertLinkDialogOpen, setInsertLinkDialogOpen] = useState(false);\n const [insertLinkInitialValues, setInsertLinkInitialValues] = useState<{ url?: string; text?: string; openInNewTab?: boolean; from?: number; to?: number } | undefined>();\n const editorMinHeight = useMemo(() => {\n const normalizedRows = Math.max(1, Number(rows || 0));\n const lineHeight = 24;\n const verticalPadding = 32;\n\n return `${(normalizedRows * lineHeight) + verticalPadding}px`;\n }, [rows]);\n\n useEffect(() => {\n if (!editor?.view?.dom) {\n return;\n }\n\n editor.view.dom.style.minHeight = editorMinHeight;\n }, [editor, editorMinHeight]);\n\n const openInsertLinkDialog = useCallback((initial?: { url?: string; text?: string; from?: number; to?: number }) => {\n if (initial) {\n const openInNewTab = editor?.isActive('link') ? editor.getAttributes('link').target === '_blank' : false;\n setInsertLinkInitialValues({ ...initial, openInNewTab });\n } else {\n setInsertLinkInitialValues(undefined);\n }\n setInsertLinkDialogOpen(true);\n }, [editor]);\n\n const insertLink = useCallback(\n (params: { url: string; text: string; openInNewTab: boolean; from?: number; to?: number }) => {\n if (!editor) { return; }\n const {\n url, text, openInNewTab, from: fromParam, to: toParam,\n } = params;\n const chain = editor.chain().focus();\n const linkAttrs: { href: string; target?: string | null } = { href: url };\n if (openInNewTab) {\n linkAttrs.target = '_blank';\n }\n\n const content = {\n type: 'text',\n text: text.trim() || url,\n marks: [{ type: 'link', attrs: linkAttrs }],\n };\n\n if (typeof fromParam === 'number' && typeof toParam === 'number' && fromParam !== toParam) {\n chain.insertContentAt({ from: fromParam, to: toParam }, [content]).run();\n } else {\n const { from, to } = editor.state.selection;\n const selectedText = editor.state.doc.textBetween(from, to, ' ');\n if (selectedText) {\n chain.extendMarkRange('link').setLink(linkAttrs).run();\n } else {\n chain.insertContent([content]).run();\n }\n }\n },\n [editor],\n );\n\n // Watch for value changes and update editor content\n useEffect(() => {\n if (!editor) {\n return;\n }\n\n const incomingContent = contentError ? null : editorContent;\n const incomingSerialized = JSON.stringify(incomingContent?.content ?? []);\n const currentSerialized = serializeEditorDocument(editor);\n const isVariableConfigActive = Boolean(\n document.activeElement?.closest('[data-variable-config-popover]'),\n );\n\n if (incomingSerialized === currentSerialized) {\n return;\n }\n\n if (lastEmittedContentRef.current === incomingSerialized) {\n return;\n }\n\n if (\n !readOnly\n && (\n editor.isFocused\n || isVariableConfigActive\n || (\n lastEmittedContentRef.current\n && currentSerialized === lastEmittedContentRef.current\n && incomingSerialized !== lastEmittedContentRef.current\n )\n )\n ) {\n return;\n }\n\n editor.commands.setContent(incomingContent ?? { type: 'doc', content: [] });\n lastEmittedContentRef.current = incomingSerialized;\n }, [contentError, editor, editorContent, readOnly, serializeEditorDocument]);\n\n const handleLinkBubbleEdit = useCallback(() => {\n if (!editor) { return; }\n const { href } = editor.getAttributes('link');\n const { state } = editor;\n const linkType = state.schema.marks.link;\n const range = getMarkRange(state.selection.$from, linkType);\n const from = range?.from ?? state.selection.from;\n const to = range?.to ?? state.selection.to;\n const text = editor.state.doc.textBetween(from, to, ' ');\n openInsertLinkDialog({\n url: href, text, from, to,\n });\n }, [editor, openInsertLinkDialog]);\n\n return (\n <div className={cn(\n 'border border-[rgba(96,125,159,0.4)] rounded-sm overflow-hidden',\n isInvalid && [\n 'border-rose-600!',\n '[focus-visible:shadow-[0_0_0_1px_var(--color-rose-600),0_0_4px_0_hsl(from_var(--color-rose-600)_h_s_l/0.7)]!',\n ],\n className,\n )}>\n <VariablePickerProvider\n variableCategories={variableCategories}\n variableCategoryLabels={variableCategoryLabels}\n variableCategoryOrder={variableCategoryOrder}\n variableTransformerRegistry={variableTransformerRegistry}\n renderVariableConfigureSection={renderVariableConfigureSection}\n resolveVariableTagLabel={resolveVariableTagLabel}\n >\n <EditorContext.Provider value={{ editor }}>\n {toolbarContent ? (\n toolbarContent({\n editor,\n variableCategories,\n variableCategoryLabels,\n variableCategoryOrder,\n variablePickerOpen: isVariablePickerOpen,\n onVariablePickerOpenChange: setIsVariablePickerOpen,\n })\n ) : (\n <MenuBar\n editor={editor}\n buttons={buttons}\n tableOptions={tableOptions}\n linkOptions={linkOptions}\n linkSelectorStorageKeyPrefix={linkSelectorStorageKeyPrefix}\n variableCategories={variableCategories}\n variableCategoryLabels={variableCategoryLabels}\n variableCategoryOrder={variableCategoryOrder}\n variablePickerOpen={isVariablePickerOpen}\n onVariablePickerOpenChange={setIsVariablePickerOpen}\n openInsertLinkDialog={openInsertLinkDialog}\n />\n )}\n\n <div ref={wrapperRef} className=\"relative\">\n {contentError && (\n <div className=\"flex items-start gap-2 border-b border-rose-200 bg-rose-50 px-4 py-2 text-sm text-rose-800\">\n <FontAwesomeIcon icon={faTriangleExclamation} className=\"mt-0.5 size-3.5 shrink-0\" />\n <p>{contentError}</p>\n </div>\n )}\n\n <EditorContent\n editor={editor}\n className={cn(\n '[&_.ProseMirror]:outline-none',\n '[&_.ProseMirror]:min-h-8',\n '[&_.ProseMirror]:p-4',\n '[&_.ProseMirror]:bg-[#fbfcfe]',\n '[&_.ProseMirror]:shadow-none',\n '[&_.ProseMirror]:whitespace-pre-wrap',\n '[&_.ProseMirror_p]:m-0 [&_.ProseMirror_p]:mb-2',\n '[&_.ProseMirror_p:last-child]:mb-0',\n '[&_.ProseMirror_h1]:text-xl [&_.ProseMirror_h1]:font-bold [&_.ProseMirror_h1]:mb-2',\n '[&_.ProseMirror_h2]:text-lg [&_.ProseMirror_h2]:font-semibold [&_.ProseMirror_h2]:mb-2',\n '[&_.ProseMirror_ul]:list-disc [&_.ProseMirror_ul]:pl-5 [&_.ProseMirror_ul]:mb-2',\n '[&_.ProseMirror_ol]:list-decimal [&_.ProseMirror_ol]:pl-5 [&_.ProseMirror_ol]:mb-2',\n '[&_.ProseMirror_li]:mb-1',\n '[&_.ProseMirror_hr]:border-slate-300 [&_.ProseMirror_hr]:my-4',\n '[&_.ProseMirror_code]:bg-slate-100 [&_.ProseMirror_code]:px-1 [&_.ProseMirror_code]:py-0.5 [&_.ProseMirror_code]:rounded [&_.ProseMirror_code]:text-sm',\n '[&_.ProseMirror_pre]:bg-slate-100 [&_.ProseMirror_pre]:p-3 [&_.ProseMirror_pre]:rounded [&_.ProseMirror_pre]:overflow-x-auto [&_.ProseMirror_pre]:mb-2',\n '[&_.ProseMirror_blockquote]:border-l-4 [&_.ProseMirror_blockquote]:border-slate-300 [&_.ProseMirror_blockquote]:pl-4 [&_.ProseMirror_blockquote]:italic [&_.ProseMirror_blockquote]:text-slate-600 [&_.ProseMirror_blockquote]:mb-2',\n '[&_.ProseMirror_table]:border-collapse [&_.ProseMirror_table]:w-full [&_.ProseMirror_table]:mb-2',\n '[&_.ProseMirror_th]:border [&_.ProseMirror_th]:border-slate-300 [&_.ProseMirror_th]:px-3 [&_.ProseMirror_th]:py-2 [&_.ProseMirror_th]:bg-slate-100 [&_.ProseMirror_th]:text-left',\n '[&_.ProseMirror_td]:border [&_.ProseMirror_td]:border-slate-300 [&_.ProseMirror_td]:px-3 [&_.ProseMirror_td]:py-2',\n '[&_.ProseMirror_a]:text-blue-600 [&_.ProseMirror_a]:underline [&_.ProseMirror_a]:cursor-pointer',\n )}\n {...props}\n />\n\n {hasAnyVariables && !readOnly && (\n <InlineVariablePickerPopover\n open={inlinePicker.state.open}\n onOpenChange={(open) => {\n if (!open) {\n inlinePicker.closePicker();\n }\n }}\n position={{ top: inlinePicker.state.top, left: inlinePicker.state.left }}\n isChildMode={inlinePicker.filteredVariables.isChildMode}\n query={inlinePicker.state.query}\n onQueryChange={inlinePicker.setQuery}\n filteredVariables={inlinePicker.filteredVariables}\n onSelect={inlinePicker.handleSelect}\n onBack={inlinePicker.goBack}\n />\n )}\n </div>\n\n {buttons.includes('link') && editor && (\n <LinkBubbleMenu\n editor={editor}\n onEdit={handleLinkBubbleEdit}\n dialogOpen={insertLinkDialogOpen}\n />\n )}\n </EditorContext.Provider>\n\n <InsertLinkDialog\n open={insertLinkDialogOpen}\n onOpenChange={setInsertLinkDialogOpen}\n initialValues={insertLinkInitialValues}\n onInsert={(values) => {\n insertLink({\n ...values,\n from: insertLinkInitialValues?.from,\n to: insertLinkInitialValues?.to,\n });\n setInsertLinkDialogOpen(false);\n }}\n />\n </VariablePickerProvider>\n </div >\n );\n};\n"],"mappings":"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"}