@payloadcms/richtext-lexical 3.0.0-canary.b8dd0db → 3.0.0-canary.bb00d64

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 (512) hide show
  1. package/dist/cell/rscEntry.d.ts +12 -0
  2. package/dist/cell/rscEntry.d.ts.map +1 -0
  3. package/dist/cell/rscEntry.js +82 -0
  4. package/dist/cell/rscEntry.js.map +1 -0
  5. package/dist/exports/client/Field-LKCJPU2R.js +2 -0
  6. package/dist/exports/client/Field-LKCJPU2R.js.map +7 -0
  7. package/dist/exports/client/RelationshipComponent-IMM4CFBE.js +2 -0
  8. package/dist/exports/client/RelationshipComponent-IMM4CFBE.js.map +7 -0
  9. package/dist/exports/client/bundled.css +1 -1
  10. package/dist/exports/client/chunk-5PBXL4HT.js +2 -0
  11. package/dist/exports/client/chunk-5PBXL4HT.js.map +7 -0
  12. package/dist/exports/client/chunk-NNE6RSU5.js +2 -0
  13. package/dist/exports/client/chunk-NNE6RSU5.js.map +7 -0
  14. package/dist/exports/client/{chunk-LGUXX2QH.js → chunk-O4IOO4EU.js} +2 -2
  15. package/dist/exports/client/{chunk-LGUXX2QH.js.map → chunk-O4IOO4EU.js.map} +2 -2
  16. package/dist/exports/client/chunk-PDAZFJVO.js +2 -0
  17. package/dist/exports/client/chunk-PDAZFJVO.js.map +7 -0
  18. package/dist/exports/client/chunk-PSABE6CO.js +2 -0
  19. package/dist/exports/client/chunk-PSABE6CO.js.map +7 -0
  20. package/dist/exports/client/{chunk-V2LKLT2F.js → chunk-XCEM47RI.js} +3 -3
  21. package/dist/exports/client/{chunk-V2LKLT2F.js.map → chunk-XCEM47RI.js.map} +3 -3
  22. package/dist/exports/client/chunk-ZFVIUTHB.js +2 -0
  23. package/dist/exports/client/chunk-ZFVIUTHB.js.map +7 -0
  24. package/dist/exports/client/{chunk-OKMIHD2R.js → chunk-ZOYGBIAN.js} +2 -2
  25. package/dist/exports/client/{chunk-OKMIHD2R.js.map → chunk-ZOYGBIAN.js.map} +2 -2
  26. package/dist/exports/client/component-4OBXHYCD.js +2 -0
  27. package/dist/exports/client/component-4OBXHYCD.js.map +7 -0
  28. package/dist/exports/client/component-ANB7VZLA.js +2 -0
  29. package/dist/exports/client/component-ANB7VZLA.js.map +7 -0
  30. package/dist/exports/client/component-P25AKAUU.js +2 -0
  31. package/dist/exports/client/component-P25AKAUU.js.map +7 -0
  32. package/dist/exports/client/componentInline-N5LJ2LY2.js +2 -0
  33. package/dist/exports/client/componentInline-N5LJ2LY2.js.map +7 -0
  34. package/dist/exports/client/index.d.ts +3 -4
  35. package/dist/exports/client/index.d.ts.map +1 -1
  36. package/dist/exports/client/index.js +7 -7
  37. package/dist/exports/client/index.js.map +4 -4
  38. package/dist/exports/server/rsc.d.ts +3 -0
  39. package/dist/exports/server/rsc.d.ts.map +1 -0
  40. package/dist/exports/server/rsc.js +3 -0
  41. package/dist/exports/server/rsc.js.map +1 -0
  42. package/dist/features/align/client/index.d.ts +1 -4
  43. package/dist/features/align/client/index.d.ts.map +1 -1
  44. package/dist/features/blockquote/client/index.d.ts +1 -4
  45. package/dist/features/blockquote/client/index.d.ts.map +1 -1
  46. package/dist/features/blockquote/markdownTransformer.js.map +1 -1
  47. package/dist/features/blockquote/server/index.d.ts +1 -1
  48. package/dist/features/blockquote/server/index.d.ts.map +1 -1
  49. package/dist/features/blockquote/server/index.js +5 -1
  50. package/dist/features/blockquote/server/index.js.map +1 -1
  51. package/dist/features/blocks/client/component/BlockContent.d.ts +1 -0
  52. package/dist/features/blocks/client/component/BlockContent.d.ts.map +1 -1
  53. package/dist/features/blocks/client/component/BlockContent.js +28 -28
  54. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  55. package/dist/features/blocks/client/component/index.d.ts +1 -1
  56. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  57. package/dist/features/blocks/client/component/index.js +94 -55
  58. package/dist/features/blocks/client/component/index.js.map +1 -1
  59. package/dist/features/blocks/client/componentInline/index.d.ts +1 -1
  60. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  61. package/dist/features/blocks/client/componentInline/index.js +27 -29
  62. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  63. package/dist/features/blocks/client/index.d.ts +1 -4
  64. package/dist/features/blocks/client/index.d.ts.map +1 -1
  65. package/dist/features/blocks/client/index.js +35 -23
  66. package/dist/features/blocks/client/index.js.map +1 -1
  67. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +2 -2
  68. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  69. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  70. package/dist/features/blocks/client/plugin/index.d.ts +2 -2
  71. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  72. package/dist/features/blocks/client/plugin/index.js +96 -93
  73. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  74. package/dist/features/blocks/server/index.d.ts.map +1 -1
  75. package/dist/features/blocks/server/index.js +41 -27
  76. package/dist/features/blocks/server/index.js.map +1 -1
  77. package/dist/features/blocks/server/nodes/BlocksNode.d.ts +11 -5
  78. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  79. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  80. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts +3 -3
  81. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  82. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  83. package/dist/features/blocks/server/validate.d.ts.map +1 -1
  84. package/dist/features/blocks/server/validate.js +8 -5
  85. package/dist/features/blocks/server/validate.js.map +1 -1
  86. package/dist/features/converters/html/converter/converters/paragraph.d.ts.map +1 -1
  87. package/dist/features/converters/html/converter/converters/paragraph.js +4 -0
  88. package/dist/features/converters/html/converter/converters/paragraph.js.map +1 -1
  89. package/dist/features/converters/html/converter/converters/text.d.ts.map +1 -1
  90. package/dist/features/converters/html/converter/converters/text.js +2 -1
  91. package/dist/features/converters/html/converter/converters/text.js.map +1 -1
  92. package/dist/features/converters/html/converter/index.d.ts +11 -7
  93. package/dist/features/converters/html/converter/index.d.ts.map +1 -1
  94. package/dist/features/converters/html/converter/index.js +17 -1
  95. package/dist/features/converters/html/converter/index.js.map +1 -1
  96. package/dist/features/converters/html/converter/types.d.ts +3 -1
  97. package/dist/features/converters/html/converter/types.d.ts.map +1 -1
  98. package/dist/features/converters/html/converter/types.js.map +1 -1
  99. package/dist/features/converters/html/field/index.d.ts.map +1 -1
  100. package/dist/features/converters/html/field/index.js +7 -1
  101. package/dist/features/converters/html/field/index.js.map +1 -1
  102. package/dist/features/debug/testRecorder/client/index.d.ts +1 -4
  103. package/dist/features/debug/testRecorder/client/index.d.ts.map +1 -1
  104. package/dist/features/debug/testRecorder/client/plugin/index.js +180 -345
  105. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  106. package/dist/features/debug/treeView/client/index.d.ts +1 -4
  107. package/dist/features/debug/treeView/client/index.d.ts.map +1 -1
  108. package/dist/features/experimental_table/client/index.d.ts +1 -1
  109. package/dist/features/experimental_table/client/index.d.ts.map +1 -1
  110. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -1
  111. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +250 -488
  112. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  113. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -1
  114. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +39 -39
  115. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  116. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts +1 -1
  117. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.d.ts.map +1 -1
  118. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js +60 -124
  119. package/dist/features/experimental_table/client/plugins/TableHoverActionsPlugin/index.js.map +1 -1
  120. package/dist/features/experimental_table/client/plugins/TablePlugin/index.d.ts.map +1 -1
  121. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +52 -50
  122. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  123. package/dist/features/experimental_table/client/utils/debounce.js +4 -4
  124. package/dist/features/experimental_table/client/utils/debounce.js.map +1 -1
  125. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  126. package/dist/features/experimental_table/server/index.d.ts.map +1 -1
  127. package/dist/features/experimental_table/server/index.js +20 -4
  128. package/dist/features/experimental_table/server/index.js.map +1 -1
  129. package/dist/features/format/bold/feature.client.d.ts +1 -4
  130. package/dist/features/format/bold/feature.client.d.ts.map +1 -1
  131. package/dist/features/format/inlineCode/feature.client.d.ts +1 -4
  132. package/dist/features/format/inlineCode/feature.client.d.ts.map +1 -1
  133. package/dist/features/format/italic/feature.client.d.ts +1 -4
  134. package/dist/features/format/italic/feature.client.d.ts.map +1 -1
  135. package/dist/features/format/strikethrough/feature.client.d.ts +1 -4
  136. package/dist/features/format/strikethrough/feature.client.d.ts.map +1 -1
  137. package/dist/features/format/subscript/feature.client.d.ts +1 -4
  138. package/dist/features/format/subscript/feature.client.d.ts.map +1 -1
  139. package/dist/features/format/superscript/feature.client.d.ts +1 -4
  140. package/dist/features/format/superscript/feature.client.d.ts.map +1 -1
  141. package/dist/features/format/underline/feature.client.d.ts +1 -4
  142. package/dist/features/format/underline/feature.client.d.ts.map +1 -1
  143. package/dist/features/heading/client/index.d.ts +1 -4
  144. package/dist/features/heading/client/index.d.ts.map +1 -1
  145. package/dist/features/heading/server/index.d.ts.map +1 -1
  146. package/dist/features/heading/server/index.js +4 -0
  147. package/dist/features/heading/server/index.js.map +1 -1
  148. package/dist/features/horizontalRule/client/component/index.d.ts +1 -1
  149. package/dist/features/horizontalRule/client/component/index.d.ts.map +1 -1
  150. package/dist/features/horizontalRule/client/component/index.js +12 -9
  151. package/dist/features/horizontalRule/client/component/index.js.map +1 -1
  152. package/dist/features/horizontalRule/client/index.d.ts +1 -4
  153. package/dist/features/horizontalRule/client/index.d.ts.map +1 -1
  154. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +2 -2
  155. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  156. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js +1 -1
  157. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  158. package/dist/features/indent/client/index.d.ts +1 -4
  159. package/dist/features/indent/client/index.d.ts.map +1 -1
  160. package/dist/features/indent/client/index.js +2 -1
  161. package/dist/features/indent/client/index.js.map +1 -1
  162. package/dist/features/link/client/index.d.ts +1 -13
  163. package/dist/features/link/client/index.d.ts.map +1 -1
  164. package/dist/features/link/client/index.js +2 -2
  165. package/dist/features/link/client/index.js.map +1 -1
  166. package/dist/features/link/client/plugins/autoLink/index.d.ts +1 -1
  167. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  168. package/dist/features/link/client/plugins/autoLink/index.js +3 -1
  169. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  170. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  171. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +21 -20
  172. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  173. package/dist/features/link/client/plugins/floatingLinkEditor/index.d.ts.map +1 -1
  174. package/dist/features/link/client/plugins/floatingLinkEditor/index.js +1 -1
  175. package/dist/features/link/client/plugins/floatingLinkEditor/index.js.map +1 -1
  176. package/dist/features/link/nodes/AutoLinkNode.js +2 -2
  177. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  178. package/dist/features/link/nodes/LinkNode.d.ts.map +1 -1
  179. package/dist/features/link/nodes/LinkNode.js +12 -7
  180. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  181. package/dist/features/link/nodes/types.d.ts +3 -3
  182. package/dist/features/link/nodes/types.d.ts.map +1 -1
  183. package/dist/features/link/nodes/types.js.map +1 -1
  184. package/dist/features/link/server/baseFields.d.ts +1 -1
  185. package/dist/features/link/server/baseFields.d.ts.map +1 -1
  186. package/dist/features/link/server/baseFields.js +15 -3
  187. package/dist/features/link/server/baseFields.js.map +1 -1
  188. package/dist/features/link/server/index.d.ts.map +1 -1
  189. package/dist/features/link/server/index.js +17 -4
  190. package/dist/features/link/server/index.js.map +1 -1
  191. package/dist/features/link/server/transformExtraFields.d.ts +1 -1
  192. package/dist/features/link/server/transformExtraFields.d.ts.map +1 -1
  193. package/dist/features/link/server/transformExtraFields.js.map +1 -1
  194. package/dist/features/link/server/validate.d.ts.map +1 -1
  195. package/dist/features/link/server/validate.js +8 -5
  196. package/dist/features/link/server/validate.js.map +1 -1
  197. package/dist/features/lists/checklist/client/index.d.ts +1 -4
  198. package/dist/features/lists/checklist/client/index.d.ts.map +1 -1
  199. package/dist/features/lists/htmlConverter.d.ts.map +1 -1
  200. package/dist/features/lists/htmlConverter.js +8 -0
  201. package/dist/features/lists/htmlConverter.js.map +1 -1
  202. package/dist/features/lists/orderedList/client/index.d.ts +1 -4
  203. package/dist/features/lists/orderedList/client/index.d.ts.map +1 -1
  204. package/dist/features/lists/shared/markdown.js.map +1 -1
  205. package/dist/features/lists/unorderedList/client/index.d.ts +1 -4
  206. package/dist/features/lists/unorderedList/client/index.d.ts.map +1 -1
  207. package/dist/features/migrations/lexicalPluginToLexical/converter/index.d.ts.map +1 -1
  208. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +1 -0
  209. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  210. package/dist/features/migrations/lexicalPluginToLexical/feature.client.d.ts +1 -4
  211. package/dist/features/migrations/lexicalPluginToLexical/feature.client.d.ts.map +1 -1
  212. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +1 -1
  213. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  214. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  215. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  216. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  217. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  218. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  219. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  220. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  221. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  222. package/dist/features/migrations/slateToLexical/converter/index.d.ts.map +1 -1
  223. package/dist/features/migrations/slateToLexical/converter/index.js +1 -0
  224. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  225. package/dist/features/migrations/slateToLexical/feature.client.d.ts +1 -4
  226. package/dist/features/migrations/slateToLexical/feature.client.d.ts.map +1 -1
  227. package/dist/features/migrations/slateToLexical/feature.client.js +1 -3
  228. package/dist/features/migrations/slateToLexical/feature.client.js.map +1 -1
  229. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts +1 -1
  230. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  231. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  232. package/dist/features/paragraph/client/index.d.ts +1 -4
  233. package/dist/features/paragraph/client/index.d.ts.map +1 -1
  234. package/dist/features/paragraph/server/index.d.ts +1 -1
  235. package/dist/features/paragraph/server/index.d.ts.map +1 -1
  236. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  237. package/dist/features/relationship/client/components/RelationshipComponent.js +42 -29
  238. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  239. package/dist/features/relationship/client/drawer/index.d.ts.map +1 -1
  240. package/dist/features/relationship/client/drawer/index.js +27 -26
  241. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  242. package/dist/features/relationship/client/index.d.ts +2 -17
  243. package/dist/features/relationship/client/index.d.ts.map +1 -1
  244. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts +1 -1
  245. package/dist/features/relationship/client/nodes/RelationshipNode.d.ts.map +1 -1
  246. package/dist/features/relationship/client/nodes/RelationshipNode.js.map +1 -1
  247. package/dist/features/relationship/client/plugins/index.js +1 -1
  248. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  249. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js +1 -1
  250. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js.map +1 -1
  251. package/dist/features/relationship/server/index.d.ts +1 -1
  252. package/dist/features/relationship/server/index.d.ts.map +1 -1
  253. package/dist/features/relationship/server/index.js +50 -40
  254. package/dist/features/relationship/server/index.js.map +1 -1
  255. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +8 -6
  256. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  257. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  258. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  259. package/dist/features/toolbars/fixed/client/Toolbar/index.js +93 -66
  260. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  261. package/dist/features/toolbars/fixed/client/index.d.ts +1 -4
  262. package/dist/features/toolbars/fixed/client/index.d.ts.map +1 -1
  263. package/dist/features/toolbars/inline/client/Toolbar/index.js +43 -46
  264. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  265. package/dist/features/toolbars/inline/client/index.d.ts +1 -4
  266. package/dist/features/toolbars/inline/client/index.d.ts.map +1 -1
  267. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  268. package/dist/features/toolbars/shared/ToolbarButton/index.js +4 -1
  269. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  270. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts +2 -2
  271. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -1
  272. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +12 -6
  273. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  274. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts +4 -5
  275. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  276. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +119 -116
  277. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  278. package/dist/features/toolbars/types.d.ts +23 -11
  279. package/dist/features/toolbars/types.d.ts.map +1 -1
  280. package/dist/features/toolbars/types.js.map +1 -1
  281. package/dist/features/typesClient.d.ts +10 -11
  282. package/dist/features/typesClient.d.ts.map +1 -1
  283. package/dist/features/typesClient.js.map +1 -1
  284. package/dist/features/typesServer.d.ts +17 -26
  285. package/dist/features/typesServer.d.ts.map +1 -1
  286. package/dist/features/typesServer.js.map +1 -1
  287. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  288. package/dist/features/upload/client/component/index.js +69 -58
  289. package/dist/features/upload/client/component/index.js.map +1 -1
  290. package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
  291. package/dist/features/upload/client/drawer/index.js +34 -32
  292. package/dist/features/upload/client/drawer/index.js.map +1 -1
  293. package/dist/features/upload/client/feature.client.d.ts +1 -4
  294. package/dist/features/upload/client/feature.client.d.ts.map +1 -1
  295. package/dist/features/upload/client/nodes/UploadNode.d.ts.map +1 -1
  296. package/dist/features/upload/client/nodes/UploadNode.js +1 -1
  297. package/dist/features/upload/client/nodes/UploadNode.js.map +1 -1
  298. package/dist/features/upload/client/plugin/index.js +1 -1
  299. package/dist/features/upload/client/plugin/index.js.map +1 -1
  300. package/dist/features/upload/server/feature.server.d.ts.map +1 -1
  301. package/dist/features/upload/server/feature.server.js +17 -8
  302. package/dist/features/upload/server/feature.server.js.map +1 -1
  303. package/dist/features/upload/server/nodes/UploadNode.d.ts +9 -7
  304. package/dist/features/upload/server/nodes/UploadNode.d.ts.map +1 -1
  305. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  306. package/dist/features/upload/server/validate.d.ts.map +1 -1
  307. package/dist/features/upload/server/validate.js +7 -4
  308. package/dist/features/upload/server/validate.js.map +1 -1
  309. package/dist/field/Field.d.ts.map +1 -1
  310. package/dist/field/Field.js +29 -44
  311. package/dist/field/Field.js.map +1 -1
  312. package/dist/field/bundled.css +1 -1
  313. package/dist/field/index.d.ts.map +1 -1
  314. package/dist/field/index.js +63 -73
  315. package/dist/field/index.js.map +1 -1
  316. package/dist/field/rscEntry.d.ts +9 -0
  317. package/dist/field/rscEntry.d.ts.map +1 -0
  318. package/dist/field/rscEntry.js +37 -0
  319. package/dist/field/rscEntry.js.map +1 -0
  320. package/dist/index.d.ts +4 -3
  321. package/dist/index.d.ts.map +1 -1
  322. package/dist/index.js +94 -103
  323. package/dist/index.js.map +1 -1
  324. package/dist/lexical/EditorPlugin.d.ts.map +1 -1
  325. package/dist/lexical/EditorPlugin.js +2 -1
  326. package/dist/lexical/EditorPlugin.js.map +1 -1
  327. package/dist/lexical/LexicalEditor.d.ts +1 -1
  328. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  329. package/dist/lexical/LexicalEditor.js +10 -10
  330. package/dist/lexical/LexicalEditor.js.map +1 -1
  331. package/dist/lexical/LexicalProvider.d.ts +2 -2
  332. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  333. package/dist/lexical/LexicalProvider.js +9 -7
  334. package/dist/lexical/LexicalProvider.js.map +1 -1
  335. package/dist/lexical/config/client/EditorConfigProvider.d.ts +6 -5
  336. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  337. package/dist/lexical/config/client/EditorConfigProvider.js +13 -12
  338. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  339. package/dist/lexical/config/client/loader.d.ts +1 -3
  340. package/dist/lexical/config/client/loader.d.ts.map +1 -1
  341. package/dist/lexical/config/client/loader.js +7 -19
  342. package/dist/lexical/config/client/loader.js.map +1 -1
  343. package/dist/lexical/config/client/sanitize.d.ts +1 -1
  344. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  345. package/dist/lexical/config/client/sanitize.js +4 -4
  346. package/dist/lexical/config/client/sanitize.js.map +1 -1
  347. package/dist/lexical/config/server/loader.d.ts +2 -1
  348. package/dist/lexical/config/server/loader.d.ts.map +1 -1
  349. package/dist/lexical/config/server/loader.js +2 -0
  350. package/dist/lexical/config/server/loader.js.map +1 -1
  351. package/dist/lexical/config/server/sanitize.d.ts +1 -1
  352. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  353. package/dist/lexical/config/server/sanitize.js +12 -11
  354. package/dist/lexical/config/server/sanitize.js.map +1 -1
  355. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +4 -4
  356. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  357. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +82 -113
  358. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  359. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +2 -2
  360. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  361. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +2 -2
  362. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  363. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +3 -2
  364. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  365. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  366. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  367. package/dist/lexical/plugins/SlashMenu/index.js +24 -30
  368. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  369. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  370. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +93 -130
  371. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  372. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts +1 -1
  373. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
  374. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +1 -1
  375. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  376. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +1 -1
  377. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  378. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  379. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +119 -137
  380. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  381. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.d.ts.map +1 -1
  382. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +16 -32
  383. package/dist/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js.map +1 -1
  384. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.d.ts.map +1 -1
  385. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js +3 -1
  386. package/dist/lexical/plugins/handles/utils/doesLineHeightAffectElement.js.map +1 -1
  387. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.d.ts.map +1 -1
  388. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +3 -4
  389. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  390. package/dist/lexical/plugins/handles/utils/setHandlePosition.d.ts.map +1 -1
  391. package/dist/lexical/plugins/handles/utils/setHandlePosition.js +4 -6
  392. package/dist/lexical/plugins/handles/utils/setHandlePosition.js.map +1 -1
  393. package/dist/lexical/theme/EditorTheme.d.ts.map +1 -1
  394. package/dist/lexical/theme/EditorTheme.js +1 -2
  395. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  396. package/dist/lexical/ui/icons/Caret/index.svg +2 -2
  397. package/dist/lexical/utils/nodeFormat.d.ts +2 -2
  398. package/dist/lexical/utils/nodeFormat.d.ts.map +1 -1
  399. package/dist/lexical/utils/nodeFormat.js.map +1 -1
  400. package/dist/lexical/utils/rect.d.ts +4 -4
  401. package/dist/lexical/utils/rect.d.ts.map +1 -1
  402. package/dist/lexical/utils/rect.js.map +1 -1
  403. package/dist/lexical/utils/setFloatingElemPosition.d.ts +1 -1
  404. package/dist/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
  405. package/dist/lexical/utils/setFloatingElemPosition.js +1 -1
  406. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  407. package/dist/lexical/utils/url.d.ts +5 -0
  408. package/dist/lexical/utils/url.d.ts.map +1 -1
  409. package/dist/lexical/utils/url.js +25 -5
  410. package/dist/lexical/utils/url.js.map +1 -1
  411. package/dist/populateGraphQL/populate.d.ts +3 -2
  412. package/dist/populateGraphQL/populate.d.ts.map +1 -1
  413. package/dist/populateGraphQL/populate.js +3 -1
  414. package/dist/populateGraphQL/populate.js.map +1 -1
  415. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +1 -1
  416. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  417. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +5 -4
  418. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  419. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  420. package/dist/types.d.ts +20 -7
  421. package/dist/types.d.ts.map +1 -1
  422. package/dist/types.js.map +1 -1
  423. package/dist/utilities/createClientFeature.d.ts +3 -5
  424. package/dist/utilities/createClientFeature.d.ts.map +1 -1
  425. package/dist/utilities/createClientFeature.js +1 -4
  426. package/dist/utilities/createClientFeature.js.map +1 -1
  427. package/dist/utilities/createServerFeature.d.ts +1 -0
  428. package/dist/utilities/createServerFeature.d.ts.map +1 -1
  429. package/dist/utilities/createServerFeature.js +2 -0
  430. package/dist/utilities/createServerFeature.js.map +1 -1
  431. package/dist/utilities/fieldsDrawer/Drawer.d.ts +1 -0
  432. package/dist/utilities/fieldsDrawer/Drawer.d.ts.map +1 -1
  433. package/dist/utilities/fieldsDrawer/Drawer.js +68 -27
  434. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  435. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  436. package/dist/utilities/fieldsDrawer/DrawerContent.js +115 -139
  437. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  438. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts +13 -0
  439. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.d.ts.map +1 -0
  440. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +129 -0
  441. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -0
  442. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts +10 -0
  443. package/dist/utilities/fieldsDrawer/useLexicalDrawer.d.ts.map +1 -0
  444. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +136 -0
  445. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -0
  446. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts +16 -0
  447. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.d.ts.map +1 -0
  448. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +144 -0
  449. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -0
  450. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  451. package/dist/utilities/generateImportMap.js +2 -3
  452. package/dist/utilities/generateImportMap.js.map +1 -1
  453. package/dist/utilities/generateSchemaMap.d.ts.map +1 -1
  454. package/dist/utilities/generateSchemaMap.js +13 -10
  455. package/dist/utilities/generateSchemaMap.js.map +1 -1
  456. package/dist/utilities/initLexicalFeatures.d.ts +18 -0
  457. package/dist/utilities/initLexicalFeatures.d.ts.map +1 -0
  458. package/dist/utilities/initLexicalFeatures.js +95 -0
  459. package/dist/utilities/initLexicalFeatures.js.map +1 -0
  460. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts +1 -1
  461. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts.map +1 -1
  462. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +1 -1
  463. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  464. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts +1 -1
  465. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
  466. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js +5 -1
  467. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  468. package/dist/utilities/useLexicalFeature.d.ts.map +1 -1
  469. package/dist/utilities/useLexicalFeature.js +12 -4
  470. package/dist/utilities/useLexicalFeature.js.map +1 -1
  471. package/dist/validate/index.d.ts.map +1 -1
  472. package/dist/validate/index.js +2 -2
  473. package/dist/validate/index.js.map +1 -1
  474. package/dist/validate/validateNodes.d.ts +2 -2
  475. package/dist/validate/validateNodes.d.ts.map +1 -1
  476. package/dist/validate/validateNodes.js +4 -4
  477. package/dist/validate/validateNodes.js.map +1 -1
  478. package/package.json +51 -49
  479. package/dist/cell/index.d.ts +0 -9
  480. package/dist/cell/index.d.ts.map +0 -1
  481. package/dist/cell/index.js +0 -135
  482. package/dist/cell/index.js.map +0 -1
  483. package/dist/exports/client/Field-63NGLPJB.js +0 -2
  484. package/dist/exports/client/Field-63NGLPJB.js.map +0 -7
  485. package/dist/exports/client/RelationshipComponent-3QWBV4GT.js +0 -2
  486. package/dist/exports/client/RelationshipComponent-3QWBV4GT.js.map +0 -7
  487. package/dist/exports/client/chunk-G5DTIOPI.js +0 -2
  488. package/dist/exports/client/chunk-G5DTIOPI.js.map +0 -7
  489. package/dist/exports/client/chunk-NI6Z4GBD.js +0 -2
  490. package/dist/exports/client/chunk-NI6Z4GBD.js.map +0 -7
  491. package/dist/exports/client/chunk-TO2W7Q2G.js +0 -2
  492. package/dist/exports/client/chunk-TO2W7Q2G.js.map +0 -7
  493. package/dist/exports/client/component-3OFD6Q4Z.js +0 -2
  494. package/dist/exports/client/component-3OFD6Q4Z.js.map +0 -7
  495. package/dist/exports/client/component-LCAAX56T.js +0 -2
  496. package/dist/exports/client/component-LCAAX56T.js.map +0 -7
  497. package/dist/exports/client/component-LLWMZU6K.js +0 -2
  498. package/dist/exports/client/component-LLWMZU6K.js.map +0 -7
  499. package/dist/exports/client/componentInline-72VZAAHP.js +0 -2
  500. package/dist/exports/client/componentInline-72VZAAHP.js.map +0 -7
  501. package/dist/features/createClientComponent.d.ts +0 -7
  502. package/dist/features/createClientComponent.d.ts.map +0 -1
  503. package/dist/features/createClientComponent.js +0 -13
  504. package/dist/features/createClientComponent.js.map +0 -1
  505. package/dist/features/createFeaturePropComponent.d.ts +0 -6
  506. package/dist/features/createFeaturePropComponent.d.ts.map +0 -1
  507. package/dist/features/createFeaturePropComponent.js +0 -19
  508. package/dist/features/createFeaturePropComponent.js.map +0 -1
  509. package/dist/utilities/generateComponentMap.d.ts +0 -6
  510. package/dist/utilities/generateComponentMap.d.ts.map +0 -1
  511. package/dist/utilities/generateComponentMap.js +0 -99
  512. package/dist/utilities/generateComponentMap.js.map +0 -1
@@ -10,7 +10,7 @@ import { $getSelection } from 'lexical';
10
10
  import { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js';
11
11
  import { DropDown, DropDownItem } from './DropDown.js';
12
12
  const ToolbarItem = t0 => {
13
- const $ = _c(19);
13
+ const $ = _c(20);
14
14
  const {
15
15
  active,
16
16
  anchorElem,
@@ -22,10 +22,11 @@ const ToolbarItem = t0 => {
22
22
  i18n
23
23
  } = useTranslation();
24
24
  const {
25
- field: t1
25
+ fieldProps: t1
26
26
  } = useEditorConfigContext();
27
27
  const {
28
- richTextComponentMap
28
+ featureClientSchemaMap,
29
+ schemaPath
29
30
  } = t1;
30
31
  if (item.Component) {
31
32
  let t2;
@@ -51,17 +52,19 @@ const ToolbarItem = t0 => {
51
52
  let title = item.key;
52
53
  if (item.label) {
53
54
  let t2;
54
- if ($[6] !== item || $[7] !== i18n || $[8] !== richTextComponentMap) {
55
+ if ($[6] !== item || $[7] !== featureClientSchemaMap || $[8] !== i18n || $[9] !== schemaPath) {
55
56
  t2 = typeof item.label === "function" ? item.label({
57
+ featureClientSchemaMap,
56
58
  i18n,
57
- richTextComponentMap
59
+ schemaPath
58
60
  }) : item.label;
59
61
  $[6] = item;
60
- $[7] = i18n;
61
- $[8] = richTextComponentMap;
62
- $[9] = t2;
62
+ $[7] = featureClientSchemaMap;
63
+ $[8] = i18n;
64
+ $[9] = schemaPath;
65
+ $[10] = t2;
63
66
  } else {
64
- t2 = $[9];
67
+ t2 = $[10];
65
68
  }
66
69
  title = t2;
67
70
  }
@@ -69,15 +72,15 @@ const ToolbarItem = t0 => {
69
72
  title = title.substring(0, 25) + "...";
70
73
  }
71
74
  let t2;
72
- if ($[10] !== item) {
75
+ if ($[11] !== item?.ChildComponent) {
73
76
  t2 = item?.ChildComponent && _jsx(item.ChildComponent, {});
74
- $[10] = item;
75
- $[11] = t2;
77
+ $[11] = item?.ChildComponent;
78
+ $[12] = t2;
76
79
  } else {
77
- t2 = $[11];
80
+ t2 = $[12];
78
81
  }
79
82
  let t3;
80
- if ($[12] !== title || $[13] !== t2 || $[14] !== active || $[15] !== editor || $[16] !== enabled || $[17] !== item) {
83
+ if ($[13] !== title || $[14] !== t2 || $[15] !== active || $[16] !== editor || $[17] !== enabled || $[18] !== item) {
81
84
  t3 = _jsxs(DropDownItem, {
82
85
  active,
83
86
  editor,
@@ -88,27 +91,26 @@ const ToolbarItem = t0 => {
88
91
  children: title
89
92
  })]
90
93
  }, item.key);
91
- $[12] = title;
92
- $[13] = t2;
93
- $[14] = active;
94
- $[15] = editor;
95
- $[16] = enabled;
96
- $[17] = item;
97
- $[18] = t3;
94
+ $[13] = title;
95
+ $[14] = t2;
96
+ $[15] = active;
97
+ $[16] = editor;
98
+ $[17] = enabled;
99
+ $[18] = item;
100
+ $[19] = t3;
98
101
  } else {
99
- t3 = $[18];
102
+ t3 = $[19];
100
103
  }
101
104
  return t3;
102
105
  };
103
106
  export const ToolbarDropdown = t0 => {
104
- const $ = _c(43);
107
+ const $ = _c(42);
105
108
  const {
106
- Icon,
107
109
  anchorElem,
108
110
  classNames,
109
111
  editor,
110
- groupKey,
111
- items,
112
+ group,
113
+ Icon,
112
114
  itemsContainerClassNames,
113
115
  label,
114
116
  maxActiveItems,
@@ -130,12 +132,20 @@ export const ToolbarDropdown = t0 => {
130
132
  t2 = $[1];
131
133
  }
132
134
  const [enabledItemKeys, setEnabledItemKeys] = React.useState(t2);
135
+ const [enabledGroup, setEnabledGroup] = React.useState(true);
133
136
  const editorConfigContext = useEditorConfigContext();
137
+ const {
138
+ items,
139
+ key: groupKey
140
+ } = group;
134
141
  let t3;
135
- if ($[2] !== editor || $[3] !== items || $[4] !== maxActiveItems || $[5] !== editorConfigContext || $[6] !== onActiveChange) {
142
+ if ($[2] !== editor || $[3] !== items || $[4] !== maxActiveItems || $[5] !== editorConfigContext || $[6] !== group || $[7] !== onActiveChange) {
136
143
  t3 = () => {
137
144
  editor.getEditorState().read(() => {
138
145
  const selection = $getSelection();
146
+ if (!selection) {
147
+ return;
148
+ }
139
149
  const _activeItemKeys = [];
140
150
  const _activeItems = [];
141
151
  const _enabledItemKeys = [];
@@ -164,6 +174,13 @@ export const ToolbarDropdown = t0 => {
164
174
  _enabledItemKeys.push(item.key);
165
175
  }
166
176
  }
177
+ if (group.isEnabled) {
178
+ setEnabledGroup(group.isEnabled({
179
+ editor,
180
+ editorConfigContext,
181
+ selection
182
+ }));
183
+ }
167
184
  setActiveItemKeys(_activeItemKeys);
168
185
  setEnabledItemKeys(_enabledItemKeys);
169
186
  if (onActiveChange) {
@@ -177,132 +194,118 @@ export const ToolbarDropdown = t0 => {
177
194
  $[3] = items;
178
195
  $[4] = maxActiveItems;
179
196
  $[5] = editorConfigContext;
180
- $[6] = onActiveChange;
181
- $[7] = t3;
197
+ $[6] = group;
198
+ $[7] = onActiveChange;
199
+ $[8] = t3;
182
200
  } else {
183
- t3 = $[7];
201
+ t3 = $[8];
184
202
  }
185
203
  const updateStates = t3;
186
204
  let t4;
187
205
  let t5;
188
- if ($[8] !== updateStates) {
206
+ if ($[9] !== updateStates) {
189
207
  t4 = () => {
190
208
  updateStates();
191
209
  };
192
210
  t5 = [updateStates];
193
- $[8] = updateStates;
194
- $[9] = t4;
195
- $[10] = t5;
211
+ $[9] = updateStates;
212
+ $[10] = t4;
213
+ $[11] = t5;
196
214
  } else {
197
- t4 = $[9];
198
- t5 = $[10];
215
+ t4 = $[10];
216
+ t5 = $[11];
199
217
  }
200
218
  useEffect(t4, t5);
201
219
  let t6;
202
220
  let t7;
203
- if ($[11] !== updateStates) {
204
- t6 = () => {
205
- document.addEventListener("mouseup", updateStates);
206
- return () => {
207
- document.removeEventListener("mouseup", updateStates);
208
- };
209
- };
210
- t7 = [updateStates];
211
- $[11] = updateStates;
212
- $[12] = t6;
213
- $[13] = t7;
214
- } else {
215
- t6 = $[12];
216
- t7 = $[13];
217
- }
218
- useEffect(t6, t7);
219
- let t8;
220
- let t9;
221
- if ($[14] !== editor || $[15] !== updateStates) {
222
- t8 = () => mergeRegister(editor.registerUpdateListener(() => {
221
+ if ($[12] !== editor || $[13] !== updateStates) {
222
+ t6 = () => mergeRegister(editor.registerUpdateListener(() => {
223
223
  updateStates();
224
224
  }));
225
- t9 = [editor, updateStates];
226
- $[14] = editor;
227
- $[15] = updateStates;
228
- $[16] = t8;
229
- $[17] = t9;
225
+ t7 = [editor, updateStates];
226
+ $[12] = editor;
227
+ $[13] = updateStates;
228
+ $[14] = t6;
229
+ $[15] = t7;
230
230
  } else {
231
- t8 = $[16];
232
- t9 = $[17];
231
+ t6 = $[14];
232
+ t7 = $[15];
233
233
  }
234
- useEffect(t8, t9);
235
- const t10 = `${groupKey} dropdown`;
236
- const t11 = `${baseClass}-${groupKey}`;
237
- let t12;
238
- if ($[18] !== classNames) {
239
- t12 = classNames || [];
240
- $[18] = classNames;
241
- $[19] = t12;
234
+ useEffect(t6, t7);
235
+ const t8 = `${groupKey} dropdown`;
236
+ const t9 = `${baseClass}-${groupKey}`;
237
+ let t10;
238
+ if ($[16] !== classNames) {
239
+ t10 = classNames || [];
240
+ $[16] = classNames;
241
+ $[17] = t10;
242
242
  } else {
243
- t12 = $[19];
243
+ t10 = $[17];
244
244
  }
245
- let t13;
246
- if ($[20] !== t11 || $[21] !== t12) {
247
- t13 = [baseClass, t11, ...t12].filter(Boolean);
245
+ let t11;
246
+ if ($[18] !== t9 || $[19] !== t10) {
247
+ t11 = [baseClass, t9, ...t10].filter(Boolean);
248
+ $[18] = t9;
249
+ $[19] = t10;
248
250
  $[20] = t11;
249
- $[21] = t12;
250
- $[22] = t13;
251
251
  } else {
252
- t13 = $[22];
252
+ t11 = $[20];
253
253
  }
254
- const t14 = t13.join(" ");
255
- let t15;
256
- if ($[23] !== itemsContainerClassNames) {
257
- t15 = itemsContainerClassNames || [];
258
- $[23] = itemsContainerClassNames;
259
- $[24] = t15;
254
+ const t12 = t11.join(" ");
255
+ const t13 = !enabledGroup;
256
+ let t14;
257
+ if ($[21] !== itemsContainerClassNames) {
258
+ t14 = itemsContainerClassNames || [];
259
+ $[21] = itemsContainerClassNames;
260
+ $[22] = t14;
260
261
  } else {
261
- t15 = $[24];
262
+ t14 = $[22];
262
263
  }
263
- let t16;
264
- if ($[25] !== t15 || $[26] !== items || $[27] !== activeItemKeys || $[28] !== anchorElem || $[29] !== editor || $[30] !== enabledItemKeys || $[31] !== Icon || $[32] !== t10 || $[33] !== t14 || $[34] !== label || $[35] !== groupKey) {
265
- let t17;
266
- if ($[37] !== items || $[38] !== activeItemKeys || $[39] !== anchorElem || $[40] !== editor || $[41] !== enabledItemKeys) {
267
- t17 = items.length && items.map(item_0 => _jsx(ToolbarItem, {
264
+ let t15;
265
+ if ($[23] !== t14 || $[24] !== items || $[25] !== activeItemKeys || $[26] !== anchorElem || $[27] !== editor || $[28] !== enabledItemKeys || $[29] !== t8 || $[30] !== t12 || $[31] !== t13 || $[32] !== Icon || $[33] !== label || $[34] !== groupKey) {
266
+ let t16;
267
+ if ($[36] !== items || $[37] !== activeItemKeys || $[38] !== anchorElem || $[39] !== editor || $[40] !== enabledItemKeys) {
268
+ t16 = items.length && items.map(item_0 => _jsx(ToolbarItem, {
268
269
  active: activeItemKeys.includes(item_0.key),
269
270
  anchorElem,
270
271
  editor,
271
272
  enabled: enabledItemKeys.includes(item_0.key),
272
273
  item: item_0
273
274
  }, item_0.key));
274
- $[37] = items;
275
- $[38] = activeItemKeys;
276
- $[39] = anchorElem;
277
- $[40] = editor;
278
- $[41] = enabledItemKeys;
279
- $[42] = t17;
275
+ $[36] = items;
276
+ $[37] = activeItemKeys;
277
+ $[38] = anchorElem;
278
+ $[39] = editor;
279
+ $[40] = enabledItemKeys;
280
+ $[41] = t16;
280
281
  } else {
281
- t17 = $[42];
282
+ t16 = $[41];
282
283
  }
283
- t16 = _jsx(DropDown, {
284
+ t15 = _jsx(DropDown, {
285
+ buttonAriaLabel: t8,
286
+ buttonClassName: t12,
287
+ disabled: t13,
284
288
  Icon,
285
- buttonAriaLabel: t10,
286
- buttonClassName: t14,
287
- itemsContainerClassNames: [`${baseClass}-items`, ...t15],
289
+ itemsContainerClassNames: [`${baseClass}-items`, ...t14],
288
290
  label,
289
- children: t17
291
+ children: t16
290
292
  }, groupKey);
291
- $[25] = t15;
292
- $[26] = items;
293
- $[27] = activeItemKeys;
294
- $[28] = anchorElem;
295
- $[29] = editor;
296
- $[30] = enabledItemKeys;
297
- $[31] = Icon;
298
- $[32] = t10;
299
- $[33] = t14;
300
- $[34] = label;
301
- $[35] = groupKey;
302
- $[36] = t16;
293
+ $[23] = t14;
294
+ $[24] = items;
295
+ $[25] = activeItemKeys;
296
+ $[26] = anchorElem;
297
+ $[27] = editor;
298
+ $[28] = enabledItemKeys;
299
+ $[29] = t8;
300
+ $[30] = t12;
301
+ $[31] = t13;
302
+ $[32] = Icon;
303
+ $[33] = label;
304
+ $[34] = groupKey;
305
+ $[35] = t15;
303
306
  } else {
304
- t16 = $[36];
307
+ t15 = $[35];
305
308
  }
306
- return t16;
309
+ return t15;
307
310
  };
308
311
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","baseClass","mergeRegister","useTranslation","$getSelection","useEditorConfigContext","DropDown","DropDownItem","ToolbarItem","t0","$","active","anchorElem","editor","enabled","item","i18n","field","t1","richTextComponentMap","Component","t2","_jsx","key","title","label","length","substring","ChildComponent","t3","_jsxs","children","className","ToolbarDropdown","Icon","classNames","groupKey","items","itemsContainerClassNames","maxActiveItems","onActiveChange","Symbol","for","activeItemKeys","setActiveItemKeys","useState","enabledItemKeys","setEnabledItemKeys","editorConfigContext","getEditorState","read","selection","_activeItemKeys","_activeItems","_enabledItemKeys","isActive","push","isEnabled","activeItems","updateStates","t4","t5","t6","t7","document","addEventListener","removeEventListener","t8","t9","registerUpdateListener","t10","t11","t12","t13","filter","Boolean","t14","join","t15","t16","t17","map","item_0","includes","buttonAriaLabel","buttonClassName"],"sources":["../../../../../src/features/toolbars/shared/ToolbarDropdown/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect } from 'react'\n\nconst baseClass = 'toolbar-popup__dropdown'\n\nimport type { LexicalEditor } from 'lexical'\n\nimport { mergeRegister } from '@lexical/utils'\nimport { useTranslation } from '@payloadcms/ui'\nimport { $getSelection } from 'lexical'\n\nimport type { ToolbarGroupItem } from '../../types.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { DropDown, DropDownItem } from './DropDown.js'\nimport './index.scss'\n\nconst ToolbarItem = ({\n active,\n anchorElem,\n editor,\n enabled,\n item,\n}: {\n active?: boolean\n anchorElem: HTMLElement\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n}) => {\n const { i18n } = useTranslation()\n const {\n field: { richTextComponentMap },\n } = useEditorConfigContext()\n\n if (item.Component) {\n return (\n item?.Component && (\n <item.Component\n active={active}\n anchorElem={anchorElem}\n editor={editor}\n enabled={enabled}\n item={item}\n key={item.key}\n />\n )\n )\n }\n\n let title = item.key\n if (item.label) {\n title =\n typeof item.label === 'function' ? item.label({ i18n, richTextComponentMap }) : item.label\n }\n // Crop title to max. 25 characters\n if (title.length > 25) {\n title = title.substring(0, 25) + '...'\n }\n\n return (\n <DropDownItem active={active} editor={editor} enabled={enabled} item={item} key={item.key}>\n {item?.ChildComponent && <item.ChildComponent />}\n <span className=\"text\">{title}</span>\n </DropDownItem>\n )\n}\n\nexport const ToolbarDropdown = ({\n Icon,\n anchorElem,\n classNames,\n editor,\n groupKey,\n items,\n itemsContainerClassNames,\n label,\n maxActiveItems,\n onActiveChange,\n}: {\n Icon?: React.FC\n anchorElem: HTMLElement\n classNames?: string[]\n editor: LexicalEditor\n groupKey: string\n items: ToolbarGroupItem[]\n itemsContainerClassNames?: string[]\n label?: string\n /**\n * Maximum number of active items allowed. This is a performance optimization to prevent\n * unnecessary item active checks when the maximum number of active items is reached.\n */\n maxActiveItems?: number\n onActiveChange?: ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => void\n}) => {\n const [activeItemKeys, setActiveItemKeys] = React.useState<string[]>([])\n const [enabledItemKeys, setEnabledItemKeys] = React.useState<string[]>([])\n const editorConfigContext = useEditorConfigContext()\n\n const updateStates = useCallback(() => {\n editor.getEditorState().read(() => {\n const selection = $getSelection()\n\n const _activeItemKeys: string[] = []\n const _activeItems: ToolbarGroupItem[] = []\n const _enabledItemKeys: string[] = []\n\n for (const item of items) {\n if (item.isActive && (!maxActiveItems || _activeItemKeys.length < maxActiveItems)) {\n const isActive = item.isActive({ editor, editorConfigContext, selection })\n if (isActive) {\n _activeItemKeys.push(item.key)\n _activeItems.push(item)\n }\n }\n if (item.isEnabled) {\n const isEnabled = item.isEnabled({ editor, editorConfigContext, selection })\n if (isEnabled) {\n _enabledItemKeys.push(item.key)\n }\n } else {\n _enabledItemKeys.push(item.key)\n }\n }\n setActiveItemKeys(_activeItemKeys)\n setEnabledItemKeys(_enabledItemKeys)\n\n if (onActiveChange) {\n onActiveChange({ activeItems: _activeItems })\n }\n })\n }, [editor, editorConfigContext, items, maxActiveItems, onActiveChange])\n\n useEffect(() => {\n updateStates()\n }, [updateStates])\n\n useEffect(() => {\n document.addEventListener('mouseup', updateStates)\n return () => {\n document.removeEventListener('mouseup', updateStates)\n }\n }, [updateStates])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(() => {\n updateStates()\n }),\n )\n }, [editor, updateStates])\n\n return (\n <DropDown\n Icon={Icon}\n buttonAriaLabel={`${groupKey} dropdown`}\n buttonClassName={[baseClass, `${baseClass}-${groupKey}`, ...(classNames || [])]\n .filter(Boolean)\n .join(' ')}\n itemsContainerClassNames={[`${baseClass}-items`, ...(itemsContainerClassNames || [])]}\n key={groupKey}\n label={label}\n >\n {items.length &&\n items.map((item) => {\n return (\n <ToolbarItem\n active={activeItemKeys.includes(item.key)}\n anchorElem={anchorElem}\n editor={editor}\n enabled={enabledItemKeys.includes(item.key)}\n item={item}\n key={item.key}\n />\n )\n })}\n </DropDown>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","baseClass","mergeRegister","useTranslation","$getSelection","useEditorConfigContext","DropDown","DropDownItem","ToolbarItem","t0","$","active","anchorElem","editor","enabled","item","i18n","fieldProps","t1","featureClientSchemaMap","schemaPath","Component","t2","_jsx","key","title","label","length","substring","ChildComponent","t3","_jsxs","children","className","ToolbarDropdown","classNames","group","Icon","itemsContainerClassNames","maxActiveItems","onActiveChange","Symbol","for","activeItemKeys","setActiveItemKeys","useState","enabledItemKeys","setEnabledItemKeys","enabledGroup","setEnabledGroup","editorConfigContext","items","groupKey","getEditorState","read","selection","_activeItemKeys","_activeItems","_enabledItemKeys","isActive","push","isEnabled","activeItems","updateStates","t4","t5","t6","t7","registerUpdateListener","t8","t9","t10","t11","filter","Boolean","t12","join","t13","t14","t15","t16","map","item_0","includes","buttonAriaLabel","buttonClassName","disabled"],"sources":["../../../../../src/features/toolbars/shared/ToolbarDropdown/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect } from 'react'\n\nconst baseClass = 'toolbar-popup__dropdown'\n\nimport type { LexicalEditor } from 'lexical'\n\nimport { mergeRegister } from '@lexical/utils'\nimport { useTranslation } from '@payloadcms/ui'\nimport { $getSelection } from 'lexical'\n\nimport type { ToolbarDropdownGroup, ToolbarGroupItem } from '../../types.js'\n\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { DropDown, DropDownItem } from './DropDown.js'\nimport './index.scss'\n\nconst ToolbarItem = ({\n active,\n anchorElem,\n editor,\n enabled,\n item,\n}: {\n active?: boolean\n anchorElem: HTMLElement\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n}) => {\n const { i18n } = useTranslation()\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n\n if (item.Component) {\n return (\n item?.Component && (\n <item.Component\n active={active}\n anchorElem={anchorElem}\n editor={editor}\n enabled={enabled}\n item={item}\n key={item.key}\n />\n )\n )\n }\n\n let title = item.key\n if (item.label) {\n title =\n typeof item.label === 'function'\n ? item.label({ featureClientSchemaMap, i18n, schemaPath })\n : item.label\n }\n // Crop title to max. 25 characters\n if (title.length > 25) {\n title = title.substring(0, 25) + '...'\n }\n\n return (\n <DropDownItem active={active} editor={editor} enabled={enabled} item={item} key={item.key}>\n {item?.ChildComponent && <item.ChildComponent />}\n <span className=\"text\">{title}</span>\n </DropDownItem>\n )\n}\n\nexport const ToolbarDropdown = ({\n anchorElem,\n classNames,\n editor,\n group,\n Icon,\n itemsContainerClassNames,\n label,\n maxActiveItems,\n onActiveChange,\n}: {\n anchorElem: HTMLElement\n classNames?: string[]\n editor: LexicalEditor\n group: ToolbarDropdownGroup\n Icon?: React.FC\n itemsContainerClassNames?: string[]\n label?: string\n /**\n * Maximum number of active items allowed. This is a performance optimization to prevent\n * unnecessary item active checks when the maximum number of active items is reached.\n */\n maxActiveItems?: number\n onActiveChange?: ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => void\n}) => {\n const [activeItemKeys, setActiveItemKeys] = React.useState<string[]>([])\n const [enabledItemKeys, setEnabledItemKeys] = React.useState<string[]>([])\n const [enabledGroup, setEnabledGroup] = React.useState<boolean>(true)\n const editorConfigContext = useEditorConfigContext()\n const { items, key: groupKey } = group\n\n const updateStates = useCallback(() => {\n editor.getEditorState().read(() => {\n const selection = $getSelection()\n if (!selection) {\n return\n }\n\n const _activeItemKeys: string[] = []\n const _activeItems: ToolbarGroupItem[] = []\n const _enabledItemKeys: string[] = []\n\n for (const item of items) {\n if (item.isActive && (!maxActiveItems || _activeItemKeys.length < maxActiveItems)) {\n const isActive = item.isActive({ editor, editorConfigContext, selection })\n if (isActive) {\n _activeItemKeys.push(item.key)\n _activeItems.push(item)\n }\n }\n if (item.isEnabled) {\n const isEnabled = item.isEnabled({ editor, editorConfigContext, selection })\n if (isEnabled) {\n _enabledItemKeys.push(item.key)\n }\n } else {\n _enabledItemKeys.push(item.key)\n }\n }\n if (group.isEnabled) {\n setEnabledGroup(group.isEnabled({ editor, editorConfigContext, selection }))\n }\n setActiveItemKeys(_activeItemKeys)\n setEnabledItemKeys(_enabledItemKeys)\n\n if (onActiveChange) {\n onActiveChange({ activeItems: _activeItems })\n }\n })\n }, [editor, editorConfigContext, group, items, maxActiveItems, onActiveChange])\n\n useEffect(() => {\n updateStates()\n }, [updateStates])\n\n useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(() => {\n updateStates()\n }),\n )\n }, [editor, updateStates])\n\n return (\n <DropDown\n buttonAriaLabel={`${groupKey} dropdown`}\n buttonClassName={[baseClass, `${baseClass}-${groupKey}`, ...(classNames || [])]\n .filter(Boolean)\n .join(' ')}\n disabled={!enabledGroup}\n Icon={Icon}\n itemsContainerClassNames={[`${baseClass}-items`, ...(itemsContainerClassNames || [])]}\n key={groupKey}\n label={label}\n >\n {items.length &&\n items.map((item) => {\n return (\n <ToolbarItem\n active={activeItemKeys.includes(item.key)}\n anchorElem={anchorElem}\n editor={editor}\n enabled={enabledItemKeys.includes(item.key)}\n item={item}\n key={item.key}\n />\n )\n })}\n </DropDown>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,21 @@ import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { BaseSelection, LexicalEditor } from 'lexical';
3
3
  import type React from 'react';
4
4
  import type { EditorConfigContextType } from '../../lexical/config/client/EditorConfigProvider.js';
5
- export type ToolbarGroup = {
5
+ import type { FeatureClientSchemaMap } from '../../types.js';
6
+ export type ToolbarGroup = ToolbarButtonsGroup | ToolbarDropdownGroup;
7
+ export type ToolbarDropdownGroup = {
8
+ /**
9
+ * The dropdown toolbar ChildComponent allows you to pass in a React Component which will be displayed within the dropdown button.
10
+ */
11
+ ChildComponent?: React.FC;
12
+ /**
13
+ * This is optional and controls if the toolbar group is highlighted or not.
14
+ */
15
+ isEnabled?: ({ editor, editorConfigContext, selection, }: {
16
+ editor: LexicalEditor;
17
+ editorConfigContext: EditorConfigContextType;
18
+ selection: BaseSelection;
19
+ }) => boolean;
6
20
  /**
7
21
  * All toolbar items part of this toolbar group need to be added here.
8
22
  */
@@ -16,14 +30,11 @@ export type ToolbarGroup = {
16
30
  */
17
31
  order?: number;
18
32
  /**
19
- * Controls the toolbar group type. Set to `buttons` to create a buttons toolbar group, which displays toolbar items horizontally using only their icons.
20
- */
21
- type: 'buttons';
22
- } | {
23
- /**
24
- * The dropdown toolbar ChildComponent allows you to pass in a React Component which will be displayed within the dropdown button.
33
+ * Controls the toolbar group type. Set to `dropdown` to create a buttons toolbar group, which displays toolbar items vertically using their icons and labels, if the dropdown is open.
25
34
  */
26
- ChildComponent?: React.FC;
35
+ type: 'dropdown';
36
+ };
37
+ export type ToolbarButtonsGroup = {
27
38
  /**
28
39
  * All toolbar items part of this toolbar group need to be added here.
29
40
  */
@@ -37,9 +48,9 @@ export type ToolbarGroup = {
37
48
  */
38
49
  order?: number;
39
50
  /**
40
- * Controls the toolbar group type. Set to `dropdown` to create a buttons toolbar group, which displays toolbar items vertically using their icons and labels, if the dropdown is open.
51
+ * Controls the toolbar group type. Set to `buttons` to create a buttons toolbar group, which displays toolbar items horizontally using only their icons.
41
52
  */
42
- type: 'dropdown';
53
+ type: 'buttons';
43
54
  };
44
55
  export type ToolbarGroupItem = {
45
56
  /** A React component which is rendered within your toolbar item's default button component. Usually, you want this to be an icon. */
@@ -68,8 +79,9 @@ export type ToolbarGroupItem = {
68
79
  key: string;
69
80
  /** The label will be displayed in your toolbar item, if it's within a dropdown group. In order to make use of i18n, this can be a function. */
70
81
  label?: ((args: {
82
+ featureClientSchemaMap: FeatureClientSchemaMap;
71
83
  i18n: I18nClient<{}, string>;
72
- richTextComponentMap: Map<string, React.ReactNode>;
84
+ schemaPath: string;
73
85
  }) => string) | string;
74
86
  /** Each toolbar item needs to have a unique key. */
75
87
  onSelect?: ({ editor, isActive }: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/toolbars/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAA;AAElG,MAAM,MAAM,YAAY,GACpB;IACE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;CAChB,GACD;IACE;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAEL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qIAAqI;IACrI,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACzB,iMAAiM;IACjM,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,UAAU,EAAE,WAAW,CAAA;QACvB,MAAM,EAAE,aAAa,CAAA;QACrB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,IAAI,EAAE,gBAAgB,CAAA;KACvB,CAAC,CAAA;IACF,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,CAAC,EACV,MAAM,EACN,mBAAmB,EACnB,SAAS,GACV,EAAE;QACD,MAAM,EAAE,aAAa,CAAA;QACrB,mBAAmB,EAAE,uBAAuB,CAAA;QAC5C,SAAS,EAAE,aAAa,CAAA;KACzB,KAAK,OAAO,CAAA;IACb,iJAAiJ;IACjJ,SAAS,CAAC,EAAE,CAAC,EACX,MAAM,EACN,mBAAmB,EACnB,SAAS,GACV,EAAE;QACD,MAAM,EAAE,aAAa,CAAA;QACrB,mBAAmB,EAAE,uBAAuB,CAAA;QAC5C,SAAS,EAAE,aAAa,CAAA;KACzB,KAAK,OAAO,CAAA;IACb,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,+IAA+I;IAC/I,KAAK,CAAC,EACF,CAAC,CAAC,IAAI,EAAE;QACN,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC5B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KACnD,KAAK,MAAM,CAAC,GACb,MAAM,CAAA;IACV,oDAAoD;IACpD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACvF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/toolbars/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/features/toolbars/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { BaseSelection, LexicalEditor } from 'lexical'\nimport type React from 'react'\n\nimport type { EditorConfigContextType } from '../../lexical/config/client/EditorConfigProvider.js'\n\nexport type ToolbarGroup =\n | {\n /**\n * All toolbar items part of this toolbar group need to be added here.\n */\n items: Array<ToolbarGroupItem>\n /**\n * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.\n */\n key: string\n /**\n * Determines where the toolbar group will be.\n */\n order?: number\n /**\n * Controls the toolbar group type. Set to `buttons` to create a buttons toolbar group, which displays toolbar items horizontally using only their icons.\n */\n type: 'buttons'\n }\n | {\n /**\n * The dropdown toolbar ChildComponent allows you to pass in a React Component which will be displayed within the dropdown button.\n */\n ChildComponent?: React.FC\n /**\n * All toolbar items part of this toolbar group need to be added here.\n */\n items: Array<ToolbarGroupItem>\n /**\n * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.\n */\n key: string\n /**\n * Determines where the toolbar group will be.\n */\n order?: number\n /**\n * Controls the toolbar group type. Set to `dropdown` to create a buttons toolbar group, which displays toolbar items vertically using their icons and labels, if the dropdown is open.\n */\n type: 'dropdown'\n }\n\nexport type ToolbarGroupItem = {\n /** A React component which is rendered within your toolbar item's default button component. Usually, you want this to be an icon. */\n ChildComponent?: React.FC\n /** A React component which is rendered in place of the toolbar item's default button component, thus completely replacing it. The `ChildComponent` and `onSelect` properties will be ignored. */\n Component?: React.FC<{\n active?: boolean\n anchorElem: HTMLElement\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n }>\n /** This is optional and controls if the toolbar item is highlighted or not. */\n isActive?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /** This is optional and controls if the toolbar item is clickable or not. If `false` is returned here, it will be grayed out and unclickable. */\n isEnabled?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /** Each toolbar item needs to have a unique key. */\n key: string\n /** The label will be displayed in your toolbar item, if it's within a dropdown group. In order to make use of i18n, this can be a function. */\n label?:\n | ((args: {\n i18n: I18nClient<{}, string>\n richTextComponentMap: Map<string, React.ReactNode>\n }) => string)\n | string\n /** Each toolbar item needs to have a unique key. */\n onSelect?: ({ editor, isActive }: { editor: LexicalEditor; isActive: boolean }) => void\n order?: number\n}\n"],"mappings":"AAgDA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/features/toolbars/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { BaseSelection, LexicalEditor } from 'lexical'\nimport type React from 'react'\n\nimport type { EditorConfigContextType } from '../../lexical/config/client/EditorConfigProvider.js'\nimport type { FeatureClientSchemaMap } from '../../types.js'\n\nexport type ToolbarGroup = ToolbarButtonsGroup | ToolbarDropdownGroup\n\nexport type ToolbarDropdownGroup = {\n /**\n * The dropdown toolbar ChildComponent allows you to pass in a React Component which will be displayed within the dropdown button.\n */\n ChildComponent?: React.FC\n /**\n * This is optional and controls if the toolbar group is highlighted or not.\n */\n isEnabled?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /**\n * All toolbar items part of this toolbar group need to be added here.\n */\n items: Array<ToolbarGroupItem>\n /**\n * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.\n */\n key: string\n /**\n * Determines where the toolbar group will be.\n */\n order?: number\n /**\n * Controls the toolbar group type. Set to `dropdown` to create a buttons toolbar group, which displays toolbar items vertically using their icons and labels, if the dropdown is open.\n */\n type: 'dropdown'\n}\n\nexport type ToolbarButtonsGroup = {\n /**\n * All toolbar items part of this toolbar group need to be added here.\n */\n items: Array<ToolbarGroupItem>\n /**\n * Each toolbar group needs to have a unique key. Groups with the same keys will have their items merged together.\n */\n key: string\n /**\n * Determines where the toolbar group will be.\n */\n order?: number\n /**\n * Controls the toolbar group type. Set to `buttons` to create a buttons toolbar group, which displays toolbar items horizontally using only their icons.\n */\n type: 'buttons'\n}\n\nexport type ToolbarGroupItem = {\n /** A React component which is rendered within your toolbar item's default button component. Usually, you want this to be an icon. */\n ChildComponent?: React.FC\n /** A React component which is rendered in place of the toolbar item's default button component, thus completely replacing it. The `ChildComponent` and `onSelect` properties will be ignored. */\n Component?: React.FC<{\n active?: boolean\n anchorElem: HTMLElement\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n }>\n /** This is optional and controls if the toolbar item is highlighted or not. */\n isActive?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /** This is optional and controls if the toolbar item is clickable or not. If `false` is returned here, it will be grayed out and unclickable. */\n isEnabled?: ({\n editor,\n editorConfigContext,\n selection,\n }: {\n editor: LexicalEditor\n editorConfigContext: EditorConfigContextType\n selection: BaseSelection\n }) => boolean\n /** Each toolbar item needs to have a unique key. */\n key: string\n /** The label will be displayed in your toolbar item, if it's within a dropdown group. In order to make use of i18n, this can be a function. */\n label?:\n | ((args: {\n featureClientSchemaMap: FeatureClientSchemaMap\n i18n: I18nClient<{}, string>\n schemaPath: string\n }) => string)\n | string\n /** Each toolbar item needs to have a unique key. */\n onSelect?: ({ editor, isActive }: { editor: LexicalEditor; isActive: boolean }) => void\n order?: number\n}\n"],"mappings":"AA+DA","ignoreList":[]}
@@ -4,7 +4,7 @@ import type React from 'react';
4
4
  import type { ClientEditorConfig } from '../lexical/config/types.js';
5
5
  import type { SlashMenuGroup } from '../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js';
6
6
  import type { ToolbarGroup } from './toolbars/types.js';
7
- export type FeatureProviderProviderClient<UnSanitizedClientFeatureProps = undefined, ClientFeatureProps = UnSanitizedClientFeatureProps> = (props: ClientComponentProps<ClientFeatureProps>) => FeatureProviderClient<ClientFeatureProps>;
7
+ export type FeatureProviderProviderClient<UnSanitizedClientFeatureProps = undefined, ClientFeatureProps = UnSanitizedClientFeatureProps> = (props: BaseClientFeatureProps<ClientFeatureProps>) => FeatureProviderClient<ClientFeatureProps>;
8
8
  /**
9
9
  * No dependencies => Features need to be sorted on the server first, then sent to client in right order
10
10
  */
@@ -12,9 +12,8 @@ export type FeatureProviderClient<UnSanitizedClientFeatureProps = undefined, Cli
12
12
  /**
13
13
  * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to
14
14
  */
15
- clientFeatureProps: ClientComponentProps<UnSanitizedClientFeatureProps>;
15
+ clientFeatureProps: BaseClientFeatureProps<UnSanitizedClientFeatureProps>;
16
16
  feature: ((props: {
17
- clientFunctions: Record<string, any>;
18
17
  /** unSanitizedEditorConfig.features, but mapped */
19
18
  featureProviderMap: ClientFeatureProviderMap;
20
19
  resolvedFeatures: ResolvedClientFeatureMap;
@@ -68,7 +67,7 @@ export type ClientFeature<ClientFeatureProps> = {
68
67
  /**
69
68
  * Return props, to make it easy to retrieve passed in props to this Feature for the client if anyone wants to
70
69
  */
71
- sanitizedClientFeatureProps?: ClientComponentProps<ClientFeatureProps>;
70
+ sanitizedClientFeatureProps?: BaseClientFeatureProps<ClientFeatureProps>;
72
71
  slashMenu?: {
73
72
  /**
74
73
  * Dynamic groups allow you to add different groups depending on the query string (so, the text after the slash).
@@ -102,7 +101,7 @@ export type ClientFeature<ClientFeatureProps> = {
102
101
  groups: ToolbarGroup[];
103
102
  };
104
103
  };
105
- export type ClientComponentProps<ClientFeatureProps> = ClientFeatureProps extends undefined ? {
104
+ export type BaseClientFeatureProps<ClientFeatureProps> = ClientFeatureProps extends undefined ? {
106
105
  featureKey: string;
107
106
  order: number;
108
107
  } : {
@@ -119,34 +118,34 @@ export type ClientFeatureProviderMap = Map<string, FeatureProviderClient<any, an
119
118
  * Plugins are react components which get added to the editor. You can use them to interact with lexical, e.g. to create a command which creates a node, or opens a modal, or some other more "outside" functionality
120
119
  */
121
120
  export type SanitizedPlugin = {
122
- Component: PluginComponent;
123
121
  clientProps: any;
122
+ Component: PluginComponent;
124
123
  key: string;
125
124
  position: 'bottom';
126
125
  } | {
127
- Component: PluginComponent;
128
126
  clientProps: any;
127
+ Component: PluginComponent;
129
128
  key: string;
130
129
  position: 'normal';
131
130
  } | {
132
- Component: PluginComponent;
133
131
  clientProps: any;
132
+ Component: PluginComponent;
134
133
  key: string;
135
134
  position: 'top';
136
135
  } | {
137
- Component: PluginComponentWithAnchor;
138
136
  clientProps: any;
137
+ Component: PluginComponentWithAnchor;
139
138
  desktopOnly?: boolean;
140
139
  key: string;
141
140
  position: 'floatingAnchorElem';
142
141
  } | {
143
- Component: PluginComponent;
144
142
  clientProps: any;
143
+ Component: PluginComponent;
145
144
  key: string;
146
145
  position: 'aboveContainer';
147
146
  } | {
148
- Component: PluginComponent;
149
147
  clientProps: any;
148
+ Component: PluginComponent;
150
149
  key: string;
151
150
  position: 'belowContainer';
152
151
  };
@@ -1 +1 @@
1
- {"version":3,"file":"typesClient.d.ts","sourceRoot":"","sources":["../../src/features/typesClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typesClient.d.ts","sourceRoot":"","sources":["../../src/features/typesClient.ts"],"names":[],"mappings":"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"}