@payloadcms/richtext-lexical 3.68.0-internal-debug.35482da → 3.68.0-internal-debug.654e4ad

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 (98) hide show
  1. package/dist/exports/client/index.d.ts +1 -0
  2. package/dist/exports/client/index.d.ts.map +1 -1
  3. package/dist/exports/client/index.js +1 -0
  4. package/dist/exports/client/index.js.map +1 -1
  5. package/dist/exports/client/internal-client.d.ts +3 -0
  6. package/dist/exports/client/internal-client.d.ts.map +1 -0
  7. package/dist/exports/client/internal-client.js +4 -0
  8. package/dist/exports/client/internal-client.js.map +1 -0
  9. package/dist/exports/react/index.d.ts +1 -1
  10. package/dist/exports/react/index.d.ts.map +1 -1
  11. package/dist/exports/react/index.js.map +1 -1
  12. package/dist/features/blocks/client/component/index.js +2 -2
  13. package/dist/features/blocks/client/component/index.js.map +1 -1
  14. package/dist/features/blocks/client/componentInline/index.js +2 -2
  15. package/dist/features/blocks/client/componentInline/index.js.map +1 -1
  16. package/dist/features/blocks/server/nodes/BlocksNode.js.map +1 -1
  17. package/dist/features/blocks/server/nodes/InlineBlocksNode.js.map +1 -1
  18. package/dist/features/converters/lexicalToJSX/Component/index.d.ts +2 -14
  19. package/dist/features/converters/lexicalToJSX/Component/index.d.ts.map +1 -1
  20. package/dist/features/converters/lexicalToJSX/Component/index.js +4 -9
  21. package/dist/features/converters/lexicalToJSX/Component/index.js.map +1 -1
  22. package/dist/features/converters/lexicalToJSX/converter/index.d.ts +16 -1
  23. package/dist/features/converters/lexicalToJSX/converter/index.d.ts.map +1 -1
  24. package/dist/features/converters/lexicalToJSX/converter/index.js +87 -5
  25. package/dist/features/converters/lexicalToJSX/converter/index.js.map +1 -1
  26. package/dist/features/converters/lexicalToJSX/converter/types.d.ts +14 -10
  27. package/dist/features/converters/lexicalToJSX/converter/types.d.ts.map +1 -1
  28. package/dist/features/converters/lexicalToJSX/converter/types.js.map +1 -1
  29. package/dist/features/debug/jsxConverter/client/plugin/index.js +1 -1
  30. package/dist/features/debug/jsxConverter/client/plugin/index.js.map +1 -1
  31. package/dist/features/link/nodes/LinkNode.js.map +1 -1
  32. package/dist/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  33. package/dist/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js.map +1 -1
  34. package/dist/features/relationship/server/nodes/RelationshipNode.js.map +1 -1
  35. package/dist/features/upload/server/nodes/UploadNode.js.map +1 -1
  36. package/dist/field/Field.d.ts.map +1 -1
  37. package/dist/field/Field.js +37 -21
  38. package/dist/field/Field.js.map +1 -1
  39. package/dist/field/RichTextViewProvider.d.ts +83 -0
  40. package/dist/field/RichTextViewProvider.d.ts.map +1 -0
  41. package/dist/field/RichTextViewProvider.js +102 -0
  42. package/dist/field/RichTextViewProvider.js.map +1 -0
  43. package/dist/field/ViewSelector.d.ts +4 -0
  44. package/dist/field/ViewSelector.d.ts.map +1 -0
  45. package/dist/field/ViewSelector.js +90 -0
  46. package/dist/field/ViewSelector.js.map +1 -0
  47. package/dist/field/ViewSelector.scss +34 -0
  48. package/dist/field/index.d.ts +1 -0
  49. package/dist/field/index.d.ts.map +1 -1
  50. package/dist/field/index.js +41 -16
  51. package/dist/field/index.js.map +1 -1
  52. package/dist/field/index.scss +12 -0
  53. package/dist/field/rscEntry.d.ts +1 -1
  54. package/dist/field/rscEntry.d.ts.map +1 -1
  55. package/dist/field/rscEntry.js +13 -1
  56. package/dist/field/rscEntry.js.map +1 -1
  57. package/dist/index.d.ts +1 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +3 -1
  60. package/dist/index.js.map +1 -1
  61. package/dist/lexical/LexicalEditor.d.ts.map +1 -1
  62. package/dist/lexical/LexicalEditor.js +34 -28
  63. package/dist/lexical/LexicalEditor.js.map +1 -1
  64. package/dist/lexical/LexicalProvider.d.ts.map +1 -1
  65. package/dist/lexical/LexicalProvider.js +19 -11
  66. package/dist/lexical/LexicalProvider.js.map +1 -1
  67. package/dist/lexical/config/client/sanitize.d.ts +1 -1
  68. package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
  69. package/dist/lexical/config/client/sanitize.js +3 -2
  70. package/dist/lexical/config/client/sanitize.js.map +1 -1
  71. package/dist/lexical/config/types.d.ts +4 -0
  72. package/dist/lexical/config/types.d.ts.map +1 -1
  73. package/dist/lexical/config/types.js +3 -1
  74. package/dist/lexical/config/types.js.map +1 -1
  75. package/dist/lexical/nodes/index.d.ts +12 -2
  76. package/dist/lexical/nodes/index.d.ts.map +1 -1
  77. package/dist/lexical/nodes/index.js +187 -2
  78. package/dist/lexical/nodes/index.js.map +1 -1
  79. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts +2 -0
  80. package/dist/lexical/plugins/NodeViewOverridePlugin/index.d.ts.map +1 -0
  81. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js +31 -0
  82. package/dist/lexical/plugins/NodeViewOverridePlugin/index.js.map +1 -0
  83. package/dist/lexical/utils/point.js.map +1 -1
  84. package/dist/lexical/utils/rect.js.map +1 -1
  85. package/dist/types.d.ts +152 -2
  86. package/dist/types.d.ts.map +1 -1
  87. package/dist/types.js +55 -0
  88. package/dist/types.js.map +1 -1
  89. package/dist/utilities/fieldsDrawer/DrawerContent.js +2 -2
  90. package/dist/utilities/fieldsDrawer/DrawerContent.js.map +1 -1
  91. package/dist/utilities/generateImportMap.d.ts.map +1 -1
  92. package/dist/utilities/generateImportMap.js +1 -0
  93. package/dist/utilities/generateImportMap.js.map +1 -1
  94. package/dist/validate/hasText.d.ts +6 -1
  95. package/dist/validate/hasText.d.ts.map +1 -1
  96. package/dist/validate/hasText.js +10 -4
  97. package/dist/validate/hasText.js.map +1 -1
  98. package/package.json +13 -8
@@ -0,0 +1,90 @@
1
+ 'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
3
+ import { ChevronIcon, Popup, PopupList } from '@payloadcms/ui';
4
+ import React from 'react';
5
+ import { useRichTextView } from './RichTextViewProvider.js';
6
+ import './ViewSelector.scss';
7
+ export function ViewSelector() {
8
+ const { currentView, setCurrentView, views } = useRichTextView();
9
+ // Don't show if no views or only default exists
10
+ if (!views || Object.keys(views).length === 0) {
11
+ return null;
12
+ }
13
+ const viewKeys = Object.keys(views);
14
+ const hasNonDefaultViews = viewKeys.some((key)=>key !== 'default');
15
+ // If only 'default' exists, no need to show selector
16
+ if (!hasNonDefaultViews) {
17
+ return null;
18
+ }
19
+ // Build list of available views
20
+ const allViews = [
21
+ 'default',
22
+ ...viewKeys.filter((key)=>key !== 'default')
23
+ ];
24
+ const currentViewLabel = currentView.charAt(0).toUpperCase() + currentView.slice(1);
25
+ return /*#__PURE__*/ _jsxDEV("div", {
26
+ className: "lexical-view-selector",
27
+ children: /*#__PURE__*/ _jsxDEV(Popup, {
28
+ button: /*#__PURE__*/ _jsxDEV("button", {
29
+ className: "lexical-view-selector__button",
30
+ type: "button",
31
+ children: [
32
+ /*#__PURE__*/ _jsxDEV("span", {
33
+ className: "lexical-view-selector__label",
34
+ children: currentViewLabel
35
+ }, void 0, false, {
36
+ fileName: "src/field/ViewSelector.tsx",
37
+ lineNumber: 34,
38
+ columnNumber: 13
39
+ }, void 0),
40
+ /*#__PURE__*/ _jsxDEV(ChevronIcon, {
41
+ className: "lexical-view-selector__icon"
42
+ }, void 0, false, {
43
+ fileName: "src/field/ViewSelector.tsx",
44
+ lineNumber: 35,
45
+ columnNumber: 13
46
+ }, void 0)
47
+ ]
48
+ }, void 0, true, {
49
+ fileName: "src/field/ViewSelector.tsx",
50
+ lineNumber: 33,
51
+ columnNumber: 11
52
+ }, void 0),
53
+ buttonType: "custom",
54
+ horizontalAlign: "left",
55
+ render: ({ close })=>/*#__PURE__*/ _jsxDEV(PopupList.ButtonGroup, {
56
+ children: allViews.map((viewName)=>{
57
+ const viewLabel = viewName.charAt(0).toUpperCase() + viewName.slice(1);
58
+ return /*#__PURE__*/ _jsxDEV(PopupList.Button, {
59
+ active: viewName === currentView,
60
+ disabled: viewName === currentView,
61
+ onClick: ()=>{
62
+ setCurrentView?.(viewName);
63
+ close();
64
+ },
65
+ children: viewLabel
66
+ }, viewName, false, {
67
+ fileName: "src/field/ViewSelector.tsx",
68
+ lineNumber: 46,
69
+ columnNumber: 17
70
+ }, void 0);
71
+ })
72
+ }, void 0, false, {
73
+ fileName: "src/field/ViewSelector.tsx",
74
+ lineNumber: 41,
75
+ columnNumber: 11
76
+ }, void 0),
77
+ size: "large"
78
+ }, void 0, false, {
79
+ fileName: "src/field/ViewSelector.tsx",
80
+ lineNumber: 31,
81
+ columnNumber: 7
82
+ }, this)
83
+ }, void 0, false, {
84
+ fileName: "src/field/ViewSelector.tsx",
85
+ lineNumber: 30,
86
+ columnNumber: 5
87
+ }, this);
88
+ }
89
+
90
+ //# sourceMappingURL=ViewSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/field/ViewSelector.tsx"],"sourcesContent":["'use client'\nimport { ChevronIcon, Popup, PopupList } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useRichTextView } from './RichTextViewProvider.js'\nimport './ViewSelector.scss'\n\nexport function ViewSelector(): null | React.ReactElement {\n const { currentView, setCurrentView, views } = useRichTextView()\n\n // Don't show if no views or only default exists\n if (!views || Object.keys(views).length === 0) {\n return null\n }\n\n const viewKeys = Object.keys(views)\n const hasNonDefaultViews = viewKeys.some((key) => key !== 'default')\n\n // If only 'default' exists, no need to show selector\n if (!hasNonDefaultViews) {\n return null\n }\n\n // Build list of available views\n const allViews = ['default', ...viewKeys.filter((key) => key !== 'default')]\n\n const currentViewLabel = currentView.charAt(0).toUpperCase() + currentView.slice(1)\n\n return (\n <div className=\"lexical-view-selector\">\n <Popup\n button={\n <button className=\"lexical-view-selector__button\" type=\"button\">\n <span className=\"lexical-view-selector__label\">{currentViewLabel}</span>\n <ChevronIcon className=\"lexical-view-selector__icon\" />\n </button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"left\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {allViews.map((viewName) => {\n const viewLabel = viewName.charAt(0).toUpperCase() + viewName.slice(1)\n\n return (\n <PopupList.Button\n active={viewName === currentView}\n disabled={viewName === currentView}\n key={viewName}\n onClick={() => {\n setCurrentView?.(viewName)\n close()\n }}\n >\n {viewLabel}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"large\"\n />\n </div>\n )\n}\n"],"names":["ChevronIcon","Popup","PopupList","React","useRichTextView","ViewSelector","currentView","setCurrentView","views","Object","keys","length","viewKeys","hasNonDefaultViews","some","key","allViews","filter","currentViewLabel","charAt","toUpperCase","slice","div","className","button","type","span","buttonType","horizontalAlign","render","close","ButtonGroup","map","viewName","viewLabel","Button","active","disabled","onClick","size"],"mappings":"AAAA;;AACA,SAASA,WAAW,EAAEC,KAAK,EAAEC,SAAS,QAAQ,iBAAgB;AAC9D,OAAOC,WAAW,QAAO;AAEzB,SAASC,eAAe,QAAQ,4BAA2B;AAC3D,OAAO,sBAAqB;AAE5B,OAAO,SAASC;IACd,MAAM,EAAEC,WAAW,EAAEC,cAAc,EAAEC,KAAK,EAAE,GAAGJ;IAE/C,gDAAgD;IAChD,IAAI,CAACI,SAASC,OAAOC,IAAI,CAACF,OAAOG,MAAM,KAAK,GAAG;QAC7C,OAAO;IACT;IAEA,MAAMC,WAAWH,OAAOC,IAAI,CAACF;IAC7B,MAAMK,qBAAqBD,SAASE,IAAI,CAAC,CAACC,MAAQA,QAAQ;IAE1D,qDAAqD;IACrD,IAAI,CAACF,oBAAoB;QACvB,OAAO;IACT;IAEA,gCAAgC;IAChC,MAAMG,WAAW;QAAC;WAAcJ,SAASK,MAAM,CAAC,CAACF,MAAQA,QAAQ;KAAW;IAE5E,MAAMG,mBAAmBZ,YAAYa,MAAM,CAAC,GAAGC,WAAW,KAAKd,YAAYe,KAAK,CAAC;IAEjF,qBACE,QAACC;QAAIC,WAAU;kBACb,cAAA,QAACtB;YACCuB,sBACE,QAACA;gBAAOD,WAAU;gBAAgCE,MAAK;;kCACrD,QAACC;wBAAKH,WAAU;kCAAgCL;;;;;;kCAChD,QAAClB;wBAAYuB,WAAU;;;;;;;;;;;;YAG3BI,YAAW;YACXC,iBAAgB;YAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,QAAC5B,UAAU6B,WAAW;8BACnBf,SAASgB,GAAG,CAAC,CAACC;wBACb,MAAMC,YAAYD,SAASd,MAAM,CAAC,GAAGC,WAAW,KAAKa,SAASZ,KAAK,CAAC;wBAEpE,qBACE,QAACnB,UAAUiC,MAAM;4BACfC,QAAQH,aAAa3B;4BACrB+B,UAAUJ,aAAa3B;4BAEvBgC,SAAS;gCACP/B,iBAAiB0B;gCACjBH;4BACF;sCAECI;2BANID;;;;;oBASX;;;;;;YAGJM,MAAK;;;;;;;;;;;AAIb"}
@@ -0,0 +1,34 @@
1
+ @import '~@payloadcms/ui/scss';
2
+
3
+ .lexical-view-selector {
4
+ display: inline-flex;
5
+ margin-left: var(--spacing-xs);
6
+ vertical-align: middle;
7
+
8
+ &__button {
9
+ all: unset;
10
+ display: inline-flex;
11
+ align-items: center;
12
+ gap: 4px;
13
+ padding: 2px 6px;
14
+ background: transparent;
15
+ border-radius: var(--border-radius-s);
16
+ cursor: pointer;
17
+ color: var(--theme-elevation-600);
18
+ box-sizing: border-box;
19
+
20
+ &:hover {
21
+ background: var(--theme-elevation-100);
22
+ color: var(--theme-elevation-800);
23
+ }
24
+ }
25
+
26
+ &__label {
27
+ line-height: 1;
28
+ white-space: nowrap;
29
+ }
30
+
31
+ &__icon {
32
+ flex-shrink: 0;
33
+ }
34
+ }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { LexicalRichTextFieldProps } from '../types.js';
3
3
  export declare const RichTextField: React.FC<LexicalRichTextFieldProps>;
4
+ export declare const RichTextFieldImpl: React.FC<LexicalRichTextFieldProps>;
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/field/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA8C,MAAM,OAAO,CAAA;AAIlE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAU5D,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAiE7D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/field/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA8C,MAAM,OAAO,CAAA;AAIlE,OAAO,KAAK,EAAgC,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAW1F,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAM7D,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAgFjE,CAAA"}
@@ -1,19 +1,40 @@
1
1
  'use client';
2
2
  import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
3
+ import { createElement as _createElement } from "react";
3
4
  import { ShimmerEffect, useConfig } from '@payloadcms/ui';
4
5
  import React, { lazy, Suspense, useEffect, useState } from 'react';
5
6
  import { defaultEditorLexicalConfig } from '../lexical/config/client/default.js';
6
7
  import { loadClientFeatures } from '../lexical/config/client/loader.js';
7
8
  import { sanitizeClientEditorConfig } from '../lexical/config/client/sanitize.js';
9
+ import { RichTextViewProvider, useRichTextView } from './RichTextViewProvider.js';
8
10
  const RichTextEditor = /*#__PURE__*/ lazy(()=>import('./Field.js').then((module)=>({
9
11
  default: module.RichText
10
12
  })));
11
13
  export const RichTextField = (props)=>{
12
- const { admin = {}, clientFeatures, featureClientImportMap = {}, featureClientSchemaMap, field, lexicalEditorConfig = defaultEditorLexicalConfig, schemaPath } = props;
14
+ return /*#__PURE__*/ _jsxDEV(RichTextViewProvider, {
15
+ views: props.views,
16
+ children: /*#__PURE__*/ _jsxDEV(RichTextFieldImpl, {
17
+ ...props
18
+ }, void 0, false, {
19
+ fileName: "src/field/index.tsx",
20
+ lineNumber: 25,
21
+ columnNumber: 7
22
+ }, this)
23
+ }, void 0, false, {
24
+ fileName: "src/field/index.tsx",
25
+ lineNumber: 24,
26
+ columnNumber: 5
27
+ }, this);
28
+ };
29
+ export const RichTextFieldImpl = (props)=>{
30
+ const { admin: _admin = {}, clientFeatures, featureClientImportMap = {}, featureClientSchemaMap, field, lexicalEditorConfig: _lexicalEditorConfig = defaultEditorLexicalConfig, schemaPath, views } = props;
31
+ const { currentView } = useRichTextView();
32
+ const currentViewAdminConfig = views?.[currentView]?.admin ?? _admin;
33
+ const currentViewLexicalEditorConfig = views?.[currentView]?.lexical ?? _lexicalEditorConfig;
13
34
  const { config } = useConfig();
14
35
  const [finalSanitizedEditorConfig, setFinalSanitizedEditorConfig] = useState(null);
15
36
  useEffect(()=>{
16
- if (finalSanitizedEditorConfig) {
37
+ if (finalSanitizedEditorConfig && finalSanitizedEditorConfig.view === currentView) {
17
38
  return;
18
39
  }
19
40
  const featureProvidersLocal = [];
@@ -32,20 +53,21 @@ export const RichTextField = (props)=>{
32
53
  schemaPath: schemaPath ?? field.name,
33
54
  unSanitizedEditorConfig: {
34
55
  features: featureProvidersLocal,
35
- lexical: lexicalEditorConfig
56
+ lexical: currentViewLexicalEditorConfig
36
57
  }
37
58
  });
38
- setFinalSanitizedEditorConfig(sanitizeClientEditorConfig(resolvedClientFeatures, lexicalEditorConfig, admin));
59
+ setFinalSanitizedEditorConfig(sanitizeClientEditorConfig(resolvedClientFeatures, currentViewLexicalEditorConfig, currentViewAdminConfig, currentView));
39
60
  }, [
40
- admin,
61
+ currentViewAdminConfig,
41
62
  clientFeatures,
42
63
  config,
43
64
  featureClientImportMap,
44
65
  featureClientSchemaMap,
45
66
  field,
46
67
  finalSanitizedEditorConfig,
47
- lexicalEditorConfig,
48
- schemaPath
68
+ currentViewLexicalEditorConfig,
69
+ schemaPath,
70
+ currentView
49
71
  ]);
50
72
  // TODO: Optimize this and use useMemo for this in the future. This might break sub-richtext-blocks from the blocks feature. Need to investigate
51
73
  return /*#__PURE__*/ _jsxDEV(Suspense, {
@@ -53,20 +75,23 @@ export const RichTextField = (props)=>{
53
75
  height: "35vh"
54
76
  }, void 0, false, {
55
77
  fileName: "src/field/index.tsx",
56
- lineNumber: 79,
78
+ lineNumber: 100,
57
79
  columnNumber: 25
58
80
  }, void 0),
59
- children: finalSanitizedEditorConfig && /*#__PURE__*/ _jsxDEV(RichTextEditor, {
81
+ children: finalSanitizedEditorConfig && /*#__PURE__*/ _createElement(RichTextEditor, {
60
82
  ...props,
61
- editorConfig: finalSanitizedEditorConfig
62
- }, void 0, false, {
63
- fileName: "src/field/index.tsx",
64
- lineNumber: 81,
65
- columnNumber: 9
66
- }, this)
83
+ editorConfig: finalSanitizedEditorConfig,
84
+ key: finalSanitizedEditorConfig.view,
85
+ __source: {
86
+ fileName: "src/field/index.tsx",
87
+ lineNumber: 102,
88
+ columnNumber: 9
89
+ },
90
+ __self: this
91
+ })
67
92
  }, void 0, false, {
68
93
  fileName: "src/field/index.tsx",
69
- lineNumber: 79,
94
+ lineNumber: 100,
70
95
  columnNumber: 5
71
96
  }, this);
72
97
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/field/index.tsx"],"sourcesContent":["'use client'\n\nimport type { RichTextFieldClient } from 'payload'\n\nimport { ShimmerEffect, useConfig } from '@payloadcms/ui'\nimport React, { lazy, Suspense, useEffect, useState } from 'react'\n\nimport type { FeatureProviderClient } from '../features/typesClient.js'\nimport type { SanitizedClientEditorConfig } from '../lexical/config/types.js'\nimport type { LexicalRichTextFieldProps } from '../types.js'\n\nimport { defaultEditorLexicalConfig } from '../lexical/config/client/default.js'\nimport { loadClientFeatures } from '../lexical/config/client/loader.js'\nimport { sanitizeClientEditorConfig } from '../lexical/config/client/sanitize.js'\n\nconst RichTextEditor = lazy(() =>\n import('./Field.js').then((module) => ({ default: module.RichText })),\n)\n\nexport const RichTextField: React.FC<LexicalRichTextFieldProps> = (props) => {\n const {\n admin = {},\n clientFeatures,\n featureClientImportMap = {},\n featureClientSchemaMap,\n field,\n lexicalEditorConfig = defaultEditorLexicalConfig,\n schemaPath,\n } = props\n\n const { config } = useConfig()\n\n const [finalSanitizedEditorConfig, setFinalSanitizedEditorConfig] =\n useState<null | SanitizedClientEditorConfig>(null)\n\n useEffect(() => {\n if (finalSanitizedEditorConfig) {\n return\n }\n\n const featureProvidersLocal: FeatureProviderClient<any, any>[] = []\n for (const clientFeature of Object.values(clientFeatures)) {\n if (!clientFeature.clientFeatureProvider) {\n continue\n }\n featureProvidersLocal.push(\n clientFeature.clientFeatureProvider(clientFeature.clientFeatureProps),\n ) // Execute the clientFeatureProvider function here, as the server cannot execute functions imported from use client files\n }\n\n const resolvedClientFeatures = loadClientFeatures({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field: field as RichTextFieldClient,\n schemaPath: schemaPath ?? field.name,\n unSanitizedEditorConfig: {\n features: featureProvidersLocal,\n lexical: lexicalEditorConfig,\n },\n })\n\n setFinalSanitizedEditorConfig(\n sanitizeClientEditorConfig(resolvedClientFeatures, lexicalEditorConfig, admin),\n )\n }, [\n admin,\n clientFeatures,\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field,\n finalSanitizedEditorConfig,\n lexicalEditorConfig,\n schemaPath,\n ]) // TODO: Optimize this and use useMemo for this in the future. This might break sub-richtext-blocks from the blocks feature. Need to investigate\n\n return (\n <Suspense fallback={<ShimmerEffect height=\"35vh\" />}>\n {finalSanitizedEditorConfig && (\n <RichTextEditor {...props} editorConfig={finalSanitizedEditorConfig} />\n )}\n </Suspense>\n )\n}\n"],"names":["ShimmerEffect","useConfig","React","lazy","Suspense","useEffect","useState","defaultEditorLexicalConfig","loadClientFeatures","sanitizeClientEditorConfig","RichTextEditor","then","module","default","RichText","RichTextField","props","admin","clientFeatures","featureClientImportMap","featureClientSchemaMap","field","lexicalEditorConfig","schemaPath","config","finalSanitizedEditorConfig","setFinalSanitizedEditorConfig","featureProvidersLocal","clientFeature","Object","values","clientFeatureProvider","push","clientFeatureProps","resolvedClientFeatures","name","unSanitizedEditorConfig","features","lexical","fallback","height","editorConfig"],"mappings":"AAAA;;AAIA,SAASA,aAAa,EAAEC,SAAS,QAAQ,iBAAgB;AACzD,OAAOC,SAASC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAMlE,SAASC,0BAA0B,QAAQ,sCAAqC;AAChF,SAASC,kBAAkB,QAAQ,qCAAoC;AACvE,SAASC,0BAA0B,QAAQ,uCAAsC;AAEjF,MAAMC,+BAAiBP,KAAK,IAC1B,MAAM,CAAC,cAAcQ,IAAI,CAAC,CAACC,SAAY,CAAA;YAAEC,SAASD,OAAOE,QAAQ;QAAC,CAAA;AAGpE,OAAO,MAAMC,gBAAqD,CAACC;IACjE,MAAM,EACJC,QAAQ,CAAC,CAAC,EACVC,cAAc,EACdC,yBAAyB,CAAC,CAAC,EAC3BC,sBAAsB,EACtBC,KAAK,EACLC,sBAAsBf,0BAA0B,EAChDgB,UAAU,EACX,GAAGP;IAEJ,MAAM,EAAEQ,MAAM,EAAE,GAAGvB;IAEnB,MAAM,CAACwB,4BAA4BC,8BAA8B,GAC/DpB,SAA6C;IAE/CD,UAAU;QACR,IAAIoB,4BAA4B;YAC9B;QACF;QAEA,MAAME,wBAA2D,EAAE;QACnE,KAAK,MAAMC,iBAAiBC,OAAOC,MAAM,CAACZ,gBAAiB;YACzD,IAAI,CAACU,cAAcG,qBAAqB,EAAE;gBACxC;YACF;YACAJ,sBAAsBK,IAAI,CACxBJ,cAAcG,qBAAqB,CAACH,cAAcK,kBAAkB;QAExE;QADI,yHAAyH;QAG7H,MAAMC,yBAAyB1B,mBAAmB;YAChDgB;YACAL;YACAC;YACAC,OAAOA;YACPE,YAAYA,cAAcF,MAAMc,IAAI;YACpCC,yBAAyB;gBACvBC,UAAUV;gBACVW,SAAShB;YACX;QACF;QAEAI,8BACEjB,2BAA2ByB,wBAAwBZ,qBAAqBL;IAE5E,GAAG;QACDA;QACAC;QACAM;QACAL;QACAC;QACAC;QACAI;QACAH;QACAC;KACD;IAAE,gJAAgJ;IAEnJ,qBACE,QAACnB;QAASmC,wBAAU,QAACvC;YAAcwC,QAAO;;;;;;kBACvCf,4CACC,QAACf;YAAgB,GAAGM,KAAK;YAAEyB,cAAchB;;;;;;;;;;;AAIjD,EAAC"}
1
+ {"version":3,"sources":["../../src/field/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\nimport type { RichTextFieldClient } from 'payload'\n\nimport { ShimmerEffect, useConfig } from '@payloadcms/ui'\nimport React, { lazy, Suspense, useEffect, useState } from 'react'\n\nimport type { FeatureProviderClient } from '../features/typesClient.js'\nimport type { SanitizedClientEditorConfig } from '../lexical/config/types.js'\nimport type { LexicalFieldAdminClientProps, LexicalRichTextFieldProps } from '../types.js'\n\nimport { defaultEditorLexicalConfig } from '../lexical/config/client/default.js'\nimport { loadClientFeatures } from '../lexical/config/client/loader.js'\nimport { sanitizeClientEditorConfig } from '../lexical/config/client/sanitize.js'\nimport { RichTextViewProvider, useRichTextView } from './RichTextViewProvider.js'\n\nconst RichTextEditor = lazy(() =>\n import('./Field.js').then((module) => ({ default: module.RichText })),\n)\n\nexport const RichTextField: React.FC<LexicalRichTextFieldProps> = (props) => {\n return (\n <RichTextViewProvider views={props.views}>\n <RichTextFieldImpl {...props} />\n </RichTextViewProvider>\n )\n}\n\nexport const RichTextFieldImpl: React.FC<LexicalRichTextFieldProps> = (props) => {\n const {\n admin: _admin = {},\n clientFeatures,\n featureClientImportMap = {},\n featureClientSchemaMap,\n field,\n lexicalEditorConfig: _lexicalEditorConfig = defaultEditorLexicalConfig,\n schemaPath,\n views,\n } = props\n const { currentView } = useRichTextView()\n const currentViewAdminConfig: LexicalFieldAdminClientProps = views?.[currentView]?.admin ?? _admin\n const currentViewLexicalEditorConfig: LexicalEditorConfig =\n views?.[currentView]?.lexical ?? _lexicalEditorConfig\n\n const { config } = useConfig()\n\n const [finalSanitizedEditorConfig, setFinalSanitizedEditorConfig] =\n useState<null | SanitizedClientEditorConfig>(null)\n\n useEffect(() => {\n if (finalSanitizedEditorConfig && finalSanitizedEditorConfig.view === currentView) {\n return\n }\n\n const featureProvidersLocal: FeatureProviderClient<any, any>[] = []\n for (const clientFeature of Object.values(clientFeatures)) {\n if (!clientFeature.clientFeatureProvider) {\n continue\n }\n featureProvidersLocal.push(\n clientFeature.clientFeatureProvider(clientFeature.clientFeatureProps),\n ) // Execute the clientFeatureProvider function here, as the server cannot execute functions imported from use client files\n }\n\n const resolvedClientFeatures = loadClientFeatures({\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field: field as RichTextFieldClient,\n schemaPath: schemaPath ?? field.name,\n unSanitizedEditorConfig: {\n features: featureProvidersLocal,\n lexical: currentViewLexicalEditorConfig,\n },\n })\n\n setFinalSanitizedEditorConfig(\n sanitizeClientEditorConfig(\n resolvedClientFeatures,\n currentViewLexicalEditorConfig,\n currentViewAdminConfig,\n currentView,\n ),\n )\n }, [\n currentViewAdminConfig,\n clientFeatures,\n config,\n featureClientImportMap,\n featureClientSchemaMap,\n field,\n finalSanitizedEditorConfig,\n currentViewLexicalEditorConfig,\n schemaPath,\n currentView,\n ]) // TODO: Optimize this and use useMemo for this in the future. This might break sub-richtext-blocks from the blocks feature. Need to investigate\n\n return (\n <Suspense fallback={<ShimmerEffect height=\"35vh\" />}>\n {finalSanitizedEditorConfig && (\n <RichTextEditor\n {...props}\n editorConfig={finalSanitizedEditorConfig}\n key={finalSanitizedEditorConfig.view}\n />\n )}\n </Suspense>\n )\n}\n"],"names":["ShimmerEffect","useConfig","React","lazy","Suspense","useEffect","useState","defaultEditorLexicalConfig","loadClientFeatures","sanitizeClientEditorConfig","RichTextViewProvider","useRichTextView","RichTextEditor","then","module","default","RichText","RichTextField","props","views","RichTextFieldImpl","admin","_admin","clientFeatures","featureClientImportMap","featureClientSchemaMap","field","lexicalEditorConfig","_lexicalEditorConfig","schemaPath","currentView","currentViewAdminConfig","currentViewLexicalEditorConfig","lexical","config","finalSanitizedEditorConfig","setFinalSanitizedEditorConfig","view","featureProvidersLocal","clientFeature","Object","values","clientFeatureProvider","push","clientFeatureProps","resolvedClientFeatures","name","unSanitizedEditorConfig","features","fallback","height","editorConfig","key"],"mappings":"AAAA;;;AAKA,SAASA,aAAa,EAAEC,SAAS,QAAQ,iBAAgB;AACzD,OAAOC,SAASC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAMlE,SAASC,0BAA0B,QAAQ,sCAAqC;AAChF,SAASC,kBAAkB,QAAQ,qCAAoC;AACvE,SAASC,0BAA0B,QAAQ,uCAAsC;AACjF,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,4BAA2B;AAEjF,MAAMC,+BAAiBT,KAAK,IAC1B,MAAM,CAAC,cAAcU,IAAI,CAAC,CAACC,SAAY,CAAA;YAAEC,SAASD,OAAOE,QAAQ;QAAC,CAAA;AAGpE,OAAO,MAAMC,gBAAqD,CAACC;IACjE,qBACE,QAACR;QAAqBS,OAAOD,MAAMC,KAAK;kBACtC,cAAA,QAACC;YAAmB,GAAGF,KAAK;;;;;;;;;;;AAGlC,EAAC;AAED,OAAO,MAAME,oBAAyD,CAACF;IACrE,MAAM,EACJG,OAAOC,SAAS,CAAC,CAAC,EAClBC,cAAc,EACdC,yBAAyB,CAAC,CAAC,EAC3BC,sBAAsB,EACtBC,KAAK,EACLC,qBAAqBC,uBAAuBrB,0BAA0B,EACtEsB,UAAU,EACVV,KAAK,EACN,GAAGD;IACJ,MAAM,EAAEY,WAAW,EAAE,GAAGnB;IACxB,MAAMoB,yBAAuDZ,OAAO,CAACW,YAAY,EAAET,SAASC;IAC5F,MAAMU,iCACJb,OAAO,CAACW,YAAY,EAAEG,WAAWL;IAEnC,MAAM,EAAEM,MAAM,EAAE,GAAGjC;IAEnB,MAAM,CAACkC,4BAA4BC,8BAA8B,GAC/D9B,SAA6C;IAE/CD,UAAU;QACR,IAAI8B,8BAA8BA,2BAA2BE,IAAI,KAAKP,aAAa;YACjF;QACF;QAEA,MAAMQ,wBAA2D,EAAE;QACnE,KAAK,MAAMC,iBAAiBC,OAAOC,MAAM,CAAClB,gBAAiB;YACzD,IAAI,CAACgB,cAAcG,qBAAqB,EAAE;gBACxC;YACF;YACAJ,sBAAsBK,IAAI,CACxBJ,cAAcG,qBAAqB,CAACH,cAAcK,kBAAkB;QAExE;QADI,yHAAyH;QAG7H,MAAMC,yBAAyBrC,mBAAmB;YAChD0B;YACAV;YACAC;YACAC,OAAOA;YACPG,YAAYA,cAAcH,MAAMoB,IAAI;YACpCC,yBAAyB;gBACvBC,UAAUV;gBACVL,SAASD;YACX;QACF;QAEAI,8BACE3B,2BACEoC,wBACAb,gCACAD,wBACAD;IAGN,GAAG;QACDC;QACAR;QACAW;QACAV;QACAC;QACAC;QACAS;QACAH;QACAH;QACAC;KACD;IAAE,gJAAgJ;IAEnJ,qBACE,QAAC1B;QAAS6C,wBAAU,QAACjD;YAAckD,QAAO;;;;;;kBACvCf,4CACC,eAACvB;YACE,GAAGM,KAAK;YACTiC,cAAchB;YACdiB,KAAKjB,2BAA2BE,IAAI;;;;;;;;;;;;;AAK9C,EAAC"}
@@ -15,6 +15,18 @@
15
15
  }
16
16
  }
17
17
 
18
+ &__label-row {
19
+ display: flex;
20
+ align-items: center;
21
+ margin-bottom: calc(var(--base) / 4);
22
+ gap: calc(var(--base) / 3);
23
+
24
+ label.field-label:not(.unstyled) {
25
+ margin-right: unset;
26
+ padding-bottom: unset;
27
+ }
28
+ }
29
+
18
30
  &__wrap {
19
31
  width: 100%;
20
32
  position: relative;
@@ -4,5 +4,5 @@ import type { SanitizedServerEditorConfig } from '../lexical/config/types.js';
4
4
  import type { LexicalEditorProps } from '../types.js';
5
5
  export declare const RscEntryLexicalField: React.FC<{
6
6
  sanitizedEditorConfig: SanitizedServerEditorConfig;
7
- } & ClientComponentProps & Pick<FieldPaths, 'path'> & Pick<LexicalEditorProps, 'admin'> & ServerComponentProps>;
7
+ } & ClientComponentProps & Pick<FieldPaths, 'path'> & Pick<LexicalEditorProps, 'admin' | 'views'> & ServerComponentProps>;
8
8
  //# sourceMappingURL=rscEntry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rscEntry.d.ts","sourceRoot":"","sources":["../../src/field/rscEntry.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EAGV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,aAAa,CAAA;AAOpB,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,qBAAqB,EAAE,2BAA2B,CAAA;CACnD,GAAG,oBAAoB,GACtB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GACxB,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,GACjC,oBAAoB,CA6FvB,CAAA"}
1
+ {"version":3,"file":"rscEntry.d.ts","sourceRoot":"","sources":["../../src/field/rscEntry.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EAGV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,aAAa,CAAA;AAOpB,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,qBAAqB,EAAE,2BAA2B,CAAA;CACnD,GAAG,oBAAoB,GACtB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GACxB,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,GAC3C,oBAAoB,CAyGvB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
2
  import { getTranslation } from '@payloadcms/translations';
3
3
  import { renderField } from '@payloadcms/ui/forms/renderField';
4
+ import { getFromImportMap } from 'payload/shared';
4
5
  import React from 'react';
5
6
  // eslint-disable-next-line payload/no-imports-from-exports-dir
6
7
  import { RichTextField } from '../exports/client/index.js';
@@ -76,6 +77,17 @@ export const RscEntryLexicalField = async (args)=>{
76
77
  renderedBlocks: args.renderedBlocks,
77
78
  schemaPath
78
79
  };
80
+ if (args?.views) {
81
+ const viewMap = getFromImportMap({
82
+ importMap: args.payload.importMap,
83
+ PayloadComponent: args.views,
84
+ schemaPath: 'lexical-viewMap',
85
+ silent: true
86
+ });
87
+ if (viewMap) {
88
+ props.views = viewMap;
89
+ }
90
+ }
79
91
  if (Object.keys(admin).length) {
80
92
  props.admin = admin;
81
93
  }
@@ -91,7 +103,7 @@ export const RscEntryLexicalField = async (args)=>{
91
103
  ...props
92
104
  }, void 0, false, {
93
105
  fileName: "src/field/rscEntry.tsx",
94
- lineNumber: 124,
106
+ lineNumber: 138,
95
107
  columnNumber: 10
96
108
  }, this);
97
109
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type {\n ClientComponentProps,\n FieldPaths,\n RichTextFieldClient,\n RichTextField as RichTextFieldType,\n ServerComponentProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { renderField } from '@payloadcms/ui/forms/renderField'\nimport React from 'react'\n\nimport type { SanitizedServerEditorConfig } from '../lexical/config/types.js'\nimport type {\n LexicalEditorProps,\n LexicalFieldAdminClientProps,\n LexicalRichTextFieldProps,\n} from '../types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { buildInitialState } from '../utilities/buildInitialState.js'\nimport { initLexicalFeatures } from '../utilities/initLexicalFeatures.js'\n\nexport const RscEntryLexicalField: React.FC<\n {\n sanitizedEditorConfig: SanitizedServerEditorConfig\n } & ClientComponentProps &\n Pick<FieldPaths, 'path'> &\n Pick<LexicalEditorProps, 'admin'> &\n ServerComponentProps\n> = async (args) => {\n const field: RichTextFieldType = args.field as RichTextFieldType\n const path = args.path ?? (args.clientField as RichTextFieldClient).name\n const schemaPath = args.schemaPath ?? path\n\n const disabled = args?.readOnly || field?.admin?.readOnly\n\n if (!(args?.clientField as RichTextFieldClient)?.name) {\n throw new Error('Initialized lexical RSC field without a field name')\n }\n\n const { clientFeatures, featureClientImportMap, featureClientSchemaMap } = initLexicalFeatures({\n clientFieldSchemaMap: args.clientFieldSchemaMap,\n fieldSchemaMap: args.fieldSchemaMap,\n i18n: args.i18n,\n path,\n payload: args.payload,\n sanitizedEditorConfig: args.sanitizedEditorConfig,\n schemaPath,\n })\n\n let initialLexicalFormState = {}\n if (args.siblingData?.[field.name]?.root?.children?.length) {\n initialLexicalFormState = await buildInitialState({\n context: {\n id: args.id,\n clientFieldSchemaMap: args.clientFieldSchemaMap,\n collectionSlug: args.collectionSlug,\n disabled,\n documentData: args.data,\n field,\n fieldSchemaMap: args.fieldSchemaMap,\n lexicalFieldSchemaPath: schemaPath,\n operation: args.operation,\n permissions: args.permissions,\n preferences: args.preferences,\n renderFieldFn: renderField,\n req: args.req,\n },\n nodeData: args.siblingData?.[field.name]?.root?.children as SerializedLexicalNode[],\n })\n }\n\n const placeholderFromArgs = args.admin?.placeholder\n const placeholder = placeholderFromArgs\n ? getTranslation(placeholderFromArgs, args.i18n)\n : undefined\n\n const admin: LexicalFieldAdminClientProps = {}\n if (placeholder) {\n admin.placeholder = placeholder\n }\n if (args.admin?.hideGutter) {\n admin.hideGutter = true\n }\n if (args.admin?.hideInsertParagraphAtEnd) {\n admin.hideInsertParagraphAtEnd = true\n }\n if (args.admin?.hideAddBlockButton) {\n admin.hideAddBlockButton = true\n }\n if (args.admin?.hideDraggableBlockElement) {\n admin.hideDraggableBlockElement = true\n }\n\n const props: LexicalRichTextFieldProps = {\n clientFeatures,\n featureClientSchemaMap, // TODO: Does client need this? Why cant this just live in the server\n field: args.clientField as RichTextFieldClient,\n forceRender: args.forceRender,\n initialLexicalFormState,\n lexicalEditorConfig: args.sanitizedEditorConfig.lexical,\n path,\n permissions: args.permissions,\n readOnly: args.readOnly,\n renderedBlocks: args.renderedBlocks,\n schemaPath,\n }\n if (Object.keys(admin).length) {\n props.admin = admin\n }\n if (Object.keys(featureClientImportMap).length) {\n props.featureClientImportMap = featureClientImportMap\n }\n\n for (const key in props) {\n if (props[key as keyof LexicalRichTextFieldProps] === undefined) {\n delete props[key as keyof LexicalRichTextFieldProps]\n }\n }\n\n return <RichTextField {...props} />\n}\n"],"names":["getTranslation","renderField","React","RichTextField","buildInitialState","initLexicalFeatures","RscEntryLexicalField","args","field","path","clientField","name","schemaPath","disabled","readOnly","admin","Error","clientFeatures","featureClientImportMap","featureClientSchemaMap","clientFieldSchemaMap","fieldSchemaMap","i18n","payload","sanitizedEditorConfig","initialLexicalFormState","siblingData","root","children","length","context","id","collectionSlug","documentData","data","lexicalFieldSchemaPath","operation","permissions","preferences","renderFieldFn","req","nodeData","placeholderFromArgs","placeholder","undefined","hideGutter","hideInsertParagraphAtEnd","hideAddBlockButton","hideDraggableBlockElement","props","forceRender","lexicalEditorConfig","lexical","renderedBlocks","Object","keys","key"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import type { SerializedLexicalNode } from 'lexical'\nimport type {\n ClientComponentProps,\n FieldPaths,\n RichTextFieldClient,\n RichTextField as RichTextFieldType,\n ServerComponentProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { renderField } from '@payloadcms/ui/forms/renderField'\nimport { getFromImportMap } from 'payload/shared'\nimport React from 'react'\n\nimport type { SanitizedServerEditorConfig } from '../lexical/config/types.js'\nimport type {\n LexicalEditorProps,\n LexicalEditorViewMap,\n LexicalFieldAdminClientProps,\n LexicalRichTextFieldProps,\n} from '../types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { buildInitialState } from '../utilities/buildInitialState.js'\nimport { initLexicalFeatures } from '../utilities/initLexicalFeatures.js'\n\nexport const RscEntryLexicalField: React.FC<\n {\n sanitizedEditorConfig: SanitizedServerEditorConfig\n } & ClientComponentProps &\n Pick<FieldPaths, 'path'> &\n Pick<LexicalEditorProps, 'admin' | 'views'> &\n ServerComponentProps\n> = async (args) => {\n const field: RichTextFieldType = args.field as RichTextFieldType\n const path = args.path ?? (args.clientField as RichTextFieldClient).name\n const schemaPath = args.schemaPath ?? path\n\n const disabled = args?.readOnly || field?.admin?.readOnly\n\n if (!(args?.clientField as RichTextFieldClient)?.name) {\n throw new Error('Initialized lexical RSC field without a field name')\n }\n\n const { clientFeatures, featureClientImportMap, featureClientSchemaMap } = initLexicalFeatures({\n clientFieldSchemaMap: args.clientFieldSchemaMap,\n fieldSchemaMap: args.fieldSchemaMap,\n i18n: args.i18n,\n path,\n payload: args.payload,\n sanitizedEditorConfig: args.sanitizedEditorConfig,\n schemaPath,\n })\n\n let initialLexicalFormState = {}\n if (args.siblingData?.[field.name]?.root?.children?.length) {\n initialLexicalFormState = await buildInitialState({\n context: {\n id: args.id,\n clientFieldSchemaMap: args.clientFieldSchemaMap,\n collectionSlug: args.collectionSlug,\n disabled,\n documentData: args.data,\n field,\n fieldSchemaMap: args.fieldSchemaMap,\n lexicalFieldSchemaPath: schemaPath,\n operation: args.operation,\n permissions: args.permissions,\n preferences: args.preferences,\n renderFieldFn: renderField,\n req: args.req,\n },\n nodeData: args.siblingData?.[field.name]?.root?.children as SerializedLexicalNode[],\n })\n }\n\n const placeholderFromArgs = args.admin?.placeholder\n const placeholder = placeholderFromArgs\n ? getTranslation(placeholderFromArgs, args.i18n)\n : undefined\n\n const admin: LexicalFieldAdminClientProps = {}\n if (placeholder) {\n admin.placeholder = placeholder\n }\n if (args.admin?.hideGutter) {\n admin.hideGutter = true\n }\n if (args.admin?.hideInsertParagraphAtEnd) {\n admin.hideInsertParagraphAtEnd = true\n }\n if (args.admin?.hideAddBlockButton) {\n admin.hideAddBlockButton = true\n }\n if (args.admin?.hideDraggableBlockElement) {\n admin.hideDraggableBlockElement = true\n }\n\n const props: LexicalRichTextFieldProps = {\n clientFeatures,\n featureClientSchemaMap, // TODO: Does client need this? Why cant this just live in the server\n field: args.clientField as RichTextFieldClient,\n forceRender: args.forceRender,\n initialLexicalFormState,\n lexicalEditorConfig: args.sanitizedEditorConfig.lexical,\n path,\n permissions: args.permissions,\n readOnly: args.readOnly,\n renderedBlocks: args.renderedBlocks,\n schemaPath,\n }\n if (args?.views) {\n const viewMap = getFromImportMap<LexicalEditorViewMap>({\n importMap: args.payload.importMap,\n PayloadComponent: args.views,\n schemaPath: 'lexical-viewMap',\n silent: true,\n })\n if (viewMap) {\n props.views = viewMap\n }\n }\n\n if (Object.keys(admin).length) {\n props.admin = admin\n }\n if (Object.keys(featureClientImportMap).length) {\n props.featureClientImportMap = featureClientImportMap\n }\n\n for (const key in props) {\n if (props[key as keyof LexicalRichTextFieldProps] === undefined) {\n delete props[key as keyof LexicalRichTextFieldProps]\n }\n }\n\n return <RichTextField {...props} />\n}\n"],"names":["getTranslation","renderField","getFromImportMap","React","RichTextField","buildInitialState","initLexicalFeatures","RscEntryLexicalField","args","field","path","clientField","name","schemaPath","disabled","readOnly","admin","Error","clientFeatures","featureClientImportMap","featureClientSchemaMap","clientFieldSchemaMap","fieldSchemaMap","i18n","payload","sanitizedEditorConfig","initialLexicalFormState","siblingData","root","children","length","context","id","collectionSlug","documentData","data","lexicalFieldSchemaPath","operation","permissions","preferences","renderFieldFn","req","nodeData","placeholderFromArgs","placeholder","undefined","hideGutter","hideInsertParagraphAtEnd","hideAddBlockButton","hideDraggableBlockElement","props","forceRender","lexicalEditorConfig","lexical","renderedBlocks","views","viewMap","importMap","PayloadComponent","silent","Object","keys","key"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -72,7 +72,7 @@ export type * from './nodeTypes.js';
72
72
  export { $convertFromMarkdownString } from './packages/@lexical/markdown/index.js';
73
73
  export { defaultRichTextValue } from './populateGraphQL/defaultValue.js';
74
74
  export { populate } from './populateGraphQL/populate.js';
75
- export type { LexicalEditorProps, LexicalFieldAdminProps, LexicalRichTextAdapter } from './types.js';
75
+ export type { LexicalEditorNodeMap, LexicalEditorProps, LexicalEditorViewMap, LexicalFieldAdminProps, LexicalRichTextAdapter, NodeMapValue, } from './types.js';
76
76
  export { buildDefaultEditorState, buildEditorState } from './utilities/buildEditorState.js';
77
77
  export { createServerFeature } from './utilities/createServerFeature.js';
78
78
  export { editorConfigFactory } from './utilities/editorConfigFactory.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -72,12 +72,14 @@ export function lexicalEditor(args) {
72
72
  FieldComponent: {
73
73
  path: '@payloadcms/richtext-lexical/rsc#RscEntryLexicalField',
74
74
  serverProps: {
75
- admin: args?.admin
75
+ admin: args?.admin,
76
+ views: args?.views
76
77
  }
77
78
  },
78
79
  // SanitizedEditorConfig is manually passed by `renderField` in `fieldSchemasToFormState/renderField.tsx`
79
80
  // in order to reduce the size of the field schema
80
81
  generateImportMap: getGenerateImportMap({
82
+ lexicalEditorArgs: args,
81
83
  resolvedFeatureMap
82
84
  }),
83
85
  generateSchemaMap: getGenerateSchemaMap({