@payloadcms/richtext-lexical 3.0.0-canary.a5aaf21 → 3.0.0-canary.a7293f6

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 (277) hide show
  1. package/dist/cell/index.js +1 -1
  2. package/dist/cell/index.js.map +1 -1
  3. package/dist/exports/client/Field-ETCEVZLL.js +2 -0
  4. package/dist/exports/client/Field-ETCEVZLL.js.map +7 -0
  5. package/dist/exports/client/RelationshipComponent-FTWR5YDX.js +2 -0
  6. package/dist/exports/client/RelationshipComponent-FTWR5YDX.js.map +7 -0
  7. package/dist/exports/client/bundled.css +1 -1
  8. package/dist/exports/client/{chunk-PY6JO5OH.js → chunk-32KXGBIQ.js} +2 -2
  9. package/dist/exports/client/{chunk-PY6JO5OH.js.map → chunk-32KXGBIQ.js.map} +2 -2
  10. package/dist/exports/client/chunk-6LZZDOEO.js +2 -0
  11. package/dist/exports/client/chunk-6LZZDOEO.js.map +7 -0
  12. package/dist/exports/client/{chunk-TXEIKM77.js → chunk-GD6LBQBJ.js} +2 -2
  13. package/dist/exports/client/chunk-GD6LBQBJ.js.map +7 -0
  14. package/dist/exports/client/{chunk-GK7ZKYHL.js → chunk-IIWHHN4J.js} +2 -2
  15. package/dist/exports/client/chunk-IIWHHN4J.js.map +7 -0
  16. package/dist/exports/client/{chunk-GTKNWSQW.js → chunk-QZNJUROL.js} +2 -2
  17. package/dist/exports/client/{chunk-GTKNWSQW.js.map → chunk-QZNJUROL.js.map} +2 -2
  18. package/dist/exports/client/chunk-WAMTSCVM.js +2 -0
  19. package/dist/exports/client/{chunk-F5DIILW3.js.map → chunk-WAMTSCVM.js.map} +2 -2
  20. package/dist/exports/client/{chunk-PECDZEZY.js → chunk-XCEM47RI.js} +2 -2
  21. package/dist/exports/client/{chunk-PECDZEZY.js.map → chunk-XCEM47RI.js.map} +2 -2
  22. package/dist/exports/client/component-6PBZ2U3Z.js +2 -0
  23. package/dist/exports/client/component-6PBZ2U3Z.js.map +7 -0
  24. package/dist/exports/client/component-6Y2K2RNP.js +2 -0
  25. package/dist/exports/client/component-6Y2K2RNP.js.map +7 -0
  26. package/dist/exports/client/component-ANB7VZLA.js +2 -0
  27. package/dist/exports/client/component-ANB7VZLA.js.map +7 -0
  28. package/dist/exports/client/componentInline-NUDJIIQ4.js +2 -0
  29. package/dist/exports/client/componentInline-NUDJIIQ4.js.map +7 -0
  30. package/dist/exports/client/index.d.ts +1 -0
  31. package/dist/exports/client/index.d.ts.map +1 -1
  32. package/dist/exports/client/index.js +7 -7
  33. package/dist/exports/client/index.js.map +4 -4
  34. package/dist/features/blockquote/markdownTransformer.js.map +1 -1
  35. package/dist/features/blockquote/server/index.d.ts +1 -1
  36. package/dist/features/blockquote/server/index.d.ts.map +1 -1
  37. package/dist/features/blocks/client/component/BlockContent.js +5 -4
  38. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  39. package/dist/features/blocks/client/component/index.d.ts +1 -1
  40. package/dist/features/blocks/client/component/index.d.ts.map +1 -1
  41. package/dist/features/blocks/client/component/index.js +3 -3
  42. package/dist/features/blocks/client/component/index.js.map +1 -1
  43. package/dist/features/blocks/client/componentInline/index.d.ts +1 -1
  44. package/dist/features/blocks/client/componentInline/index.d.ts.map +1 -1
  45. package/dist/features/blocks/client/componentInline/index.js +14 -11
  46. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  47. package/dist/features/blocks/client/index.d.ts +1 -1
  48. package/dist/features/blocks/client/index.d.ts.map +1 -1
  49. package/dist/features/blocks/client/index.js +21 -11
  50. package/dist/features/blocks/client/index.js.map +1 -1
  51. package/dist/features/blocks/client/nodes/BlocksNode.d.ts +2 -2
  52. package/dist/features/blocks/client/nodes/BlocksNode.d.ts.map +1 -1
  53. package/dist/features/blocks/client/nodes/BlocksNode.js.map +1 -1
  54. package/dist/features/blocks/client/plugin/index.d.ts +2 -2
  55. package/dist/features/blocks/client/plugin/index.d.ts.map +1 -1
  56. package/dist/features/blocks/client/plugin/index.js +4 -4
  57. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  58. package/dist/features/blocks/server/index.d.ts.map +1 -1
  59. package/dist/features/blocks/server/index.js +4 -2
  60. package/dist/features/blocks/server/index.js.map +1 -1
  61. package/dist/features/blocks/server/nodes/BlocksNode.d.ts +10 -4
  62. package/dist/features/blocks/server/nodes/BlocksNode.d.ts.map +1 -1
  63. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  64. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts +2 -2
  65. package/dist/features/blocks/server/nodes/InlineBlocksNode.d.ts.map +1 -1
  66. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  67. package/dist/features/blocks/server/validate.js.map +1 -1
  68. package/dist/features/converters/html/converter/index.js +2 -2
  69. package/dist/features/converters/html/converter/index.js.map +1 -1
  70. package/dist/features/converters/html/field/index.js.map +1 -1
  71. package/dist/features/debug/testRecorder/client/plugin/index.js.map +1 -1
  72. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.d.ts.map +1 -1
  73. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +29 -43
  74. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  75. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.d.ts.map +1 -1
  76. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +39 -39
  77. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  78. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +19 -18
  79. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  80. package/dist/features/experimental_table/server/index.js +2 -2
  81. package/dist/features/experimental_table/server/index.js.map +1 -1
  82. package/dist/features/horizontalRule/client/component/index.d.ts +1 -1
  83. package/dist/features/horizontalRule/client/component/index.d.ts.map +1 -1
  84. package/dist/features/horizontalRule/client/component/index.js +12 -9
  85. package/dist/features/horizontalRule/client/component/index.js.map +1 -1
  86. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts +2 -2
  87. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.d.ts.map +1 -1
  88. package/dist/features/horizontalRule/server/nodes/HorizontalRuleNode.js.map +1 -1
  89. package/dist/features/indent/client/index.d.ts.map +1 -1
  90. package/dist/features/indent/client/index.js +2 -1
  91. package/dist/features/indent/client/index.js.map +1 -1
  92. package/dist/features/link/client/index.js +1 -1
  93. package/dist/features/link/client/index.js.map +1 -1
  94. package/dist/features/link/client/plugins/autoLink/index.d.ts +1 -1
  95. package/dist/features/link/client/plugins/autoLink/index.d.ts.map +1 -1
  96. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  97. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  98. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js +3 -7
  99. package/dist/features/link/client/plugins/floatingLinkEditor/LinkEditor/index.js.map +1 -1
  100. package/dist/features/link/nodes/AutoLinkNode.js +2 -2
  101. package/dist/features/link/nodes/AutoLinkNode.js.map +1 -1
  102. package/dist/features/link/nodes/LinkNode.js +11 -7
  103. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  104. package/dist/features/link/nodes/types.d.ts +3 -3
  105. package/dist/features/link/nodes/types.d.ts.map +1 -1
  106. package/dist/features/link/nodes/types.js.map +1 -1
  107. package/dist/features/link/server/baseFields.d.ts +1 -1
  108. package/dist/features/link/server/baseFields.d.ts.map +1 -1
  109. package/dist/features/link/server/baseFields.js +3 -1
  110. package/dist/features/link/server/baseFields.js.map +1 -1
  111. package/dist/features/link/server/index.d.ts.map +1 -1
  112. package/dist/features/link/server/index.js +2 -2
  113. package/dist/features/link/server/index.js.map +1 -1
  114. package/dist/features/link/server/transformExtraFields.d.ts +1 -1
  115. package/dist/features/link/server/transformExtraFields.d.ts.map +1 -1
  116. package/dist/features/link/server/transformExtraFields.js.map +1 -1
  117. package/dist/features/link/server/validate.js.map +1 -1
  118. package/dist/features/lists/shared/markdown.js.map +1 -1
  119. package/dist/features/migrations/lexicalPluginToLexical/converter/index.d.ts.map +1 -1
  120. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js +1 -0
  121. package/dist/features/migrations/lexicalPluginToLexical/converter/index.js.map +1 -1
  122. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +1 -1
  123. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  124. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  125. package/dist/features/migrations/slateToLexical/converter/converters/blockquote/converter.js.map +1 -1
  126. package/dist/features/migrations/slateToLexical/converter/converters/heading/converter.js.map +1 -1
  127. package/dist/features/migrations/slateToLexical/converter/converters/link/converter.js.map +1 -1
  128. package/dist/features/migrations/slateToLexical/converter/converters/listItem/converter.js.map +1 -1
  129. package/dist/features/migrations/slateToLexical/converter/converters/orderedList/converter.js.map +1 -1
  130. package/dist/features/migrations/slateToLexical/converter/converters/unknown/converter.js.map +1 -1
  131. package/dist/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js.map +1 -1
  132. package/dist/features/migrations/slateToLexical/converter/index.d.ts.map +1 -1
  133. package/dist/features/migrations/slateToLexical/converter/index.js +1 -0
  134. package/dist/features/migrations/slateToLexical/converter/index.js.map +1 -1
  135. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts +1 -1
  136. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
  137. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  138. package/dist/features/paragraph/server/index.d.ts +1 -1
  139. package/dist/features/paragraph/server/index.d.ts.map +1 -1
  140. package/dist/features/relationship/client/components/RelationshipComponent.d.ts.map +1 -1
  141. package/dist/features/relationship/client/components/RelationshipComponent.js +18 -13
  142. package/dist/features/relationship/client/components/RelationshipComponent.js.map +1 -1
  143. package/dist/features/relationship/client/drawer/index.js +3 -3
  144. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  145. package/dist/features/relationship/client/plugins/index.js +1 -1
  146. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  147. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js +1 -1
  148. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js.map +1 -1
  149. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts +1 -1
  150. package/dist/features/relationship/server/nodes/RelationshipNode.d.ts.map +1 -1
  151. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  152. package/dist/features/toolbars/fixed/client/Toolbar/index.d.ts.map +1 -1
  153. package/dist/features/toolbars/fixed/client/Toolbar/index.js +40 -41
  154. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  155. package/dist/features/toolbars/inline/client/Toolbar/index.d.ts.map +1 -1
  156. package/dist/features/toolbars/inline/client/Toolbar/index.js +33 -34
  157. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  158. package/dist/features/toolbars/shared/ToolbarButton/index.d.ts.map +1 -1
  159. package/dist/features/toolbars/shared/ToolbarButton/index.js +4 -1
  160. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  161. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js +1 -1
  162. package/dist/features/toolbars/shared/ToolbarDropdown/DropDown.js.map +1 -1
  163. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts +3 -4
  164. package/dist/features/toolbars/shared/ToolbarDropdown/index.d.ts.map +1 -1
  165. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +82 -64
  166. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  167. package/dist/features/toolbars/types.d.ts +21 -11
  168. package/dist/features/toolbars/types.d.ts.map +1 -1
  169. package/dist/features/toolbars/types.js.map +1 -1
  170. package/dist/features/typesServer.d.ts.map +1 -1
  171. package/dist/features/typesServer.js.map +1 -1
  172. package/dist/features/upload/client/component/index.d.ts.map +1 -1
  173. package/dist/features/upload/client/component/index.js +11 -8
  174. package/dist/features/upload/client/component/index.js.map +1 -1
  175. package/dist/features/upload/client/drawer/index.d.ts.map +1 -1
  176. package/dist/features/upload/client/drawer/index.js +2 -0
  177. package/dist/features/upload/client/drawer/index.js.map +1 -1
  178. package/dist/features/upload/client/plugin/index.js +1 -1
  179. package/dist/features/upload/client/plugin/index.js.map +1 -1
  180. package/dist/features/upload/server/feature.server.js +3 -4
  181. package/dist/features/upload/server/feature.server.js.map +1 -1
  182. package/dist/features/upload/server/validate.js.map +1 -1
  183. package/dist/field/Field.d.ts.map +1 -1
  184. package/dist/field/Field.js +11 -11
  185. package/dist/field/Field.js.map +1 -1
  186. package/dist/field/bundled.css +1 -1
  187. package/dist/field/index.js +1 -1
  188. package/dist/field/index.js.map +1 -1
  189. package/dist/index.d.ts.map +1 -1
  190. package/dist/index.js +67 -63
  191. package/dist/index.js.map +1 -1
  192. package/dist/lexical/EditorPlugin.d.ts.map +1 -1
  193. package/dist/lexical/EditorPlugin.js +2 -1
  194. package/dist/lexical/EditorPlugin.js.map +1 -1
  195. package/dist/lexical/LexicalEditor.d.ts +1 -1
  196. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  197. package/dist/lexical/LexicalEditor.js +5 -5
  198. package/dist/lexical/LexicalEditor.js.map +1 -1
  199. package/dist/lexical/config/client/EditorConfigProvider.d.ts +1 -1
  200. package/dist/lexical/config/client/EditorConfigProvider.d.ts.map +1 -1
  201. package/dist/lexical/config/client/EditorConfigProvider.js +8 -7
  202. package/dist/lexical/config/client/EditorConfigProvider.js.map +1 -1
  203. package/dist/lexical/config/client/sanitize.js +2 -2
  204. package/dist/lexical/config/client/sanitize.js.map +1 -1
  205. package/dist/lexical/config/server/loader.js.map +1 -1
  206. package/dist/lexical/config/server/sanitize.d.ts.map +1 -1
  207. package/dist/lexical/config/server/sanitize.js +11 -11
  208. package/dist/lexical/config/server/sanitize.js.map +1 -1
  209. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +2 -2
  210. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  211. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +1 -1
  212. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  213. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js.map +1 -1
  214. package/dist/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  215. package/dist/lexical/plugins/SlashMenu/index.js +9 -6
  216. package/dist/lexical/plugins/SlashMenu/index.js.map +1 -1
  217. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  218. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js +5 -5
  219. package/dist/lexical/plugins/handles/AddBlockHandlePlugin/index.js.map +1 -1
  220. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts +1 -1
  221. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.d.ts.map +1 -1
  222. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +1 -1
  223. package/dist/lexical/plugins/handles/DraggableBlockPlugin/debounce.js.map +1 -1
  224. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +1 -1
  225. package/dist/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js.map +1 -1
  226. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  227. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js +9 -4
  228. package/dist/lexical/plugins/handles/DraggableBlockPlugin/index.js.map +1 -1
  229. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.d.ts.map +1 -1
  230. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js +3 -4
  231. package/dist/lexical/plugins/handles/utils/getNodeCloseToPoint.js.map +1 -1
  232. package/dist/lexical/theme/EditorTheme.d.ts.map +1 -1
  233. package/dist/lexical/theme/EditorTheme.js +1 -0
  234. package/dist/lexical/theme/EditorTheme.js.map +1 -1
  235. package/dist/lexical/utils/rect.d.ts +4 -4
  236. package/dist/lexical/utils/setFloatingElemPosition.d.ts +1 -1
  237. package/dist/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
  238. package/dist/lexical/utils/setFloatingElemPosition.js.map +1 -1
  239. package/dist/populateGraphQL/populate.js +1 -1
  240. package/dist/populateGraphQL/populate.js.map +1 -1
  241. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts +1 -1
  242. package/dist/populateGraphQL/populateLexicalPopulationPromises.d.ts.map +1 -1
  243. package/dist/populateGraphQL/populateLexicalPopulationPromises.js +5 -4
  244. package/dist/populateGraphQL/populateLexicalPopulationPromises.js.map +1 -1
  245. package/dist/populateGraphQL/recursivelyPopulateFieldsForGraphQL.js.map +1 -1
  246. package/dist/utilities/fieldsDrawer/DrawerContent.d.ts.map +1 -1
  247. package/dist/utilities/fieldsDrawer/DrawerContent.js +1 -1
  248. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  249. package/dist/utilities/generateComponentMap.d.ts.map +1 -1
  250. package/dist/utilities/generateComponentMap.js +1 -0
  251. package/dist/utilities/generateComponentMap.js.map +1 -1
  252. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts +1 -1
  253. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.d.ts.map +1 -1
  254. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js +1 -1
  255. package/dist/utilities/migrateSlateToLexical/migrateDocumentFieldsRecursively.js.map +1 -1
  256. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts +1 -1
  257. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.d.ts.map +1 -1
  258. package/dist/utilities/upgradeLexicalData/upgradeDocumentFieldsRecursively.js.map +1 -1
  259. package/dist/validate/validateNodes.d.ts.map +1 -1
  260. package/dist/validate/validateNodes.js +2 -2
  261. package/dist/validate/validateNodes.js.map +1 -1
  262. package/package.json +30 -30
  263. package/dist/exports/client/Field-EL5TNVZW.js +0 -2
  264. package/dist/exports/client/Field-EL5TNVZW.js.map +0 -7
  265. package/dist/exports/client/RelationshipComponent-Z5SZ5FFT.js +0 -2
  266. package/dist/exports/client/RelationshipComponent-Z5SZ5FFT.js.map +0 -7
  267. package/dist/exports/client/chunk-F5DIILW3.js +0 -2
  268. package/dist/exports/client/chunk-GK7ZKYHL.js.map +0 -7
  269. package/dist/exports/client/chunk-TXEIKM77.js.map +0 -7
  270. package/dist/exports/client/component-ATPITPNI.js +0 -2
  271. package/dist/exports/client/component-ATPITPNI.js.map +0 -7
  272. package/dist/exports/client/component-GAX6BHKZ.js +0 -2
  273. package/dist/exports/client/component-GAX6BHKZ.js.map +0 -7
  274. package/dist/exports/client/component-M3ZCPXEG.js +0 -2
  275. package/dist/exports/client/component-M3ZCPXEG.js.map +0 -7
  276. package/dist/exports/client/componentInline-HAGGWKA7.js +0 -2
  277. package/dist/exports/client/componentInline-HAGGWKA7.js.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"DropDown.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","createPortal","baseClass","DropDownContext","createContext","DropDownItem","active","children","editor","enabled","item","title","className","setClassName","key","filter","Boolean","join","ref","dropDownContext","useContext","Error","registerItem","current","_jsx","onClick","_updateTags","Set","focus","onSelect","isActive","onMouseDown","e","preventDefault","type","DropDownItems","dropDownRef","itemsContainerClassNames","onClose","items","setItems","highlightedItem","setHighlightedItem","itemRef","prev","handleKeyDown","event","includes","index","indexOf","length","contextValue","Provider","value","onKeyDown","DropDown","buttonAriaLabel","buttonClassName","disabled","Icon","label","stopCloseOnClickSelf","buttonRef","showDropDown","setShowDropDown","handleClose","button","dropDown","left","top","getBoundingClientRect","scrollTopOffset","window","scrollY","document","documentElement","scrollTop","style","offsetHeight","Math","min","innerWidth","offsetWidth","handle","target","contains","addEventListener","removeEventListener","portal","body","_jsxs","Fragment"],"sources":["../../../../../src/features/toolbars/shared/ToolbarDropdown/DropDown.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport React, { type ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport type { ToolbarGroupItem } from '../../types.js'\n\nconst baseClass = 'toolbar-popup__dropdown-item'\n\ninterface DropDownContextType {\n registerItem: (ref: React.RefObject<HTMLButtonElement | null>) => void\n}\n\nconst DropDownContext = React.createContext<DropDownContextType | null>(null)\n\nexport function DropDownItem({\n active,\n children,\n editor,\n enabled,\n item,\n title,\n}: {\n active?: boolean\n children: React.ReactNode\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n title?: string\n}): React.ReactNode {\n const [className, setClassName] = useState<string>(baseClass)\n\n useEffect(() => {\n setClassName(\n [\n baseClass,\n enabled === false ? 'disabled' : '',\n active ? 'active' : '',\n item?.key ? `${baseClass}-${item.key}` : '',\n ]\n .filter(Boolean)\n .join(' '),\n )\n }, [enabled, active, className, item.key])\n\n const ref = useRef<HTMLButtonElement>(null)\n\n const dropDownContext = React.useContext(DropDownContext)\n\n if (dropDownContext === null) {\n throw new Error('DropDownItem must be used within a DropDown')\n }\n\n const { registerItem } = dropDownContext\n\n useEffect(() => {\n if (ref?.current != null) {\n registerItem(ref)\n }\n }, [ref, registerItem])\n\n return (\n <button\n className={className}\n onClick={() => {\n if (enabled !== false) {\n editor._updateTags = new Set([...editor._updateTags, 'toolbar']) // without setting the tags, our onSelect will not be able to trigger our onChange as focus onChanges are ignored.\n\n editor.focus(() => {\n // We need to wrap the onSelect in the callback, so the editor is properly focused before the onSelect is called.\n item.onSelect({\n editor,\n isActive: active,\n })\n })\n }\n }}\n onMouseDown={(e) => {\n // This is required for Firefox compatibility. Without it, the dropdown will disappear without the onClick being called.\n // This only happens in Firefox. Must be something about how Firefox handles focus events differently.\n e.preventDefault()\n }}\n ref={ref}\n title={title}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n\nfunction DropDownItems({\n children,\n dropDownRef,\n itemsContainerClassNames,\n onClose,\n}: {\n children: React.ReactNode\n dropDownRef: React.Ref<HTMLDivElement>\n itemsContainerClassNames?: string[]\n onClose: () => void\n}): React.ReactElement {\n const [items, setItems] = useState<Array<React.RefObject<HTMLButtonElement | null>>>()\n const [highlightedItem, setHighlightedItem] =\n useState<React.RefObject<HTMLButtonElement | null>>()\n\n const registerItem = useCallback(\n (itemRef: React.RefObject<HTMLButtonElement | null>) => {\n setItems((prev) => (prev != null ? [...prev, itemRef] : [itemRef]))\n },\n [setItems],\n )\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (items == null) {\n return\n }\n\n const { key } = event\n\n if (['ArrowDown', 'ArrowUp', 'Escape', 'Tab'].includes(key)) {\n event.preventDefault()\n }\n\n if (key === 'Escape' || key === 'Tab') {\n onClose()\n } else if (key === 'ArrowUp') {\n setHighlightedItem((prev) => {\n if (prev == null) {\n return items[0]\n }\n const index = items.indexOf(prev) - 1\n return items[index === -1 ? items.length - 1 : index]\n })\n } else if (key === 'ArrowDown') {\n setHighlightedItem((prev) => {\n if (prev == null) {\n return items[0]\n }\n return items[items.indexOf(prev) + 1]\n })\n }\n }\n\n const contextValue = useMemo(\n () => ({\n registerItem,\n }),\n [registerItem],\n )\n\n useEffect(() => {\n if (items != null && highlightedItem == null) {\n setHighlightedItem(items[0])\n }\n\n if (highlightedItem != null && highlightedItem?.current != null) {\n highlightedItem.current.focus()\n }\n }, [items, highlightedItem])\n\n return (\n <DropDownContext.Provider value={contextValue}>\n <div\n className={(itemsContainerClassNames ?? ['toolbar-popup__dropdown-items']).join(' ')}\n onKeyDown={handleKeyDown}\n ref={dropDownRef}\n >\n {children}\n </div>\n </DropDownContext.Provider>\n )\n}\n\nexport function DropDown({\n buttonAriaLabel,\n buttonClassName,\n children,\n disabled = false,\n Icon,\n itemsContainerClassNames,\n label,\n stopCloseOnClickSelf,\n}: {\n buttonAriaLabel?: string\n buttonClassName: string\n children: ReactNode\n disabled?: boolean\n Icon?: React.FC\n itemsContainerClassNames?: string[]\n label?: string\n stopCloseOnClickSelf?: boolean\n}): React.ReactNode {\n const dropDownRef = useRef<HTMLDivElement>(null)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const [showDropDown, setShowDropDown] = useState(false)\n\n const handleClose = (): void => {\n setShowDropDown(false)\n if (buttonRef?.current != null) {\n buttonRef.current.focus()\n }\n }\n\n useEffect(() => {\n const button = buttonRef.current\n const dropDown = dropDownRef.current\n\n if (showDropDown && button !== null && dropDown !== null) {\n const { left, top } = button.getBoundingClientRect()\n const scrollTopOffset = window.scrollY || document.documentElement.scrollTop\n dropDown.style.top = `${top + scrollTopOffset + button.offsetHeight + 5}px`\n dropDown.style.left = `${Math.min(left - 5, window.innerWidth - dropDown.offsetWidth - 20)}px`\n }\n }, [dropDownRef, buttonRef, showDropDown])\n\n useEffect(() => {\n const button = buttonRef.current\n\n if (button !== null && showDropDown) {\n const handle = (event: MouseEvent): void => {\n const { target } = event\n if (stopCloseOnClickSelf != null) {\n if (dropDownRef.current != null && dropDownRef.current.contains(target as Node)) {\n return\n }\n }\n if (!button.contains(target as Node)) {\n setShowDropDown(false)\n }\n }\n document.addEventListener('click', handle)\n\n return () => {\n document.removeEventListener('click', handle)\n }\n }\n }, [dropDownRef, buttonRef, showDropDown, stopCloseOnClickSelf])\n\n const portal = createPortal(\n <DropDownItems\n dropDownRef={dropDownRef}\n itemsContainerClassNames={itemsContainerClassNames}\n onClose={handleClose}\n >\n {children}\n </DropDownItems>,\n document.body,\n )\n\n return (\n <React.Fragment>\n <button\n aria-label={buttonAriaLabel}\n className={buttonClassName + (showDropDown ? ' active' : '')}\n disabled={disabled}\n onClick={(event) => {\n event.preventDefault()\n setShowDropDown(!showDropDown)\n }}\n onMouseDown={(e) => {\n // This fixes a bug where you are unable to click the button if you are in a NESTED editor (editor in blocks field in editor).\n // Thus only happens if you click on the SVG of the button. Clicking on the outside works. Related issue: https://github.com/payloadcms/payload/issues/4025\n // TODO: Find out why exactly it happens and why e.preventDefault() on the mouseDown fixes it. Write that down here, or potentially fix a root cause, if there is any.\n e.preventDefault()\n }}\n ref={buttonRef}\n type=\"button\"\n >\n {Icon && <Icon />}\n {label && <span className=\"toolbar-popup__dropdown-label\">{label}</span>}\n <i className=\"toolbar-popup__dropdown-caret\" />\n </button>\n\n {showDropDown && <React.Fragment>{portal}</React.Fragment>}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DropDown.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","createPortal","baseClass","DropDownContext","createContext","DropDownItem","active","children","editor","enabled","item","title","className","setClassName","key","filter","Boolean","join","ref","dropDownContext","useContext","Error","registerItem","current","_jsx","onClick","_updateTags","Set","focus","onSelect","isActive","onMouseDown","e","preventDefault","type","DropDownItems","dropDownRef","itemsContainerClassNames","onClose","items","setItems","highlightedItem","setHighlightedItem","itemRef","prev","handleKeyDown","event","includes","index","indexOf","length","contextValue","Provider","value","onKeyDown","DropDown","buttonAriaLabel","buttonClassName","disabled","Icon","label","stopCloseOnClickSelf","buttonRef","showDropDown","setShowDropDown","handleClose","button","dropDown","left","top","getBoundingClientRect","scrollTopOffset","window","scrollY","document","documentElement","scrollTop","style","offsetHeight","Math","min","innerWidth","offsetWidth","handle","target","contains","addEventListener","removeEventListener","portal","body","_jsxs","Fragment"],"sources":["../../../../../src/features/toolbars/shared/ToolbarDropdown/DropDown.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport React, { type ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport type { ToolbarGroupItem } from '../../types.js'\n\nconst baseClass = 'toolbar-popup__dropdown-item'\n\ninterface DropDownContextType {\n registerItem: (ref: React.RefObject<HTMLButtonElement | null>) => void\n}\n\nconst DropDownContext = React.createContext<DropDownContextType | null>(null)\n\nexport function DropDownItem({\n active,\n children,\n editor,\n enabled,\n item,\n title,\n}: {\n active?: boolean\n children: React.ReactNode\n editor: LexicalEditor\n enabled?: boolean\n item: ToolbarGroupItem\n title?: string\n}): React.ReactNode {\n const [className, setClassName] = useState<string>(baseClass)\n\n useEffect(() => {\n setClassName(\n [\n baseClass,\n enabled === false ? 'disabled' : '',\n active ? 'active' : '',\n item?.key ? `${baseClass}-${item.key}` : '',\n ]\n .filter(Boolean)\n .join(' '),\n )\n }, [enabled, active, className, item.key])\n\n const ref = useRef<HTMLButtonElement>(null)\n\n const dropDownContext = React.useContext(DropDownContext)\n\n if (dropDownContext === null) {\n throw new Error('DropDownItem must be used within a DropDown')\n }\n\n const { registerItem } = dropDownContext\n\n useEffect(() => {\n if (ref?.current != null) {\n registerItem(ref)\n }\n }, [ref, registerItem])\n\n return (\n <button\n className={className}\n onClick={() => {\n if (enabled !== false) {\n editor._updateTags = new Set([...editor._updateTags, 'toolbar']) // without setting the tags, our onSelect will not be able to trigger our onChange as focus onChanges are ignored.\n\n editor.focus(() => {\n // We need to wrap the onSelect in the callback, so the editor is properly focused before the onSelect is called.\n item.onSelect?.({\n editor,\n isActive: active!,\n })\n })\n }\n }}\n onMouseDown={(e) => {\n // This is required for Firefox compatibility. Without it, the dropdown will disappear without the onClick being called.\n // This only happens in Firefox. Must be something about how Firefox handles focus events differently.\n e.preventDefault()\n }}\n ref={ref}\n title={title}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n\nfunction DropDownItems({\n children,\n dropDownRef,\n itemsContainerClassNames,\n onClose,\n}: {\n children: React.ReactNode\n dropDownRef: React.Ref<HTMLDivElement>\n itemsContainerClassNames?: string[]\n onClose: () => void\n}): React.ReactElement {\n const [items, setItems] = useState<Array<React.RefObject<HTMLButtonElement | null>>>()\n const [highlightedItem, setHighlightedItem] =\n useState<React.RefObject<HTMLButtonElement | null>>()\n\n const registerItem = useCallback(\n (itemRef: React.RefObject<HTMLButtonElement | null>) => {\n setItems((prev) => (prev != null ? [...prev, itemRef] : [itemRef]))\n },\n [setItems],\n )\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (items == null) {\n return\n }\n\n const { key } = event\n\n if (['ArrowDown', 'ArrowUp', 'Escape', 'Tab'].includes(key)) {\n event.preventDefault()\n }\n\n if (key === 'Escape' || key === 'Tab') {\n onClose()\n } else if (key === 'ArrowUp') {\n setHighlightedItem((prev) => {\n if (prev == null) {\n return items[0]\n }\n const index = items.indexOf(prev) - 1\n return items[index === -1 ? items.length - 1 : index]\n })\n } else if (key === 'ArrowDown') {\n setHighlightedItem((prev) => {\n if (prev == null) {\n return items[0]\n }\n return items[items.indexOf(prev) + 1]\n })\n }\n }\n\n const contextValue = useMemo(\n () => ({\n registerItem,\n }),\n [registerItem],\n )\n\n useEffect(() => {\n if (items != null && highlightedItem == null) {\n setHighlightedItem(items[0])\n }\n\n if (highlightedItem != null && highlightedItem?.current != null) {\n highlightedItem.current.focus()\n }\n }, [items, highlightedItem])\n\n return (\n <DropDownContext.Provider value={contextValue}>\n <div\n className={(itemsContainerClassNames ?? ['toolbar-popup__dropdown-items']).join(' ')}\n onKeyDown={handleKeyDown}\n ref={dropDownRef}\n >\n {children}\n </div>\n </DropDownContext.Provider>\n )\n}\n\nexport function DropDown({\n buttonAriaLabel,\n buttonClassName,\n children,\n disabled = false,\n Icon,\n itemsContainerClassNames,\n label,\n stopCloseOnClickSelf,\n}: {\n buttonAriaLabel?: string\n buttonClassName: string\n children: ReactNode\n disabled?: boolean\n Icon?: React.FC\n itemsContainerClassNames?: string[]\n label?: string\n stopCloseOnClickSelf?: boolean\n}): React.ReactNode {\n const dropDownRef = useRef<HTMLDivElement>(null)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const [showDropDown, setShowDropDown] = useState(false)\n\n const handleClose = (): void => {\n setShowDropDown(false)\n if (buttonRef?.current != null) {\n buttonRef.current.focus()\n }\n }\n\n useEffect(() => {\n const button = buttonRef.current\n const dropDown = dropDownRef.current\n\n if (showDropDown && button !== null && dropDown !== null) {\n const { left, top } = button.getBoundingClientRect()\n const scrollTopOffset = window.scrollY || document.documentElement.scrollTop\n dropDown.style.top = `${top + scrollTopOffset + button.offsetHeight + 5}px`\n dropDown.style.left = `${Math.min(left - 5, window.innerWidth - dropDown.offsetWidth - 20)}px`\n }\n }, [dropDownRef, buttonRef, showDropDown])\n\n useEffect(() => {\n const button = buttonRef.current\n\n if (button !== null && showDropDown) {\n const handle = (event: MouseEvent): void => {\n const { target } = event\n if (stopCloseOnClickSelf != null) {\n if (dropDownRef.current != null && dropDownRef.current.contains(target as Node)) {\n return\n }\n }\n if (!button.contains(target as Node)) {\n setShowDropDown(false)\n }\n }\n document.addEventListener('click', handle)\n\n return () => {\n document.removeEventListener('click', handle)\n }\n }\n }, [dropDownRef, buttonRef, showDropDown, stopCloseOnClickSelf])\n\n const portal = createPortal(\n <DropDownItems\n dropDownRef={dropDownRef}\n itemsContainerClassNames={itemsContainerClassNames}\n onClose={handleClose}\n >\n {children}\n </DropDownItems>,\n document.body,\n )\n\n return (\n <React.Fragment>\n <button\n aria-label={buttonAriaLabel}\n className={buttonClassName + (showDropDown ? ' active' : '')}\n disabled={disabled}\n onClick={(event) => {\n event.preventDefault()\n setShowDropDown(!showDropDown)\n }}\n onMouseDown={(e) => {\n // This fixes a bug where you are unable to click the button if you are in a NESTED editor (editor in blocks field in editor).\n // Thus only happens if you click on the SVG of the button. Clicking on the outside works. Related issue: https://github.com/payloadcms/payload/issues/4025\n // TODO: Find out why exactly it happens and why e.preventDefault() on the mouseDown fixes it. Write that down here, or potentially fix a root cause, if there is any.\n e.preventDefault()\n }}\n ref={buttonRef}\n type=\"button\"\n >\n {Icon && <Icon />}\n {label && <span className=\"toolbar-popup__dropdown-label\">{label}</span>}\n <i className=\"toolbar-popup__dropdown-caret\" />\n </button>\n\n {showDropDown && <React.Fragment>{portal}</React.Fragment>}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,13 @@
1
1
  import React from 'react';
2
2
  import type { LexicalEditor } from 'lexical';
3
- import type { ToolbarGroupItem } from '../../types.js';
3
+ import type { ToolbarDropdownGroup, ToolbarGroupItem } from '../../types.js';
4
4
  import './index.scss';
5
- export declare const ToolbarDropdown: ({ anchorElem, classNames, editor, groupKey, Icon, items, itemsContainerClassNames, label, maxActiveItems, onActiveChange, }: {
5
+ export declare const ToolbarDropdown: ({ anchorElem, classNames, editor, group, Icon, itemsContainerClassNames, label, maxActiveItems, onActiveChange, }: {
6
6
  anchorElem: HTMLElement;
7
7
  classNames?: string[];
8
8
  editor: LexicalEditor;
9
- groupKey: string;
9
+ group: ToolbarDropdownGroup;
10
10
  Icon?: React.FC;
11
- items: ToolbarGroupItem[];
12
11
  itemsContainerClassNames?: string[];
13
12
  label?: string;
14
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/toolbars/shared/ToolbarDropdown/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAIrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAM5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAItD,OAAO,cAAc,CAAA;AAqDrB,eAAO,MAAM,eAAe,gIAWzB;IACD,UAAU,EAAE,WAAW,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACf,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE;QAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;CAChF,sBA6EA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/toolbars/shared/ToolbarDropdown/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAA;AAIrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAM5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAI5E,OAAO,cAAc,CAAA;AAqDrB,eAAO,MAAM,eAAe,sHAUzB;IACD,UAAU,EAAE,WAAW,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,aAAa,CAAA;IACrB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACf,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE;QAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;CAChF,sBAsFA,CAAA"}
@@ -101,14 +101,13 @@ const ToolbarItem = t0 => {
101
101
  return t3;
102
102
  };
103
103
  export const ToolbarDropdown = t0 => {
104
- const $ = _c(40);
104
+ const $ = _c(42);
105
105
  const {
106
106
  anchorElem,
107
107
  classNames,
108
108
  editor,
109
- groupKey,
109
+ group,
110
110
  Icon,
111
- items,
112
111
  itemsContainerClassNames,
113
112
  label,
114
113
  maxActiveItems,
@@ -130,12 +129,20 @@ export const ToolbarDropdown = t0 => {
130
129
  t2 = $[1];
131
130
  }
132
131
  const [enabledItemKeys, setEnabledItemKeys] = React.useState(t2);
132
+ const [enabledGroup, setEnabledGroup] = React.useState(true);
133
133
  const editorConfigContext = useEditorConfigContext();
134
+ const {
135
+ items,
136
+ key: groupKey
137
+ } = group;
134
138
  let t3;
135
- if ($[2] !== editor || $[3] !== items || $[4] !== maxActiveItems || $[5] !== editorConfigContext || $[6] !== onActiveChange) {
139
+ if ($[2] !== editor || $[3] !== items || $[4] !== maxActiveItems || $[5] !== editorConfigContext || $[6] !== group || $[7] !== onActiveChange) {
136
140
  t3 = () => {
137
141
  editor.getEditorState().read(() => {
138
142
  const selection = $getSelection();
143
+ if (!selection) {
144
+ return;
145
+ }
139
146
  const _activeItemKeys = [];
140
147
  const _activeItems = [];
141
148
  const _enabledItemKeys = [];
@@ -164,6 +171,13 @@ export const ToolbarDropdown = t0 => {
164
171
  _enabledItemKeys.push(item.key);
165
172
  }
166
173
  }
174
+ if (group.isEnabled) {
175
+ setEnabledGroup(group.isEnabled({
176
+ editor,
177
+ editorConfigContext,
178
+ selection
179
+ }));
180
+ }
167
181
  setActiveItemKeys(_activeItemKeys);
168
182
  setEnabledItemKeys(_enabledItemKeys);
169
183
  if (onActiveChange) {
@@ -177,114 +191,118 @@ export const ToolbarDropdown = t0 => {
177
191
  $[3] = items;
178
192
  $[4] = maxActiveItems;
179
193
  $[5] = editorConfigContext;
180
- $[6] = onActiveChange;
181
- $[7] = t3;
194
+ $[6] = group;
195
+ $[7] = onActiveChange;
196
+ $[8] = t3;
182
197
  } else {
183
- t3 = $[7];
198
+ t3 = $[8];
184
199
  }
185
200
  const updateStates = t3;
186
201
  let t4;
187
202
  let t5;
188
- if ($[8] !== updateStates) {
203
+ if ($[9] !== updateStates) {
189
204
  t4 = () => {
190
205
  updateStates();
191
206
  };
192
207
  t5 = [updateStates];
193
- $[8] = updateStates;
194
- $[9] = t4;
195
- $[10] = t5;
208
+ $[9] = updateStates;
209
+ $[10] = t4;
210
+ $[11] = t5;
196
211
  } else {
197
- t4 = $[9];
198
- t5 = $[10];
212
+ t4 = $[10];
213
+ t5 = $[11];
199
214
  }
200
215
  useEffect(t4, t5);
201
216
  let t6;
202
217
  let t7;
203
- if ($[11] !== editor || $[12] !== updateStates) {
218
+ if ($[12] !== editor || $[13] !== updateStates) {
204
219
  t6 = () => mergeRegister(editor.registerUpdateListener(() => {
205
220
  updateStates();
206
221
  }));
207
222
  t7 = [editor, updateStates];
208
- $[11] = editor;
209
- $[12] = updateStates;
210
- $[13] = t6;
211
- $[14] = t7;
223
+ $[12] = editor;
224
+ $[13] = updateStates;
225
+ $[14] = t6;
226
+ $[15] = t7;
212
227
  } else {
213
- t6 = $[13];
214
- t7 = $[14];
228
+ t6 = $[14];
229
+ t7 = $[15];
215
230
  }
216
231
  useEffect(t6, t7);
217
232
  const t8 = `${groupKey} dropdown`;
218
233
  const t9 = `${baseClass}-${groupKey}`;
219
234
  let t10;
220
- if ($[15] !== classNames) {
235
+ if ($[16] !== classNames) {
221
236
  t10 = classNames || [];
222
- $[15] = classNames;
223
- $[16] = t10;
237
+ $[16] = classNames;
238
+ $[17] = t10;
224
239
  } else {
225
- t10 = $[16];
240
+ t10 = $[17];
226
241
  }
227
242
  let t11;
228
- if ($[17] !== t9 || $[18] !== t10) {
243
+ if ($[18] !== t9 || $[19] !== t10) {
229
244
  t11 = [baseClass, t9, ...t10].filter(Boolean);
230
- $[17] = t9;
231
- $[18] = t10;
232
- $[19] = t11;
245
+ $[18] = t9;
246
+ $[19] = t10;
247
+ $[20] = t11;
233
248
  } else {
234
- t11 = $[19];
249
+ t11 = $[20];
235
250
  }
236
251
  const t12 = t11.join(" ");
237
- let t13;
238
- if ($[20] !== itemsContainerClassNames) {
239
- t13 = itemsContainerClassNames || [];
240
- $[20] = itemsContainerClassNames;
241
- $[21] = t13;
252
+ const t13 = !enabledGroup;
253
+ let t14;
254
+ if ($[21] !== itemsContainerClassNames) {
255
+ t14 = itemsContainerClassNames || [];
256
+ $[21] = itemsContainerClassNames;
257
+ $[22] = t14;
242
258
  } else {
243
- t13 = $[21];
259
+ t14 = $[22];
244
260
  }
245
- let t14;
246
- if ($[22] !== t13 || $[23] !== items || $[24] !== activeItemKeys || $[25] !== anchorElem || $[26] !== editor || $[27] !== enabledItemKeys || $[28] !== t8 || $[29] !== t12 || $[30] !== Icon || $[31] !== label || $[32] !== groupKey) {
247
- let t15;
248
- if ($[34] !== items || $[35] !== activeItemKeys || $[36] !== anchorElem || $[37] !== editor || $[38] !== enabledItemKeys) {
249
- t15 = items.length && items.map(item_0 => _jsx(ToolbarItem, {
261
+ let t15;
262
+ 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) {
263
+ let t16;
264
+ if ($[36] !== items || $[37] !== activeItemKeys || $[38] !== anchorElem || $[39] !== editor || $[40] !== enabledItemKeys) {
265
+ t16 = items.length && items.map(item_0 => _jsx(ToolbarItem, {
250
266
  active: activeItemKeys.includes(item_0.key),
251
267
  anchorElem,
252
268
  editor,
253
269
  enabled: enabledItemKeys.includes(item_0.key),
254
270
  item: item_0
255
271
  }, item_0.key));
256
- $[34] = items;
257
- $[35] = activeItemKeys;
258
- $[36] = anchorElem;
259
- $[37] = editor;
260
- $[38] = enabledItemKeys;
261
- $[39] = t15;
272
+ $[36] = items;
273
+ $[37] = activeItemKeys;
274
+ $[38] = anchorElem;
275
+ $[39] = editor;
276
+ $[40] = enabledItemKeys;
277
+ $[41] = t16;
262
278
  } else {
263
- t15 = $[39];
279
+ t16 = $[41];
264
280
  }
265
- t14 = _jsx(DropDown, {
281
+ t15 = _jsx(DropDown, {
266
282
  buttonAriaLabel: t8,
267
283
  buttonClassName: t12,
284
+ disabled: t13,
268
285
  Icon,
269
- itemsContainerClassNames: [`${baseClass}-items`, ...t13],
286
+ itemsContainerClassNames: [`${baseClass}-items`, ...t14],
270
287
  label,
271
- children: t15
288
+ children: t16
272
289
  }, groupKey);
273
- $[22] = t13;
274
- $[23] = items;
275
- $[24] = activeItemKeys;
276
- $[25] = anchorElem;
277
- $[26] = editor;
278
- $[27] = enabledItemKeys;
279
- $[28] = t8;
280
- $[29] = t12;
281
- $[30] = Icon;
282
- $[31] = label;
283
- $[32] = groupKey;
284
- $[33] = t14;
290
+ $[23] = t14;
291
+ $[24] = items;
292
+ $[25] = activeItemKeys;
293
+ $[26] = anchorElem;
294
+ $[27] = editor;
295
+ $[28] = enabledItemKeys;
296
+ $[29] = t8;
297
+ $[30] = t12;
298
+ $[31] = t13;
299
+ $[32] = Icon;
300
+ $[33] = label;
301
+ $[34] = groupKey;
302
+ $[35] = t15;
285
303
  } else {
286
- t14 = $[33];
304
+ t15 = $[35];
287
305
  }
288
- return t14;
306
+ return t15;
289
307
  };
290
308
  //# 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","classNames","groupKey","Icon","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","registerUpdateListener","t8","t9","t10","t11","filter","Boolean","t12","join","t13","t14","t15","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 anchorElem,\n classNames,\n editor,\n groupKey,\n Icon,\n items,\n itemsContainerClassNames,\n label,\n maxActiveItems,\n onActiveChange,\n}: {\n anchorElem: HTMLElement\n classNames?: string[]\n editor: LexicalEditor\n groupKey: string\n Icon?: React.FC\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 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 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":[]}
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","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 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 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,20 @@ 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
+ export type ToolbarGroup = ToolbarButtonsGroup | ToolbarDropdownGroup;
6
+ export type ToolbarDropdownGroup = {
7
+ /**
8
+ * The dropdown toolbar ChildComponent allows you to pass in a React Component which will be displayed within the dropdown button.
9
+ */
10
+ ChildComponent?: React.FC;
11
+ /**
12
+ * This is optional and controls if the toolbar group is highlighted or not.
13
+ */
14
+ isEnabled?: ({ editor, editorConfigContext, selection, }: {
15
+ editor: LexicalEditor;
16
+ editorConfigContext: EditorConfigContextType;
17
+ selection: BaseSelection;
18
+ }) => boolean;
6
19
  /**
7
20
  * All toolbar items part of this toolbar group need to be added here.
8
21
  */
@@ -16,14 +29,11 @@ export type ToolbarGroup = {
16
29
  */
17
30
  order?: number;
18
31
  /**
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.
32
+ * 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
33
  */
26
- ChildComponent?: React.FC;
34
+ type: 'dropdown';
35
+ };
36
+ export type ToolbarButtonsGroup = {
27
37
  /**
28
38
  * All toolbar items part of this toolbar group need to be added here.
29
39
  */
@@ -37,9 +47,9 @@ export type ToolbarGroup = {
37
47
  */
38
48
  order?: number;
39
49
  /**
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.
50
+ * Controls the toolbar group type. Set to `buttons` to create a buttons toolbar group, which displays toolbar items horizontally using only their icons.
41
51
  */
42
- type: 'dropdown';
52
+ type: 'buttons';
43
53
  };
44
54
  export type ToolbarGroupItem = {
45
55
  /** A React component which is rendered within your toolbar item's default button component. Usually, you want this to be an icon. */
@@ -69,7 +79,7 @@ export type ToolbarGroupItem = {
69
79
  /** 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
80
  label?: ((args: {
71
81
  i18n: I18nClient<{}, string>;
72
- richTextComponentMap: Map<string, React.ReactNode>;
82
+ richTextComponentMap?: Map<string, React.ReactNode>;
73
83
  }) => string) | string;
74
84
  /** Each toolbar item needs to have a unique key. */
75
85
  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":"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,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;AAErE,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,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;;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;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;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,CAAA;AAED,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,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;KACpD,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 +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'\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 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":"AA8DA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"typesServer.d.ts","sourceRoot":"","sources":["../../src/features/typesServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typesServer.d.ts","sourceRoot":"","sources":["../../src/features/typesServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EACV,MAAM,EACN,KAAK,EACL,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAE9D,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,IAAI,CAAC,EACxF,OAAO,EACP,YAAY,EACZ,KAAK,EACL,KAAK,EACL,wBAAwB,EACxB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,GAAG,EACH,gBAAgB,EAChB,UAAU,GACX,EAAE;IACD,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC/D,KAAK,EAAE,aAAa,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;IACzD;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,CAAC,CAAA;IACP,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,UAAU,CAAA;CACvB,KAAK,IAAI,CAAA;AAEV,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,IAAI,CAAC,EACrF,IAAI,EACJ,eAAe,EACf,UAAU,GACX,EAAE;IACD,IAAI,EAAE,CAAC,CAAA;IACP,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IACnD,UAAU,EAAE;QACV,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAA;QAChF,KAAK,EAAE,qBAAqB,CAAA;KAC7B,CAAA;CACF,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;AAE5C,MAAM,MAAM,6BAA6B,CACvC,6BAA6B,GAAG,SAAS,EACzC,kBAAkB,GAAG,6BAA6B,EAClD,kBAAkB,GAAG,SAAS,IAC5B,CACF,KAAK,CAAC,EAAE,6BAA6B,KAClC,qBAAqB,CAAC,6BAA6B,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;AAEjG,MAAM,MAAM,qBAAqB,CAC/B,6BAA6B,GAAG,SAAS,EACzC,kBAAkB,GAAG,6BAA6B,EAClD,kBAAkB,GAAG,SAAS,IAC5B;IACF,kKAAkK;IAClK,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,iNAAiN;IACjN,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,uLAAuL;IACvL,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAE3B;;OAEG;IACH,OAAO,EACH,CAAC,CAAC,KAAK,EAAE;QACP,MAAM,EAAE,eAAe,CAAA;QACvB,mDAAmD;QACnD,kBAAkB,EAAE,wBAAwB,CAAA;QAC5C,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,iBAAiB,EAAE,OAAO,CAAA;QAE1B,gBAAgB,EAAE,wBAAwB,CAAA;QAE1C,uBAAuB,EAAE,kBAAkB,CAAA;KAC5C,KACG,OAAO,CAAC,aAAa,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,GAC9D,aAAa,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,GAC1D,aAAa,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;IACzD,GAAG,EAAE,MAAM,CAAA;IACX,kMAAkM;IAClM,kBAAkB,EAAE,6BAA6B,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,qBAAqB,IAAI;IACnE;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IAC9B,gHAAgH;IAChH,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;IACnC;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,qBAAqB,IAAI;IACrE,kNAAkN;IAClN,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IAClD,iFAAiF;IACjF,YAAY,EAAE,CAAC,CAAA;CAChB,CAAA;AACD,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,qBAAqB,IAAI;IACxE,kNAAkN;IAClN,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IAClD,iFAAiF;IACjF,YAAY,EAAE,CAAC,CAAA;IACf,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,qBAAqB,IAAI;IACtE;;OAEG;IACH,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5C,kBAAkB,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;IAC3C,kNAAkN;IAClN,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IAClD,iFAAiF;IACjF,YAAY,EAAE,CAAC,CAAA;IACf;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,CAAA;IAC3B,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,qBAAqB,IAAI;IAC9D,OAAO,EAAE,cAAc,CAAA;IACvB,6BAA6B;IAC7B,IAAI,EAAE,CAAC,CAAA;IACP,uBAAuB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC5C,6BAA6B,EAAE,MAAM,EAAE,CAAA;IACvC,yEAAyE;IACzE,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,qBAAqB,IAAI,CAC/D,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,KACjD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAEnB,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,qBAAqB,IAAI,CACjE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,KACnD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAEnB,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,IAAI,CAClE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,KACpD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAEnB,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,qBAAqB,IAAI,CACpE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,KACtD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAGnB,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,GAAG,IAAI;IACvD;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;KAC3E,CAAA;IACD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB;;WAEG;QACH,IAAI,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;QAC3D,GAAG,CAAC,EAAE,cAAc,CAAA;KACrB,KAAK,KAAK,EAAE,GAAG,IAAI,CAAA;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QACxB,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;QAC1D,GAAG,EAAE,cAAc,CAAA;KACpB,KAAK,UAAU,CAAA;IAChB;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,KAAK,CAC/B,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CACxE,CAAA;IACD;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9F,SAAS,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1F,YAAY,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QAChG,cAAc,CAAC,EAAE,KAAK,CACpB,sBAAsB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAC7E,CAAA;KACF,CAAA;IACD;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAA;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;CAC1F,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,WAAW,EAAE,kBAAkB,IAAI;IAC3D,aAAa,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACnF;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAEvC,gBAAgB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAA;IACrF,YAAY,CAAC,EACT,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK;QACzF,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAChC,CAAC,GACF;QACE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAChC,CAAA;IACL,cAAc,CAAC,EAAE;QACf,kBAAkB,EAAE,CAAC,EACnB,sBAAsB,EACtB,MAAM,EACN,aAAa,EACb,KAAK,EACL,wBAAwB,EACxB,UAAU,GACX,EAAE;YACD,sBAAsB,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;aAAE,CAAA;YAC9D,MAAM,CAAC,EAAE,eAAe,CAAA;YACxB;;eAEG;YACH,aAAa,EAAE,WAAW,CAAA;YAC1B,KAAK,EAAE,aAAa,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;YACzD;;eAEG;YACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAClD,UAAU,EAAE,OAAO,CAAA;SACpB,KAAK,WAAW,CAAA;KAClB,CAAA;IACD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,MAAM,EAAE,eAAe,CAAA;QACvB,KAAK,EAAE,aAAa,CAAA;QACpB,IAAI,EAAE,UAAU,CAAA;QAChB,KAAK,EAAE,WAAW,CAAA;QAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/B,UAAU,EAAE,MAAM,CAAA;KACnB,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACjC,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAChC,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAA;IACpC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAE5B,kMAAkM;IAClM,2BAA2B,CAAC,EAAE,WAAW,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,WAAW,EAAE,kBAAkB,IAAI;IACnE,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,QAAQ,CACV,IAAI,CACF,qBAAqB,CAAC,WAAW,EAAE,kBAAkB,CAAC,EACtD,cAAc,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,KAAK,CACrE,CACF,GACC,aAAa,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;AAEhD,MAAM,MAAM,wBAAwB,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAEnF,MAAM,MAAM,wBAAwB,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAExF,MAAM,MAAM,uBAAuB,GAAG;IACpC,iDAAiD;IACjD,UAAU,EAAE;QACV,IAAI,EAAE,aAAa,EAAE,CAAA;KACtB,CAAA;IACD,uCAAuC;IACvC,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,cAAc,EAAE;QACd,mBAAmB,EAAE,KAAK,CACxB,CAAC,EACC,sBAAsB,EACtB,MAAM,EACN,aAAa,EACb,KAAK,EACL,wBAAwB,EACxB,UAAU,GACX,EAAE;YACD,sBAAsB,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;aAAE,CAAA;YAC9D,MAAM,CAAC,EAAE,eAAe,CAAA;YACxB;;eAEG;YACH,aAAa,EAAE,WAAW,CAAA;YAC1B,KAAK,EAAE,aAAa,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAA;YACzD;;eAEG;YACH,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAClD,UAAU,EAAE,OAAO,CAAA;SACpB,KAAK,WAAW,CAClB,CAAA;KACF,CAAA;IACD,4CAA4C;IAE5C,YAAY,CAAC,EAAE,GAAG,CAChB,MAAM,EACN,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,qBAAqB,CAAC;QAAC,GAAG,EAAE,cAAc,CAAA;KAAE,KAAK,KAAK,EAAE,GAAG,IAAI,CAC/E,CAAA;IACD,gBAAgB,CAAC,EAAE,GAAG,CACpB,MAAM,EACN,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,qBAAqB,CAAC;QAAC,GAAG,EAAE,cAAc,CAAA;KAAE,KAAK,UAAU,CAC3E,CAAA;IACD,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAChE,KAAK,EAAE,aAAa,CAAA;IACpB,SAAS,CAAC,EAAE;QACV,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC5E,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACxE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC9E,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;KACnF,CAAA,CAAC,yDAAyD;IAC3D,kDAAkD;IAClD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;CAChD,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAA"}