@payloadcms/richtext-lexical 3.0.0-alpha.67 → 3.0.0-alpha.69

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 (342) hide show
  1. package/dist/exports/components.d.ts +3 -2
  2. package/dist/exports/components.d.ts.map +1 -1
  3. package/dist/exports/components.js +3 -2
  4. package/dist/exports/components.js.map +1 -1
  5. package/dist/field/features/align/feature.client.d.ts.map +1 -1
  6. package/dist/field/features/align/feature.client.js +127 -53
  7. package/dist/field/features/align/feature.client.js.map +1 -1
  8. package/dist/field/features/align/toolbarAlignGroup.d.ts +3 -0
  9. package/dist/field/features/align/toolbarAlignGroup.d.ts.map +1 -0
  10. package/dist/field/features/align/toolbarAlignGroup.js +12 -0
  11. package/dist/field/features/align/toolbarAlignGroup.js.map +1 -0
  12. package/dist/field/features/blockquote/feature.client.d.ts.map +1 -1
  13. package/dist/field/features/blockquote/feature.client.js +50 -34
  14. package/dist/field/features/blockquote/feature.client.js.map +1 -1
  15. package/dist/field/features/blocks/component/index.d.ts.map +1 -1
  16. package/dist/field/features/blocks/component/index.js +1 -1
  17. package/dist/field/features/blocks/component/index.js.map +1 -1
  18. package/dist/field/features/blocks/feature.client.d.ts.map +1 -1
  19. package/dist/field/features/blocks/feature.client.js +56 -27
  20. package/dist/field/features/blocks/feature.client.js.map +1 -1
  21. package/dist/field/features/blocks/populationPromise.d.ts.map +1 -1
  22. package/dist/field/features/blocks/populationPromise.js +2 -1
  23. package/dist/field/features/blocks/populationPromise.js.map +1 -1
  24. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.d.ts.map +1 -1
  25. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.js.map +1 -1
  26. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.d.ts.map +1 -1
  27. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.js +1 -1
  28. package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.js.map +1 -1
  29. package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.d.ts.map +1 -1
  30. package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.js.map +1 -1
  31. package/dist/field/features/debug/{treeview → treeView}/feature.client.d.ts.map +1 -1
  32. package/dist/field/features/debug/{treeview → treeView}/feature.client.js.map +1 -1
  33. package/dist/field/features/debug/{treeview → treeView}/feature.server.d.ts.map +1 -1
  34. package/dist/field/features/debug/{treeview → treeView}/feature.server.js +1 -1
  35. package/dist/field/features/debug/{treeview → treeView}/feature.server.js.map +1 -1
  36. package/dist/field/features/debug/{treeview → treeView}/plugin/index.d.ts.map +1 -1
  37. package/dist/field/features/debug/{treeview → treeView}/plugin/index.js.map +1 -1
  38. package/dist/field/features/format/bold/feature.client.d.ts.map +1 -1
  39. package/dist/field/features/format/bold/feature.client.js +25 -21
  40. package/dist/field/features/format/bold/feature.client.js.map +1 -1
  41. package/dist/field/features/format/inlineCode/feature.client.d.ts.map +1 -0
  42. package/dist/field/features/format/inlineCode/feature.client.js +46 -0
  43. package/dist/field/features/format/inlineCode/feature.client.js.map +1 -0
  44. package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.d.ts.map +1 -1
  45. package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.js +1 -1
  46. package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.js.map +1 -1
  47. package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.d.ts.map +1 -1
  48. package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.js.map +1 -1
  49. package/dist/field/features/format/italic/feature.client.d.ts.map +1 -1
  50. package/dist/field/features/format/italic/feature.client.js +26 -22
  51. package/dist/field/features/format/italic/feature.client.js.map +1 -1
  52. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts +3 -0
  53. package/dist/field/features/format/shared/toolbarFormatGroup.d.ts.map +1 -0
  54. package/dist/field/features/format/shared/toolbarFormatGroup.js +10 -0
  55. package/dist/field/features/format/shared/toolbarFormatGroup.js.map +1 -0
  56. package/dist/field/features/format/strikethrough/feature.client.d.ts.map +1 -1
  57. package/dist/field/features/format/strikethrough/feature.client.js +26 -22
  58. package/dist/field/features/format/strikethrough/feature.client.js.map +1 -1
  59. package/dist/field/features/format/subscript/feature.client.d.ts.map +1 -1
  60. package/dist/field/features/format/subscript/feature.client.js +24 -20
  61. package/dist/field/features/format/subscript/feature.client.js.map +1 -1
  62. package/dist/field/features/format/superscript/feature.client.d.ts.map +1 -1
  63. package/dist/field/features/format/superscript/feature.client.js +24 -20
  64. package/dist/field/features/format/superscript/feature.client.js.map +1 -1
  65. package/dist/field/features/format/underline/feature.client.d.ts.map +1 -1
  66. package/dist/field/features/format/underline/feature.client.js +24 -20
  67. package/dist/field/features/format/underline/feature.client.js.map +1 -1
  68. package/dist/field/features/heading/feature.client.d.ts.map +1 -1
  69. package/dist/field/features/heading/feature.client.js +69 -49
  70. package/dist/field/features/heading/feature.client.js.map +1 -1
  71. package/dist/field/features/{horizontalrule → horizontalRule}/component/index.d.ts.map +1 -1
  72. package/dist/field/features/{horizontalrule → horizontalRule}/component/index.js.map +1 -1
  73. package/dist/field/features/horizontalRule/feature.client.d.ts.map +1 -0
  74. package/dist/field/features/horizontalRule/feature.client.js +76 -0
  75. package/dist/field/features/horizontalRule/feature.client.js.map +1 -0
  76. package/dist/field/features/{horizontalrule → horizontalRule}/feature.server.d.ts.map +1 -1
  77. package/dist/field/features/{horizontalrule → horizontalRule}/feature.server.js +1 -1
  78. package/dist/field/features/{horizontalrule → horizontalRule}/feature.server.js.map +1 -1
  79. package/dist/field/features/{horizontalrule → horizontalRule}/markdownTransformer.d.ts.map +1 -1
  80. package/dist/field/features/{horizontalrule → horizontalRule}/markdownTransformer.js.map +1 -1
  81. package/dist/field/features/{horizontalrule → horizontalRule}/nodes/HorizontalRuleNode.d.ts.map +1 -1
  82. package/dist/field/features/{horizontalrule → horizontalRule}/nodes/HorizontalRuleNode.js.map +1 -1
  83. package/dist/field/features/{horizontalrule → horizontalRule}/plugin/index.d.ts.map +1 -1
  84. package/dist/field/features/{horizontalrule → horizontalRule}/plugin/index.js.map +1 -1
  85. package/dist/field/features/indent/feature.client.d.ts.map +1 -1
  86. package/dist/field/features/indent/feature.client.js +42 -40
  87. package/dist/field/features/indent/feature.client.js.map +1 -1
  88. package/dist/field/features/indent/toolbarIndentGroup.d.ts +3 -0
  89. package/dist/field/features/indent/toolbarIndentGroup.d.ts.map +1 -0
  90. package/dist/field/features/indent/toolbarIndentGroup.js +10 -0
  91. package/dist/field/features/indent/toolbarIndentGroup.js.map +1 -0
  92. package/dist/field/features/link/feature.client.d.ts.map +1 -1
  93. package/dist/field/features/link/feature.client.js +47 -43
  94. package/dist/field/features/link/feature.client.js.map +1 -1
  95. package/dist/field/features/link/populationPromise.d.ts.map +1 -1
  96. package/dist/field/features/link/populationPromise.js +2 -1
  97. package/dist/field/features/link/populationPromise.js.map +1 -1
  98. package/dist/field/features/lists/checklist/feature.client.d.ts +1 -1
  99. package/dist/field/features/lists/checklist/feature.client.d.ts.map +1 -1
  100. package/dist/field/features/lists/checklist/feature.client.js +56 -31
  101. package/dist/field/features/lists/checklist/feature.client.js.map +1 -1
  102. package/dist/field/features/lists/checklist/feature.server.d.ts +1 -1
  103. package/dist/field/features/lists/checklist/feature.server.js +4 -4
  104. package/dist/field/features/lists/checklist/feature.server.js.map +1 -1
  105. package/dist/field/features/lists/checklist/markdownTransformers.js +1 -1
  106. package/dist/field/features/lists/checklist/markdownTransformers.js.map +1 -1
  107. package/dist/field/features/lists/orderedList/feature.client.d.ts.map +1 -0
  108. package/dist/field/features/lists/orderedList/feature.client.js +96 -0
  109. package/dist/field/features/lists/orderedList/feature.client.js.map +1 -0
  110. package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.d.ts.map +1 -1
  111. package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.js +1 -1
  112. package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.js.map +1 -1
  113. package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.d.ts.map +1 -1
  114. package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.js +1 -1
  115. package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.js.map +1 -1
  116. package/dist/field/features/lists/{common → shared}/markdown.d.ts.map +1 -1
  117. package/dist/field/features/lists/{common → shared}/markdown.js.map +1 -1
  118. package/dist/field/features/lists/unorderedList/feature.client.d.ts.map +1 -0
  119. package/dist/field/features/lists/unorderedList/feature.client.js +96 -0
  120. package/dist/field/features/lists/unorderedList/feature.client.js.map +1 -0
  121. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.d.ts.map +1 -1
  122. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.js +1 -1
  123. package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.js.map +1 -1
  124. package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.d.ts.map +1 -1
  125. package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.js +1 -1
  126. package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.js.map +1 -1
  127. package/dist/field/features/paragraph/feature.client.d.ts.map +1 -1
  128. package/dist/field/features/paragraph/feature.client.js +44 -30
  129. package/dist/field/features/paragraph/feature.client.js.map +1 -1
  130. package/dist/field/features/relationship/feature.client.d.ts.map +1 -1
  131. package/dist/field/features/relationship/feature.client.js +36 -10
  132. package/dist/field/features/relationship/feature.client.js.map +1 -1
  133. package/dist/field/features/relationship/populationPromise.d.ts.map +1 -1
  134. package/dist/field/features/relationship/populationPromise.js +2 -1
  135. package/dist/field/features/relationship/populationPromise.js.map +1 -1
  136. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts +3 -0
  137. package/dist/field/features/shared/toolbar/addDropdownGroup.d.ts.map +1 -0
  138. package/dist/field/features/shared/toolbar/addDropdownGroup.js +12 -0
  139. package/dist/field/features/shared/toolbar/addDropdownGroup.js.map +1 -0
  140. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts +3 -0
  141. package/dist/field/features/shared/toolbar/featureButtonsGroup.d.ts.map +1 -0
  142. package/dist/field/features/shared/toolbar/featureButtonsGroup.js +10 -0
  143. package/dist/field/features/shared/toolbar/featureButtonsGroup.js.map +1 -0
  144. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts +3 -0
  145. package/dist/field/features/shared/toolbar/textDropdownGroup.d.ts.map +1 -0
  146. package/dist/field/features/shared/toolbar/textDropdownGroup.js +12 -0
  147. package/dist/field/features/shared/toolbar/textDropdownGroup.js.map +1 -0
  148. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts +6 -0
  149. package/dist/field/features/toolbars/fixed/Toolbar/index.d.ts.map +1 -0
  150. package/dist/field/features/toolbars/fixed/Toolbar/index.js +152 -0
  151. package/dist/field/features/toolbars/fixed/Toolbar/index.js.map +1 -0
  152. package/dist/field/features/toolbars/fixed/Toolbar/index.scss +81 -0
  153. package/dist/field/features/toolbars/fixed/feature.client.d.ts +3 -0
  154. package/dist/field/features/toolbars/fixed/feature.client.d.ts.map +1 -0
  155. package/dist/field/features/toolbars/fixed/feature.client.js +20 -0
  156. package/dist/field/features/toolbars/fixed/feature.client.js.map +1 -0
  157. package/dist/field/features/toolbars/fixed/feature.server.d.ts +3 -0
  158. package/dist/field/features/toolbars/fixed/feature.server.d.ts.map +1 -0
  159. package/dist/field/features/toolbars/fixed/feature.server.js +16 -0
  160. package/dist/field/features/toolbars/fixed/feature.server.js.map +1 -0
  161. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts +6 -0
  162. package/dist/field/features/toolbars/inline/Toolbar/index.d.ts.map +1 -0
  163. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/inline/Toolbar}/index.js +64 -38
  164. package/dist/field/features/toolbars/inline/Toolbar/index.js.map +1 -0
  165. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/inline/Toolbar}/index.scss +7 -11
  166. package/dist/field/features/toolbars/inline/feature.client.d.ts +3 -0
  167. package/dist/field/features/toolbars/inline/feature.client.d.ts.map +1 -0
  168. package/dist/field/features/toolbars/inline/feature.client.js +20 -0
  169. package/dist/field/features/toolbars/inline/feature.client.js.map +1 -0
  170. package/dist/field/features/toolbars/inline/feature.server.d.ts +3 -0
  171. package/dist/field/features/toolbars/inline/feature.server.d.ts.map +1 -0
  172. package/dist/field/features/toolbars/inline/feature.server.js +16 -0
  173. package/dist/field/features/toolbars/inline/feature.server.js.map +1 -0
  174. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts +10 -0
  175. package/dist/field/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -0
  176. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarButton/index.js +16 -12
  177. package/dist/field/features/toolbars/shared/ToolbarButton/index.js.map +1 -0
  178. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarButton/index.scss +3 -1
  179. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts +23 -0
  180. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.d.ts.map +1 -0
  181. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarDropdown/DropDown.js +17 -67
  182. package/dist/field/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -0
  183. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts +23 -0
  184. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -0
  185. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js +139 -0
  186. package/dist/field/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -0
  187. package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars/shared}/ToolbarDropdown/index.scss +25 -13
  188. package/dist/field/features/toolbars/types.d.ts +48 -0
  189. package/dist/field/features/toolbars/types.d.ts.map +1 -0
  190. package/dist/field/features/toolbars/types.js.map +1 -0
  191. package/dist/field/features/types.d.ts +51 -12
  192. package/dist/field/features/types.d.ts.map +1 -1
  193. package/dist/field/features/types.js.map +1 -1
  194. package/dist/field/features/upload/feature.client.d.ts.map +1 -1
  195. package/dist/field/features/upload/feature.client.js +35 -10
  196. package/dist/field/features/upload/feature.client.js.map +1 -1
  197. package/dist/field/features/upload/populationPromise.d.ts.map +1 -1
  198. package/dist/field/features/upload/populationPromise.js +3 -1
  199. package/dist/field/features/upload/populationPromise.js.map +1 -1
  200. package/dist/field/lexical/EditorFocusProvider.d.ts +20 -0
  201. package/dist/field/lexical/EditorFocusProvider.d.ts.map +1 -0
  202. package/dist/field/lexical/EditorFocusProvider.js +78 -0
  203. package/dist/field/lexical/EditorFocusProvider.js.map +1 -0
  204. package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
  205. package/dist/field/lexical/LexicalEditor.js +20 -4
  206. package/dist/field/lexical/LexicalEditor.js.map +1 -1
  207. package/dist/field/lexical/LexicalEditor.scss +3 -19
  208. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  209. package/dist/field/lexical/LexicalProvider.js +3 -2
  210. package/dist/field/lexical/LexicalProvider.js.map +1 -1
  211. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts +2 -3
  212. package/dist/field/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  213. package/dist/field/lexical/config/client/EditorConfigProvider.js.map +1 -1
  214. package/dist/field/lexical/config/client/sanitize.d.ts.map +1 -1
  215. package/dist/field/lexical/config/client/sanitize.js +80 -32
  216. package/dist/field/lexical/config/client/sanitize.js.map +1 -1
  217. package/dist/field/lexical/config/server/default.d.ts.map +1 -1
  218. package/dist/field/lexical/config/server/default.js +9 -7
  219. package/dist/field/lexical/config/server/default.js.map +1 -1
  220. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +9 -9
  221. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  222. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +71 -71
  223. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  224. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +4 -4
  225. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  226. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +3 -3
  227. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  228. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +17 -25
  229. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  230. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -37
  231. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  232. package/dist/field/lexical/plugins/SlashMenu/index.d.ts +2 -2
  233. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  234. package/dist/field/lexical/plugins/SlashMenu/index.js +71 -65
  235. package/dist/field/lexical/plugins/SlashMenu/index.js.map +1 -1
  236. package/dist/field/lexical/theme/EditorTheme.scss +2 -6
  237. package/dist/field/lexical/ui/icons/Add/index.d.ts +3 -0
  238. package/dist/field/lexical/ui/icons/Add/index.d.ts.map +1 -0
  239. package/dist/field/lexical/ui/icons/Add/index.js +16 -0
  240. package/dist/field/lexical/ui/icons/Add/index.js.map +1 -0
  241. package/dist/index.d.ts +15 -11
  242. package/dist/index.d.ts.map +1 -1
  243. package/dist/index.js +16 -12
  244. package/dist/index.js.map +1 -1
  245. package/dist/populate/populate.d.ts +2 -1
  246. package/dist/populate/populate.d.ts.map +1 -1
  247. package/dist/populate/populate.js +13 -11
  248. package/dist/populate/populate.js.map +1 -1
  249. package/dist/populate/populateLexicalPopulationPromises.d.ts +1 -1
  250. package/dist/populate/populateLexicalPopulationPromises.d.ts.map +1 -1
  251. package/dist/populate/populateLexicalPopulationPromises.js +2 -1
  252. package/dist/populate/populateLexicalPopulationPromises.js.map +1 -1
  253. package/dist/populate/recurseNestedFields.d.ts +2 -1
  254. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  255. package/dist/populate/recurseNestedFields.js +2 -1
  256. package/dist/populate/recurseNestedFields.js.map +1 -1
  257. package/package.json +10 -10
  258. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts +0 -3
  259. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts.map +0 -1
  260. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +0 -12
  261. package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js.map +0 -1
  262. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts +0 -3
  263. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts.map +0 -1
  264. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +0 -10
  265. package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js.map +0 -1
  266. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts +0 -3
  267. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts.map +0 -1
  268. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +0 -12
  269. package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js.map +0 -1
  270. package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts +0 -3
  271. package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts.map +0 -1
  272. package/dist/field/features/format/common/floatingSelectToolbarSection.js +0 -10
  273. package/dist/field/features/format/common/floatingSelectToolbarSection.js.map +0 -1
  274. package/dist/field/features/format/inlinecode/feature.client.d.ts.map +0 -1
  275. package/dist/field/features/format/inlinecode/feature.client.js +0 -42
  276. package/dist/field/features/format/inlinecode/feature.client.js.map +0 -1
  277. package/dist/field/features/horizontalrule/feature.client.d.ts.map +0 -1
  278. package/dist/field/features/horizontalrule/feature.client.js +0 -53
  279. package/dist/field/features/horizontalrule/feature.client.js.map +0 -1
  280. package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts +0 -3
  281. package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts.map +0 -1
  282. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +0 -10
  283. package/dist/field/features/indent/floatingSelectToolbarIndentSection.js.map +0 -1
  284. package/dist/field/features/indent/index.scss +0 -4
  285. package/dist/field/features/lists/orderedlist/feature.client.d.ts.map +0 -1
  286. package/dist/field/features/lists/orderedlist/feature.client.js +0 -71
  287. package/dist/field/features/lists/orderedlist/feature.client.js.map +0 -1
  288. package/dist/field/features/lists/unorderedlist/feature.client.d.ts.map +0 -1
  289. package/dist/field/features/lists/unorderedlist/feature.client.js +0 -71
  290. package/dist/field/features/lists/unorderedlist/feature.client.js.map +0 -1
  291. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts +0 -8
  292. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +0 -1
  293. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js.map +0 -1
  294. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts +0 -17
  295. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +0 -1
  296. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js.map +0 -1
  297. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts +0 -18
  298. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +0 -1
  299. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +0 -42
  300. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js.map +0 -1
  301. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts +0 -6
  302. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +0 -1
  303. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js.map +0 -1
  304. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts +0 -40
  305. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts.map +0 -1
  306. package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js.map +0 -1
  307. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.d.ts +0 -0
  308. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.client.js +0 -0
  309. /package/dist/field/features/debug/{testrecorder → testRecorder}/feature.server.d.ts +0 -0
  310. /package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.d.ts +0 -0
  311. /package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.js +0 -0
  312. /package/dist/field/features/debug/{testrecorder → testRecorder}/plugin/index.scss +0 -0
  313. /package/dist/field/features/debug/{treeview → treeView}/feature.client.d.ts +0 -0
  314. /package/dist/field/features/debug/{treeview → treeView}/feature.client.js +0 -0
  315. /package/dist/field/features/debug/{treeview → treeView}/feature.server.d.ts +0 -0
  316. /package/dist/field/features/debug/{treeview → treeView}/plugin/index.d.ts +0 -0
  317. /package/dist/field/features/debug/{treeview → treeView}/plugin/index.js +0 -0
  318. /package/dist/field/features/debug/{treeview → treeView}/plugin/index.scss +0 -0
  319. /package/dist/field/features/format/{inlinecode → inlineCode}/feature.client.d.ts +0 -0
  320. /package/dist/field/features/format/{inlinecode → inlineCode}/feature.server.d.ts +0 -0
  321. /package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.d.ts +0 -0
  322. /package/dist/field/features/format/{inlinecode → inlineCode}/markdownTransformers.js +0 -0
  323. /package/dist/field/features/{horizontalrule → horizontalRule}/component/index.d.ts +0 -0
  324. /package/dist/field/features/{horizontalrule → horizontalRule}/component/index.js +0 -0
  325. /package/dist/field/features/{horizontalrule → horizontalRule}/feature.client.d.ts +0 -0
  326. /package/dist/field/features/{horizontalrule → horizontalRule}/feature.server.d.ts +0 -0
  327. /package/dist/field/features/{horizontalrule → horizontalRule}/markdownTransformer.d.ts +0 -0
  328. /package/dist/field/features/{horizontalrule → horizontalRule}/markdownTransformer.js +0 -0
  329. /package/dist/field/features/{horizontalrule → horizontalRule}/nodes/HorizontalRuleNode.d.ts +0 -0
  330. /package/dist/field/features/{horizontalrule → horizontalRule}/nodes/HorizontalRuleNode.js +0 -0
  331. /package/dist/field/features/{horizontalrule → horizontalRule}/plugin/index.d.ts +0 -0
  332. /package/dist/field/features/{horizontalrule → horizontalRule}/plugin/index.js +0 -0
  333. /package/dist/field/features/{horizontalrule → horizontalRule}/plugin/index.scss +0 -0
  334. /package/dist/field/features/lists/{orderedlist → orderedList}/feature.client.d.ts +0 -0
  335. /package/dist/field/features/lists/{orderedlist → orderedList}/feature.server.d.ts +0 -0
  336. /package/dist/field/features/lists/{orderedlist → orderedList}/markdownTransformer.d.ts +0 -0
  337. /package/dist/field/features/lists/{common → shared}/markdown.d.ts +0 -0
  338. /package/dist/field/features/lists/{common → shared}/markdown.js +0 -0
  339. /package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.client.d.ts +0 -0
  340. /package/dist/field/features/lists/{unorderedlist → unorderedList}/feature.server.d.ts +0 -0
  341. /package/dist/field/features/lists/{unorderedlist → unorderedList}/markdownTransformer.d.ts +0 -0
  342. /package/dist/field/{lexical/plugins/FloatingSelectToolbar → features/toolbars}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/features/lists/unorderedlist/feature.server.ts"],"sourcesContent":["import { ListItemNode, ListNode } from '@lexical/list'\n\nimport type { FeatureProviderProviderServer } from '../../types.js'\n\nimport { createNode } from '../../typeUtilities.js'\nimport { ListHTMLConverter, ListItemHTMLConverter } from '../htmlConverter.js'\nimport { UnorderedListFeatureClientComponent } from './feature.client.js'\nimport { UNORDERED_LIST } from './markdownTransformer.js'\n\nexport const UnorderedListFeature: FeatureProviderProviderServer<undefined, undefined> = (\n props,\n) => {\n return {\n feature: () => {\n return {\n ClientComponent: UnorderedListFeatureClientComponent,\n markdownTransformers: [UNORDERED_LIST],\n nodes: [\n createNode({\n converters: {\n html: ListHTMLConverter,\n },\n node: ListNode,\n }),\n createNode({\n converters: {\n html: ListItemHTMLConverter,\n },\n node: ListItemNode,\n }),\n ],\n serverFeatureProps: props,\n }\n },\n key: 'unorderedlist',\n serverFeatureProps: props,\n }\n}\n"],"names":["ListItemNode","ListNode","createNode","ListHTMLConverter","ListItemHTMLConverter","UnorderedListFeatureClientComponent","UNORDERED_LIST","UnorderedListFeature","props","feature","ClientComponent","markdownTransformers","nodes","converters","html","node","serverFeatureProps","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,QAAQ,gBAAe;AAItD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,iBAAiB,EAAEC,qBAAqB,QAAQ,sBAAqB;AAC9E,SAASC,mCAAmC,QAAQ,sBAAqB;AACzE,SAASC,cAAc,QAAQ,2BAA0B;AAEzD,OAAO,MAAMC,uBAA4E,CACvFC;IAEA,OAAO;QACLC,SAAS;YACP,OAAO;gBACLC,iBAAiBL;gBACjBM,sBAAsB;oBAACL;iBAAe;gBACtCM,OAAO;oBACLV,WAAW;wBACTW,YAAY;4BACVC,MAAMX;wBACR;wBACAY,MAAMd;oBACR;oBACAC,WAAW;wBACTW,YAAY;4BACVC,MAAMV;wBACR;wBACAW,MAAMf;oBACR;iBACD;gBACDgB,oBAAoBR;YACtB;QACF;QACAS,KAAK;QACLD,oBAAoBR;IACtB;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/field/features/lists/unorderedList/feature.server.ts"],"sourcesContent":["import { ListItemNode, ListNode } from '@lexical/list'\n\nimport type { FeatureProviderProviderServer } from '../../types.js'\n\nimport { createNode } from '../../typeUtilities.js'\nimport { ListHTMLConverter, ListItemHTMLConverter } from '../htmlConverter.js'\nimport { UnorderedListFeatureClientComponent } from './feature.client.js'\nimport { UNORDERED_LIST } from './markdownTransformer.js'\n\nexport const UnorderedListFeature: FeatureProviderProviderServer<undefined, undefined> = (\n props,\n) => {\n return {\n feature: () => {\n return {\n ClientComponent: UnorderedListFeatureClientComponent,\n markdownTransformers: [UNORDERED_LIST],\n nodes: [\n createNode({\n converters: {\n html: ListHTMLConverter,\n },\n node: ListNode,\n }),\n createNode({\n converters: {\n html: ListItemHTMLConverter,\n },\n node: ListItemNode,\n }),\n ],\n serverFeatureProps: props,\n }\n },\n key: 'unorderedList',\n serverFeatureProps: props,\n }\n}\n"],"names":["ListItemNode","ListNode","createNode","ListHTMLConverter","ListItemHTMLConverter","UnorderedListFeatureClientComponent","UNORDERED_LIST","UnorderedListFeature","props","feature","ClientComponent","markdownTransformers","nodes","converters","html","node","serverFeatureProps","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,EAAEC,QAAQ,QAAQ,gBAAe;AAItD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,iBAAiB,EAAEC,qBAAqB,QAAQ,sBAAqB;AAC9E,SAASC,mCAAmC,QAAQ,sBAAqB;AACzE,SAASC,cAAc,QAAQ,2BAA0B;AAEzD,OAAO,MAAMC,uBAA4E,CACvFC;IAEA,OAAO;QACLC,SAAS;YACP,OAAO;gBACLC,iBAAiBL;gBACjBM,sBAAsB;oBAACL;iBAAe;gBACtCM,OAAO;oBACLV,WAAW;wBACTW,YAAY;4BACVC,MAAMX;wBACR;wBACAY,MAAMd;oBACR;oBACAC,WAAW;wBACTW,YAAY;4BACVC,MAAMV;wBACR;wBACAW,MAAMf;oBACR;iBACD;gBACDgB,oBAAoBR;YACtB;QACF;QACAS,KAAK;QACLD,oBAAoBR;IACtB;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/lists/unorderedlist/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAM3D,eAAO,MAAM,cAAc,EAAE,kBAQ5B,CAAA"}
1
+ {"version":3,"file":"markdownTransformer.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/lists/unorderedList/markdownTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAM3D,eAAO,MAAM,cAAc,EAAE,kBAQ5B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { $isListNode, ListItemNode, ListNode } from '@lexical/list';
2
- import { listExport, listReplace } from '../common/markdown.js';
2
+ import { listExport, listReplace } from '../shared/markdown.js';
3
3
  export const UNORDERED_LIST = {
4
4
  type: 'element',
5
5
  dependencies: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/features/lists/unorderedlist/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '@lexical/markdown'\n\nimport { $isListNode, ListItemNode, ListNode } from '@lexical/list'\n\nimport { listExport, listReplace } from '../common/markdown.js'\n\nexport const UNORDERED_LIST: ElementTransformer = {\n type: 'element',\n dependencies: [ListNode, ListItemNode],\n export: (node, exportChildren) => {\n return $isListNode(node) ? listExport(node, exportChildren, 0) : null\n },\n regExp: /^(\\s*)[-*+]\\s/,\n replace: listReplace('bullet'),\n}\n"],"names":["$isListNode","ListItemNode","ListNode","listExport","listReplace","UNORDERED_LIST","type","dependencies","export","node","exportChildren","regExp","replace"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,YAAY,EAAEC,QAAQ,QAAQ,gBAAe;AAEnE,SAASC,UAAU,EAAEC,WAAW,QAAQ,wBAAuB;AAE/D,OAAO,MAAMC,iBAAqC;IAChDC,MAAM;IACNC,cAAc;QAACL;QAAUD;KAAa;IACtCO,QAAQ,CAACC,MAAMC;QACb,OAAOV,YAAYS,QAAQN,WAAWM,MAAMC,gBAAgB,KAAK;IACnE;IACAC,QAAQ;IACRC,SAASR,YAAY;AACvB,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/field/features/lists/unorderedList/markdownTransformer.ts"],"sourcesContent":["import type { ElementTransformer } from '@lexical/markdown'\n\nimport { $isListNode, ListItemNode, ListNode } from '@lexical/list'\n\nimport { listExport, listReplace } from '../shared/markdown.js'\n\nexport const UNORDERED_LIST: ElementTransformer = {\n type: 'element',\n dependencies: [ListNode, ListItemNode],\n export: (node, exportChildren) => {\n return $isListNode(node) ? listExport(node, exportChildren, 0) : null\n },\n regExp: /^(\\s*)[-*+]\\s/,\n replace: listReplace('bullet'),\n}\n"],"names":["$isListNode","ListItemNode","ListNode","listExport","listReplace","UNORDERED_LIST","type","dependencies","export","node","exportChildren","regExp","replace"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,YAAY,EAAEC,QAAQ,QAAQ,gBAAe;AAEnE,SAASC,UAAU,EAAEC,WAAW,QAAQ,wBAAuB;AAE/D,OAAO,MAAMC,iBAAqC;IAChDC,MAAM;IACNC,cAAc;QAACL;QAAUD;KAAa;IACtCO,QAAQ,CAACC,MAAMC;QACb,OAAOV,YAAYS,QAAQN,WAAWM,MAAMC,gBAAgB,KAAK;IACnE;IACAC,QAAQ;IACRC,SAASR,YAAY;AACvB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../../src/field/features/paragraph/feature.client.tsx"],"names":[],"mappings":";AA6DA,eAAO,MAAM,+BAA+B,+BAAgD,CAAA"}
1
+ {"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../../src/field/features/paragraph/feature.client.tsx"],"names":[],"mappings":";AA6EA,eAAO,MAAM,+BAA+B,+BAAgD,CAAA"}
@@ -1,59 +1,73 @@
1
1
  'use client';
2
2
  import { $setBlocksType } from '@lexical/selection';
3
- import { $createParagraphNode, $getSelection } from 'lexical';
4
- import { SlashMenuOption } from '../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js';
3
+ import { $createParagraphNode, $getSelection, $isParagraphNode, $isRangeSelection } from 'lexical';
5
4
  import { TextIcon } from '../../lexical/ui/icons/Text/index.js';
6
- import { TextDropdownSectionWithEntries } from '../common/floatingSelectToolbarTextDropdownSection/index.js';
7
5
  import { createClientComponent } from '../createClientComponent.js';
6
+ import { toolbarTextDropdownGroupWithItems } from '../shared/toolbar/textDropdownGroup.js';
7
+ const toolbarGroups = [
8
+ toolbarTextDropdownGroupWithItems([
9
+ {
10
+ ChildComponent: TextIcon,
11
+ isActive: ({ selection })=>{
12
+ if (!$isRangeSelection(selection)) {
13
+ return false;
14
+ }
15
+ for (const node of selection.getNodes()){
16
+ if (!$isParagraphNode(node) && !$isParagraphNode(node.getParent())) {
17
+ return false;
18
+ }
19
+ }
20
+ return true;
21
+ },
22
+ key: 'paragraph',
23
+ label: 'Normal Text',
24
+ onSelect: ({ editor })=>{
25
+ editor.update(()=>{
26
+ const selection = $getSelection();
27
+ $setBlocksType(selection, ()=>$createParagraphNode());
28
+ });
29
+ },
30
+ order: 1
31
+ }
32
+ ])
33
+ ];
8
34
  const ParagraphFeatureClient = (props)=>{
9
35
  return {
10
36
  clientFeatureProps: props,
11
37
  feature: ()=>({
12
38
  clientFeatureProps: props,
13
- floatingSelectToolbar: {
14
- sections: [
15
- TextDropdownSectionWithEntries([
16
- {
17
- ChildComponent: TextIcon,
18
- isActive: ()=>false,
19
- key: 'normal-text',
20
- label: 'Normal Text',
21
- onClick: ({ editor })=>{
22
- editor.update(()=>{
23
- const selection = $getSelection();
24
- $setBlocksType(selection, ()=>$createParagraphNode());
25
- });
26
- },
27
- order: 1
28
- }
29
- ])
30
- ]
31
- },
32
39
  slashMenu: {
33
- options: [
40
+ groups: [
34
41
  {
35
- displayName: 'Basic',
36
- key: 'basic',
37
- options: [
38
- new SlashMenuOption('paragraph', {
42
+ items: [
43
+ {
39
44
  Icon: TextIcon,
40
- displayName: 'Paragraph',
45
+ key: 'paragraph',
41
46
  keywords: [
42
47
  'normal',
43
48
  'paragraph',
44
49
  'p',
45
50
  'text'
46
51
  ],
52
+ label: 'Paragraph',
47
53
  onSelect: ({ editor })=>{
48
54
  editor.update(()=>{
49
55
  const selection = $getSelection();
50
56
  $setBlocksType(selection, ()=>$createParagraphNode());
51
57
  });
52
58
  }
53
- })
54
- ]
59
+ }
60
+ ],
61
+ key: 'basic',
62
+ label: 'Basic'
55
63
  }
56
64
  ]
65
+ },
66
+ toolbarFixed: {
67
+ groups: toolbarGroups
68
+ },
69
+ toolbarInline: {
70
+ groups: toolbarGroups
57
71
  }
58
72
  })
59
73
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/features/paragraph/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $setBlocksType } from '@lexical/selection'\nimport { $createParagraphNode, $getSelection } from 'lexical'\n\nimport type { FeatureProviderProviderClient } from '../types.js'\n\nimport { SlashMenuOption } from '../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport { TextIcon } from '../../lexical/ui/icons/Text/index.js'\nimport { TextDropdownSectionWithEntries } from '../common/floatingSelectToolbarTextDropdownSection/index.js'\nimport { createClientComponent } from '../createClientComponent.js'\n\nconst ParagraphFeatureClient: FeatureProviderProviderClient<undefined> = (props) => {\n return {\n clientFeatureProps: props,\n feature: () => ({\n clientFeatureProps: props,\n floatingSelectToolbar: {\n sections: [\n TextDropdownSectionWithEntries([\n {\n ChildComponent: TextIcon,\n isActive: () => false,\n key: 'normal-text',\n label: 'Normal Text',\n onClick: ({ editor }) => {\n editor.update(() => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createParagraphNode())\n })\n },\n order: 1,\n },\n ]),\n ],\n },\n slashMenu: {\n options: [\n {\n displayName: 'Basic',\n key: 'basic',\n options: [\n new SlashMenuOption('paragraph', {\n Icon: TextIcon,\n displayName: 'Paragraph',\n keywords: ['normal', 'paragraph', 'p', 'text'],\n onSelect: ({ editor }) => {\n editor.update(() => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createParagraphNode())\n })\n },\n }),\n ],\n },\n ],\n },\n }),\n }\n}\n\nexport const ParagraphFeatureClientComponent = createClientComponent(ParagraphFeatureClient)\n"],"names":["$setBlocksType","$createParagraphNode","$getSelection","SlashMenuOption","TextIcon","TextDropdownSectionWithEntries","createClientComponent","ParagraphFeatureClient","props","clientFeatureProps","feature","floatingSelectToolbar","sections","ChildComponent","isActive","key","label","onClick","editor","update","selection","order","slashMenu","options","displayName","Icon","keywords","onSelect","ParagraphFeatureClientComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,cAAc,QAAQ,qBAAoB;AACnD,SAASC,oBAAoB,EAAEC,aAAa,QAAQ,UAAS;AAI7D,SAASC,eAAe,QAAQ,sEAAqE;AACrG,SAASC,QAAQ,QAAQ,uCAAsC;AAC/D,SAASC,8BAA8B,QAAQ,8DAA6D;AAC5G,SAASC,qBAAqB,QAAQ,8BAA6B;AAEnE,MAAMC,yBAAmE,CAACC;IACxE,OAAO;QACLC,oBAAoBD;QACpBE,SAAS,IAAO,CAAA;gBACdD,oBAAoBD;gBACpBG,uBAAuB;oBACrBC,UAAU;wBACRP,+BAA+B;4BAC7B;gCACEQ,gBAAgBT;gCAChBU,UAAU,IAAM;gCAChBC,KAAK;gCACLC,OAAO;gCACPC,SAAS,CAAC,EAAEC,MAAM,EAAE;oCAClBA,OAAOC,MAAM,CAAC;wCACZ,MAAMC,YAAYlB;wCAClBF,eAAeoB,WAAW,IAAMnB;oCAClC;gCACF;gCACAoB,OAAO;4BACT;yBACD;qBACF;gBACH;gBACAC,WAAW;oBACTC,SAAS;wBACP;4BACEC,aAAa;4BACbT,KAAK;4BACLQ,SAAS;gCACP,IAAIpB,gBAAgB,aAAa;oCAC/BsB,MAAMrB;oCACNoB,aAAa;oCACbE,UAAU;wCAAC;wCAAU;wCAAa;wCAAK;qCAAO;oCAC9CC,UAAU,CAAC,EAAET,MAAM,EAAE;wCACnBA,OAAOC,MAAM,CAAC;4CACZ,MAAMC,YAAYlB;4CAClBF,eAAeoB,WAAW,IAAMnB;wCAClC;oCACF;gCACF;6BACD;wBACH;qBACD;gBACH;YACF,CAAA;IACF;AACF;AAEA,OAAO,MAAM2B,kCAAkCtB,sBAAsBC,wBAAuB"}
1
+ {"version":3,"sources":["../../../../src/field/features/paragraph/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { $setBlocksType } from '@lexical/selection'\nimport { $createParagraphNode, $getSelection, $isParagraphNode, $isRangeSelection } from 'lexical'\n\nimport type { ToolbarGroup } from '../toolbars/types.js'\nimport type { FeatureProviderProviderClient } from '../types.js'\n\nimport { TextIcon } from '../../lexical/ui/icons/Text/index.js'\nimport { createClientComponent } from '../createClientComponent.js'\nimport { toolbarTextDropdownGroupWithItems } from '../shared/toolbar/textDropdownGroup.js'\n\nconst toolbarGroups: ToolbarGroup[] = [\n toolbarTextDropdownGroupWithItems([\n {\n ChildComponent: TextIcon,\n isActive: ({ selection }) => {\n if (!$isRangeSelection(selection)) {\n return false\n }\n for (const node of selection.getNodes()) {\n if (!$isParagraphNode(node) && !$isParagraphNode(node.getParent())) {\n return false\n }\n }\n return true\n },\n key: 'paragraph',\n label: 'Normal Text',\n onSelect: ({ editor }) => {\n editor.update(() => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createParagraphNode())\n })\n },\n order: 1,\n },\n ]),\n]\n\nconst ParagraphFeatureClient: FeatureProviderProviderClient<undefined> = (props) => {\n return {\n clientFeatureProps: props,\n feature: () => ({\n clientFeatureProps: props,\n slashMenu: {\n groups: [\n {\n items: [\n {\n Icon: TextIcon,\n key: 'paragraph',\n keywords: ['normal', 'paragraph', 'p', 'text'],\n label: 'Paragraph',\n onSelect: ({ editor }) => {\n editor.update(() => {\n const selection = $getSelection()\n $setBlocksType(selection, () => $createParagraphNode())\n })\n },\n },\n ],\n key: 'basic',\n label: 'Basic',\n },\n ],\n },\n toolbarFixed: {\n groups: toolbarGroups,\n },\n toolbarInline: {\n groups: toolbarGroups,\n },\n }),\n }\n}\n\nexport const ParagraphFeatureClientComponent = createClientComponent(ParagraphFeatureClient)\n"],"names":["$setBlocksType","$createParagraphNode","$getSelection","$isParagraphNode","$isRangeSelection","TextIcon","createClientComponent","toolbarTextDropdownGroupWithItems","toolbarGroups","ChildComponent","isActive","selection","node","getNodes","getParent","key","label","onSelect","editor","update","order","ParagraphFeatureClient","props","clientFeatureProps","feature","slashMenu","groups","items","Icon","keywords","toolbarFixed","toolbarInline","ParagraphFeatureClientComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,cAAc,QAAQ,qBAAoB;AACnD,SAASC,oBAAoB,EAAEC,aAAa,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,UAAS;AAKlG,SAASC,QAAQ,QAAQ,uCAAsC;AAC/D,SAASC,qBAAqB,QAAQ,8BAA6B;AACnE,SAASC,iCAAiC,QAAQ,yCAAwC;AAE1F,MAAMC,gBAAgC;IACpCD,kCAAkC;QAChC;YACEE,gBAAgBJ;YAChBK,UAAU,CAAC,EAAEC,SAAS,EAAE;gBACtB,IAAI,CAACP,kBAAkBO,YAAY;oBACjC,OAAO;gBACT;gBACA,KAAK,MAAMC,QAAQD,UAAUE,QAAQ,GAAI;oBACvC,IAAI,CAACV,iBAAiBS,SAAS,CAACT,iBAAiBS,KAAKE,SAAS,KAAK;wBAClE,OAAO;oBACT;gBACF;gBACA,OAAO;YACT;YACAC,KAAK;YACLC,OAAO;YACPC,UAAU,CAAC,EAAEC,MAAM,EAAE;gBACnBA,OAAOC,MAAM,CAAC;oBACZ,MAAMR,YAAYT;oBAClBF,eAAeW,WAAW,IAAMV;gBAClC;YACF;YACAmB,OAAO;QACT;KACD;CACF;AAED,MAAMC,yBAAmE,CAACC;IACxE,OAAO;QACLC,oBAAoBD;QACpBE,SAAS,IAAO,CAAA;gBACdD,oBAAoBD;gBACpBG,WAAW;oBACTC,QAAQ;wBACN;4BACEC,OAAO;gCACL;oCACEC,MAAMvB;oCACNU,KAAK;oCACLc,UAAU;wCAAC;wCAAU;wCAAa;wCAAK;qCAAO;oCAC9Cb,OAAO;oCACPC,UAAU,CAAC,EAAEC,MAAM,EAAE;wCACnBA,OAAOC,MAAM,CAAC;4CACZ,MAAMR,YAAYT;4CAClBF,eAAeW,WAAW,IAAMV;wCAClC;oCACF;gCACF;6BACD;4BACDc,KAAK;4BACLC,OAAO;wBACT;qBACD;gBACH;gBACAc,cAAc;oBACZJ,QAAQlB;gBACV;gBACAuB,eAAe;oBACbL,QAAQlB;gBACV;YACF,CAAA;IACF;AACF;AAEA,OAAO,MAAMwB,kCAAkC1B,sBAAsBe,wBAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../../src/field/features/relationship/feature.client.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAmDnE,eAAO,MAAM,kCAAkC,0FAAmD,CAAA"}
1
+ {"version":3,"file":"feature.client.d.ts","sourceRoot":"","sources":["../../../../src/field/features/relationship/feature.client.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AA6EnE,eAAO,MAAM,kCAAkC,0FAAmD,CAAA"}
@@ -1,10 +1,11 @@
1
1
  'use client';
2
2
  import { withMergedProps } from '@payloadcms/ui/elements/withMergedProps';
3
- import { SlashMenuOption } from '../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js';
3
+ import { $isNodeSelection } from 'lexical';
4
4
  import { RelationshipIcon } from '../../lexical/ui/icons/Relationship/index.js';
5
5
  import { createClientComponent } from '../createClientComponent.js';
6
+ import { toolbarAddDropdownGroupWithItems } from '../shared/toolbar/addDropdownGroup.js';
6
7
  import { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from './drawer/commands.js';
7
- import { RelationshipNode } from './nodes/RelationshipNode.js';
8
+ import { $isRelationshipNode, RelationshipNode } from './nodes/RelationshipNode.js';
8
9
  import { RelationshipPlugin } from './plugins/index.js';
9
10
  const RelationshipFeatureClient = (props)=>{
10
11
  return {
@@ -24,29 +25,54 @@ const RelationshipFeatureClient = (props)=>{
24
25
  }
25
26
  ],
26
27
  slashMenu: {
27
- options: [
28
+ groups: [
28
29
  {
29
- displayName: 'Basic',
30
- key: 'basic',
31
- options: [
32
- new SlashMenuOption('relationship', {
30
+ items: [
31
+ {
33
32
  Icon: RelationshipIcon,
34
- displayName: 'Relationship',
33
+ key: 'relationship',
35
34
  keywords: [
36
35
  'relationship',
37
36
  'relation',
38
37
  'rel'
39
38
  ],
39
+ label: 'Relationship',
40
40
  onSelect: ({ editor })=>{
41
41
  // dispatch INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND
42
42
  editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {
43
43
  replace: false
44
44
  });
45
45
  }
46
- })
47
- ]
46
+ }
47
+ ],
48
+ key: 'basic',
49
+ label: 'Basic'
48
50
  }
49
51
  ]
52
+ },
53
+ toolbarFixed: {
54
+ groups: [
55
+ toolbarAddDropdownGroupWithItems([
56
+ {
57
+ ChildComponent: RelationshipIcon,
58
+ isActive: ({ selection })=>{
59
+ if (!$isNodeSelection(selection) || !selection.getNodes().length) {
60
+ return false;
61
+ }
62
+ const firstNode = selection.getNodes()[0];
63
+ return $isRelationshipNode(firstNode);
64
+ },
65
+ key: 'relationship',
66
+ label: 'Relationship',
67
+ onSelect: ({ editor })=>{
68
+ // dispatch INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND
69
+ editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {
70
+ replace: false
71
+ });
72
+ }
73
+ }
74
+ ])
75
+ ]
50
76
  }
51
77
  })
52
78
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/features/relationship/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { withMergedProps } from '@payloadcms/ui/elements/withMergedProps'\n\nimport type { FeatureProviderProviderClient } from '../types.js'\nimport type { RelationshipFeatureProps } from './feature.server.js'\n\nimport { SlashMenuOption } from '../../lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js'\nimport { RelationshipIcon } from '../../lexical/ui/icons/Relationship/index.js'\nimport { createClientComponent } from '../createClientComponent.js'\nimport { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from './drawer/commands.js'\nimport { RelationshipNode } from './nodes/RelationshipNode.js'\nimport { RelationshipPlugin } from './plugins/index.js'\n\nconst RelationshipFeatureClient: FeatureProviderProviderClient<RelationshipFeatureProps> = (\n props,\n) => {\n return {\n clientFeatureProps: props,\n feature: () => ({\n clientFeatureProps: props,\n nodes: [RelationshipNode],\n plugins: [\n {\n Component: withMergedProps({\n Component: RelationshipPlugin,\n toMergeIntoProps: props,\n }),\n position: 'normal',\n },\n ],\n slashMenu: {\n options: [\n {\n displayName: 'Basic',\n key: 'basic',\n options: [\n new SlashMenuOption('relationship', {\n Icon: RelationshipIcon,\n displayName: 'Relationship',\n keywords: ['relationship', 'relation', 'rel'],\n onSelect: ({ editor }) => {\n // dispatch INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND\n editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {\n replace: false,\n })\n },\n }),\n ],\n },\n ],\n },\n }),\n }\n}\n\nexport const RelationshipFeatureClientComponent = createClientComponent(RelationshipFeatureClient)\n"],"names":["withMergedProps","SlashMenuOption","RelationshipIcon","createClientComponent","INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND","RelationshipNode","RelationshipPlugin","RelationshipFeatureClient","props","clientFeatureProps","feature","nodes","plugins","Component","toMergeIntoProps","position","slashMenu","options","displayName","key","Icon","keywords","onSelect","editor","dispatchCommand","replace","RelationshipFeatureClientComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,eAAe,QAAQ,0CAAyC;AAKzE,SAASC,eAAe,QAAQ,sEAAqE;AACrG,SAASC,gBAAgB,QAAQ,+CAA8C;AAC/E,SAASC,qBAAqB,QAAQ,8BAA6B;AACnE,SAASC,uCAAuC,QAAQ,uBAAsB;AAC9E,SAASC,gBAAgB,QAAQ,8BAA6B;AAC9D,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,MAAMC,4BAAqF,CACzFC;IAEA,OAAO;QACLC,oBAAoBD;QACpBE,SAAS,IAAO,CAAA;gBACdD,oBAAoBD;gBACpBG,OAAO;oBAACN;iBAAiB;gBACzBO,SAAS;oBACP;wBACEC,WAAWb,gBAAgB;4BACzBa,WAAWP;4BACXQ,kBAAkBN;wBACpB;wBACAO,UAAU;oBACZ;iBACD;gBACDC,WAAW;oBACTC,SAAS;wBACP;4BACEC,aAAa;4BACbC,KAAK;4BACLF,SAAS;gCACP,IAAIhB,gBAAgB,gBAAgB;oCAClCmB,MAAMlB;oCACNgB,aAAa;oCACbG,UAAU;wCAAC;wCAAgB;wCAAY;qCAAM;oCAC7CC,UAAU,CAAC,EAAEC,MAAM,EAAE;wCACnB,mDAAmD;wCACnDA,OAAOC,eAAe,CAACpB,yCAAyC;4CAC9DqB,SAAS;wCACX;oCACF;gCACF;6BACD;wBACH;qBACD;gBACH;YACF,CAAA;IACF;AACF;AAEA,OAAO,MAAMC,qCAAqCvB,sBAAsBI,2BAA0B"}
1
+ {"version":3,"sources":["../../../../src/field/features/relationship/feature.client.tsx"],"sourcesContent":["'use client'\n\nimport { withMergedProps } from '@payloadcms/ui/elements/withMergedProps'\nimport { $isNodeSelection } from 'lexical'\n\nimport type { FeatureProviderProviderClient } from '../types.js'\nimport type { RelationshipFeatureProps } from './feature.server.js'\n\nimport { RelationshipIcon } from '../../lexical/ui/icons/Relationship/index.js'\nimport { createClientComponent } from '../createClientComponent.js'\nimport { toolbarAddDropdownGroupWithItems } from '../shared/toolbar/addDropdownGroup.js'\nimport { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from './drawer/commands.js'\nimport { $isRelationshipNode, RelationshipNode } from './nodes/RelationshipNode.js'\nimport { RelationshipPlugin } from './plugins/index.js'\n\nconst RelationshipFeatureClient: FeatureProviderProviderClient<RelationshipFeatureProps> = (\n props,\n) => {\n return {\n clientFeatureProps: props,\n feature: () => ({\n clientFeatureProps: props,\n nodes: [RelationshipNode],\n plugins: [\n {\n Component: withMergedProps({\n Component: RelationshipPlugin,\n toMergeIntoProps: props,\n }),\n position: 'normal',\n },\n ],\n slashMenu: {\n groups: [\n {\n items: [\n {\n Icon: RelationshipIcon,\n key: 'relationship',\n keywords: ['relationship', 'relation', 'rel'],\n label: 'Relationship',\n onSelect: ({ editor }) => {\n // dispatch INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND\n editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {\n replace: false,\n })\n },\n },\n ],\n key: 'basic',\n label: 'Basic',\n },\n ],\n },\n toolbarFixed: {\n groups: [\n toolbarAddDropdownGroupWithItems([\n {\n ChildComponent: RelationshipIcon,\n isActive: ({ selection }) => {\n if (!$isNodeSelection(selection) || !selection.getNodes().length) {\n return false\n }\n\n const firstNode = selection.getNodes()[0]\n return $isRelationshipNode(firstNode)\n },\n key: 'relationship',\n label: 'Relationship',\n onSelect: ({ editor }) => {\n // dispatch INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND\n editor.dispatchCommand(INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND, {\n replace: false,\n })\n },\n },\n ]),\n ],\n },\n }),\n }\n}\n\nexport const RelationshipFeatureClientComponent = createClientComponent(RelationshipFeatureClient)\n"],"names":["withMergedProps","$isNodeSelection","RelationshipIcon","createClientComponent","toolbarAddDropdownGroupWithItems","INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND","$isRelationshipNode","RelationshipNode","RelationshipPlugin","RelationshipFeatureClient","props","clientFeatureProps","feature","nodes","plugins","Component","toMergeIntoProps","position","slashMenu","groups","items","Icon","key","keywords","label","onSelect","editor","dispatchCommand","replace","toolbarFixed","ChildComponent","isActive","selection","getNodes","length","firstNode","RelationshipFeatureClientComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SAASA,eAAe,QAAQ,0CAAyC;AACzE,SAASC,gBAAgB,QAAQ,UAAS;AAK1C,SAASC,gBAAgB,QAAQ,+CAA8C;AAC/E,SAASC,qBAAqB,QAAQ,8BAA6B;AACnE,SAASC,gCAAgC,QAAQ,wCAAuC;AACxF,SAASC,uCAAuC,QAAQ,uBAAsB;AAC9E,SAASC,mBAAmB,EAAEC,gBAAgB,QAAQ,8BAA6B;AACnF,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,MAAMC,4BAAqF,CACzFC;IAEA,OAAO;QACLC,oBAAoBD;QACpBE,SAAS,IAAO,CAAA;gBACdD,oBAAoBD;gBACpBG,OAAO;oBAACN;iBAAiB;gBACzBO,SAAS;oBACP;wBACEC,WAAWf,gBAAgB;4BACzBe,WAAWP;4BACXQ,kBAAkBN;wBACpB;wBACAO,UAAU;oBACZ;iBACD;gBACDC,WAAW;oBACTC,QAAQ;wBACN;4BACEC,OAAO;gCACL;oCACEC,MAAMnB;oCACNoB,KAAK;oCACLC,UAAU;wCAAC;wCAAgB;wCAAY;qCAAM;oCAC7CC,OAAO;oCACPC,UAAU,CAAC,EAAEC,MAAM,EAAE;wCACnB,mDAAmD;wCACnDA,OAAOC,eAAe,CAACtB,yCAAyC;4CAC9DuB,SAAS;wCACX;oCACF;gCACF;6BACD;4BACDN,KAAK;4BACLE,OAAO;wBACT;qBACD;gBACH;gBACAK,cAAc;oBACZV,QAAQ;wBACNf,iCAAiC;4BAC/B;gCACE0B,gBAAgB5B;gCAChB6B,UAAU,CAAC,EAAEC,SAAS,EAAE;oCACtB,IAAI,CAAC/B,iBAAiB+B,cAAc,CAACA,UAAUC,QAAQ,GAAGC,MAAM,EAAE;wCAChE,OAAO;oCACT;oCAEA,MAAMC,YAAYH,UAAUC,QAAQ,EAAE,CAAC,EAAE;oCACzC,OAAO3B,oBAAoB6B;gCAC7B;gCACAb,KAAK;gCACLE,OAAO;gCACPC,UAAU,CAAC,EAAEC,MAAM,EAAE;oCACnB,mDAAmD;oCACnDA,OAAOC,eAAe,CAACtB,yCAAyC;wCAC9DuB,SAAS;oCACX;gCACF;4BACF;yBACD;qBACF;gBACH;YACF,CAAA;IACF;AACF;AAEA,OAAO,MAAMQ,qCAAqCjC,sBAAsBM,2BAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"populationPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/relationship/populationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAI7E,eAAO,MAAM,6BAA6B,EAAE,iBAAiB,CAAC,0BAA0B,CAiCvF,CAAA"}
1
+ {"version":3,"file":"populationPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/relationship/populationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAI7E,eAAO,MAAM,6BAA6B,EAAE,iBAAiB,CAAC,0BAA0B,CAmCvF,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { populate } from '../../../populate/populate.js';
2
- export const relationshipPopulationPromise = ({ currentDepth, depth, field, node, overrideAccess, populationPromises, req, showHiddenFields })=>{
2
+ export const relationshipPopulationPromise = ({ currentDepth, depth, draft, field, node, overrideAccess, populationPromises, req, showHiddenFields })=>{
3
3
  if (node?.value) {
4
4
  // @ts-expect-error
5
5
  const id = node?.value?.id || node?.value // for backwards-compatibility
@@ -12,6 +12,7 @@ export const relationshipPopulationPromise = ({ currentDepth, depth, field, node
12
12
  currentDepth,
13
13
  data: node,
14
14
  depth,
15
+ draft,
15
16
  field,
16
17
  key: 'value',
17
18
  overrideAccess,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/features/relationship/populationPromise.ts"],"sourcesContent":["import type { PopulationPromise } from '../types.js'\nimport type { SerializedRelationshipNode } from './nodes/RelationshipNode.js'\n\nimport { populate } from '../../../populate/populate.js'\n\nexport const relationshipPopulationPromise: PopulationPromise<SerializedRelationshipNode> = ({\n currentDepth,\n depth,\n field,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n}) => {\n if (node?.value) {\n // @ts-expect-error\n const id = node?.value?.id || node?.value // for backwards-compatibility\n\n const collection = req.payload.collections[node?.relationTo]\n\n if (collection) {\n populationPromises.push(\n populate({\n id,\n collection,\n currentDepth,\n data: node,\n depth,\n field,\n key: 'value',\n overrideAccess,\n req,\n showHiddenFields,\n }),\n )\n }\n }\n}\n"],"names":["populate","relationshipPopulationPromise","currentDepth","depth","field","node","overrideAccess","populationPromises","req","showHiddenFields","value","id","collection","payload","collections","relationTo","push","data","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,gCAA+B;AAExD,OAAO,MAAMC,gCAA+E,CAAC,EAC3FC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,IAAI,EACJC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EACjB;IACC,IAAIJ,MAAMK,OAAO;QACf,mBAAmB;QACnB,MAAMC,KAAKN,MAAMK,OAAOC,MAAMN,MAAMK,MAAM,8BAA8B;;QAExE,MAAME,aAAaJ,IAAIK,OAAO,CAACC,WAAW,CAACT,MAAMU,WAAW;QAE5D,IAAIH,YAAY;YACdL,mBAAmBS,IAAI,CACrBhB,SAAS;gBACPW;gBACAC;gBACAV;gBACAe,MAAMZ;gBACNF;gBACAC;gBACAc,KAAK;gBACLZ;gBACAE;gBACAC;YACF;QAEJ;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/field/features/relationship/populationPromise.ts"],"sourcesContent":["import type { PopulationPromise } from '../types.js'\nimport type { SerializedRelationshipNode } from './nodes/RelationshipNode.js'\n\nimport { populate } from '../../../populate/populate.js'\n\nexport const relationshipPopulationPromise: PopulationPromise<SerializedRelationshipNode> = ({\n currentDepth,\n depth,\n draft,\n field,\n node,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n}) => {\n if (node?.value) {\n // @ts-expect-error\n const id = node?.value?.id || node?.value // for backwards-compatibility\n\n const collection = req.payload.collections[node?.relationTo]\n\n if (collection) {\n populationPromises.push(\n populate({\n id,\n collection,\n currentDepth,\n data: node,\n depth,\n draft,\n field,\n key: 'value',\n overrideAccess,\n req,\n showHiddenFields,\n }),\n )\n }\n }\n}\n"],"names":["populate","relationshipPopulationPromise","currentDepth","depth","draft","field","node","overrideAccess","populationPromises","req","showHiddenFields","value","id","collection","payload","collections","relationTo","push","data","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,gCAA+B;AAExD,OAAO,MAAMC,gCAA+E,CAAC,EAC3FC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,IAAI,EACJC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EACjB;IACC,IAAIJ,MAAMK,OAAO;QACf,mBAAmB;QACnB,MAAMC,KAAKN,MAAMK,OAAOC,MAAMN,MAAMK,MAAM,8BAA8B;;QAExE,MAAME,aAAaJ,IAAIK,OAAO,CAACC,WAAW,CAACT,MAAMU,WAAW;QAE5D,IAAIH,YAAY;YACdL,mBAAmBS,IAAI,CACrBjB,SAAS;gBACPY;gBACAC;gBACAX;gBACAgB,MAAMZ;gBACNH;gBACAC;gBACAC;gBACAc,KAAK;gBACLZ;gBACAE;gBACAC;YACF;QAEJ;IACF;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js';
2
+ export declare const toolbarAddDropdownGroupWithItems: (items: ToolbarGroupItem[]) => ToolbarGroup;
3
+ //# sourceMappingURL=addDropdownGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addDropdownGroup.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/shared/toolbar/addDropdownGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAI7E,eAAO,MAAM,gCAAgC,UAAW,gBAAgB,EAAE,KAAG,YAQ5E,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { AddIcon } from '../../../lexical/ui/icons/Add/index.js';
2
+ export const toolbarAddDropdownGroupWithItems = (items)=>{
3
+ return {
4
+ type: 'dropdown',
5
+ ChildComponent: AddIcon,
6
+ items,
7
+ key: 'add',
8
+ order: 10
9
+ };
10
+ };
11
+
12
+ //# sourceMappingURL=addDropdownGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/field/features/shared/toolbar/addDropdownGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { AddIcon } from '../../../lexical/ui/icons/Add/index.js'\n\nexport const toolbarAddDropdownGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: AddIcon,\n items,\n key: 'add',\n order: 10,\n }\n}\n"],"names":["AddIcon","toolbarAddDropdownGroupWithItems","items","type","ChildComponent","key","order"],"rangeMappings":";;;;;;;;;","mappings":"AAEA,SAASA,OAAO,QAAQ,yCAAwC;AAEhE,OAAO,MAAMC,mCAAmC,CAACC;IAC/C,OAAO;QACLC,MAAM;QACNC,gBAAgBJ;QAChBE;QACAG,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js';
2
+ export declare const toolbarFeatureButtonsGroupWithItems: (items: ToolbarGroupItem[]) => ToolbarGroup;
3
+ //# sourceMappingURL=featureButtonsGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureButtonsGroup.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/shared/toolbar/featureButtonsGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE7E,eAAO,MAAM,mCAAmC,UAAW,gBAAgB,EAAE,KAAG,YAO/E,CAAA"}
@@ -0,0 +1,10 @@
1
+ export const toolbarFeatureButtonsGroupWithItems = (items)=>{
2
+ return {
3
+ type: 'buttons',
4
+ items,
5
+ key: 'features',
6
+ order: 50
7
+ };
8
+ };
9
+
10
+ //# sourceMappingURL=featureButtonsGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/field/features/shared/toolbar/featureButtonsGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nexport const toolbarFeatureButtonsGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'buttons',\n items,\n key: 'features',\n order: 50,\n }\n}\n"],"names":["toolbarFeatureButtonsGroupWithItems","items","type","key","order"],"rangeMappings":";;;;;;;","mappings":"AAEA,OAAO,MAAMA,sCAAsC,CAACC;IAClD,OAAO;QACLC,MAAM;QACND;QACAE,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js';
2
+ export declare const toolbarTextDropdownGroupWithItems: (items: ToolbarGroupItem[]) => ToolbarGroup;
3
+ //# sourceMappingURL=textDropdownGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textDropdownGroup.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/shared/toolbar/textDropdownGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAI7E,eAAO,MAAM,iCAAiC,UAAW,gBAAgB,EAAE,KAAG,YAQ7E,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { TextIcon } from '../../../lexical/ui/icons/Text/index.js';
2
+ export const toolbarTextDropdownGroupWithItems = (items)=>{
3
+ return {
4
+ type: 'dropdown',
5
+ ChildComponent: TextIcon,
6
+ items,
7
+ key: 'text',
8
+ order: 25
9
+ };
10
+ };
11
+
12
+ //# sourceMappingURL=textDropdownGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/field/features/shared/toolbar/textDropdownGroup.ts"],"sourcesContent":["import type { ToolbarGroup, ToolbarGroupItem } from '../../toolbars/types.js'\n\nimport { TextIcon } from '../../../lexical/ui/icons/Text/index.js'\n\nexport const toolbarTextDropdownGroupWithItems = (items: ToolbarGroupItem[]): ToolbarGroup => {\n return {\n type: 'dropdown',\n ChildComponent: TextIcon,\n items,\n key: 'text',\n order: 25,\n }\n}\n"],"names":["TextIcon","toolbarTextDropdownGroupWithItems","items","type","ChildComponent","key","order"],"rangeMappings":";;;;;;;;;","mappings":"AAEA,SAASA,QAAQ,QAAQ,0CAAyC;AAElE,OAAO,MAAMC,oCAAoC,CAACC;IAChD,OAAO;QACLC,MAAM;QACNC,gBAAgBJ;QAChBE;QACAG,KAAK;QACLC,OAAO;IACT;AACF,EAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import './index.scss';
3
+ export declare function FixedToolbarPlugin({ anchorElem, }: {
4
+ anchorElem?: HTMLElement;
5
+ }): React.ReactElement | null;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/toolbars/fixed/Toolbar/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAU9B,OAAO,cAAc,CAAA;AA2KrB,wBAAgB,kBAAkB,CAAC,EACjC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAqB5B"}
@@ -0,0 +1,152 @@
1
+ 'use client';
2
+ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js';
3
+ import { useTranslation } from '@payloadcms/ui/providers/Translation';
4
+ import * as React from 'react';
5
+ import { useEditorFocus } from '../../../../lexical/EditorFocusProvider.js';
6
+ import { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js';
7
+ import { ToolbarButton } from '../../shared/ToolbarButton/index.js';
8
+ import { ToolbarDropdown } from '../../shared/ToolbarDropdown/index.js';
9
+ import './index.scss';
10
+ function ButtonGroupItem({ anchorElem, editor, item }) {
11
+ if (item.Component) {
12
+ return item?.Component && /*#__PURE__*/ React.createElement(item.Component, {
13
+ anchorElem: anchorElem,
14
+ editor: editor,
15
+ item: item,
16
+ key: item.key
17
+ });
18
+ }
19
+ return /*#__PURE__*/ React.createElement(ToolbarButton, {
20
+ editor: editor,
21
+ item: item,
22
+ key: item.key
23
+ }, item?.ChildComponent && /*#__PURE__*/ React.createElement(item.ChildComponent, null));
24
+ }
25
+ function ToolbarGroupComponent({ anchorElem, editor, editorConfig, group, index }) {
26
+ const { i18n } = useTranslation();
27
+ const [dropdownLabel, setDropdownLabel] = React.useState(null);
28
+ const [DropdownIcon, setDropdownIcon] = React.useState(null);
29
+ React.useEffect(()=>{
30
+ if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {
31
+ setDropdownIcon(()=>group.ChildComponent);
32
+ } else {
33
+ setDropdownIcon(null);
34
+ }
35
+ }, [
36
+ group
37
+ ]);
38
+ const onActiveChange = ({ activeItems })=>{
39
+ if (!activeItems.length) {
40
+ if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {
41
+ setDropdownIcon(()=>group.ChildComponent);
42
+ setDropdownLabel(null);
43
+ } else {
44
+ setDropdownIcon(null);
45
+ setDropdownLabel(null);
46
+ }
47
+ return;
48
+ }
49
+ const item = activeItems[0];
50
+ let label = item.key;
51
+ if (item.label) {
52
+ label = typeof item.label === 'function' ? item.label({
53
+ i18n
54
+ }) : item.label;
55
+ }
56
+ // Crop title to max. 25 characters
57
+ if (label.length > 25) {
58
+ label = label.substring(0, 25) + '...';
59
+ }
60
+ setDropdownLabel(label);
61
+ setDropdownIcon(()=>item.ChildComponent);
62
+ };
63
+ return /*#__PURE__*/ React.createElement("div", {
64
+ className: `fixed-toolbar__group fixed-toolbar__group-${group.key}`,
65
+ key: group.key
66
+ }, group.type === 'dropdown' && group.items.length && (DropdownIcon ? /*#__PURE__*/ React.createElement(ToolbarDropdown, {
67
+ Icon: DropdownIcon,
68
+ anchorElem: anchorElem,
69
+ editor: editor,
70
+ groupKey: group.key,
71
+ items: group.items,
72
+ itemsContainerClassNames: [
73
+ 'fixed-toolbar__dropdown-items'
74
+ ],
75
+ label: dropdownLabel,
76
+ maxActiveItems: 1,
77
+ onActiveChange: onActiveChange
78
+ }) : /*#__PURE__*/ React.createElement(ToolbarDropdown, {
79
+ anchorElem: anchorElem,
80
+ editor: editor,
81
+ groupKey: group.key,
82
+ items: group.items,
83
+ itemsContainerClassNames: [
84
+ 'fixed-toolbar__dropdown-items'
85
+ ],
86
+ label: dropdownLabel,
87
+ maxActiveItems: 1,
88
+ onActiveChange: onActiveChange
89
+ })), group.type === 'buttons' && group.items.length && group.items.map((item)=>{
90
+ return /*#__PURE__*/ React.createElement(ButtonGroupItem, {
91
+ anchorElem: anchorElem,
92
+ editor: editor,
93
+ item: item,
94
+ key: item.key
95
+ });
96
+ }), index < editorConfig.features.toolbarFixed?.groups.length - 1 && /*#__PURE__*/ React.createElement("div", {
97
+ className: "divider"
98
+ }));
99
+ }
100
+ function FixedToolbar({ anchorElem, editor, editorConfig }) {
101
+ return /*#__PURE__*/ React.createElement("div", {
102
+ className: "fixed-toolbar",
103
+ onFocus: (event)=>{
104
+ // Prevent other focus events being triggered. Otherwise, if this was to be clicked while in a child editor,
105
+ // the parent editor will be focused, and the child editor will lose focus.
106
+ event.stopPropagation();
107
+ }
108
+ }, editor.isEditable() && /*#__PURE__*/ React.createElement(React.Fragment, null, editorConfig?.features && editorConfig.features?.toolbarFixed?.groups.map((group, i)=>{
109
+ return /*#__PURE__*/ React.createElement(ToolbarGroupComponent, {
110
+ anchorElem: anchorElem,
111
+ editor: editor,
112
+ editorConfig: editorConfig,
113
+ group: group,
114
+ index: i,
115
+ key: group.key
116
+ });
117
+ })));
118
+ }
119
+ const checkParentEditor = (editorFocus)=>{
120
+ if (editorFocus.parentEditorConfigContext?.editorConfig) {
121
+ if (editorFocus.parentEditorConfigContext?.editorConfig.resolvedFeatureMap.has('toolbarFixed')) {
122
+ return true;
123
+ } else {
124
+ if (editorFocus.parentEditorFocus) {
125
+ return checkParentEditor(editorFocus.parentEditorFocus);
126
+ }
127
+ }
128
+ }
129
+ return false;
130
+ };
131
+ export function FixedToolbarPlugin({ anchorElem = document.body }) {
132
+ const [currentEditor] = useLexicalComposerContext();
133
+ const { editorConfig: currentEditorConfig, uuid } = useEditorConfigContext();
134
+ const editorFocus = useEditorFocus();
135
+ const editor = editorFocus.focusedEditor || currentEditor;
136
+ const editorConfig = editorFocus.focusedEditorConfigContext?.editorConfig || currentEditorConfig;
137
+ // Check if there is a parent editor with a fixed toolbar already
138
+ const hasParentWithFixedToolbar = checkParentEditor(editorFocus);
139
+ if (hasParentWithFixedToolbar) {
140
+ return null;
141
+ }
142
+ if (!editorConfig?.features?.toolbarFixed?.groups?.length) {
143
+ return null;
144
+ }
145
+ return /*#__PURE__*/ React.createElement(FixedToolbar, {
146
+ anchorElem: anchorElem,
147
+ editor: editor,
148
+ editorConfig: editorConfig
149
+ });
150
+ }
151
+
152
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/field/features/toolbars/fixed/Toolbar/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport * as React from 'react'\n\nimport type { EditorFocusContextType } from '../../../../lexical/EditorFocusProvider.js'\nimport type { SanitizedClientEditorConfig } from '../../../../lexical/config/types.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../types.js'\n\nimport { useEditorFocus } from '../../../../lexical/EditorFocusProvider.js'\nimport { useEditorConfigContext } from '../../../../lexical/config/client/EditorConfigProvider.js'\nimport { ToolbarButton } from '../../shared/ToolbarButton/index.js'\nimport { ToolbarDropdown } from '../../shared/ToolbarDropdown/index.js'\nimport './index.scss'\n\nfunction ButtonGroupItem({\n anchorElem,\n editor,\n item,\n}: {\n anchorElem: HTMLElement\n editor: LexicalEditor\n item: ToolbarGroupItem\n}): React.ReactNode {\n if (item.Component) {\n return (\n item?.Component && (\n <item.Component anchorElem={anchorElem} editor={editor} item={item} key={item.key} />\n )\n )\n }\n\n return (\n <ToolbarButton editor={editor} item={item} key={item.key}>\n {item?.ChildComponent && <item.ChildComponent />}\n </ToolbarButton>\n )\n}\n\nfunction ToolbarGroupComponent({\n anchorElem,\n editor,\n editorConfig,\n group,\n index,\n}: {\n anchorElem: HTMLElement\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n group: ToolbarGroup\n index: number\n}): React.ReactNode {\n const { i18n } = useTranslation()\n\n const [dropdownLabel, setDropdownLabel] = React.useState<null | string>(null)\n const [DropdownIcon, setDropdownIcon] = React.useState<React.FC | null>(null)\n\n React.useEffect(() => {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent)\n } else {\n setDropdownIcon(null)\n }\n }, [group])\n\n const onActiveChange = ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => {\n if (!activeItems.length) {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent)\n setDropdownLabel(null)\n } else {\n setDropdownIcon(null)\n setDropdownLabel(null)\n }\n return\n }\n const item = activeItems[0]\n\n let label = item.key\n if (item.label) {\n label = typeof item.label === 'function' ? item.label({ i18n }) : item.label\n }\n // Crop title to max. 25 characters\n if (label.length > 25) {\n label = label.substring(0, 25) + '...'\n }\n setDropdownLabel(label)\n setDropdownIcon(() => item.ChildComponent)\n }\n\n return (\n <div className={`fixed-toolbar__group fixed-toolbar__group-${group.key}`} key={group.key}>\n {group.type === 'dropdown' &&\n group.items.length &&\n (DropdownIcon ? (\n <ToolbarDropdown\n Icon={DropdownIcon}\n anchorElem={anchorElem}\n editor={editor}\n groupKey={group.key}\n items={group.items}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={1}\n onActiveChange={onActiveChange}\n />\n ) : (\n <ToolbarDropdown\n anchorElem={anchorElem}\n editor={editor}\n groupKey={group.key}\n items={group.items}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={1}\n onActiveChange={onActiveChange}\n />\n ))}\n {group.type === 'buttons' &&\n group.items.length &&\n group.items.map((item) => {\n return (\n <ButtonGroupItem anchorElem={anchorElem} editor={editor} item={item} key={item.key} />\n )\n })}\n {index < editorConfig.features.toolbarFixed?.groups.length - 1 && <div className=\"divider\" />}\n </div>\n )\n}\n\nfunction FixedToolbar({\n anchorElem,\n editor,\n editorConfig,\n}: {\n anchorElem: HTMLElement\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n}): React.ReactNode {\n return (\n <div\n className=\"fixed-toolbar\"\n onFocus={(event) => {\n // Prevent other focus events being triggered. Otherwise, if this was to be clicked while in a child editor,\n // the parent editor will be focused, and the child editor will lose focus.\n event.stopPropagation()\n }}\n >\n {editor.isEditable() && (\n <React.Fragment>\n {editorConfig?.features &&\n editorConfig.features?.toolbarFixed?.groups.map((group, i) => {\n return (\n <ToolbarGroupComponent\n anchorElem={anchorElem}\n editor={editor}\n editorConfig={editorConfig}\n group={group}\n index={i}\n key={group.key}\n />\n )\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n\nconst checkParentEditor = (editorFocus: EditorFocusContextType): boolean => {\n if (editorFocus.parentEditorConfigContext?.editorConfig) {\n if (\n editorFocus.parentEditorConfigContext?.editorConfig.resolvedFeatureMap.has('toolbarFixed')\n ) {\n return true\n } else {\n if (editorFocus.parentEditorFocus) {\n return checkParentEditor(editorFocus.parentEditorFocus)\n }\n }\n }\n return false\n}\n\nexport function FixedToolbarPlugin({\n anchorElem = document.body,\n}: {\n anchorElem?: HTMLElement\n}): React.ReactElement | null {\n const [currentEditor] = useLexicalComposerContext()\n const { editorConfig: currentEditorConfig, uuid } = useEditorConfigContext()\n\n const editorFocus = useEditorFocus()\n const editor = editorFocus.focusedEditor || currentEditor\n\n const editorConfig = editorFocus.focusedEditorConfigContext?.editorConfig || currentEditorConfig\n\n // Check if there is a parent editor with a fixed toolbar already\n const hasParentWithFixedToolbar = checkParentEditor(editorFocus)\n\n if (hasParentWithFixedToolbar) {\n return null\n }\n\n if (!editorConfig?.features?.toolbarFixed?.groups?.length) {\n return null\n }\n\n return <FixedToolbar anchorElem={anchorElem} editor={editor} editorConfig={editorConfig} />\n}\n"],"names":["useLexicalComposerContext","useTranslation","React","useEditorFocus","useEditorConfigContext","ToolbarButton","ToolbarDropdown","ButtonGroupItem","anchorElem","editor","item","Component","key","ChildComponent","ToolbarGroupComponent","editorConfig","group","index","i18n","dropdownLabel","setDropdownLabel","useState","DropdownIcon","setDropdownIcon","useEffect","type","items","length","onActiveChange","activeItems","label","substring","div","className","Icon","groupKey","itemsContainerClassNames","maxActiveItems","map","features","toolbarFixed","groups","FixedToolbar","onFocus","event","stopPropagation","isEditable","Fragment","i","checkParentEditor","editorFocus","parentEditorConfigContext","resolvedFeatureMap","has","parentEditorFocus","FixedToolbarPlugin","document","body","currentEditor","currentEditorConfig","uuid","focusedEditor","focusedEditorConfigContext","hasParentWithFixedToolbar"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,yBAAyB,QAAQ,2CAA0C;AACpF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,YAAYC,WAAW,QAAO;AAM9B,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,sBAAsB,QAAQ,4DAA2D;AAClG,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,OAAO,eAAc;AAErB,SAASC,gBAAgB,EACvBC,UAAU,EACVC,MAAM,EACNC,IAAI,EAKL;IACC,IAAIA,KAAKC,SAAS,EAAE;QAClB,OACED,MAAMC,2BACJ,oBAACD,KAAKC,SAAS;YAACH,YAAYA;YAAYC,QAAQA;YAAQC,MAAMA;YAAME,KAAKF,KAAKE,GAAG;;IAGvF;IAEA,qBACE,oBAACP;QAAcI,QAAQA;QAAQC,MAAMA;QAAME,KAAKF,KAAKE,GAAG;OACrDF,MAAMG,gCAAkB,oBAACH,KAAKG,cAAc;AAGnD;AAEA,SAASC,sBAAsB,EAC7BN,UAAU,EACVC,MAAM,EACNM,YAAY,EACZC,KAAK,EACLC,KAAK,EAON;IACC,MAAM,EAAEC,IAAI,EAAE,GAAGjB;IAEjB,MAAM,CAACkB,eAAeC,iBAAiB,GAAGlB,MAAMmB,QAAQ,CAAgB;IACxE,MAAM,CAACC,cAAcC,gBAAgB,GAAGrB,MAAMmB,QAAQ,CAAkB;IAExEnB,MAAMsB,SAAS,CAAC;QACd,IAAIR,OAAOS,SAAS,cAAcT,MAAMU,KAAK,CAACC,MAAM,IAAIX,MAAMH,cAAc,EAAE;YAC5EU,gBAAgB,IAAMP,MAAMH,cAAc;QAC5C,OAAO;YACLU,gBAAgB;QAClB;IACF,GAAG;QAACP;KAAM;IAEV,MAAMY,iBAAiB,CAAC,EAAEC,WAAW,EAAuC;QAC1E,IAAI,CAACA,YAAYF,MAAM,EAAE;YACvB,IAAIX,OAAOS,SAAS,cAAcT,MAAMU,KAAK,CAACC,MAAM,IAAIX,MAAMH,cAAc,EAAE;gBAC5EU,gBAAgB,IAAMP,MAAMH,cAAc;gBAC1CO,iBAAiB;YACnB,OAAO;gBACLG,gBAAgB;gBAChBH,iBAAiB;YACnB;YACA;QACF;QACA,MAAMV,OAAOmB,WAAW,CAAC,EAAE;QAE3B,IAAIC,QAAQpB,KAAKE,GAAG;QACpB,IAAIF,KAAKoB,KAAK,EAAE;YACdA,QAAQ,OAAOpB,KAAKoB,KAAK,KAAK,aAAapB,KAAKoB,KAAK,CAAC;gBAAEZ;YAAK,KAAKR,KAAKoB,KAAK;QAC9E;QACA,mCAAmC;QACnC,IAAIA,MAAMH,MAAM,GAAG,IAAI;YACrBG,QAAQA,MAAMC,SAAS,CAAC,GAAG,MAAM;QACnC;QACAX,iBAAiBU;QACjBP,gBAAgB,IAAMb,KAAKG,cAAc;IAC3C;IAEA,qBACE,oBAACmB;QAAIC,WAAW,CAAC,0CAA0C,EAAEjB,MAAMJ,GAAG,CAAC,CAAC;QAAEA,KAAKI,MAAMJ,GAAG;OACrFI,MAAMS,IAAI,KAAK,cACdT,MAAMU,KAAK,CAACC,MAAM,IACjBL,CAAAA,6BACC,oBAAChB;QACC4B,MAAMZ;QACNd,YAAYA;QACZC,QAAQA;QACR0B,UAAUnB,MAAMJ,GAAG;QACnBc,OAAOV,MAAMU,KAAK;QAClBU,0BAA0B;YAAC;SAAgC;QAC3DN,OAAOX;QACPkB,gBAAgB;QAChBT,gBAAgBA;uBAGlB,oBAACtB;QACCE,YAAYA;QACZC,QAAQA;QACR0B,UAAUnB,MAAMJ,GAAG;QACnBc,OAAOV,MAAMU,KAAK;QAClBU,0BAA0B;YAAC;SAAgC;QAC3DN,OAAOX;QACPkB,gBAAgB;QAChBT,gBAAgBA;MAEpB,GACDZ,MAAMS,IAAI,KAAK,aACdT,MAAMU,KAAK,CAACC,MAAM,IAClBX,MAAMU,KAAK,CAACY,GAAG,CAAC,CAAC5B;QACf,qBACE,oBAACH;YAAgBC,YAAYA;YAAYC,QAAQA;YAAQC,MAAMA;YAAME,KAAKF,KAAKE,GAAG;;IAEtF,IACDK,QAAQF,aAAawB,QAAQ,CAACC,YAAY,EAAEC,OAAOd,SAAS,mBAAK,oBAACK;QAAIC,WAAU;;AAGvF;AAEA,SAASS,aAAa,EACpBlC,UAAU,EACVC,MAAM,EACNM,YAAY,EAKb;IACC,qBACE,oBAACiB;QACCC,WAAU;QACVU,SAAS,CAACC;YACR,4GAA4G;YAC5G,2EAA2E;YAC3EA,MAAMC,eAAe;QACvB;OAECpC,OAAOqC,UAAU,oBAChB,oBAAC5C,MAAM6C,QAAQ,QACZhC,cAAcwB,YACbxB,aAAawB,QAAQ,EAAEC,cAAcC,OAAOH,IAAI,CAACtB,OAAOgC;QACtD,qBACE,oBAAClC;YACCN,YAAYA;YACZC,QAAQA;YACRM,cAAcA;YACdC,OAAOA;YACPC,OAAO+B;YACPpC,KAAKI,MAAMJ,GAAG;;IAGpB;AAKZ;AAEA,MAAMqC,oBAAoB,CAACC;IACzB,IAAIA,YAAYC,yBAAyB,EAAEpC,cAAc;QACvD,IACEmC,YAAYC,yBAAyB,EAAEpC,aAAaqC,mBAAmBC,IAAI,iBAC3E;YACA,OAAO;QACT,OAAO;YACL,IAAIH,YAAYI,iBAAiB,EAAE;gBACjC,OAAOL,kBAAkBC,YAAYI,iBAAiB;YACxD;QACF;IACF;IACA,OAAO;AACT;AAEA,OAAO,SAASC,mBAAmB,EACjC/C,aAAagD,SAASC,IAAI,EAG3B;IACC,MAAM,CAACC,cAAc,GAAG1D;IACxB,MAAM,EAAEe,cAAc4C,mBAAmB,EAAEC,IAAI,EAAE,GAAGxD;IAEpD,MAAM8C,cAAc/C;IACpB,MAAMM,SAASyC,YAAYW,aAAa,IAAIH;IAE5C,MAAM3C,eAAemC,YAAYY,0BAA0B,EAAE/C,gBAAgB4C;IAE7E,iEAAiE;IACjE,MAAMI,4BAA4Bd,kBAAkBC;IAEpD,IAAIa,2BAA2B;QAC7B,OAAO;IACT;IAEA,IAAI,CAAChD,cAAcwB,UAAUC,cAAcC,QAAQd,QAAQ;QACzD,OAAO;IACT;IAEA,qBAAO,oBAACe;QAAalC,YAAYA;QAAYC,QAAQA;QAAQM,cAAcA;;AAC7E"}