@payloadcms/richtext-lexical 3.59.0-internal.56a1b3b → 3.59.0-internal.898dbd3
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/index.js +2 -2
- package/dist/exports/client/index.js.map +3 -3
- package/dist/features/blocks/premade/CodeBlock/Component/Block.d.ts.map +1 -1
- package/dist/features/blocks/premade/CodeBlock/Component/Block.js +19 -17
- package/dist/features/blocks/premade/CodeBlock/Component/Block.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/Block.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAQ7D,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAC5C,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/Block.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAQ7D,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAC5C,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC,CA+F1D,CAAA"}
|
|
@@ -10,13 +10,14 @@ import { Collapse } from './Collapse/index.js';
|
|
|
10
10
|
import { FloatingCollapse } from './FloatingCollapse/index.js';
|
|
11
11
|
const baseClass = 'payload-richtext-code-block';
|
|
12
12
|
export const CodeBlockBlockComponent = args => {
|
|
13
|
-
const $ = _c(
|
|
13
|
+
const $ = _c(14);
|
|
14
14
|
const {
|
|
15
15
|
languages
|
|
16
16
|
} = args;
|
|
17
17
|
const {
|
|
18
18
|
BlockCollapsible,
|
|
19
|
-
formSchema
|
|
19
|
+
formSchema,
|
|
20
|
+
RemoveButton
|
|
20
21
|
} = useBlockComponentContext();
|
|
21
22
|
const {
|
|
22
23
|
setModified
|
|
@@ -52,9 +53,9 @@ export const CodeBlockBlockComponent = args => {
|
|
|
52
53
|
const selectedLanguageLabel = languages[selectedLanguageField?.value];
|
|
53
54
|
const t1 = selectedLanguageField?.value;
|
|
54
55
|
let t2;
|
|
55
|
-
if ($[2] !== BlockCollapsible || $[3] !== codeField?.value || $[
|
|
56
|
+
if ($[2] !== BlockCollapsible || $[3] !== RemoveButton || $[4] !== codeField?.value || $[5] !== formSchema || $[6] !== languages || $[7] !== selectedLanguageLabel || $[8] !== setSelectedLanguage || $[9] !== t1) {
|
|
56
57
|
let t3;
|
|
57
|
-
if ($[
|
|
58
|
+
if ($[11] !== languages || $[12] !== setSelectedLanguage) {
|
|
58
59
|
t3 = t4 => {
|
|
59
60
|
const {
|
|
60
61
|
close
|
|
@@ -78,11 +79,11 @@ export const CodeBlockBlockComponent = args => {
|
|
|
78
79
|
})
|
|
79
80
|
});
|
|
80
81
|
};
|
|
81
|
-
$[
|
|
82
|
-
$[
|
|
83
|
-
$[
|
|
82
|
+
$[11] = languages;
|
|
83
|
+
$[12] = setSelectedLanguage;
|
|
84
|
+
$[13] = t3;
|
|
84
85
|
} else {
|
|
85
|
-
t3 = $[
|
|
86
|
+
t3 = $[13];
|
|
86
87
|
}
|
|
87
88
|
t2 = _jsx(BlockCollapsible, {
|
|
88
89
|
Actions: _jsxs("div", {
|
|
@@ -104,7 +105,7 @@ export const CodeBlockBlockComponent = args => {
|
|
|
104
105
|
size: "large"
|
|
105
106
|
}), _jsx(CopyToClipboard, {
|
|
106
107
|
value: codeField?.value ?? ""
|
|
107
|
-
}), _jsx(Collapse, {})]
|
|
108
|
+
}), _jsx(Collapse, {}), _jsx(RemoveButton, {})]
|
|
108
109
|
}),
|
|
109
110
|
className: baseClass,
|
|
110
111
|
collapsibleProps: {
|
|
@@ -128,15 +129,16 @@ export const CodeBlockBlockComponent = args => {
|
|
|
128
129
|
})
|
|
129
130
|
});
|
|
130
131
|
$[2] = BlockCollapsible;
|
|
131
|
-
$[3] =
|
|
132
|
-
$[4] =
|
|
133
|
-
$[5] =
|
|
134
|
-
$[6] =
|
|
135
|
-
$[7] =
|
|
136
|
-
$[8] =
|
|
137
|
-
$[9] =
|
|
132
|
+
$[3] = RemoveButton;
|
|
133
|
+
$[4] = codeField?.value;
|
|
134
|
+
$[5] = formSchema;
|
|
135
|
+
$[6] = languages;
|
|
136
|
+
$[7] = selectedLanguageLabel;
|
|
137
|
+
$[8] = setSelectedLanguage;
|
|
138
|
+
$[9] = t1;
|
|
139
|
+
$[10] = t2;
|
|
138
140
|
} else {
|
|
139
|
-
t2 = $[
|
|
141
|
+
t2 = $[10];
|
|
140
142
|
}
|
|
141
143
|
return t2;
|
|
142
144
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Block.js","names":["c","_c","ChevronIcon","CopyToClipboard","Popup","PopupList","RenderFields","useForm","useFormFields","React","CodeBlockIcon","useBlockComponentContext","Collapse","FloatingCollapse","baseClass","CodeBlockBlockComponent","args","$","languages","BlockCollapsible","formSchema","setModified","codeField","_temp","t0","t1","fields_0","dispatch","selectedLanguageField","fields","language","setSelectedLanguage","type","path","value","selectedLanguageLabel","t2","t3","t4","close","_jsx","ButtonGroup","children","Object","entries","map","t5","languageCode","languageLabel","Button","active","disabled","onClick","className","Actions","_jsxs","button","horizontalAlign","render","disableHeaderToggle","disableToggleIndicator","Pill","_Fragment","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","code"],"sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/Block.tsx"],"sourcesContent":["'use client'\nimport type {} from 'payload'\n\nimport {\n ChevronIcon,\n CopyToClipboard,\n Popup,\n PopupList,\n RenderFields,\n useForm,\n useFormFields,\n} from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\nimport type { AdditionalCodeComponentProps } from './Code.js'\n\nimport { CodeBlockIcon } from '../../../../../lexical/ui/icons/CodeBlock/index.js'\nimport { useBlockComponentContext } from '../../../client/component/BlockContent.js'\nimport { Collapse } from './Collapse/index.js'\nimport { FloatingCollapse } from './FloatingCollapse/index.js'\n\nconst baseClass = 'payload-richtext-code-block'\nexport const CodeBlockBlockComponent: React.FC<\n Required<Pick<AdditionalCodeComponentProps, 'languages'>>\n> = (args) => {\n const { languages } = args\n const { BlockCollapsible, formSchema } = useBlockComponentContext()\n const { setModified } = useForm()\n\n const { codeField } = useFormFields(([fields]) => ({\n codeField: fields?.code,\n }))\n\n const { selectedLanguageField, setSelectedLanguage } = useFormFields(([fields, dispatch]) => ({\n selectedLanguageField: fields?.language,\n setSelectedLanguage: (language: string) => {\n dispatch({\n type: 'UPDATE',\n path: 'language',\n value: language,\n })\n setModified(true)\n },\n }))\n\n const selectedLanguageLabel = languages[selectedLanguageField?.value as keyof typeof languages]\n\n return (\n <BlockCollapsible\n Actions={\n <div className={`${baseClass}__actions`}>\n <Popup\n button={\n <div\n className={`${baseClass}__language-selector-button`}\n data-selected-language={selectedLanguageField?.value}\n >\n <span>{selectedLanguageLabel}</span>\n <ChevronIcon className={`${baseClass}__chevron`} />\n </div>\n }\n className={`${baseClass}__language-selector`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {Object.entries(languages).map(([languageCode, languageLabel]) => {\n return (\n <PopupList.Button\n active={false}\n disabled={false}\n key={languageCode}\n onClick={() => {\n setSelectedLanguage(languageCode)\n close()\n }}\n >\n <span className={`${baseClass}__language-code`} data-language={languageCode}>\n {languageLabel}\n </span>\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n <CopyToClipboard value={(codeField?.value as string) ?? ''} />\n\n <Collapse />\n </div>\n }\n className={baseClass}\n collapsibleProps={{\n AfterCollapsible: <FloatingCollapse />,\n disableHeaderToggle: true,\n disableToggleIndicator: true,\n }}\n Pill={\n <div className={`${baseClass}__pill`}>\n <CodeBlockIcon />\n </div>\n }\n >\n <>\n <RenderFields\n fields={formSchema}\n forceRender={true}\n parentIndexPath=\"\"\n parentPath={''}\n parentSchemaPath=\"\"\n permissions={true}\n />\n </>\n </BlockCollapsible>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SACEC,WAAW,EACXC,eAAe,EACfC,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,OAAO,EACPC,aAAa,QACR;AACP,OAAOC,KAAA,MAAW;AAMlB,SAASC,aAAa,QAAQ;AAC9B,SAASC,wBAAwB,QAAQ;AACzC,SAASC,QAAQ,QAAQ;AACzB,SAASC,gBAAgB,QAAQ;AAEjC,MAAMC,SAAA,GAAY;AAClB,OAAO,MAAMC,uBAAA,GAETC,IAAA;EAAA,MAAAC,CAAA,GAAAhB,EAAA;EACF;IAAAiB;EAAA,IAAsBF,IAAA;EACtB;IAAAG,gBAAA;IAAAC;EAAA,
|
|
1
|
+
{"version":3,"file":"Block.js","names":["c","_c","ChevronIcon","CopyToClipboard","Popup","PopupList","RenderFields","useForm","useFormFields","React","CodeBlockIcon","useBlockComponentContext","Collapse","FloatingCollapse","baseClass","CodeBlockBlockComponent","args","$","languages","BlockCollapsible","formSchema","RemoveButton","setModified","codeField","_temp","t0","t1","fields_0","dispatch","selectedLanguageField","fields","language","setSelectedLanguage","type","path","value","selectedLanguageLabel","t2","t3","t4","close","_jsx","ButtonGroup","children","Object","entries","map","t5","languageCode","languageLabel","Button","active","disabled","onClick","className","Actions","_jsxs","button","horizontalAlign","render","disableHeaderToggle","disableToggleIndicator","Pill","_Fragment","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","code"],"sources":["../../../../../../src/features/blocks/premade/CodeBlock/Component/Block.tsx"],"sourcesContent":["'use client'\nimport type {} from 'payload'\n\nimport {\n ChevronIcon,\n CopyToClipboard,\n Popup,\n PopupList,\n RenderFields,\n useForm,\n useFormFields,\n} from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\n\nimport type { AdditionalCodeComponentProps } from './Code.js'\n\nimport { CodeBlockIcon } from '../../../../../lexical/ui/icons/CodeBlock/index.js'\nimport { useBlockComponentContext } from '../../../client/component/BlockContent.js'\nimport { Collapse } from './Collapse/index.js'\nimport { FloatingCollapse } from './FloatingCollapse/index.js'\n\nconst baseClass = 'payload-richtext-code-block'\nexport const CodeBlockBlockComponent: React.FC<\n Required<Pick<AdditionalCodeComponentProps, 'languages'>>\n> = (args) => {\n const { languages } = args\n const { BlockCollapsible, formSchema, RemoveButton } = useBlockComponentContext()\n const { setModified } = useForm()\n\n const { codeField } = useFormFields(([fields]) => ({\n codeField: fields?.code,\n }))\n\n const { selectedLanguageField, setSelectedLanguage } = useFormFields(([fields, dispatch]) => ({\n selectedLanguageField: fields?.language,\n setSelectedLanguage: (language: string) => {\n dispatch({\n type: 'UPDATE',\n path: 'language',\n value: language,\n })\n setModified(true)\n },\n }))\n\n const selectedLanguageLabel = languages[selectedLanguageField?.value as keyof typeof languages]\n\n return (\n <BlockCollapsible\n Actions={\n <div className={`${baseClass}__actions`}>\n <Popup\n button={\n <div\n className={`${baseClass}__language-selector-button`}\n data-selected-language={selectedLanguageField?.value}\n >\n <span>{selectedLanguageLabel}</span>\n <ChevronIcon className={`${baseClass}__chevron`} />\n </div>\n }\n className={`${baseClass}__language-selector`}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {Object.entries(languages).map(([languageCode, languageLabel]) => {\n return (\n <PopupList.Button\n active={false}\n disabled={false}\n key={languageCode}\n onClick={() => {\n setSelectedLanguage(languageCode)\n close()\n }}\n >\n <span className={`${baseClass}__language-code`} data-language={languageCode}>\n {languageLabel}\n </span>\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n <CopyToClipboard value={(codeField?.value as string) ?? ''} />\n\n <Collapse />\n\n <RemoveButton />\n </div>\n }\n className={baseClass}\n collapsibleProps={{\n AfterCollapsible: <FloatingCollapse />,\n disableHeaderToggle: true,\n disableToggleIndicator: true,\n }}\n Pill={\n <div className={`${baseClass}__pill`}>\n <CodeBlockIcon />\n </div>\n }\n >\n <>\n <RenderFields\n fields={formSchema}\n forceRender={true}\n parentIndexPath=\"\"\n parentPath={''}\n parentSchemaPath=\"\"\n permissions={true}\n />\n </>\n </BlockCollapsible>\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.59.0-internal.
|
|
3
|
+
"version": "3.59.0-internal.898dbd3",
|
|
4
4
|
"description": "The officially supported Lexical richtext adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -373,8 +373,8 @@
|
|
|
373
373
|
"react-error-boundary": "4.1.2",
|
|
374
374
|
"ts-essentials": "10.0.3",
|
|
375
375
|
"uuid": "10.0.0",
|
|
376
|
-
"@payloadcms/translations": "3.59.0-internal.
|
|
377
|
-
"@payloadcms/ui": "3.59.0-internal.
|
|
376
|
+
"@payloadcms/translations": "3.59.0-internal.898dbd3",
|
|
377
|
+
"@payloadcms/ui": "3.59.0-internal.898dbd3"
|
|
378
378
|
},
|
|
379
379
|
"devDependencies": {
|
|
380
380
|
"@babel/cli": "7.27.2",
|
|
@@ -393,16 +393,16 @@
|
|
|
393
393
|
"esbuild": "0.25.5",
|
|
394
394
|
"esbuild-sass-plugin": "3.3.1",
|
|
395
395
|
"swc-plugin-transform-remove-imports": "4.0.4",
|
|
396
|
-
"
|
|
397
|
-
"
|
|
396
|
+
"payload": "3.59.0-internal.898dbd3",
|
|
397
|
+
"@payloadcms/eslint-config": "3.28.0"
|
|
398
398
|
},
|
|
399
399
|
"peerDependencies": {
|
|
400
400
|
"@faceless-ui/modal": "3.0.0",
|
|
401
401
|
"@faceless-ui/scroll-info": "2.0.0",
|
|
402
402
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
403
403
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
404
|
-
"@payloadcms/next": "3.59.0-internal.
|
|
405
|
-
"payload": "3.59.0-internal.
|
|
404
|
+
"@payloadcms/next": "3.59.0-internal.898dbd3",
|
|
405
|
+
"payload": "3.59.0-internal.898dbd3"
|
|
406
406
|
},
|
|
407
407
|
"engines": {
|
|
408
408
|
"node": "^18.20.2 || >=20.9.0"
|