@payloadcms/richtext-lexical 3.2.3-canary.2d2e7d5 → 3.2.3-canary.5e3c2f6

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 (94) hide show
  1. package/dist/exports/client/{Field-JP7H7AZE.js → Field-KHGUSLMB.js} +2 -2
  2. package/dist/exports/client/{Field-JP7H7AZE.js.map → Field-KHGUSLMB.js.map} +2 -2
  3. package/dist/exports/client/{RelationshipComponent-XOQBVKA3.js → RelationshipComponent-F77EQHRG.js} +2 -2
  4. package/dist/exports/client/{chunk-YSJURFKK.js → chunk-4J2ONJMB.js} +2 -2
  5. package/dist/exports/client/{chunk-XCEM47RI.js → chunk-AXXPUMFU.js} +2 -2
  6. package/dist/exports/client/{chunk-5PBXL4HT.js → chunk-F26IQ5RE.js} +2 -2
  7. package/dist/exports/client/{chunk-5PBXL4HT.js.map → chunk-F26IQ5RE.js.map} +1 -1
  8. package/dist/exports/client/chunk-H3D3IU3G.js +2 -0
  9. package/dist/exports/client/{chunk-DOK5S7LE.js.map → chunk-H3D3IU3G.js.map} +2 -2
  10. package/dist/exports/client/{chunk-2CYU43GM.js → chunk-INBEEENE.js} +2 -2
  11. package/dist/exports/client/{chunk-2CYU43GM.js.map → chunk-INBEEENE.js.map} +1 -1
  12. package/dist/exports/client/{chunk-ZTAS32RX.js → chunk-PGMIO4IN.js} +2 -2
  13. package/dist/exports/client/{chunk-2L2Z4JHF.js → chunk-XOABLBHB.js} +2 -2
  14. package/dist/exports/client/{chunk-2L2Z4JHF.js.map → chunk-XOABLBHB.js.map} +1 -1
  15. package/dist/exports/client/{component-D6PKVJ2K.js → component-NSAU5Y76.js} +2 -2
  16. package/dist/exports/client/component-SX36AJXS.js +2 -0
  17. package/dist/exports/client/{component-ANB7VZLA.js.map → component-SX36AJXS.js.map} +2 -2
  18. package/dist/exports/client/componentInline-B5YNOX32.js +2 -0
  19. package/dist/exports/client/index.js +17 -17
  20. package/dist/exports/client/index.js.map +2 -2
  21. package/dist/features/blocks/client/component/BlockContent.js +8 -8
  22. package/dist/features/blocks/client/component/BlockContent.js.map +1 -1
  23. package/dist/features/blocks/client/component/components/BlockCollapsible.js +5 -5
  24. package/dist/features/blocks/client/component/components/BlockCollapsible.js.map +1 -1
  25. package/dist/features/blocks/client/plugin/index.js +7 -4
  26. package/dist/features/blocks/client/plugin/index.js.map +1 -1
  27. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js +3 -3
  28. package/dist/features/experimental_table/client/plugins/TableActionMenuPlugin/index.js.map +1 -1
  29. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js +3 -3
  30. package/dist/features/experimental_table/client/plugins/TableCellResizerPlugin/index.js.map +1 -1
  31. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js +6 -6
  32. package/dist/features/experimental_table/client/plugins/TablePlugin/index.js.map +1 -1
  33. package/dist/features/experimental_table/client/utils/useDebounce.js +3 -3
  34. package/dist/features/experimental_table/client/utils/useDebounce.js.map +1 -1
  35. package/dist/features/horizontalRule/client/component/index.js +19 -18
  36. package/dist/features/horizontalRule/client/component/index.js.map +1 -1
  37. package/dist/features/horizontalRule/client/plugin/index.js +13 -12
  38. package/dist/features/horizontalRule/client/plugin/index.js.map +1 -1
  39. package/dist/features/indent/client/plugins/index.js +3 -3
  40. package/dist/features/indent/client/plugins/index.js.map +1 -1
  41. package/dist/features/link/client/plugins/autoLink/index.js +3 -3
  42. package/dist/features/link/client/plugins/autoLink/index.js.map +1 -1
  43. package/dist/features/link/client/plugins/link/index.js +9 -5
  44. package/dist/features/link/client/plugins/link/index.js.map +1 -1
  45. package/dist/features/relationship/client/drawer/index.js +13 -13
  46. package/dist/features/relationship/client/drawer/index.js.map +1 -1
  47. package/dist/features/relationship/client/plugins/index.js +23 -19
  48. package/dist/features/relationship/client/plugins/index.js.map +1 -1
  49. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js +19 -18
  50. package/dist/features/relationship/client/utils/EnabledRelationshipsCondition.js.map +1 -1
  51. package/dist/features/toolbars/fixed/client/Toolbar/index.js +39 -31
  52. package/dist/features/toolbars/fixed/client/Toolbar/index.js.map +1 -1
  53. package/dist/features/toolbars/inline/client/Toolbar/index.js +31 -23
  54. package/dist/features/toolbars/inline/client/Toolbar/index.js.map +1 -1
  55. package/dist/features/toolbars/shared/ToolbarButton/index.js +27 -26
  56. package/dist/features/toolbars/shared/ToolbarButton/index.js.map +1 -1
  57. package/dist/features/toolbars/shared/ToolbarDropdown/index.js +36 -36
  58. package/dist/features/toolbars/shared/ToolbarDropdown/index.js.map +1 -1
  59. package/dist/features/upload/client/drawer/index.js +3 -3
  60. package/dist/features/upload/client/drawer/index.js.map +1 -1
  61. package/dist/features/upload/client/plugin/index.js +6 -3
  62. package/dist/features/upload/client/plugin/index.js.map +1 -1
  63. package/dist/field/index.js +7 -7
  64. package/dist/field/index.js.map +1 -1
  65. package/dist/lexical/LexicalEditor.js +15 -15
  66. package/dist/lexical/LexicalEditor.js.map +1 -1
  67. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +17 -17
  68. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js.map +1 -1
  69. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +17 -17
  70. package/dist/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js.map +1 -1
  71. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +4 -4
  72. package/dist/lexical/plugins/SlashMenu/useMenuTriggerMatch.js.map +1 -1
  73. package/dist/lexical/plugins/TextPlugin/index.js +3 -3
  74. package/dist/lexical/plugins/TextPlugin/index.js.map +1 -1
  75. package/dist/lexical/ui/ContentEditable.js +3 -3
  76. package/dist/lexical/ui/ContentEditable.js.map +1 -1
  77. package/dist/utilities/fieldsDrawer/Drawer.js +11 -11
  78. package/dist/utilities/fieldsDrawer/Drawer.js.map +1 -1
  79. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js +10 -10
  80. package/dist/utilities/fieldsDrawer/useLexicalDocumentDrawer.js.map +1 -1
  81. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js +14 -14
  82. package/dist/utilities/fieldsDrawer/useLexicalDrawer.js.map +1 -1
  83. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js +11 -11
  84. package/dist/utilities/fieldsDrawer/useLexicalListDrawer.js.map +1 -1
  85. package/package.json +15 -15
  86. package/dist/exports/client/chunk-DOK5S7LE.js +0 -2
  87. package/dist/exports/client/component-ANB7VZLA.js +0 -2
  88. package/dist/exports/client/componentInline-OK3ZQ6YQ.js +0 -2
  89. /package/dist/exports/client/{RelationshipComponent-XOQBVKA3.js.map → RelationshipComponent-F77EQHRG.js.map} +0 -0
  90. /package/dist/exports/client/{chunk-YSJURFKK.js.map → chunk-4J2ONJMB.js.map} +0 -0
  91. /package/dist/exports/client/{chunk-XCEM47RI.js.map → chunk-AXXPUMFU.js.map} +0 -0
  92. /package/dist/exports/client/{chunk-ZTAS32RX.js.map → chunk-PGMIO4IN.js.map} +0 -0
  93. /package/dist/exports/client/{component-D6PKVJ2K.js.map → component-NSAU5Y76.js.map} +0 -0
  94. /package/dist/exports/client/{componentInline-OK3ZQ6YQ.js.map → componentInline-B5YNOX32.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$getNodeByKey","COMMAND_PRIORITY_EDITOR","React","useCallback","useEffect","useState","useLexicalListDrawer","$createRelationshipNode","INSERT_RELATIONSHIP_COMMAND","EnabledRelationshipsCondition","INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND","insertRelationship","editor","relationTo","replaceNodeKey","value","dispatchCommand","update","node","replace","RelationshipDrawerComponent","t0","$","enabledCollectionSlugs","t1","selectedCollectionSlug","setSelectedCollectionSlug","setReplaceNodeKey","t2","undefined","t3","collectionSlugs","selectedCollection","closeListDrawer","isListDrawerOpen","ListDrawer","openListDrawer","t4","t5","registerCommand","payload","nodeKey","t6","t7","collectionSlug","docID","onSelect","t8","t9","_jsx","RelationshipDrawer","props","length"],"sources":["../../../../../src/features/relationship/client/drawer/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $getNodeByKey, COMMAND_PRIORITY_EDITOR } from 'lexical'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useLexicalListDrawer } from '../../../../utilities/fieldsDrawer/useLexicalListDrawer.js'\nimport { $createRelationshipNode } from '../nodes/RelationshipNode.js'\nimport { INSERT_RELATIONSHIP_COMMAND } from '../plugins/index.js'\nimport { EnabledRelationshipsCondition } from '../utils/EnabledRelationshipsCondition.js'\nimport { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from './commands.js'\n\nconst insertRelationship = ({\n editor,\n relationTo,\n replaceNodeKey,\n value,\n}: {\n editor: LexicalEditor\n relationTo: string\n replaceNodeKey: null | string\n value: number | string\n}) => {\n if (!replaceNodeKey) {\n editor.dispatchCommand(INSERT_RELATIONSHIP_COMMAND, {\n relationTo,\n value,\n })\n } else {\n editor.update(() => {\n const node = $getNodeByKey(replaceNodeKey)\n if (node) {\n node.replace($createRelationshipNode({ relationTo, value }))\n }\n })\n }\n}\n\ntype Props = {\n enabledCollectionSlugs: null | string[]\n}\n\nconst RelationshipDrawerComponent: React.FC<Props> = ({ enabledCollectionSlugs }) => {\n const [editor] = useLexicalComposerContext()\n const [selectedCollectionSlug, setSelectedCollectionSlug] = useState(\n () => enabledCollectionSlugs?.[0],\n )\n const [replaceNodeKey, setReplaceNodeKey] = useState<null | string>(null)\n\n const { closeListDrawer, isListDrawerOpen, ListDrawer, openListDrawer } = useLexicalListDrawer({\n collectionSlugs: enabledCollectionSlugs ? enabledCollectionSlugs : undefined,\n selectedCollection: selectedCollectionSlug,\n })\n\n useEffect(() => {\n return editor.registerCommand<{\n replace: { nodeKey: string } | false\n }>(\n INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND,\n (payload) => {\n setReplaceNodeKey(payload?.replace ? payload?.replace.nodeKey : null)\n openListDrawer()\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n }, [editor, openListDrawer])\n\n const onSelect = useCallback(\n ({ collectionSlug, docID }: { collectionSlug: string; docID: number | string }) => {\n insertRelationship({\n editor,\n relationTo: collectionSlug,\n replaceNodeKey,\n value: docID,\n })\n closeListDrawer()\n },\n [editor, closeListDrawer, replaceNodeKey],\n )\n\n useEffect(() => {\n // always reset back to first option\n // TODO: this is not working, see the ListDrawer component\n setSelectedCollectionSlug(enabledCollectionSlugs?.[0])\n }, [isListDrawerOpen, enabledCollectionSlugs])\n\n return <ListDrawer onSelect={onSelect} />\n}\n\nexport const RelationshipDrawer = (props: Props): React.ReactNode => {\n return (props?.enabledCollectionSlugs?.length ?? -1) > 0 ? ( // If enabledCollectionSlugs it overrides what EnabledRelationshipsCondition is doing\n <RelationshipDrawerComponent {...props} />\n ) : (\n <EnabledRelationshipsCondition {...props}>\n <RelationshipDrawerComponent {...props} />\n </EnabledRelationshipsCondition>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$getNodeByKey","COMMAND_PRIORITY_EDITOR","React","useCallback","useEffect","useState","useLexicalListDrawer","$createRelationshipNode","INSERT_RELATIONSHIP_COMMAND","EnabledRelationshipsCondition","INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND","insertRelationship","editor","relationTo","replaceNodeKey","value","dispatchCommand","update","node","replace","RelationshipDrawerComponent","t0","$","enabledCollectionSlugs","t1","selectedCollectionSlug","setSelectedCollectionSlug","setReplaceNodeKey","t2","undefined","t3","collectionSlugs","selectedCollection","closeListDrawer","isListDrawerOpen","ListDrawer","openListDrawer","t4","t5","registerCommand","payload","nodeKey","t6","t7","collectionSlug","docID","onSelect","t8","t9","_jsx","RelationshipDrawer","props","length"],"sources":["../../../../../src/features/relationship/client/drawer/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $getNodeByKey, COMMAND_PRIORITY_EDITOR } from 'lexical'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useLexicalListDrawer } from '../../../../utilities/fieldsDrawer/useLexicalListDrawer.js'\nimport { $createRelationshipNode } from '../nodes/RelationshipNode.js'\nimport { INSERT_RELATIONSHIP_COMMAND } from '../plugins/index.js'\nimport { EnabledRelationshipsCondition } from '../utils/EnabledRelationshipsCondition.js'\nimport { INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND } from './commands.js'\n\nconst insertRelationship = ({\n editor,\n relationTo,\n replaceNodeKey,\n value,\n}: {\n editor: LexicalEditor\n relationTo: string\n replaceNodeKey: null | string\n value: number | string\n}) => {\n if (!replaceNodeKey) {\n editor.dispatchCommand(INSERT_RELATIONSHIP_COMMAND, {\n relationTo,\n value,\n })\n } else {\n editor.update(() => {\n const node = $getNodeByKey(replaceNodeKey)\n if (node) {\n node.replace($createRelationshipNode({ relationTo, value }))\n }\n })\n }\n}\n\ntype Props = {\n enabledCollectionSlugs: null | string[]\n}\n\nconst RelationshipDrawerComponent: React.FC<Props> = ({ enabledCollectionSlugs }) => {\n const [editor] = useLexicalComposerContext()\n const [selectedCollectionSlug, setSelectedCollectionSlug] = useState(\n () => enabledCollectionSlugs?.[0],\n )\n const [replaceNodeKey, setReplaceNodeKey] = useState<null | string>(null)\n\n const { closeListDrawer, isListDrawerOpen, ListDrawer, openListDrawer } = useLexicalListDrawer({\n collectionSlugs: enabledCollectionSlugs ? enabledCollectionSlugs : undefined,\n selectedCollection: selectedCollectionSlug,\n })\n\n useEffect(() => {\n return editor.registerCommand<{\n replace: { nodeKey: string } | false\n }>(\n INSERT_RELATIONSHIP_WITH_DRAWER_COMMAND,\n (payload) => {\n setReplaceNodeKey(payload?.replace ? payload?.replace.nodeKey : null)\n openListDrawer()\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n }, [editor, openListDrawer])\n\n const onSelect = useCallback(\n ({ collectionSlug, docID }: { collectionSlug: string; docID: number | string }) => {\n insertRelationship({\n editor,\n relationTo: collectionSlug,\n replaceNodeKey,\n value: docID,\n })\n closeListDrawer()\n },\n [editor, closeListDrawer, replaceNodeKey],\n )\n\n useEffect(() => {\n // always reset back to first option\n // TODO: this is not working, see the ListDrawer component\n setSelectedCollectionSlug(enabledCollectionSlugs?.[0])\n }, [isListDrawerOpen, enabledCollectionSlugs])\n\n return <ListDrawer onSelect={onSelect} />\n}\n\nexport const RelationshipDrawer = (props: Props): React.ReactNode => {\n return (props?.enabledCollectionSlugs?.length ?? -1) > 0 ? ( // If enabledCollectionSlugs it overrides what EnabledRelationshipsCondition is doing\n <RelationshipDrawerComponent {...props} />\n ) : (\n <EnabledRelationshipsCondition {...props}>\n <RelationshipDrawerComponent {...props} />\n </EnabledRelationshipsCondition>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -28,22 +28,22 @@ export const RelationshipPlugin = t0 => {
28
28
  } else {
29
29
  if (clientProps?.disabledCollections) {
30
30
  let t2;
31
- if ($[0] !== clientProps || $[1] !== collections) {
31
+ if ($[0] !== clientProps?.disabledCollections || $[1] !== collections) {
32
32
  let t3;
33
- if ($[3] !== clientProps) {
33
+ if ($[3] !== clientProps?.disabledCollections) {
34
34
  t3 = t4 => {
35
35
  const {
36
36
  slug
37
37
  } = t4;
38
38
  return !clientProps?.disabledCollections?.includes(slug);
39
39
  };
40
- $[3] = clientProps;
40
+ $[3] = clientProps?.disabledCollections;
41
41
  $[4] = t3;
42
42
  } else {
43
43
  t3 = $[4];
44
44
  }
45
45
  t2 = collections.filter(t3).map(_temp);
46
- $[0] = clientProps;
46
+ $[0] = clientProps?.disabledCollections;
47
47
  $[1] = collections;
48
48
  $[2] = t2;
49
49
  } else {
@@ -59,21 +59,7 @@ export const RelationshipPlugin = t0 => {
59
59
  if (!editor.hasNodes([RelationshipNode])) {
60
60
  throw new Error("RelationshipPlugin: RelationshipNode not registered on editor");
61
61
  }
62
- return editor.registerCommand(INSERT_RELATIONSHIP_COMMAND, payload => {
63
- const selection = $getSelection() || $getPreviousSelection();
64
- if ($isRangeSelection(selection)) {
65
- const relationshipNode = $createRelationshipNode(payload);
66
- $insertNodeToNearestRoot(relationshipNode);
67
- const {
68
- focus
69
- } = selection;
70
- const focusNode = focus.getNode();
71
- if ($isParagraphNode(focusNode) && focusNode.getTextContentSize() === 0 && focusNode.getParentOrThrow().getChildren().filter(node => $isParagraphNode(node)).length > 1) {
72
- focusNode.remove();
73
- }
74
- }
75
- return true;
76
- }, COMMAND_PRIORITY_EDITOR);
62
+ return editor.registerCommand(INSERT_RELATIONSHIP_COMMAND, _temp3, COMMAND_PRIORITY_EDITOR);
77
63
  };
78
64
  t3 = [editor];
79
65
  $[5] = editor;
@@ -102,4 +88,22 @@ function _temp(t0) {
102
88
  } = t0;
103
89
  return slug_0;
104
90
  }
91
+ function _temp2(node) {
92
+ return $isParagraphNode(node);
93
+ }
94
+ function _temp3(payload) {
95
+ const selection = $getSelection() || $getPreviousSelection();
96
+ if ($isRangeSelection(selection)) {
97
+ const relationshipNode = $createRelationshipNode(payload);
98
+ $insertNodeToNearestRoot(relationshipNode);
99
+ const {
100
+ focus
101
+ } = selection;
102
+ const focusNode = focus.getNode();
103
+ if ($isParagraphNode(focusNode) && focusNode.getTextContentSize() === 0 && focusNode.getParentOrThrow().getChildren().filter(_temp2).length > 1) {
104
+ focusNode.remove();
105
+ }
106
+ }
107
+ return true;
108
+ }
105
109
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$insertNodeToNearestRoot","useConfig","$getPreviousSelection","$getSelection","$isParagraphNode","$isRangeSelection","COMMAND_PRIORITY_EDITOR","createCommand","useEffect","RelationshipDrawer","$createRelationshipNode","RelationshipNode","INSERT_RELATIONSHIP_COMMAND","RelationshipPlugin","t0","$","clientProps","editor","config","t1","collections","enabledRelations","enabledCollections","disabledCollections","t2","t3","t4","slug","includes","filter","map","_temp","hasNodes","Error","registerCommand","payload","selection","relationshipNode","focus","focusNode","getNode","getTextContentSize","getParentOrThrow","getChildren","node","length","remove","_jsx","enabledCollectionSlugs","slug_0"],"sources":["../../../../../src/features/relationship/client/plugins/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalCommand } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot } from '@lexical/utils'\nimport { useConfig } from '@payloadcms/ui'\nimport {\n $getPreviousSelection,\n $getSelection,\n $isParagraphNode,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n createCommand,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../typesClient.js'\nimport type { RelationshipFeatureProps } from '../../server/index.js'\nimport type { RelationshipData } from '../../server/nodes/RelationshipNode.js'\n\nimport { RelationshipDrawer } from '../drawer/index.js'\nimport { $createRelationshipNode, RelationshipNode } from '../nodes/RelationshipNode.js'\n\nexport const INSERT_RELATIONSHIP_COMMAND: LexicalCommand<RelationshipData> = createCommand(\n 'INSERT_RELATIONSHIP_COMMAND',\n)\n\nexport const RelationshipPlugin: PluginComponent<RelationshipFeatureProps> = ({ clientProps }) => {\n const [editor] = useLexicalComposerContext()\n const {\n config: { collections },\n } = useConfig()\n\n let enabledRelations: null | string[] = null\n\n if (clientProps?.enabledCollections) {\n enabledRelations = clientProps?.enabledCollections\n } else if (clientProps?.disabledCollections) {\n enabledRelations = collections\n .filter(({ slug }) => !clientProps?.disabledCollections?.includes(slug))\n .map(({ slug }) => slug)\n }\n\n useEffect(() => {\n if (!editor.hasNodes([RelationshipNode])) {\n throw new Error('RelationshipPlugin: RelationshipNode not registered on editor')\n }\n\n return editor.registerCommand<RelationshipData>(\n INSERT_RELATIONSHIP_COMMAND,\n (payload) => {\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const relationshipNode = $createRelationshipNode(payload)\n // Insert relationship node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist\n $insertNodeToNearestRoot(relationshipNode)\n\n const { focus } = selection\n const focusNode = focus.getNode()\n\n // First, delete currently selected node if it's an empty paragraph and if there are sufficient\n // paragraph nodes (more than 1) left in the parent node, so that we don't \"trap\" the user\n if (\n $isParagraphNode(focusNode) &&\n focusNode.getTextContentSize() === 0 &&\n focusNode\n .getParentOrThrow()\n .getChildren()\n .filter((node) => $isParagraphNode(node)).length > 1\n ) {\n focusNode.remove()\n }\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n }, [editor])\n\n return <RelationshipDrawer enabledCollectionSlugs={enabledRelations} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","$insertNodeToNearestRoot","useConfig","$getPreviousSelection","$getSelection","$isParagraphNode","$isRangeSelection","COMMAND_PRIORITY_EDITOR","createCommand","useEffect","RelationshipDrawer","$createRelationshipNode","RelationshipNode","INSERT_RELATIONSHIP_COMMAND","RelationshipPlugin","t0","$","clientProps","editor","config","t1","collections","enabledRelations","enabledCollections","disabledCollections","t2","t3","t4","slug","includes","filter","map","_temp","hasNodes","Error","registerCommand","_temp3","_jsx","enabledCollectionSlugs","slug_0","_temp2","node","payload","selection","relationshipNode","focus","focusNode","getNode","getTextContentSize","getParentOrThrow","getChildren","length","remove"],"sources":["../../../../../src/features/relationship/client/plugins/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalCommand } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { $insertNodeToNearestRoot } from '@lexical/utils'\nimport { useConfig } from '@payloadcms/ui'\nimport {\n $getPreviousSelection,\n $getSelection,\n $isParagraphNode,\n $isRangeSelection,\n COMMAND_PRIORITY_EDITOR,\n createCommand,\n} from 'lexical'\nimport { useEffect } from 'react'\n\nimport type { PluginComponent } from '../../../typesClient.js'\nimport type { RelationshipFeatureProps } from '../../server/index.js'\nimport type { RelationshipData } from '../../server/nodes/RelationshipNode.js'\n\nimport { RelationshipDrawer } from '../drawer/index.js'\nimport { $createRelationshipNode, RelationshipNode } from '../nodes/RelationshipNode.js'\n\nexport const INSERT_RELATIONSHIP_COMMAND: LexicalCommand<RelationshipData> = createCommand(\n 'INSERT_RELATIONSHIP_COMMAND',\n)\n\nexport const RelationshipPlugin: PluginComponent<RelationshipFeatureProps> = ({ clientProps }) => {\n const [editor] = useLexicalComposerContext()\n const {\n config: { collections },\n } = useConfig()\n\n let enabledRelations: null | string[] = null\n\n if (clientProps?.enabledCollections) {\n enabledRelations = clientProps?.enabledCollections\n } else if (clientProps?.disabledCollections) {\n enabledRelations = collections\n .filter(({ slug }) => !clientProps?.disabledCollections?.includes(slug))\n .map(({ slug }) => slug)\n }\n\n useEffect(() => {\n if (!editor.hasNodes([RelationshipNode])) {\n throw new Error('RelationshipPlugin: RelationshipNode not registered on editor')\n }\n\n return editor.registerCommand<RelationshipData>(\n INSERT_RELATIONSHIP_COMMAND,\n (payload) => {\n const selection = $getSelection() || $getPreviousSelection()\n\n if ($isRangeSelection(selection)) {\n const relationshipNode = $createRelationshipNode(payload)\n // Insert relationship node BEFORE potentially removing focusNode, as $insertNodeToNearestRoot errors if the focusNode doesn't exist\n $insertNodeToNearestRoot(relationshipNode)\n\n const { focus } = selection\n const focusNode = focus.getNode()\n\n // First, delete currently selected node if it's an empty paragraph and if there are sufficient\n // paragraph nodes (more than 1) left in the parent node, so that we don't \"trap\" the user\n if (\n $isParagraphNode(focusNode) &&\n focusNode.getTextContentSize() === 0 &&\n focusNode\n .getParentOrThrow()\n .getChildren()\n .filter((node) => $isParagraphNode(node)).length > 1\n ) {\n focusNode.remove()\n }\n }\n\n return true\n },\n COMMAND_PRIORITY_EDITOR,\n )\n }, [editor])\n\n return <RelationshipDrawer enabledCollectionSlugs={enabledRelations} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,9 +22,9 @@ const filterRichTextCollections = (collections, options) => {
22
22
  };
23
23
  export const EnabledRelationshipsCondition = props => {
24
24
  const $ = _c(16);
25
- let t0;
26
- let rest;
27
25
  let children;
26
+ let rest;
27
+ let t0;
28
28
  if ($[0] !== props) {
29
29
  ({
30
30
  children,
@@ -32,13 +32,13 @@ export const EnabledRelationshipsCondition = props => {
32
32
  ...rest
33
33
  } = props);
34
34
  $[0] = props;
35
- $[1] = t0;
35
+ $[1] = children;
36
36
  $[2] = rest;
37
- $[3] = children;
37
+ $[3] = t0;
38
38
  } else {
39
- t0 = $[1];
39
+ children = $[1];
40
40
  rest = $[2];
41
- children = $[3];
41
+ t0 = $[3];
42
42
  }
43
43
  const uploads = t0 === undefined ? false : t0;
44
44
  const {
@@ -59,12 +59,7 @@ export const EnabledRelationshipsCondition = props => {
59
59
  uploads,
60
60
  user,
61
61
  visibleEntities
62
- }).map(t3 => {
63
- const {
64
- slug
65
- } = t3;
66
- return slug;
67
- });
62
+ }).map(_temp);
68
63
  $[4] = collections;
69
64
  $[5] = uploads;
70
65
  $[6] = user;
@@ -78,27 +73,33 @@ export const EnabledRelationshipsCondition = props => {
78
73
  return null;
79
74
  }
80
75
  let t3;
81
- if ($[9] !== rest || $[10] !== enabledCollectionSlugs || $[11] !== children) {
76
+ if ($[9] !== children || $[10] !== enabledCollectionSlugs || $[11] !== rest) {
82
77
  let t4;
83
- if ($[13] !== rest || $[14] !== enabledCollectionSlugs) {
78
+ if ($[13] !== enabledCollectionSlugs || $[14] !== rest) {
84
79
  t4 = {
85
80
  ...rest,
86
81
  enabledCollectionSlugs
87
82
  };
88
- $[13] = rest;
89
- $[14] = enabledCollectionSlugs;
83
+ $[13] = enabledCollectionSlugs;
84
+ $[14] = rest;
90
85
  $[15] = t4;
91
86
  } else {
92
87
  t4 = $[15];
93
88
  }
94
89
  t3 = React.cloneElement(children, t4);
95
- $[9] = rest;
90
+ $[9] = children;
96
91
  $[10] = enabledCollectionSlugs;
97
- $[11] = children;
92
+ $[11] = rest;
98
93
  $[12] = t3;
99
94
  } else {
100
95
  t3 = $[12];
101
96
  }
102
97
  return t3;
103
98
  };
99
+ function _temp(t0) {
100
+ const {
101
+ slug
102
+ } = t0;
103
+ return slug;
104
+ }
104
105
  //# sourceMappingURL=EnabledRelationshipsCondition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnabledRelationshipsCondition.js","names":["c","_c","useAuth","useConfig","useEntityVisibility","React","filterRichTextCollections","collections","options","filter","slug","admin","enableRichTextRelationship","upload","visibleEntities","includes","uploads","Boolean","EnabledRelationshipsCondition","props","$","t0","rest","children","undefined","config","t1","user","t2","map","t3","enabledCollectionSlugs","useState","length","t4","cloneElement"],"sources":["../../../../../src/features/relationship/client/utils/EnabledRelationshipsCondition.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientUser, VisibleEntities } from 'payload'\n\nimport { useAuth, useConfig, useEntityVisibility } from '@payloadcms/ui'\nimport * as React from 'react'\n\ntype Options = {\n uploads: boolean\n user: ClientUser\n visibleEntities: VisibleEntities\n}\n\ntype FilteredCollectionsT = (\n collections: ClientCollectionConfig[],\n options?: Options,\n) => ClientCollectionConfig[]\n\nconst filterRichTextCollections: FilteredCollectionsT = (collections, options) => {\n return collections.filter(({ slug, admin: { enableRichTextRelationship }, upload }) => {\n if (!options?.visibleEntities.collections.includes(slug)) {\n return false\n }\n\n if (options?.uploads) {\n return enableRichTextRelationship && Boolean(upload) === true\n }\n\n return upload ? false : enableRichTextRelationship\n })\n}\n\nexport const EnabledRelationshipsCondition: React.FC<any> = (props) => {\n const { children, uploads = false, ...rest } = props\n const {\n config: { collections },\n } = useConfig()\n const { user } = useAuth()\n const { visibleEntities } = useEntityVisibility()\n\n const [enabledCollectionSlugs] = React.useState(() =>\n filterRichTextCollections(collections, { uploads, user: user!, visibleEntities }).map(\n ({ slug }) => slug,\n ),\n )\n\n if (!enabledCollectionSlugs.length) {\n return null\n }\n\n return React.cloneElement(children, { ...rest, enabledCollectionSlugs })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EnabledRelationshipsCondition.js","names":["c","_c","useAuth","useConfig","useEntityVisibility","React","filterRichTextCollections","collections","options","filter","slug","admin","enableRichTextRelationship","upload","visibleEntities","includes","uploads","Boolean","EnabledRelationshipsCondition","props","$","children","rest","t0","undefined","config","t1","user","t2","map","_temp","enabledCollectionSlugs","useState","length","t3","t4","cloneElement"],"sources":["../../../../../src/features/relationship/client/utils/EnabledRelationshipsCondition.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientUser, VisibleEntities } from 'payload'\n\nimport { useAuth, useConfig, useEntityVisibility } from '@payloadcms/ui'\nimport * as React from 'react'\n\ntype Options = {\n uploads: boolean\n user: ClientUser\n visibleEntities: VisibleEntities\n}\n\ntype FilteredCollectionsT = (\n collections: ClientCollectionConfig[],\n options?: Options,\n) => ClientCollectionConfig[]\n\nconst filterRichTextCollections: FilteredCollectionsT = (collections, options) => {\n return collections.filter(({ slug, admin: { enableRichTextRelationship }, upload }) => {\n if (!options?.visibleEntities.collections.includes(slug)) {\n return false\n }\n\n if (options?.uploads) {\n return enableRichTextRelationship && Boolean(upload) === true\n }\n\n return upload ? false : enableRichTextRelationship\n })\n}\n\nexport const EnabledRelationshipsCondition: React.FC<any> = (props) => {\n const { children, uploads = false, ...rest } = props\n const {\n config: { collections },\n } = useConfig()\n const { user } = useAuth()\n const { visibleEntities } = useEntityVisibility()\n\n const [enabledCollectionSlugs] = React.useState(() =>\n filterRichTextCollections(collections, { uploads, user: user!, visibleEntities }).map(\n ({ slug }) => slug,\n ),\n )\n\n if (!enabledCollectionSlugs.length) {\n return null\n }\n\n return React.cloneElement(children, { ...rest, enabledCollectionSlugs })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -31,7 +31,7 @@ function ButtonGroupItem({
31
31
  }, item.key);
32
32
  }
33
33
  function ToolbarGroupComponent(t0) {
34
- const $ = _c(18);
34
+ const $ = _c(23);
35
35
  const {
36
36
  anchorElem,
37
37
  editor,
@@ -52,8 +52,7 @@ function ToolbarGroupComponent(t0) {
52
52
  const [dropdownLabel, setDropdownLabel] = React.useState(undefined);
53
53
  const [DropdownIcon, setDropdownIcon] = React.useState(undefined);
54
54
  let t2;
55
- let t3;
56
- if ($[0] !== group) {
55
+ if ($[0] !== group.ChildComponent || $[1] !== group.items || $[2] !== group.type) {
57
56
  t2 = () => {
58
57
  if (group?.type === "dropdown" && group.items.length && group.ChildComponent) {
59
58
  setDropdownIcon(() => group.ChildComponent);
@@ -61,17 +60,24 @@ function ToolbarGroupComponent(t0) {
61
60
  setDropdownIcon(undefined);
62
61
  }
63
62
  };
63
+ $[0] = group.ChildComponent;
64
+ $[1] = group.items;
65
+ $[2] = group.type;
66
+ $[3] = t2;
67
+ } else {
68
+ t2 = $[3];
69
+ }
70
+ let t3;
71
+ if ($[4] !== group) {
64
72
  t3 = [group];
65
- $[0] = group;
66
- $[1] = t2;
67
- $[2] = t3;
73
+ $[4] = group;
74
+ $[5] = t3;
68
75
  } else {
69
- t2 = $[1];
70
- t3 = $[2];
76
+ t3 = $[5];
71
77
  }
72
78
  React.useEffect(t2, t3);
73
79
  let t4;
74
- if ($[3] !== group || $[4] !== featureClientSchemaMap || $[5] !== i18n || $[6] !== schemaPath) {
80
+ if ($[6] !== featureClientSchemaMap || $[7] !== group.ChildComponent || $[8] !== group.items || $[9] !== group.type || $[10] !== i18n || $[11] !== schemaPath) {
75
81
  t4 = t5 => {
76
82
  const {
77
83
  activeItems
@@ -112,18 +118,20 @@ function ToolbarGroupComponent(t0) {
112
118
  }
113
119
  }
114
120
  };
115
- $[3] = group;
116
- $[4] = featureClientSchemaMap;
117
- $[5] = i18n;
118
- $[6] = schemaPath;
119
- $[7] = t4;
121
+ $[6] = featureClientSchemaMap;
122
+ $[7] = group.ChildComponent;
123
+ $[8] = group.items;
124
+ $[9] = group.type;
125
+ $[10] = i18n;
126
+ $[11] = schemaPath;
127
+ $[12] = t4;
120
128
  } else {
121
- t4 = $[7];
129
+ t4 = $[12];
122
130
  }
123
131
  const onActiveChange = t4;
124
132
  const t5 = `fixed-toolbar__group fixed-toolbar__group-${group.key}`;
125
133
  let t6;
126
- if ($[8] !== group || $[9] !== DropdownIcon || $[10] !== anchorElem || $[11] !== editor || $[12] !== dropdownLabel || $[13] !== onActiveChange || $[14] !== editorConfig.features.toolbarFixed || $[15] !== index || $[16] !== t5) {
134
+ if ($[13] !== DropdownIcon || $[14] !== anchorElem || $[15] !== dropdownLabel || $[16] !== editor || $[17] !== editorConfig.features.toolbarFixed?.groups.length || $[18] !== group || $[19] !== index || $[20] !== onActiveChange || $[21] !== t5) {
127
135
  t6 = _jsxs("div", {
128
136
  className: t5,
129
137
  children: [group.type === "dropdown" && group.items.length ? DropdownIcon ? _jsx(ToolbarDropdown, {
@@ -151,18 +159,18 @@ function ToolbarGroupComponent(t0) {
151
159
  className: "divider"
152
160
  })]
153
161
  }, group.key);
154
- $[8] = group;
155
- $[9] = DropdownIcon;
156
- $[10] = anchorElem;
157
- $[11] = editor;
158
- $[12] = dropdownLabel;
159
- $[13] = onActiveChange;
160
- $[14] = editorConfig.features.toolbarFixed;
161
- $[15] = index;
162
- $[16] = t5;
163
- $[17] = t6;
162
+ $[13] = DropdownIcon;
163
+ $[14] = anchorElem;
164
+ $[15] = dropdownLabel;
165
+ $[16] = editor;
166
+ $[17] = editorConfig.features.toolbarFixed?.groups.length;
167
+ $[18] = group;
168
+ $[19] = index;
169
+ $[20] = onActiveChange;
170
+ $[21] = t5;
171
+ $[22] = t6;
164
172
  } else {
165
- t6 = $[17];
173
+ t6 = $[22];
166
174
  }
167
175
  return t6;
168
176
  }
@@ -267,7 +275,7 @@ export const FixedToolbarPlugin = t0 => {
267
275
  const editorConfig = clientProps.applyToFocusedEditor ? editorConfigContext.focusedEditor?.editorConfig || currentEditorConfig : currentEditorConfig;
268
276
  let t1;
269
277
  let t2;
270
- if ($[0] !== editorConfigContext || $[1] !== clientProps?.disableIfParentHasFixedToolbar || $[2] !== editorConfig || $[3] !== editor) {
278
+ if ($[0] !== clientProps.disableIfParentHasFixedToolbar || $[1] !== editor || $[2] !== editorConfig || $[3] !== editorConfigContext) {
271
279
  t2 = Symbol.for("react.early_return_sentinel");
272
280
  bb0: {
273
281
  const parentWithFixedToolbar = getParentEditorWithFixedToolbar(editorConfigContext);
@@ -288,10 +296,10 @@ export const FixedToolbarPlugin = t0 => {
288
296
  parentWithFixedToolbar
289
297
  });
290
298
  }
291
- $[0] = editorConfigContext;
292
- $[1] = clientProps?.disableIfParentHasFixedToolbar;
299
+ $[0] = clientProps.disableIfParentHasFixedToolbar;
300
+ $[1] = editor;
293
301
  $[2] = editorConfig;
294
- $[3] = editor;
302
+ $[3] = editorConfigContext;
295
303
  $[4] = t1;
296
304
  $[5] = t2;
297
305
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","useScrollInfo","useThrottledEffect","useTranslation","React","useMemo","useEditorConfigContext","ToolbarButton","ToolbarDropdown","ButtonGroupItem","anchorElem","editor","item","Component","_jsx","key","ChildComponent","ToolbarGroupComponent","t0","$","editorConfig","group","index","i18n","fieldProps","t1","featureClientSchemaMap","schemaPath","dropdownLabel","setDropdownLabel","useState","undefined","DropdownIcon","setDropdownIcon","t2","t3","type","items","length","useEffect","t4","t5","activeItems","label","substring","t","count","onActiveChange","t6","features","toolbarFixed","_jsxs","className","children","Icon","itemsContainerClassNames","maxActiveItems","map","item_0","groups","FixedToolbar","clientProps","parentWithFixedToolbar","currentToolbarRef","useRef","y","parentToolbarElem","disableIfParentHasFixedToolbar","parentEditorElem","editorContainerRef","current","sibling","previousElementSibling","classList","contains","currentToolbarElem","currentRect","getBoundingClientRect","parentRect","overlapping","bottom","top","remove","add","onFocus","event","stopPropagation","ref","isEditable","Fragment","i","getParentEditorWithFixedToolbar","editorConfigContext","parentEditor","resolvedFeatureMap","has","FixedToolbarPlugin","currentEditor","currentEditorConfig","applyToFocusedEditor","focusedEditor","Symbol","for","bb0","document","body"],"sources":["../../../../../../src/features/toolbars/fixed/client/Toolbar/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useScrollInfo, useThrottledEffect, useTranslation } from '@payloadcms/ui'\nimport * as React from 'react'\nimport { useMemo } from 'react'\n\nimport type { EditorConfigContextType } from '../../../../../lexical/config/client/EditorConfigProvider.js'\nimport type { SanitizedClientEditorConfig } from '../../../../../lexical/config/types.js'\nimport type { PluginComponent } from '../../../../typesClient.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../../types.js'\nimport type { FixedToolbarFeatureProps } from '../../server/index.js'\n\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 if (!item.ChildComponent) {\n return null\n }\n\n return (\n <ToolbarButton editor={editor} item={item} key={item.key}>\n <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<{}, string>()\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n const [dropdownLabel, setDropdownLabel] = React.useState<string | undefined>(undefined)\n const [DropdownIcon, setDropdownIcon] = React.useState<React.FC | undefined>(undefined)\n\n React.useEffect(() => {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent!)\n } else {\n setDropdownIcon(undefined)\n }\n }, [group])\n\n const onActiveChange = React.useCallback(\n ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => {\n if (!activeItems.length) {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent!)\n setDropdownLabel(undefined)\n } else {\n setDropdownIcon(undefined)\n setDropdownLabel(undefined)\n }\n return\n }\n const item = activeItems[0]\n\n let label = item.key\n if (item.label) {\n label =\n typeof item.label === 'function'\n ? item.label({ featureClientSchemaMap, i18n, schemaPath })\n : item.label\n }\n // Crop title to max. 25 characters\n if (label.length > 25) {\n label = label.substring(0, 25) + '...'\n }\n if (activeItems.length === 1) {\n setDropdownLabel(label)\n setDropdownIcon(() => item.ChildComponent)\n } else {\n setDropdownLabel(\n i18n.t('lexical:general:toolbarItemsActive', { count: activeItems.length }),\n )\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent!)\n } else {\n setDropdownIcon(undefined)\n }\n }\n },\n [group, i18n, featureClientSchemaMap, schemaPath],\n )\n\n return (\n <div className={`fixed-toolbar__group fixed-toolbar__group-${group.key}`} key={group.key}>\n {group.type === 'dropdown' && group.items.length ? (\n DropdownIcon ? (\n <ToolbarDropdown\n anchorElem={anchorElem}\n editor={editor}\n group={group}\n Icon={DropdownIcon}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={group.maxActiveItems ?? 1}\n onActiveChange={onActiveChange}\n />\n ) : (\n <ToolbarDropdown\n anchorElem={anchorElem}\n editor={editor}\n group={group}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={group.maxActiveItems ?? 1}\n onActiveChange={onActiveChange}\n />\n )\n ) : null}\n {group.type === 'buttons' && group.items.length\n ? group.items.map((item) => {\n return (\n <ButtonGroupItem anchorElem={anchorElem} editor={editor} item={item} key={item.key} />\n )\n })\n : null}\n {index < editorConfig.features.toolbarFixed?.groups.length - 1 && <div className=\"divider\" />}\n </div>\n )\n}\n\nfunction FixedToolbar({\n anchorElem,\n clientProps,\n editor,\n editorConfig,\n parentWithFixedToolbar,\n}: {\n anchorElem: HTMLElement\n clientProps?: FixedToolbarFeatureProps\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n parentWithFixedToolbar: EditorConfigContextType | false\n}): React.ReactNode {\n const currentToolbarRef = React.useRef<HTMLDivElement>(null)\n\n const { y } = useScrollInfo()\n\n // Memoize the parent toolbar element\n const parentToolbarElem = useMemo(() => {\n if (!parentWithFixedToolbar || clientProps?.disableIfParentHasFixedToolbar) {\n return null\n }\n\n const parentEditorElem = parentWithFixedToolbar.editorContainerRef.current\n let sibling = parentEditorElem.previousElementSibling\n while (sibling) {\n if (sibling.classList.contains('fixed-toolbar')) {\n return sibling\n }\n sibling = sibling.previousElementSibling\n }\n return null\n }, [clientProps?.disableIfParentHasFixedToolbar, parentWithFixedToolbar])\n\n useThrottledEffect(\n () => {\n if (!parentToolbarElem) {\n // this also checks for clientProps?.disableIfParentHasFixedToolbar indirectly, see the parentToolbarElem useMemo\n return\n }\n const currentToolbarElem = currentToolbarRef.current\n if (!currentToolbarElem) {\n return\n }\n\n const currentRect = currentToolbarElem.getBoundingClientRect()\n const parentRect = parentToolbarElem.getBoundingClientRect()\n\n // we only need to check for vertical overlap\n const overlapping = !(\n currentRect.bottom < parentRect.top || currentRect.top > parentRect.bottom\n )\n\n if (overlapping) {\n currentToolbarElem.classList.remove('fixed-toolbar')\n currentToolbarElem.classList.add('fixed-toolbar', 'fixed-toolbar--overlapping')\n parentToolbarElem.classList.remove('fixed-toolbar')\n parentToolbarElem.classList.add('fixed-toolbar', 'fixed-toolbar--hide')\n } else {\n if (!currentToolbarElem.classList.contains('fixed-toolbar--overlapping')) {\n return\n }\n currentToolbarElem.classList.remove('fixed-toolbar--overlapping')\n currentToolbarElem.classList.add('fixed-toolbar')\n parentToolbarElem.classList.remove('fixed-toolbar--hide')\n parentToolbarElem.classList.add('fixed-toolbar')\n }\n },\n 50,\n [currentToolbarRef, parentToolbarElem, y],\n )\n\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 ref={currentToolbarRef}\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 getParentEditorWithFixedToolbar = (\n editorConfigContext: EditorConfigContextType,\n): EditorConfigContextType | false => {\n if (editorConfigContext.parentEditor?.editorConfig) {\n if (editorConfigContext.parentEditor?.editorConfig.resolvedFeatureMap.has('toolbarFixed')) {\n return editorConfigContext.parentEditor\n } else {\n if (editorConfigContext.parentEditor) {\n return getParentEditorWithFixedToolbar(editorConfigContext.parentEditor)\n }\n }\n }\n return false\n}\n\nexport const FixedToolbarPlugin: PluginComponent<FixedToolbarFeatureProps> = ({ clientProps }) => {\n const [currentEditor] = useLexicalComposerContext()\n const editorConfigContext = useEditorConfigContext()\n\n const { editorConfig: currentEditorConfig } = editorConfigContext\n\n const editor = clientProps.applyToFocusedEditor\n ? editorConfigContext.focusedEditor?.editor || currentEditor\n : currentEditor\n\n const editorConfig = clientProps.applyToFocusedEditor\n ? editorConfigContext.focusedEditor?.editorConfig || currentEditorConfig\n : currentEditorConfig\n\n const parentWithFixedToolbar = getParentEditorWithFixedToolbar(editorConfigContext)\n\n if (clientProps?.disableIfParentHasFixedToolbar) {\n if (parentWithFixedToolbar) {\n return null\n }\n }\n\n if (!editorConfig?.features?.toolbarFixed?.groups?.length) {\n return null\n }\n\n return (\n <FixedToolbar\n anchorElem={document.body}\n editor={editor}\n editorConfig={editorConfig}\n parentWithFixedToolbar={parentWithFixedToolbar}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useLexicalComposerContext","useScrollInfo","useThrottledEffect","useTranslation","React","useMemo","useEditorConfigContext","ToolbarButton","ToolbarDropdown","ButtonGroupItem","anchorElem","editor","item","Component","_jsx","key","ChildComponent","ToolbarGroupComponent","t0","$","editorConfig","group","index","i18n","fieldProps","t1","featureClientSchemaMap","schemaPath","dropdownLabel","setDropdownLabel","useState","undefined","DropdownIcon","setDropdownIcon","t2","items","type","length","t3","useEffect","t4","t5","activeItems","label","substring","t","count","onActiveChange","t6","features","toolbarFixed","groups","_jsxs","className","children","Icon","itemsContainerClassNames","maxActiveItems","map","item_0","FixedToolbar","clientProps","parentWithFixedToolbar","currentToolbarRef","useRef","y","parentToolbarElem","disableIfParentHasFixedToolbar","parentEditorElem","editorContainerRef","current","sibling","previousElementSibling","classList","contains","currentToolbarElem","currentRect","getBoundingClientRect","parentRect","overlapping","bottom","top","remove","add","onFocus","event","stopPropagation","ref","isEditable","Fragment","i","getParentEditorWithFixedToolbar","editorConfigContext","parentEditor","resolvedFeatureMap","has","FixedToolbarPlugin","currentEditor","currentEditorConfig","applyToFocusedEditor","focusedEditor","Symbol","for","bb0","document","body"],"sources":["../../../../../../src/features/toolbars/fixed/client/Toolbar/index.tsx"],"sourcesContent":["'use client'\nimport type { LexicalEditor } from 'lexical'\n\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext.js'\nimport { useScrollInfo, useThrottledEffect, useTranslation } from '@payloadcms/ui'\nimport * as React from 'react'\nimport { useMemo } from 'react'\n\nimport type { EditorConfigContextType } from '../../../../../lexical/config/client/EditorConfigProvider.js'\nimport type { SanitizedClientEditorConfig } from '../../../../../lexical/config/types.js'\nimport type { PluginComponent } from '../../../../typesClient.js'\nimport type { ToolbarGroup, ToolbarGroupItem } from '../../../types.js'\nimport type { FixedToolbarFeatureProps } from '../../server/index.js'\n\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 if (!item.ChildComponent) {\n return null\n }\n\n return (\n <ToolbarButton editor={editor} item={item} key={item.key}>\n <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<{}, string>()\n const {\n fieldProps: { featureClientSchemaMap, schemaPath },\n } = useEditorConfigContext()\n const [dropdownLabel, setDropdownLabel] = React.useState<string | undefined>(undefined)\n const [DropdownIcon, setDropdownIcon] = React.useState<React.FC | undefined>(undefined)\n\n React.useEffect(() => {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent!)\n } else {\n setDropdownIcon(undefined)\n }\n }, [group])\n\n const onActiveChange = React.useCallback(\n ({ activeItems }: { activeItems: ToolbarGroupItem[] }) => {\n if (!activeItems.length) {\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent!)\n setDropdownLabel(undefined)\n } else {\n setDropdownIcon(undefined)\n setDropdownLabel(undefined)\n }\n return\n }\n const item = activeItems[0]\n\n let label = item.key\n if (item.label) {\n label =\n typeof item.label === 'function'\n ? item.label({ featureClientSchemaMap, i18n, schemaPath })\n : item.label\n }\n // Crop title to max. 25 characters\n if (label.length > 25) {\n label = label.substring(0, 25) + '...'\n }\n if (activeItems.length === 1) {\n setDropdownLabel(label)\n setDropdownIcon(() => item.ChildComponent)\n } else {\n setDropdownLabel(\n i18n.t('lexical:general:toolbarItemsActive', { count: activeItems.length }),\n )\n if (group?.type === 'dropdown' && group.items.length && group.ChildComponent) {\n setDropdownIcon(() => group.ChildComponent!)\n } else {\n setDropdownIcon(undefined)\n }\n }\n },\n [group, i18n, featureClientSchemaMap, schemaPath],\n )\n\n return (\n <div className={`fixed-toolbar__group fixed-toolbar__group-${group.key}`} key={group.key}>\n {group.type === 'dropdown' && group.items.length ? (\n DropdownIcon ? (\n <ToolbarDropdown\n anchorElem={anchorElem}\n editor={editor}\n group={group}\n Icon={DropdownIcon}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={group.maxActiveItems ?? 1}\n onActiveChange={onActiveChange}\n />\n ) : (\n <ToolbarDropdown\n anchorElem={anchorElem}\n editor={editor}\n group={group}\n itemsContainerClassNames={['fixed-toolbar__dropdown-items']}\n label={dropdownLabel}\n maxActiveItems={group.maxActiveItems ?? 1}\n onActiveChange={onActiveChange}\n />\n )\n ) : null}\n {group.type === 'buttons' && group.items.length\n ? group.items.map((item) => {\n return (\n <ButtonGroupItem anchorElem={anchorElem} editor={editor} item={item} key={item.key} />\n )\n })\n : null}\n {index < editorConfig.features.toolbarFixed?.groups.length - 1 && <div className=\"divider\" />}\n </div>\n )\n}\n\nfunction FixedToolbar({\n anchorElem,\n clientProps,\n editor,\n editorConfig,\n parentWithFixedToolbar,\n}: {\n anchorElem: HTMLElement\n clientProps?: FixedToolbarFeatureProps\n editor: LexicalEditor\n editorConfig: SanitizedClientEditorConfig\n parentWithFixedToolbar: EditorConfigContextType | false\n}): React.ReactNode {\n const currentToolbarRef = React.useRef<HTMLDivElement>(null)\n\n const { y } = useScrollInfo()\n\n // Memoize the parent toolbar element\n const parentToolbarElem = useMemo(() => {\n if (!parentWithFixedToolbar || clientProps?.disableIfParentHasFixedToolbar) {\n return null\n }\n\n const parentEditorElem = parentWithFixedToolbar.editorContainerRef.current\n let sibling = parentEditorElem.previousElementSibling\n while (sibling) {\n if (sibling.classList.contains('fixed-toolbar')) {\n return sibling\n }\n sibling = sibling.previousElementSibling\n }\n return null\n }, [clientProps?.disableIfParentHasFixedToolbar, parentWithFixedToolbar])\n\n useThrottledEffect(\n () => {\n if (!parentToolbarElem) {\n // this also checks for clientProps?.disableIfParentHasFixedToolbar indirectly, see the parentToolbarElem useMemo\n return\n }\n const currentToolbarElem = currentToolbarRef.current\n if (!currentToolbarElem) {\n return\n }\n\n const currentRect = currentToolbarElem.getBoundingClientRect()\n const parentRect = parentToolbarElem.getBoundingClientRect()\n\n // we only need to check for vertical overlap\n const overlapping = !(\n currentRect.bottom < parentRect.top || currentRect.top > parentRect.bottom\n )\n\n if (overlapping) {\n currentToolbarElem.classList.remove('fixed-toolbar')\n currentToolbarElem.classList.add('fixed-toolbar', 'fixed-toolbar--overlapping')\n parentToolbarElem.classList.remove('fixed-toolbar')\n parentToolbarElem.classList.add('fixed-toolbar', 'fixed-toolbar--hide')\n } else {\n if (!currentToolbarElem.classList.contains('fixed-toolbar--overlapping')) {\n return\n }\n currentToolbarElem.classList.remove('fixed-toolbar--overlapping')\n currentToolbarElem.classList.add('fixed-toolbar')\n parentToolbarElem.classList.remove('fixed-toolbar--hide')\n parentToolbarElem.classList.add('fixed-toolbar')\n }\n },\n 50,\n [currentToolbarRef, parentToolbarElem, y],\n )\n\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 ref={currentToolbarRef}\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 getParentEditorWithFixedToolbar = (\n editorConfigContext: EditorConfigContextType,\n): EditorConfigContextType | false => {\n if (editorConfigContext.parentEditor?.editorConfig) {\n if (editorConfigContext.parentEditor?.editorConfig.resolvedFeatureMap.has('toolbarFixed')) {\n return editorConfigContext.parentEditor\n } else {\n if (editorConfigContext.parentEditor) {\n return getParentEditorWithFixedToolbar(editorConfigContext.parentEditor)\n }\n }\n }\n return false\n}\n\nexport const FixedToolbarPlugin: PluginComponent<FixedToolbarFeatureProps> = ({ clientProps }) => {\n const [currentEditor] = useLexicalComposerContext()\n const editorConfigContext = useEditorConfigContext()\n\n const { editorConfig: currentEditorConfig } = editorConfigContext\n\n const editor = clientProps.applyToFocusedEditor\n ? editorConfigContext.focusedEditor?.editor || currentEditor\n : currentEditor\n\n const editorConfig = clientProps.applyToFocusedEditor\n ? editorConfigContext.focusedEditor?.editorConfig || currentEditorConfig\n : currentEditorConfig\n\n const parentWithFixedToolbar = getParentEditorWithFixedToolbar(editorConfigContext)\n\n if (clientProps?.disableIfParentHasFixedToolbar) {\n if (parentWithFixedToolbar) {\n return null\n }\n }\n\n if (!editorConfig?.features?.toolbarFixed?.groups?.length) {\n return null\n }\n\n return (\n <FixedToolbar\n anchorElem={document.body}\n editor={editor}\n editorConfig={editorConfig}\n parentWithFixedToolbar={parentWithFixedToolbar}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -35,7 +35,7 @@ function ButtonGroupItem({
35
35
  }, item.key);
36
36
  }
37
37
  function ToolbarGroupComponent(t0) {
38
- const $ = _c(14);
38
+ const $ = _c(19);
39
39
  const {
40
40
  anchorElem,
41
41
  editor,
@@ -47,8 +47,7 @@ function ToolbarGroupComponent(t0) {
47
47
  } = useEditorConfigContext();
48
48
  const [DropdownIcon, setDropdownIcon] = React.useState();
49
49
  let t1;
50
- let t2;
51
- if ($[0] !== group) {
50
+ if ($[0] !== group.ChildComponent || $[1] !== group.items || $[2] !== group.type) {
52
51
  t1 = () => {
53
52
  if (group?.type === "dropdown" && group.items.length && group.ChildComponent) {
54
53
  setDropdownIcon(() => group.ChildComponent);
@@ -56,17 +55,24 @@ function ToolbarGroupComponent(t0) {
56
55
  setDropdownIcon(undefined);
57
56
  }
58
57
  };
58
+ $[0] = group.ChildComponent;
59
+ $[1] = group.items;
60
+ $[2] = group.type;
61
+ $[3] = t1;
62
+ } else {
63
+ t1 = $[3];
64
+ }
65
+ let t2;
66
+ if ($[4] !== group) {
59
67
  t2 = [group];
60
- $[0] = group;
61
- $[1] = t1;
62
- $[2] = t2;
68
+ $[4] = group;
69
+ $[5] = t2;
63
70
  } else {
64
- t1 = $[1];
65
- t2 = $[2];
71
+ t2 = $[5];
66
72
  }
67
73
  React.useEffect(t1, t2);
68
74
  let t3;
69
- if ($[3] !== group) {
75
+ if ($[6] !== group.ChildComponent || $[7] !== group.items || $[8] !== group.type) {
70
76
  t3 = t4 => {
71
77
  const {
72
78
  activeItems
@@ -82,15 +88,17 @@ function ToolbarGroupComponent(t0) {
82
88
  const item = activeItems[0];
83
89
  setDropdownIcon(() => item.ChildComponent);
84
90
  };
85
- $[3] = group;
86
- $[4] = t3;
91
+ $[6] = group.ChildComponent;
92
+ $[7] = group.items;
93
+ $[8] = group.type;
94
+ $[9] = t3;
87
95
  } else {
88
- t3 = $[4];
96
+ t3 = $[9];
89
97
  }
90
98
  const onActiveChange = t3;
91
99
  const t4 = `inline-toolbar-popup__group inline-toolbar-popup__group-${group.key}`;
92
100
  let t5;
93
- if ($[5] !== group || $[6] !== DropdownIcon || $[7] !== anchorElem || $[8] !== editor || $[9] !== onActiveChange || $[10] !== editorConfig.features.toolbarInline || $[11] !== index || $[12] !== t4) {
101
+ if ($[10] !== DropdownIcon || $[11] !== anchorElem || $[12] !== editor || $[13] !== editorConfig.features.toolbarInline?.groups.length || $[14] !== group || $[15] !== index || $[16] !== onActiveChange || $[17] !== t4) {
94
102
  t5 = _jsxs("div", {
95
103
  className: t4,
96
104
  children: [group.type === "dropdown" && group.items.length ? DropdownIcon ? _jsx(ToolbarDropdown, {
@@ -114,17 +122,17 @@ function ToolbarGroupComponent(t0) {
114
122
  className: "divider"
115
123
  })]
116
124
  }, group.key);
117
- $[5] = group;
118
- $[6] = DropdownIcon;
119
- $[7] = anchorElem;
120
- $[8] = editor;
121
- $[9] = onActiveChange;
122
- $[10] = editorConfig.features.toolbarInline;
123
- $[11] = index;
124
- $[12] = t4;
125
- $[13] = t5;
125
+ $[10] = DropdownIcon;
126
+ $[11] = anchorElem;
127
+ $[12] = editor;
128
+ $[13] = editorConfig.features.toolbarInline?.groups.length;
129
+ $[14] = group;
130
+ $[15] = index;
131
+ $[16] = onActiveChange;
132
+ $[17] = t4;
133
+ $[18] = t5;
126
134
  } else {
127
- t5 = $[13];
135
+ t5 = $[18];
128
136
  }
129
137
  return t5;
130
138
  }