@payloadcms/richtext-lexical 3.38.0-canary.8 → 3.38.0-canary.9
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.
- package/dist/exports/client/Field-PWFMMJ4H.js +2 -0
- package/dist/exports/client/Field-PWFMMJ4H.js.map +7 -0
- package/dist/exports/client/index.js +7 -7
- package/dist/exports/client/index.js.map +3 -3
- package/dist/features/toolbars/fixed/server/index.d.ts +10 -0
- package/dist/features/toolbars/fixed/server/index.d.ts.map +1 -1
- package/dist/features/toolbars/fixed/server/index.js +1 -0
- package/dist/features/toolbars/fixed/server/index.js.map +1 -1
- package/dist/features/toolbars/types.d.ts +1 -0
- package/dist/features/toolbars/types.d.ts.map +1 -1
- package/dist/features/toolbars/types.js.map +1 -1
- package/dist/field/Field.d.ts.map +1 -1
- package/dist/field/Field.js +22 -9
- package/dist/field/Field.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lexical/config/client/sanitize.d.ts.map +1 -1
- package/dist/lexical/config/client/sanitize.js +21 -0
- package/dist/lexical/config/client/sanitize.js.map +1 -1
- package/package.json +7 -8
- package/dist/exports/client/Field-QFHWUA2L.js +0 -2
- package/dist/exports/client/Field-QFHWUA2L.js.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../../src/lexical/config/client/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../../src/lexical/config/client/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlE,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAE9D,eAAO,MAAM,sBAAsB,aACvB,wBAAwB,KACjC,uBAiOF,CAAA;AAED,wBAAgB,0BAA0B,CACxC,wBAAwB,EAAE,wBAAwB,EAClD,OAAO,CAAC,EAAE,mBAAmB,EAC7B,KAAK,CAAC,EAAE,4BAA4B,GACnC,2BAA2B,CAO7B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { deepMerge } from 'payload/shared';
|
|
3
4
|
export const sanitizeClientFeatures = features => {
|
|
4
5
|
const sanitized = {
|
|
5
6
|
enabledFeatures: [],
|
|
@@ -19,6 +20,16 @@ export const sanitizeClientFeatures = features => {
|
|
|
19
20
|
groups: []
|
|
20
21
|
}
|
|
21
22
|
};
|
|
23
|
+
// Allow customization of groups for toolbarFixed
|
|
24
|
+
let customGroups = {};
|
|
25
|
+
features.forEach(feature => {
|
|
26
|
+
if (feature.key === 'toolbarFixed' && feature.sanitizedClientFeatureProps?.customGroups) {
|
|
27
|
+
customGroups = {
|
|
28
|
+
...customGroups,
|
|
29
|
+
...feature.sanitizedClientFeatureProps.customGroups
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
});
|
|
22
33
|
if (!features?.size) {
|
|
23
34
|
return sanitized;
|
|
24
35
|
}
|
|
@@ -120,6 +131,16 @@ export const sanitizeClientFeatures = features => {
|
|
|
120
131
|
}
|
|
121
132
|
sanitized.enabledFeatures.push(feature.key);
|
|
122
133
|
});
|
|
134
|
+
// Apply custom group configurations to toolbarFixed groups
|
|
135
|
+
if (Object.keys(customGroups).length > 0) {
|
|
136
|
+
sanitized.toolbarFixed.groups = sanitized.toolbarFixed.groups.map(group => {
|
|
137
|
+
const customConfig = customGroups[group.key];
|
|
138
|
+
if (customConfig) {
|
|
139
|
+
return deepMerge(group, customConfig);
|
|
140
|
+
}
|
|
141
|
+
return group;
|
|
142
|
+
});
|
|
143
|
+
}
|
|
123
144
|
// Sort sanitized.toolbarInline.groups by order property
|
|
124
145
|
sanitized.toolbarInline.groups.sort((a, b) => {
|
|
125
146
|
if (a.order && b.order) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.js","names":["sanitizeClientFeatures","features","sanitized","enabledFeatures","enabledFormats","markdownTransformers","nodes","plugins","providers","slashMenu","dynamicGroups","groups","toolbarFixed","toolbarInline","size","forEach","feature","length","concat","enableFormats","push","node","plugin","i","clientProps","sanitizedClientFeatureProps","Component","key","position","group","foundGroup","find","sanitizedGroup","items","filter","optionGroup","transformer","allNodes","allTransformers","sort","a","b","order","sanitizeClientEditorConfig","resolvedClientFeatureMap","lexical","admin","resolvedFeatureMap"],"sources":["../../../../src/lexical/config/client/sanitize.ts"],"sourcesContent":["'use client'\n\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\n\nimport type {\n ResolvedClientFeatureMap,\n SanitizedClientFeatures,\n} from '../../../features/typesClient.js'\nimport type { LexicalFieldAdminClientProps } from '../../../types.js'\nimport type { SanitizedClientEditorConfig } from '../types.js'\n\nexport const sanitizeClientFeatures = (\n features: ResolvedClientFeatureMap,\n): SanitizedClientFeatures => {\n const sanitized: SanitizedClientFeatures = {\n enabledFeatures: [],\n enabledFormats: [],\n markdownTransformers: [],\n nodes: [],\n plugins: [],\n providers: [],\n slashMenu: {\n dynamicGroups: [],\n groups: [],\n },\n toolbarFixed: {\n groups: [],\n },\n toolbarInline: {\n groups: [],\n },\n }\n\n if (!features?.size) {\n return sanitized\n }\n\n features.forEach((feature) => {\n if (feature.providers?.length) {\n sanitized.providers = sanitized.providers.concat(feature.providers)\n }\n\n if (feature.enableFormats?.length) {\n sanitized.enabledFormats.push(...feature.enableFormats)\n }\n\n if (feature.nodes?.length) {\n // Important: do not use concat\n for (const node of feature.nodes) {\n sanitized.nodes.push(node)\n }\n }\n if (feature.plugins?.length) {\n feature.plugins.forEach((plugin, i) => {\n sanitized.plugins?.push({\n clientProps: feature.sanitizedClientFeatureProps,\n Component: plugin.Component as any, // Appeases strict: true\n key: feature.key + i,\n position: plugin.position,\n })\n })\n }\n\n if (feature.toolbarInline?.groups?.length) {\n for (const group of feature.toolbarInline.groups) {\n // 1. find the group with the same key or create new one\n let foundGroup = sanitized.toolbarInline.groups.find(\n (sanitizedGroup) => sanitizedGroup.key === group.key,\n )\n if (!foundGroup) {\n foundGroup = {\n ...group,\n items: [],\n }\n } else {\n sanitized.toolbarInline.groups = sanitized.toolbarInline.groups.filter(\n (sanitizedGroup) => sanitizedGroup.key !== group.key,\n )\n }\n\n // 2. Add options to group options array and add to sanitized.slashMenu.groupsWithOptions\n if (group?.items?.length) {\n foundGroup.items = foundGroup.items.concat(group.items)\n }\n sanitized.toolbarInline?.groups.push(foundGroup)\n }\n }\n\n if (feature.toolbarFixed?.groups?.length) {\n for (const group of feature.toolbarFixed.groups) {\n // 1. find the group with the same key or create new one\n let foundGroup = sanitized.toolbarFixed.groups.find(\n (sanitizedGroup) => sanitizedGroup.key === group.key,\n )\n if (!foundGroup) {\n foundGroup = {\n ...group,\n items: [],\n }\n } else {\n sanitized.toolbarFixed.groups = sanitized.toolbarFixed.groups.filter(\n (sanitizedGroup) => sanitizedGroup.key !== group.key,\n )\n }\n\n // 2. Add options to group options array and add to sanitized.slashMenu.groupsWithOptions\n if (group?.items?.length) {\n foundGroup.items = foundGroup.items.concat(group.items)\n }\n sanitized.toolbarFixed?.groups.push(foundGroup)\n }\n }\n\n if (feature.slashMenu?.groups) {\n if (feature.slashMenu.dynamicGroups?.length) {\n sanitized.slashMenu.dynamicGroups = sanitized.slashMenu.dynamicGroups.concat(\n feature.slashMenu.dynamicGroups,\n )\n }\n\n for (const optionGroup of feature.slashMenu.groups) {\n // 1. find the group with the same name or create new one\n let group = sanitized.slashMenu.groups.find((group) => group.key === optionGroup.key)\n if (!group) {\n group = {\n ...optionGroup,\n items: [],\n }\n } else {\n sanitized.slashMenu.groups = sanitized.slashMenu.groups.filter(\n (group) => group.key !== optionGroup.key,\n )\n }\n\n // 2. Add options to group options array and add to sanitized.slashMenu.groupsWithOptions\n if (optionGroup?.items?.length) {\n group.items = group.items.concat(optionGroup.items)\n }\n sanitized.slashMenu.groups.push(group)\n }\n }\n\n if (feature.markdownTransformers?.length) {\n // Important: do not use concat\n for (const transformer of feature.markdownTransformers) {\n if (typeof transformer === 'function') {\n sanitized.markdownTransformers.push(\n transformer({\n allNodes: sanitized.nodes,\n allTransformers: sanitized.markdownTransformers,\n }),\n )\n } else {\n sanitized.markdownTransformers.push(transformer)\n }\n }\n }\n sanitized.enabledFeatures.push(feature.key)\n })\n\n // Sort sanitized.toolbarInline.groups by order property\n sanitized.toolbarInline.groups.sort((a, b) => {\n if (a.order && b.order) {\n return a.order - b.order\n } else if (a.order) {\n return -1\n } else if (b.order) {\n return 1\n } else {\n return 0\n }\n })\n // Sort sanitized.toolbarFixed.groups by order property\n sanitized.toolbarFixed.groups.sort((a, b) => {\n if (a.order && b.order) {\n return a.order - b.order\n } else if (a.order) {\n return -1\n } else if (b.order) {\n return 1\n } else {\n return 0\n }\n })\n\n // Sort sanitized.toolbarInline.groups.[group].entries by order property\n for (const group of sanitized.toolbarInline.groups) {\n group.items.sort((a, b) => {\n if (a.order && b.order) {\n return a.order - b.order\n } else if (a.order) {\n return -1\n } else if (b.order) {\n return 1\n } else {\n return 0\n }\n })\n }\n\n // Sort sanitized.toolbarFixed.groups.[group].entries by order property\n for (const group of sanitized.toolbarFixed.groups) {\n group.items.sort((a, b) => {\n if (a.order && b.order) {\n return a.order - b.order\n } else if (a.order) {\n return -1\n } else if (b.order) {\n return 1\n } else {\n return 0\n }\n })\n }\n\n return sanitized\n}\n\nexport function sanitizeClientEditorConfig(\n resolvedClientFeatureMap: ResolvedClientFeatureMap,\n lexical?: LexicalEditorConfig,\n admin?: LexicalFieldAdminClientProps,\n): SanitizedClientEditorConfig {\n return {\n admin,\n features: sanitizeClientFeatures(resolvedClientFeatureMap),\n lexical: lexical!,\n resolvedFeatureMap: resolvedClientFeatureMap,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"sanitize.js","names":["deepMerge","sanitizeClientFeatures","features","sanitized","enabledFeatures","enabledFormats","markdownTransformers","nodes","plugins","providers","slashMenu","dynamicGroups","groups","toolbarFixed","toolbarInline","customGroups","forEach","feature","key","sanitizedClientFeatureProps","size","length","concat","enableFormats","push","node","plugin","i","clientProps","Component","position","group","foundGroup","find","sanitizedGroup","items","filter","optionGroup","transformer","allNodes","allTransformers","Object","keys","map","customConfig","sort","a","b","order","sanitizeClientEditorConfig","resolvedClientFeatureMap","lexical","admin","resolvedFeatureMap"],"sources":["../../../../src/lexical/config/client/sanitize.ts"],"sourcesContent":["'use client'\n\nimport type { EditorConfig as LexicalEditorConfig } from 'lexical'\n\nimport { deepMerge } from 'payload/shared'\n\nimport type { ToolbarGroup } from '../../../features/toolbars/types.js'\nimport type {\n ResolvedClientFeatureMap,\n SanitizedClientFeatures,\n} from '../../../features/typesClient.js'\nimport type { LexicalFieldAdminClientProps } from '../../../types.js'\nimport type { SanitizedClientEditorConfig } from '../types.js'\n\nexport const sanitizeClientFeatures = (\n features: ResolvedClientFeatureMap,\n): SanitizedClientFeatures => {\n const sanitized: SanitizedClientFeatures = {\n enabledFeatures: [],\n enabledFormats: [],\n markdownTransformers: [],\n nodes: [],\n plugins: [],\n providers: [],\n slashMenu: {\n dynamicGroups: [],\n groups: [],\n },\n toolbarFixed: {\n groups: [],\n },\n toolbarInline: {\n groups: [],\n },\n }\n\n // Allow customization of groups for toolbarFixed\n let customGroups: Record<string, Partial<ToolbarGroup>> = {}\n features.forEach((feature) => {\n if (feature.key === 'toolbarFixed' && feature.sanitizedClientFeatureProps?.customGroups) {\n customGroups = {\n ...customGroups,\n ...feature.sanitizedClientFeatureProps.customGroups,\n }\n }\n })\n\n if (!features?.size) {\n return sanitized\n }\n\n features.forEach((feature) => {\n if (feature.providers?.length) {\n sanitized.providers = sanitized.providers.concat(feature.providers)\n }\n\n if (feature.enableFormats?.length) {\n sanitized.enabledFormats.push(...feature.enableFormats)\n }\n\n if (feature.nodes?.length) {\n // Important: do not use concat\n for (const node of feature.nodes) {\n sanitized.nodes.push(node)\n }\n }\n if (feature.plugins?.length) {\n feature.plugins.forEach((plugin, i) => {\n sanitized.plugins?.push({\n clientProps: feature.sanitizedClientFeatureProps,\n Component: plugin.Component as any, // Appeases strict: true\n key: feature.key + i,\n position: plugin.position,\n })\n })\n }\n\n if (feature.toolbarInline?.groups?.length) {\n for (const group of feature.toolbarInline.groups) {\n // 1. find the group with the same key or create new one\n let foundGroup = sanitized.toolbarInline.groups.find(\n (sanitizedGroup) => sanitizedGroup.key === group.key,\n )\n if (!foundGroup) {\n foundGroup = {\n ...group,\n items: [],\n }\n } else {\n sanitized.toolbarInline.groups = sanitized.toolbarInline.groups.filter(\n (sanitizedGroup) => sanitizedGroup.key !== group.key,\n )\n }\n\n // 2. Add options to group options array and add to sanitized.slashMenu.groupsWithOptions\n if (group?.items?.length) {\n foundGroup.items = foundGroup.items.concat(group.items)\n }\n sanitized.toolbarInline?.groups.push(foundGroup)\n }\n }\n\n if (feature.toolbarFixed?.groups?.length) {\n for (const group of feature.toolbarFixed.groups) {\n // 1. find the group with the same key or create new one\n let foundGroup = sanitized.toolbarFixed.groups.find(\n (sanitizedGroup) => sanitizedGroup.key === group.key,\n )\n if (!foundGroup) {\n foundGroup = {\n ...group,\n items: [],\n }\n } else {\n sanitized.toolbarFixed.groups = sanitized.toolbarFixed.groups.filter(\n (sanitizedGroup) => sanitizedGroup.key !== group.key,\n )\n }\n\n // 2. Add options to group options array and add to sanitized.slashMenu.groupsWithOptions\n if (group?.items?.length) {\n foundGroup.items = foundGroup.items.concat(group.items)\n }\n sanitized.toolbarFixed?.groups.push(foundGroup)\n }\n }\n\n if (feature.slashMenu?.groups) {\n if (feature.slashMenu.dynamicGroups?.length) {\n sanitized.slashMenu.dynamicGroups = sanitized.slashMenu.dynamicGroups.concat(\n feature.slashMenu.dynamicGroups,\n )\n }\n\n for (const optionGroup of feature.slashMenu.groups) {\n // 1. find the group with the same name or create new one\n let group = sanitized.slashMenu.groups.find((group) => group.key === optionGroup.key)\n if (!group) {\n group = {\n ...optionGroup,\n items: [],\n }\n } else {\n sanitized.slashMenu.groups = sanitized.slashMenu.groups.filter(\n (group) => group.key !== optionGroup.key,\n )\n }\n\n // 2. Add options to group options array and add to sanitized.slashMenu.groupsWithOptions\n if (optionGroup?.items?.length) {\n group.items = group.items.concat(optionGroup.items)\n }\n sanitized.slashMenu.groups.push(group)\n }\n }\n\n if (feature.markdownTransformers?.length) {\n // Important: do not use concat\n for (const transformer of feature.markdownTransformers) {\n if (typeof transformer === 'function') {\n sanitized.markdownTransformers.push(\n transformer({\n allNodes: sanitized.nodes,\n allTransformers: sanitized.markdownTransformers,\n }),\n )\n } else {\n sanitized.markdownTransformers.push(transformer)\n }\n }\n }\n sanitized.enabledFeatures.push(feature.key)\n })\n\n // Apply custom group configurations to toolbarFixed groups\n if (Object.keys(customGroups).length > 0) {\n sanitized.toolbarFixed.groups = sanitized.toolbarFixed.groups.map((group) => {\n const customConfig = customGroups[group.key]\n if (customConfig) {\n return deepMerge(group, customConfig)\n }\n return group\n })\n }\n\n // Sort sanitized.toolbarInline.groups by order property\n sanitized.toolbarInline.groups.sort((a, b) => {\n if (a.order && b.order) {\n return a.order - b.order\n } else if (a.order) {\n return -1\n } else if (b.order) {\n return 1\n } else {\n return 0\n }\n })\n // Sort sanitized.toolbarFixed.groups by order property\n sanitized.toolbarFixed.groups.sort((a, b) => {\n if (a.order && b.order) {\n return a.order - b.order\n } else if (a.order) {\n return -1\n } else if (b.order) {\n return 1\n } else {\n return 0\n }\n })\n\n // Sort sanitized.toolbarInline.groups.[group].entries by order property\n for (const group of sanitized.toolbarInline.groups) {\n group.items.sort((a, b) => {\n if (a.order && b.order) {\n return a.order - b.order\n } else if (a.order) {\n return -1\n } else if (b.order) {\n return 1\n } else {\n return 0\n }\n })\n }\n\n // Sort sanitized.toolbarFixed.groups.[group].entries by order property\n for (const group of sanitized.toolbarFixed.groups) {\n group.items.sort((a, b) => {\n if (a.order && b.order) {\n return a.order - b.order\n } else if (a.order) {\n return -1\n } else if (b.order) {\n return 1\n } else {\n return 0\n }\n })\n }\n\n return sanitized\n}\n\nexport function sanitizeClientEditorConfig(\n resolvedClientFeatureMap: ResolvedClientFeatureMap,\n lexical?: LexicalEditorConfig,\n admin?: LexicalFieldAdminClientProps,\n): SanitizedClientEditorConfig {\n return {\n admin,\n features: sanitizeClientFeatures(resolvedClientFeatureMap),\n lexical: lexical!,\n resolvedFeatureMap: resolvedClientFeatureMap,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/richtext-lexical",
|
|
3
|
-
"version": "3.38.0-canary.
|
|
3
|
+
"version": "3.38.0-canary.9",
|
|
4
4
|
"description": "The officially supported Lexical richtext adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -364,8 +364,8 @@
|
|
|
364
364
|
"react-error-boundary": "4.1.2",
|
|
365
365
|
"ts-essentials": "10.0.3",
|
|
366
366
|
"uuid": "10.0.0",
|
|
367
|
-
"@payloadcms/
|
|
368
|
-
"@payloadcms/
|
|
367
|
+
"@payloadcms/translations": "3.38.0-canary.9",
|
|
368
|
+
"@payloadcms/ui": "3.38.0-canary.9"
|
|
369
369
|
},
|
|
370
370
|
"devDependencies": {
|
|
371
371
|
"@babel/cli": "7.26.4",
|
|
@@ -386,15 +386,15 @@
|
|
|
386
386
|
"eslint-plugin-react-compiler": "19.0.0-beta-e993439-20250405",
|
|
387
387
|
"swc-plugin-transform-remove-imports": "3.1.0",
|
|
388
388
|
"@payloadcms/eslint-config": "3.28.0",
|
|
389
|
-
"payload": "3.38.0-canary.
|
|
389
|
+
"payload": "3.38.0-canary.9"
|
|
390
390
|
},
|
|
391
391
|
"peerDependencies": {
|
|
392
392
|
"@faceless-ui/modal": "3.0.0-beta.2",
|
|
393
393
|
"@faceless-ui/scroll-info": "2.0.0",
|
|
394
394
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
395
395
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
396
|
-
"@payloadcms/next": "3.38.0-canary.
|
|
397
|
-
"payload": "3.38.0-canary.
|
|
396
|
+
"@payloadcms/next": "3.38.0-canary.9",
|
|
397
|
+
"payload": "3.38.0-canary.9"
|
|
398
398
|
},
|
|
399
399
|
"engines": {
|
|
400
400
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -414,7 +414,6 @@
|
|
|
414
414
|
"clean": "rimraf -g {dist,*.tsbuildinfo}",
|
|
415
415
|
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
|
|
416
416
|
"lint": "eslint .",
|
|
417
|
-
"lint:fix": "eslint . --fix"
|
|
418
|
-
"translateNewKeys": "node --no-deprecation --import @swc-node/register/esm-register scripts/translateNewKeys.ts"
|
|
417
|
+
"lint:fix": "eslint . --fix"
|
|
419
418
|
}
|
|
420
419
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{b as Re,e as _,g as ke,h as we,i as ve,j as Te,k as De}from"./chunk-DOZWITPU.js";import{a as Se,b as R}from"./chunk-BZZVLW4U.js";import{jsx as F,jsxs as ge}from"react/jsx-runtime";import{FieldDescription as dn,FieldError as un,FieldLabel as mn,RenderCustomComponent as ht,useEditDepth as fn,useEffectEvent as pn,useField as gn}from"@payloadcms/ui";import{mergeFieldStyles as hn}from"@payloadcms/ui/shared";import yt,{useCallback as xt,useEffect as Et,useMemo as yn,useState as bt}from"react";import{ErrorBoundary as xn}from"react-error-boundary";import"./bundled.css";import{jsx as O}from"react/jsx-runtime";import{LexicalComposer as ln}from"@lexical/react/LexicalComposer.js";import{useEditDepth as an}from"@payloadcms/ui";import*as ft from"react";import{useMemo as cn}from"react";import{c as Yo}from"react/compiler-runtime";import{jsx as b,jsxs as te}from"react/jsx-runtime";import{useLexicalComposerContext as Vo}from"@lexical/react/LexicalComposerContext.js";import{LexicalErrorBoundary as Go}from"@lexical/react/LexicalErrorBoundary.js";import{HistoryPlugin as Uo}from"@lexical/react/LexicalHistoryPlugin.js";import{OnChangePlugin as qo}from"@lexical/react/LexicalOnChangePlugin.js";import{RichTextPlugin as Jo}from"@lexical/react/LexicalRichTextPlugin.js";import{BLUR_COMMAND as Qo,COMMAND_PRIORITY_LOW as ut,FOCUS_COMMAND as Xo}from"lexical";import*as J from"react";import{useEffect as Zo,useState as en}from"react";import{jsx as Me}from"react/jsx-runtime";import"react";var K=({anchorElem:t,clientProps:e,plugin:o})=>o.position==="floatingAnchorElem"&&t?o.Component&&Me(o.Component,{anchorElem:t,clientProps:e}):o.Component&&Me(o.Component,{clientProps:e});import{c as Pt}from"react/compiler-runtime";import{useLexicalComposerContext as St}from"@lexical/react/LexicalComposerContext";import{$findMatchingParent as ne,mergeRegister as Rt}from"@lexical/utils";import{$createNodeSelection as kt,$getEditor as X,$getNearestNodeFromDOMNode as wt,$getSelection as re,$isDecoratorNode as H,$isElementNode as xe,$isLineBreakNode as vt,$isNodeSelection as ie,$isRangeSelection as Le,$isRootOrShadowRoot as Tt,$isTextNode as Dt,$setSelection as Be,CLICK_COMMAND as Mt,COMMAND_PRIORITY_LOW as Y,KEY_ARROW_DOWN_COMMAND as Lt,KEY_ARROW_UP_COMMAND as Bt,KEY_BACKSPACE_COMMAND as At,KEY_DELETE_COMMAND as It,SELECTION_CHANGE_COMMAND as _t}from"lexical";import{useEffect as Ot}from"react";function Ae(){let t=Pt(3),[e]=St(),o=Wt,r,n;return t[0]!==e?(r=()=>Rt(e.registerCommand(Mt,zt,Y),e.registerCommand(It,o,Y),e.registerCommand(At,o,Y),e.registerCommand(_t,jt,Y),e.registerCommand(Bt,Kt,Y),e.registerCommand(Lt,Ft,Y)),n=[e],t[0]=e,t[1]=r,t[2]=n):(r=t[1],n=t[2]),Ot(r,n),null}function Ft(t){let e=re();if(ie(e)){t.preventDefault();let i=e.getNodes()[0]?.getNextSibling();if(H(i)){let y=X().getElementByKey(i.getKey());return y&&Z({element:y,node:i}),!0}if(!xe(i))return!0;let s=i.getFirstDescendant()??i;return s&&(ne(s,se)?.selectEnd(),t.preventDefault()),!0}if(!Le(e))return!1;let r=(e.isBackward()?e.anchor:e.focus).getNode(),n=ne(r,$t),c=n?.getNextSibling();if(!n||c!==Ie(n))return!1;if(H(c)){let i=X().getElementByKey(c.getKey());if(i)return Z({element:i,node:c}),t.preventDefault(),!0}return!1}function $t(t){return Ie(t)!==null}function Kt(t){let e=re();if(ie(e)){let i=e.getNodes()[0]?.getPreviousSibling();if(H(i)){let y=X().getElementByKey(i.getKey());return y?(Z({element:y,node:i}),t.preventDefault(),!0):!1}if(!xe(i))return!1;let s=i.getLastDescendant()??i;return s?(ne(s,se)?.selectStart(),t.preventDefault(),!0):!1}if(!Le(e))return!1;let r=(e.isBackward()?e.anchor:e.focus).getNode(),n=ne(r,Ht),c=n?.getPreviousSibling();if(!n||c!==_e(n))return!1;if(H(c)){let i=X().getElementByKey(c.getKey());if(i)return Z({element:i,node:c}),t.preventDefault(),!0}return!1}function Ht(t){return _e(t)!==null}function jt(){let t=Gt();return document.querySelector(".decorator-selected")?.classList.remove("decorator-selected"),t?(t.element?.classList.add("decorator-selected"),!0):!1}function zt(t){document.querySelector(".decorator-selected")?.classList.remove("decorator-selected");let e=Vt(t);if(!e)return!0;let{target:o}=t;return!(o instanceof HTMLElement)||o.isContentEditable||o.closest('button, textarea, input, .react-select, .code-editor, .no-select-decorator, [role="button"]')?Be(null):Z(e),!0}function Wt(t){let e=re();return ie(e)?(t.preventDefault(),e.getNodes().forEach(Yt),!0):!1}function Yt(t){t.remove()}function Vt(t){if(!(t.target instanceof HTMLElement))return;let e=t.target.closest('[data-lexical-decorator="true"]');if(!(e instanceof HTMLElement))return;let o=wt(e);return H(o)?{element:e,node:o}:void 0}function Gt(){let t=re();if(!ie(t))return;let e=t.getNodes();if(e.length!==1)return;let o=e[0];return H(o)?{decorator:o,element:X().getElementByKey(o.getKey())}:void 0}function Z({element:t,node:e}){document.querySelector(".decorator-selected")?.classList.remove("decorator-selected");let o=kt();o.add(e.getKey()),Be(o),t.scrollIntoView({behavior:"smooth",block:"nearest"}),t.classList.add("decorator-selected")}function se(t){if(H(t)&&!t.isInline())return!0;if(!xe(t)||Tt(t))return!1;let e=t.getFirstChild(),o=e===null||vt(e)||Dt(e)||e.isInline();return!t.isInline()&&t.canBeEmpty()!==!1&&o}function Ie(t){let e=t.getNextSibling();for(;e!==null;){if(se(e))return e;e=e.getNextSibling()}return null}function _e(t){let e=t.getPreviousSibling();for(;e!==null;){if(se(e))return e;e=e.getPreviousSibling()}return null}import{jsx as Ee}from"react/jsx-runtime";import{useLexicalComposerContext as Zt}from"@lexical/react/LexicalComposerContext.js";import{$createParagraphNode as eo,isHTMLElement as to}from"lexical";import*as Ke from"react";import{useCallback as oo,useEffect as $e,useRef as no,useState as ro}from"react";import{createPortal as io}from"react-dom";var V=(t,e,o,r,n=50,c=25)=>{let i=0;if(t&&!t.contains(r)){let{bottom:s,left:d,right:y,top:g}=t.getBoundingClientRect(),a=g+window.scrollY,l=s+window.scrollY;if(o<a-c||o>l+c||e<d-n||e>y+n)return-1;(e<d||e>y)&&(i=e<d?e-d:e-y)}return i};import{$getNodeByKey as ae}from"lexical";function G(t){let e=t.getBoundingClientRect(),o=getComputedStyle(t).getPropertyValue("transform");if(!o||o==="none")return e;let r=o.split(",").pop();return e.y=e.y-Number(r?.replace(")","")),e}function le(t){let e=(d,y)=>d?parseFloat(window.getComputedStyle(d)[y]):0,{marginBottom:o,marginTop:r}=window.getComputedStyle(t),n=e(t.previousElementSibling,"marginBottom"),c=e(t.nextElementSibling,"marginTop"),i=Math.max(parseFloat(r),n);return{marginBottom:Math.max(parseFloat(o),c),marginTop:i}}import{$getRoot as Ut}from"lexical";function j(t){return t.getEditorState().read(()=>Ut().getChildrenKeys())}var qt=1,Jt=-1,Oe=0,B={props:null,result:null};function Qt(t,e,o=20){let r=t.x-e.x,n=t.y-e.y;return r*r+n*n<=o*o}function U(t){let{anchorElem:e,cache_threshold:o=20,editor:r,fuzzy:n=!1,horizontalOffset:c=0,point:{x:i,y:s},startIndex:d=0,useEdgeAsDefault:y=!1}=t;if(o>0&&B.props&&B.result&&B.props.fuzzy===t.fuzzy&&B.props.horizontalOffset===t.horizontalOffset&&B.props.useEdgeAsDefault===t.useEdgeAsDefault&&Qt(B.props.point,t.point,o))return B.result;let g=e.getBoundingClientRect(),a=j(r),l={blockElem:null,blockNode:null,distance:1/0,foundAtIndex:-1,isFoundNodeEmptyParagraph:!1};return r.getEditorState().read(()=>{if(y){let m=r.getElementByKey(a[0]),h=r.getElementByKey(a[a.length-1]);if(m&&h){let[u,f]=[G(m),G(h)];if(s<u.top?(l.blockElem=m,l.distance=u.top-s,l.blockNode=ae(a[0]),l.foundAtIndex=0):s>f.bottom&&(l.distance=s-f.bottom,l.blockNode=ae(a[a.length-1]),l.blockElem=h,l.foundAtIndex=a.length-1),l?.blockElem)return{blockElem:null,isFoundNodeEmptyParagraph:!1}}}let p=d,x=Oe;for(;p>=0&&p<a.length;){let m=a[p],h=r.getElementByKey(m);if(h===null)break;let u=new _(i+c,s),f=Te.fromDOMRect(G(h)),{marginBottom:E,marginTop:v}=le(h),S=f.generateNewRect({bottom:f.bottom+E,left:g.left,right:g.right,top:f.top-v}),{distance:C,isOnBottomSide:k,isOnTopSide:N}=S.distanceFromPoint(u);if(C===0){l.blockElem=h,l.blockNode=ae(m),l.foundAtIndex=p,l.distance=C,l.blockNode&&l.blockNode.getType()==="paragraph"&&l.blockNode.getTextContent()===""&&(!n&&!t.returnEmptyParagraphs&&(l.blockElem=null,l.blockNode=null),l.isFoundNodeEmptyParagraph=!0);break}else n&&C<l.distance&&(l.blockElem=h,l.blockNode=ae(m),l.distance=C,l.foundAtIndex=p);x===Oe&&(N?x=Jt:k?x=qt:x=1/0),p+=x}}),B.props=t,B.result={blockElem:l.blockElem,blockNode:l.blockNode,foundAtIndex:l.foundAtIndex,isFoundNodeEmptyParagraph:l.isFoundNodeEmptyParagraph},{blockElem:l.blockElem,blockNode:l.blockNode,foundAtIndex:l.foundAtIndex,isFoundNodeEmptyParagraph:l.isFoundNodeEmptyParagraph}}function ce(t,e){return!!t.closest(`.${e}`)}var Xt=["IMG","INPUT","TEXTAREA","SELECT","BUTTON","VIDEO","OBJECT","EMBED","IFRAME","HR"];function Fe(t){if(!t||Xt.includes(t.tagName)||t.offsetHeight===0||t.offsetWidth===0)return!1;let e=window.getComputedStyle(t);return!(e.display==="table-cell"||e.position==="absolute"||e.visibility==="hidden"||e.opacity==="0")}function de(t,e,o,r=0){if(!t){e.style.opacity="0",e.style.transform="translate(-10000px, -10000px)";return}let n=t.getBoundingClientRect(),c=window.getComputedStyle(t),i=e.getBoundingClientRect(),s=o.getBoundingClientRect(),d;if(["lexical-block","lexical-upload","lexical-relationship"].some(a=>t.firstElementChild?.classList.contains(a)))d=n.top+8-s.top;else{let a=Fe(t)?parseInt(c.lineHeight,10):0;d=n.top+(a-i.height)/2-s.top}let g=r;e.style.opacity="1",e.style.transform=`translate(${g}px, ${d}px)`}var so="add-block-menu",ue=1/0;function lo(t){return t===0?1/0:ue>=0&&ue<t?ue:Math.floor(t/2)}function ao(t,e,o){let r=e.parentElement,{editorConfig:n}=R(),c=n?.admin?.hideGutter?-24:12,i=no(null),[s,d]=ro(null);$e(()=>{function g(a){let l=a.target;if(!to(l))return;let p=V(r,a.pageX,a.pageY,l);if(p===-1){d(null);return}if(ce(l,so))return;let x=j(t),{blockElem:m,blockNode:h,foundAtIndex:u}=U({anchorElem:e,cache_threshold:0,editor:t,horizontalOffset:-p,point:new _(a.x,a.y),returnEmptyParagraphs:!0,startIndex:lo(x.length),useEdgeAsDefault:!1});ue=u,m&&h&&(s?.node!==h||s?.elem!==m)&&d({elem:m,node:h})}return document?.addEventListener("mousemove",g),()=>{document?.removeEventListener("mousemove",g)}},[r,e,t,s]),$e(()=>{i.current&&s?.node&&de(s?.elem,i.current,e,c)},[e,s,c]);let y=oo(g=>{let a=s;a?.node&&(t.update(()=>{let l=!0;if((a?.node.getType()!=="paragraph"||a.node.getTextContent()!=="")&&(l=!1),!l){let p=eo();a?.node.insertAfter(p),setTimeout(()=>{a={elem:t.getElementByKey(p.getKey()),node:p},d(a)},0)}}),setTimeout(()=>{t.update(()=>{t.focus(),a?.node&&"select"in a.node&&typeof a.node.select=="function"&&a.node.select()})},1),setTimeout(()=>{t.dispatchCommand(we,{node:a?.node})},2),g.stopPropagation(),g.preventDefault())},[t,s]);return io(Ee(Ke.Fragment,{children:Ee("button",{"aria-label":"Add block",className:"icon add-block-menu",onClick:g=>{y(g)},ref:i,type:"button",children:Ee("div",{className:o?"icon":""})})}),e)}function He(t){let{anchorElem:e}=t,o=e===void 0?document.body:e,[r]=Zt();return ao(r,o,r._editable)}import{jsx as me,jsxs as uo}from"react/jsx-runtime";import{useLexicalComposerContext as mo}from"@lexical/react/LexicalComposerContext.js";import{eventFiles as We}from"@lexical/rich-text";import{$getNearestNodeFromDOMNode as Ye,$getNodeByKey as fo,isHTMLElement as be}from"lexical";import*as Je from"react";import{useEffect as Ce,useRef as fe,useState as Ve}from"react";import{createPortal as po}from"react-dom";var je=0,co=-24;var z=0;function ze(t,e,o,r,n,c,i,s,d,y=!1){let{height:g,top:a}=r.getBoundingClientRect(),{top:l,width:p}=i.getBoundingClientRect(),{marginBottom:x,marginTop:m}=le(r),h=a,u=c>=a+g/2+window.scrollY,f=!1;if(n?.elem)if(r!==n?.elem)(u&&n?.elem&&n?.elem===r.nextElementSibling||!u&&n?.elem&&n?.elem===r.previousElementSibling)&&(z++,z<200&&(f=!0));else{z++;let C=n?.boundingBox?.y,k=r.getBoundingClientRect().y;(u===n?.isBelow&&C===k||z<200)&&(f=!1)}if(f)return{isBelow:u,willStayInSamePosition:f};y?h+=g/2:u?h+=g+x/2:h-=m/2;let E=0;y||(u?E=-je:E=je);let v=h-l+E,S=co-e;return o.style.width=`calc(${p}px - ${t})`,o.style.opacity=".8",o.style.transform=`translate(${S}px, calc(${v}px - 2px))`,n?.elem&&(n.elem.style.opacity="",n?.elem===r?u?n.elem.style.marginTop="":n.elem.style.marginBottom="":(n.elem.style.marginBottom="",n.elem.style.marginTop="")),z=0,{isBelow:u,willStayInSamePosition:f}}var go="draggable-block-menu",Ge="application/x-lexical-drag-block",ee=1/0;function Ue(t){return t===0?1/0:ee>=0&&ee<t?ee:Math.floor(t/2)}function ho(t,e){let{transform:o}=e.style;t.setDragImage(e,0,0),setTimeout(()=>{e.style.transform=o})}function qe(t,e){t&&(t.style.opacity="0"),e&&(e.style.opacity="",e.style.marginBottom="",e.style.marginTop="")}function yo(t,e,o){let r=e.parentElement,n=fe(null),c=fe(null),i=fe(null),s=fe(!1),[d,y]=Ve(null),[g,a]=Ve(null),{editorConfig:l}=R(),p=l?.admin?.hideGutter?-44:-8;Ce(()=>{function h(u){let f=u.target;if(!be(f))return;let E=V(r,u.pageX,u.pageY,f);if(E===-1){y(null);return}if(ce(f,go))return;let v=j(t),{blockElem:S,foundAtIndex:C,isFoundNodeEmptyParagraph:k}=U({anchorElem:e,cache_threshold:0,editor:t,horizontalOffset:-E,point:new _(u.x,u.y),startIndex:Ue(v.length),useEdgeAsDefault:!1,verbose:!1});ee=C,!(!S&&!k)&&d!==S&&y(S)}return document?.addEventListener("mousemove",h),()=>{document?.removeEventListener("mousemove",h)}},[r,e,t,d]),Ce(()=>{n.current&&de(d,n.current,e,p)},[e,d,p]),Ce(()=>{function h(f){if(!s.current)return!1;let[E]=We(f);if(E)return!1;let{pageY:v,target:S}=f;if(!be(S))return!1;let C=V(r,f.pageX,f.pageY,S,100,50),k=j(t),{blockElem:N,foundAtIndex:L,isFoundNodeEmptyParagraph:I}=U({anchorElem:e,editor:t,fuzzy:!0,horizontalOffset:-C,point:new _(f.x,f.y),startIndex:Ue(k.length),useEdgeAsDefault:!0,verbose:!0});ee=L;let T=c.current;if(N===null||T===null)return!1;if(d!==N){let{isBelow:D,willStayInSamePosition:Q}=ze(l?.admin?.hideGutter?"0px":"3rem",p+(l?.admin?.hideGutter?n?.current?.getBoundingClientRect()?.width??0:-(n?.current?.getBoundingClientRect()?.width??0)),T,N,g,v,e,f,i,I);f.preventDefault(),Q||a({boundingBox:N.getBoundingClientRect(),elem:N,isBelow:D})}else g?.elem&&(qe(T,g.elem),a({boundingBox:N.getBoundingClientRect(),elem:N,isBelow:!1}));return!0}function u(f){if(!s.current)return!1;let[E]=We(f);if(E)return!1;let{dataTransfer:v,pageY:S,target:C}=f,k=v?.getData(Ge)||"";return t.update(()=>{let N=fo(k);if(!N||!be(C))return!1;let L=V(r,f.pageX,f.pageY,C,100,50),{blockElem:I,isFoundNodeEmptyParagraph:T}=U({anchorElem:e,editor:t,fuzzy:!0,horizontalOffset:-L,point:new _(f.x,f.y),useEdgeAsDefault:!0});if(!I)return!1;let D=Ye(I);if(!D)return!1;if(D===N)return!0;let{height:Q,top:he}=G(I),W=S>=he+Q/2+window.scrollY;T?(D.insertBefore(N),D.remove()):W?D.insertAfter(N):D.insertBefore(N),d!==null&&y(null),document.querySelectorAll(".lexical-block-highlighter").forEach(M=>{M.remove()});let oe=t.getElementByKey(N.getKey());setTimeout(()=>{let M=oe?.getBoundingClientRect();if(!M)return;let P=document.createElement("div");P.className="lexical-block-highlighter",P.style.backgroundColor="var(--theme-elevation-1000",P.style.transition="opacity 0.5s ease-in-out",P.style.zIndex="1",P.style.pointerEvents="none",P.style.boxSizing="border-box",P.style.borderRadius="4px",P.style.position="absolute",document.body.appendChild(P),P.style.opacity="0.1",P.style.height=`${M.height+8}px`,P.style.width=`${M.width+8}px`,P.style.top=`${M.top+window.scrollY-4}px`,P.style.left=`${M.left-4}px`,setTimeout(()=>{P.style.opacity="0",setTimeout(()=>{P.remove()},500)},1e3)},120)}),!0}return document.addEventListener("dragover",h),document.addEventListener("drop",u),()=>{document.removeEventListener("dragover",h),document.removeEventListener("drop",u)}},[r,p,e,t,g,d,l?.admin?.hideGutter]);function x(h){let u=h.dataTransfer;if(!u||!d)return;ho(u,d);let f="";t.update(()=>{let E=Ye(d);E&&(f=E.getKey())}),s.current=!0,u.setData(Ge,f)}function m(){s.current=!1,g?.elem&&qe(c.current,g?.elem)}return po(uo(Je.Fragment,{children:[me("div",{className:"icon draggable-block-menu",draggable:!0,onDragEnd:m,onDragStart:x,ref:n,children:me("div",{className:o?"icon":""})}),me("div",{className:"draggable-block-target-line",ref:c}),me("div",{className:"debug-highlight",ref:i})]}),e)}function Qe(t){let{anchorElem:e}=t,o=e===void 0?document.body:e,[r]=mo();return yo(r,o,r._editable)}import{c as xo}from"react/compiler-runtime";import{jsx as Ne}from"react/jsx-runtime";import{useLexicalComposerContext as Eo}from"@lexical/react/LexicalComposerContext";import{$createParagraphNode as bo,$getRoot as Co}from"lexical";import"react";var Xe="insert-paragraph-at-end",Ze=()=>{let t=xo(4),[e]=Eo(),{editorConfig:o}=R();if(o?.admin?.hideInsertParagraphAtEnd)return null;let r;t[0]!==e?(r=()=>{e.update(No)},t[0]=e,t[1]=r):r=t[1];let n=r,c;return t[2]!==n?(c=Ne("div",{"aria-label":"Insert Paragraph",className:Xe,onClick:n,role:"button",tabIndex:0,children:Ne("div",{className:`${Xe}-inside`,children:Ne("span",{children:"+"})})}),t[2]=n,t[3]=c):c=t[3],c};function No(){let t=bo();Co().append(t),t.select()}import{c as Po}from"react/compiler-runtime";import{useLexicalComposerContext as So}from"@lexical/react/LexicalComposerContext";import*as et from"react";var tt=()=>{let t=Po(4),{editorConfig:e}=R(),[o]=So(),r,n;return t[0]!==o||t[1]!==e.features.markdownTransformers?(r=()=>Re(o,e.features.markdownTransformers??[]),n=[o,e.features.markdownTransformers],t[0]=o,t[1]=e.features.markdownTransformers,t[2]=r,t[3]=n):(r=t[2],n=t[3]),et.useEffect(r,n),null};import{useLexicalComposerContext as Ro}from"@lexical/react/LexicalComposerContext";import{$getSelection as ko,$isRangeSelection as wo,RootNode as vo}from"lexical";import{useEffect as To}from"react";function ot(){let[t]=Ro();return To(()=>t.registerNodeTransform(vo,e=>{let o=ko();if(wo(o)){let r=o.anchor.getNode(),n=o.focus.getNode();(!r.isAttached()||!n.isAttached())&&(e.selectEnd(),console.warn("updateEditor: selection has been moved to the end of the editor because the previously selected nodes have been removed and selection wasn't moved to another node. Ensure selection changes after removing/replacing a selected node."))}return!1}),[t]),null}import{jsx as q,jsxs as rt}from"react/jsx-runtime";import{useLexicalComposerContext as Mo}from"@lexical/react/LexicalComposerContext.js";import{useTranslation as it}from"@payloadcms/ui";import{useCallback as Lo,useMemo as Bo,useState as Ao}from"react";import"react";import*as st from"react-dom";import{c as Do}from"react/compiler-runtime";import"react";function nt(t,e){let o=Do(4),{maxLength:r,minLength:n}=e,c=r===void 0?75:r,i=n===void 0?1:n,s;return o[0]!==c||o[1]!==i||o[2]!==t?(s=d=>{let{query:y}=d,g="[^"+t+ke+"\\s]",l=new RegExp("(^|\\s|\\()(["+t+"]((?:"+g+"){0,"+c+"}))$").exec(y);if(l!==null){let p=l[1],x=l[3];if(x.length>=i)return{leadOffset:l.index+p.length,matchingString:x,replaceableString:l[2]}}return null},o[0]=c,o[1]=i,o[2]=t,o[3]=s):s=o[3],s}var A="slash-menu-popup";function Io({isSelected:t,item:e,onClick:o,onMouseEnter:r,ref:n}){let{fieldProps:{featureClientSchemaMap:c,schemaPath:i}}=R(),{i18n:s}=it(),d=`${A}__item ${A}__item-${e.key}`;t&&(d+=` ${A}__item--selected`);let y=e.key;return e.label&&(y=typeof e.label=="function"?e.label({featureClientSchemaMap:c,i18n:s,schemaPath:i}):e.label),y.length>25&&(y=y.substring(0,25)+"..."),rt("button",{"aria-selected":t,className:d,id:A+"__item-"+e.key,onClick:o,onMouseEnter:r,ref:n,role:"option",tabIndex:-1,type:"button",children:[e?.Icon&&q(e.Icon,{}),q("span",{className:`${A}__item-text`,children:y})]},e.key)}function lt({anchorElem:t=document.body}){let[e]=Mo(),[o,r]=Ao(null),{editorConfig:n}=R(),{i18n:c}=it(),{fieldProps:{featureClientSchemaMap:i,schemaPath:s}}=R(),d=nt("/",{minLength:0}),y=Lo(()=>{let a=[];for(let l of n.features.slashMenu.dynamicGroups)if(o){let p=l({editor:e,queryString:o});a=a.concat(p)}return a},[e,o,n?.features]),g=Bo(()=>{let a=[];for(let l of n?.features.slashMenu.groups??[])a.push(l);if(o){a=a.map(p=>{let x=p.items.filter(m=>{let h=m.key;return m.label&&(h=typeof m.label=="function"?m.label({featureClientSchemaMap:i,i18n:c,schemaPath:s}):m.label),new RegExp(o,"gi").exec(h)?!0:m.keywords!=null?m.keywords.some(u=>new RegExp(o,"gi").exec(u)):!1});return x.length?{...p,items:x}:null}),a=a.filter(p=>p!=null);let l=y();for(let p of l){let x=a.find(m=>m.key===p.key);x?a=a.filter(m=>m.key!==p.key):x={...p,items:[]},x?.items?.length&&(x.items=x.items.concat(x.items)),a.push(x)}}return a},[o,n?.features.slashMenu.groups,y,i,c,s]);return q(ve,{anchorElem:t,groups:g,menuRenderFn:(a,{selectedItemKey:l,selectItemAndCleanUp:p,setSelectedItemKey:x})=>a.current&&g.length?st.createPortal(q("div",{className:A,children:g.map(m=>{let h=m.key;return m.label&&i&&(h=typeof m.label=="function"?m.label({featureClientSchemaMap:i,i18n:c,schemaPath:s}):m.label),rt("div",{className:`${A}__group ${A}__group-${m.key}`,children:[q("div",{className:`${A}__group-title`,children:h}),m.items.map((u,f)=>q(Io,{index:f,isSelected:l===u.key,item:u,onClick:()=>{x(u.key),p(u)},onMouseEnter:()=>{x(u.key)},ref:E=>{u.ref={current:E}}},u.key))]},m.key)})}),a.current):null,onQueryChange:r,triggerFn:d})}import{c as _o}from"react/compiler-runtime";import{useLexicalComposerContext as Oo}from"@lexical/react/LexicalComposerContext";import{TEXT_TYPE_TO_FORMAT as Fo,TextNode as $o}from"lexical";import{useEffect as Ko}from"react";function at(t){let e=_o(6),{features:o}=t,[r]=Oo(),n;e[0]!==r||e[1]!==o.enabledFormats?(n=()=>{let i=Ho(o.enabledFormats);if(i.length!==0)return r.registerNodeTransform($o,s=>{i.forEach(d=>{s.hasFormat(d)&&s.toggleFormat(d)})})},e[0]=r,e[1]=o.enabledFormats,e[2]=n):n=e[2];let c;return e[3]!==r||e[4]!==o?(c=[r,o],e[3]=r,e[4]=o,e[5]=c):c=e[5],Ko(n,c),null}function Ho(t){let e=Object.keys(Fo),o=new Set(t);return e.filter(r=>!o.has(r))}import{c as jo}from"react/compiler-runtime";import{jsx as ct}from"react/jsx-runtime";import{ContentEditable as zo}from"@lexical/react/LexicalContentEditable.js";import{useTranslation as Wo}from"@payloadcms/ui";import"react";function dt(t){let e=jo(7),{className:o,editorConfig:r}=t,{t:n}=Wo(),c;if(e[0]!==o||e[1]!==r?.admin?.placeholder||e[2]!==n){let i;e[4]!==r?.admin?.placeholder||e[5]!==n?(i=r?.admin?.placeholder??n("lexical:general:placeholder"),e[4]=r?.admin?.placeholder,e[5]=n,e[6]=i):i=e[6],c=ct(zo,{"aria-placeholder":n("lexical:general:placeholder"),className:o??"ContentEditable__root",placeholder:ct("p",{className:"editor-placeholder",children:i})}),e[0]=o,e[1]=r?.admin?.placeholder,e[2]=n,e[3]=c}else c=e[3];return c}var mt=t=>{let e=Yo(19),{editorConfig:o,editorContainerRef:r,isSmallWidthViewport:n,onChange:c}=t,i=R(),[s]=Vo(),[d,y]=en(null),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=m=>{m!==null&&y(m)},e[0]=g):g=e[0];let a=g,l,p;e[1]!==s||e[2]!==i?(l=()=>{if(!i?.uuid){console.error("Lexical Editor must be used within an EditorConfigProvider");return}i?.parentEditor?.uuid&&i.parentEditor?.registerChild(i.uuid,i);let m=()=>{i.focusEditor(i)},h=()=>{i.blurEditor(i)},u=s.registerCommand(Xo,()=>(m(),!0),ut),f=s.registerCommand(Qo,()=>(h(),!0),ut);return()=>{u(),f(),i.parentEditor?.unregisterChild?.(i.uuid)}},p=[s,i],e[1]=s,e[2]=i,e[3]=l,e[4]=p):(l=e[3],p=e[4]),Zo(l,p);let x;if(e[5]!==s||e[6]!==o||e[7]!==r||e[8]!==d||e[9]!==n||e[10]!==c){let m;e[12]!==c?(m=(u,f,E)=>{(!E.has("focus")||E.size>1)&&c?.(u,f,E)},e[12]=c,e[13]=m):m=e[13];let h;e[14]!==s||e[15]!==o.features.plugins||e[16]!==d||e[17]!==n?(h=d&&te(J.Fragment,{children:[!n&&s.isEditable()&&te(J.Fragment,{children:[b(Qe,{anchorElem:d}),b(He,{anchorElem:d})]}),o.features.plugins?.map(u=>{if(u.position==="floatingAnchorElem"&&!(u.desktopOnly===!0&&n))return b(K,{anchorElem:d,clientProps:u.clientProps,plugin:u},u.key)}),s.isEditable()&&b(J.Fragment,{children:b(lt,{anchorElem:d})})]}),e[14]=s,e[15]=o.features.plugins,e[16]=d,e[17]=n,e[18]=h):h=e[18],x=te(J.Fragment,{children:[o.features.plugins?.map(tn),te("div",{className:"editor-container",ref:r,children:[o.features.plugins?.map(on),b(Jo,{contentEditable:b("div",{className:"editor-scroller",children:b("div",{className:"editor",ref:a,children:b(dt,{editorConfig:o})})}),ErrorBoundary:Go}),b(ot,{}),b(Ze,{}),b(Ae,{}),b(at,{features:o.features}),b(qo,{ignoreSelectionChange:!0,onChange:m}),h,s.isEditable()&&te(J.Fragment,{children:[b(Uo,{}),o?.features?.markdownTransformers?.length>0&&b(tt,{})]}),o.features.plugins?.map(nn),o.features.plugins?.map(rn)]}),o.features.plugins?.map(sn)]}),e[5]=s,e[6]=o,e[7]=r,e[8]=d,e[9]=n,e[10]=c,e[11]=x}else x=e[11];return x};function tn(t){if(t.position==="aboveContainer")return b(K,{clientProps:t.clientProps,plugin:t},t.key)}function on(t){if(t.position==="top")return b(K,{clientProps:t.clientProps,plugin:t},t.key)}function nn(t){if(t.position==="normal")return b(K,{clientProps:t.clientProps,plugin:t},t.key)}function rn(t){if(t.position==="bottom")return b(K,{clientProps:t.clientProps,plugin:t},t.key)}function sn(t){if(t.position==="belowContainer")return b(K,{clientProps:t.clientProps,plugin:t},t.key)}var pt=({children:t,providers:e})=>{if(!e?.length)return t;let o=e[0];return e.length>1?O(o,{children:O(pt,{providers:e.slice(1),children:t})}):O(o,{children:t})},gt=t=>{let{composerKey:e,editorConfig:o,fieldProps:r,isSmallWidthViewport:n,onChange:c,readOnly:i,value:s}=t,d=R(),y=an(),g=ft.useRef(null),a=cn(()=>{if(s&&typeof s!="object")throw new Error("The value passed to the Lexical editor is not an object. This is not supported. Please remove the data from the field and start again. This is the value that was passed in: "+JSON.stringify(s));if(s&&Array.isArray(s)&&!("root"in s))throw new Error("You have tried to pass in data from the old Slate editor to the new Lexical editor. The data structure is different, thus you will have to migrate your data. We offer a one-line migration script which migrates all your rich text fields: https://payloadcms.com/docs/lexical/migration#migration-via-migration-script-recommended");if(s&&"jsonContent"in s)throw new Error("You have tried to pass in data from payload-plugin-lexical. The data structure is different, thus you will have to migrate your data. Migration guide: https://payloadcms.com/docs/lexical/migration#migrating-from-payload-plugin-lexical");return{editable:i!==!0,editorState:s!=null?JSON.stringify(s):void 0,namespace:o.lexical.namespace,nodes:De({editorConfig:o}),onError:l=>{throw l},theme:o.lexical.theme}},[o]);return a?O(ln,{initialConfig:a,children:O(Se,{editorConfig:o,editorContainerRef:g,fieldProps:r,parentContext:d?.editDepth===y?d:void 0,children:O(pt,{providers:o.features.providers,children:O(mt,{editorConfig:o,editorContainerRef:g,isSmallWidthViewport:n,onChange:c})})})},e+a.editable):O("p",{children:"Loading..."})};var pe="rich-text-lexical",En=t=>{let{editorConfig:e,field:o,field:{admin:{className:r,description:n,readOnly:c}={},label:i,localized:s,required:d},path:y,readOnly:g,validate:a}=t,l=g||c,p=fn(),x=xt((w,$)=>typeof a=="function"?a(w,{...$,required:d}):!0,[a,d]),{customComponents:{AfterInput:m,BeforeInput:h,Description:u,Error:f,Label:E}={},disabled:v,initialValue:S,path:C,setValue:k,showError:N,value:L}=gn({potentiallyStalePath:y,validate:x}),I=l||v,[T,D]=bt(!1),[Q,he]=bt(),ye=yt.useRef(S),W=yt.useRef(L);Et(()=>{let w=()=>{let $=window.matchMedia("(max-width: 768px)").matches;$!==T&&D($)};return w(),window.addEventListener("resize",w),()=>{window.removeEventListener("resize",w)}},[T]);let Pe=[pe,"field-type",r,N&&"error",I&&`${pe}--read-only`,e?.admin?.hideGutter!==!0&&!T?`${pe}--show-gutter`:null].filter(Boolean).join(" "),oe=`${C}.${p}`,M=w=>{let $=w.toJSON();W.current=$,k($)},P=xt(w=>{typeof window.requestIdleCallback=="function"?requestIdleCallback(()=>M(w)):M(w)},[k]),Ct=yn(()=>hn(o),[o]),Nt=pn(w=>{W.current!==L&&JSON.stringify(W.current)!==JSON.stringify(L)&&(ye.current=w,W.current=L,he(new Date))});return Et(()=>{Object.is(S,ye.current)||Nt(S)},[S]),ge("div",{className:Pe,style:Ct,children:[F(ht,{CustomComponent:f,Fallback:F(un,{path:C,showError:N})}),E||F(mn,{label:i,localized:s,path:C,required:d}),ge("div",{className:`${pe}__wrap`,children:[ge(xn,{fallbackRender:bn,onReset:()=>{},children:[h,F(gt,{composerKey:oe,editorConfig:e,fieldProps:t,isSmallWidthViewport:T,onChange:P,readOnly:I,value:L},JSON.stringify({path:C,rerenderProviderKey:Q})),m]}),u,F(ht,{CustomComponent:u,Fallback:F(dn,{description:n,path:C})})]})]},oe)};function bn({error:t}){return ge("div",{className:"errorBoundary",role:"alert",children:[F("p",{children:"Something went wrong:"}),F("pre",{style:{color:"red"},children:t.message})]})}var qi=En;export{qi as RichText};
|
|
2
|
-
//# sourceMappingURL=Field-QFHWUA2L.js.map
|