@payloadcms/richtext-lexical 0.1.0-beta.3 → 0.1.0-beta.5
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/README.md +28 -0
- package/dist/field/features/Blocks/afterReadPromise.d.ts.map +1 -1
- package/dist/field/features/Blocks/afterReadPromise.js +4 -3
- package/dist/field/features/Blocks/component/index.scss +5 -0
- package/dist/field/features/Link/afterReadPromise.d.ts.map +1 -1
- package/dist/field/features/Link/afterReadPromise.js +6 -5
- package/dist/field/features/Link/index.d.ts.map +1 -1
- package/dist/field/features/Link/index.js +1 -1
- package/dist/field/features/Link/nodes/LinkNode.d.ts +4 -2
- package/dist/field/features/Link/nodes/LinkNode.d.ts.map +1 -1
- package/dist/field/features/Link/nodes/LinkNode.js +1 -41
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +14 -5
- package/dist/field/features/Relationship/afterReadPromise.js +6 -6
- package/dist/field/features/Relationship/drawer/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/drawer/index.js +9 -7
- package/dist/field/features/Relationship/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/index.js +1 -1
- package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts +12 -12
- package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts.map +1 -1
- package/dist/field/features/Relationship/nodes/RelationshipNode.js +25 -20
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts +2 -2
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.js +2 -2
- package/dist/field/features/Relationship/plugins/index.d.ts +2 -2
- package/dist/field/features/Relationship/plugins/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/plugins/index.js +1 -1
- package/dist/field/features/Upload/afterReadPromise.d.ts.map +1 -1
- package/dist/field/features/Upload/afterReadPromise.js +10 -9
- package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -1
- package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.js +6 -6
- package/dist/field/features/Upload/component/index.d.ts +2 -2
- package/dist/field/features/Upload/component/index.d.ts.map +1 -1
- package/dist/field/features/Upload/component/index.js +2 -2
- package/dist/field/features/Upload/drawer/index.d.ts.map +1 -1
- package/dist/field/features/Upload/drawer/index.js +4 -2
- package/dist/field/features/Upload/index.d.ts.map +1 -1
- package/dist/field/features/Upload/index.js +6 -2
- package/dist/field/features/Upload/nodes/UploadNode.d.ts +15 -12
- package/dist/field/features/Upload/nodes/UploadNode.d.ts.map +1 -1
- package/dist/field/features/Upload/nodes/UploadNode.js +19 -14
- package/dist/field/features/Upload/plugin/index.d.ts.map +1 -1
- package/dist/field/features/Upload/plugin/index.js +3 -2
- package/dist/field/features/Upload/validate.d.ts +4 -0
- package/dist/field/features/Upload/validate.d.ts.map +1 -0
- package/dist/field/features/Upload/validate.js +29 -0
- package/dist/field/features/types.d.ts +2 -1
- package/dist/field/features/types.d.ts.map +1 -1
- package/dist/field/lexical/config/default.d.ts +4 -0
- package/dist/field/lexical/config/default.d.ts.map +1 -1
- package/dist/field/lexical/config/default.js +33 -25
- package/dist/field/lexical/ui/ContentEditable.scss +5 -0
- package/dist/field/lexical/utils/cloneDeep.d.ts +1 -1
- package/dist/field/lexical/utils/cloneDeep.d.ts.map +1 -1
- package/dist/field/lexical/utils/cloneDeep.js +27 -9
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -3
- package/dist/populate/recurseNestedFields.d.ts +2 -1
- package/dist/populate/recurseNestedFields.d.ts.map +1 -1
- package/dist/populate/recurseNestedFields.js +28 -25
- package/dist/populate/richTextRelationshipPromise.d.ts +2 -1
- package/dist/populate/richTextRelationshipPromise.d.ts.map +1 -1
- package/dist/populate/richTextRelationshipPromise.js +8 -5
- package/dist/validate/validateNodes.d.ts.map +1 -1
- package/dist/validate/validateNodes.js +1 -1
- package/package.json +3 -3
- package/src/index.ts +42 -11
|
@@ -41,4 +41,4 @@ async function validateNodes({ nodeValidations, nodes, payloadConfig, validation
|
|
|
41
41
|
return true;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0ZS92YWxpZGF0ZU5vZGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2VyaWFsaXplZEVkaXRvclN0YXRlLCBTZXJpYWxpemVkTGV4aWNhbE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgUmljaFRleHRGaWVsZCwgVmFsaWRhdGVPcHRpb25zIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBOb2RlVmFsaWRhdGlvbiB9IGZyb20gJy4uL2ZpZWxkL2ZlYXR1cmVzL3R5cGVzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVOb2Rlcyh7XG4gIG5vZGVWYWxpZGF0aW9ucyxcbiAgbm9kZXMsXG4gIHBheWxvYWRDb25maWcsXG4gIHZhbGlkYXRpb246IHZhbGlkYXRpb25Gcm9tUHJvcHMsXG59OiB7XG4gIG5vZGVWYWxpZGF0aW9uczogTWFwPHN0cmluZywgQXJyYXk8Tm9kZVZhbGlkYXRpb24+PlxuICBub2RlczogU2VyaWFsaXplZExleGljYWxOb2RlW11cbiAgcGF5bG9hZENvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIHZhbGlkYXRpb246IHtcbiAgICBvcHRpb25zOiBWYWxpZGF0ZU9wdGlvbnM8U2VyaWFsaXplZEVkaXRvclN0YXRlLCB1bmtub3duLCBSaWNoVGV4dEZpZWxkPlxuICAgIHZhbHVlOiBTZXJpYWxpemVkRWRpdG9yU3RhdGVcbiAgfVxufSk6IFByb21pc2U8c3RyaW5nIHwgdHJ1ZT4ge1xuICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAvLyBWYWxpZGF0ZSBub2RlXG4gICAgaWYgKFxuICAgICAgbm9kZVZhbGlkYXRpb25zICYmXG4gICAgICB0eXBlb2Ygbm9kZVZhbGlkYXRpb25zPy5oYXMgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIG5vZGVWYWxpZGF0aW9ucz8uaGFzKG5vZGUudHlwZSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25zID0gbm9kZVZhbGlkYXRpb25zLmdldChub2RlLnR5cGUpXG4gICAgICBmb3IgKGNvbnN0IHZhbGlkYXRpb24gb2YgdmFsaWRhdGlvbnMpIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IHZhbGlkYXRpb24oe1xuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbm9kZVZhbGlkYXRpb25zLFxuICAgICAgICAgIHBheWxvYWRDb25maWcsXG4gICAgICAgICAgdmFsaWRhdGlvbjogdmFsaWRhdGlvbkZyb21Qcm9wcyxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQgIT09IHRydWUpIHtcbiAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgbm9kZSdzIGNoaWxkcmVuXG4gICAgaWYgKCdjaGlsZHJlbicgaW4gbm9kZSAmJiBub2RlPy5jaGlsZHJlbikge1xuICAgICAgY29uc3QgY2hpbGRyZW5WYWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgdmFsaWRhdGVOb2Rlcyh7XG4gICAgICAgIG5vZGVWYWxpZGF0aW9ucyxcbiAgICAgICAgbm9kZXM6IG5vZGUuY2hpbGRyZW4gYXMgU2VyaWFsaXplZExleGljYWxOb2RlW10sXG4gICAgICAgIHBheWxvYWRDb25maWcsXG4gICAgICAgIHZhbGlkYXRpb246IHZhbGlkYXRpb25Gcm9tUHJvcHMsXG4gICAgICB9KVxuICAgICAgaWYgKGNoaWxkcmVuVmFsaWRhdGlvblJlc3VsdCAhPT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW5WYWxpZGF0aW9uUmVzdWx0XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cbiJdLCJuYW1lcyI6WyJ2YWxpZGF0ZU5vZGVzIiwibm9kZVZhbGlkYXRpb25zIiwibm9kZXMiLCJwYXlsb2FkQ29uZmlnIiwidmFsaWRhdGlvbiIsInZhbGlkYXRpb25Gcm9tUHJvcHMiLCJub2RlIiwiaGFzIiwidHlwZSIsInZhbGlkYXRpb25zIiwiZ2V0IiwidmFsaWRhdGlvblJlc3VsdCIsImNoaWxkcmVuIiwiY2hpbGRyZW5WYWxpZGF0aW9uUmVzdWx0Il0sIm1hcHBpbmdzIjoiOzs7OytCQU1zQkE7OztlQUFBQTs7O0FBQWYsZUFBZUEsY0FBYyxFQUNsQ0MsZUFBZSxFQUNmQyxLQUFLLEVBQ0xDLGFBQWEsRUFDYkMsWUFBWUMsbUJBQW1CLEVBU2hDO0lBQ0MsS0FBSyxNQUFNQyxRQUFRSixNQUFPO1FBQ3hCLGdCQUFnQjtRQUNoQixJQUNFRCxtQkFDQSxPQUFPQSxpQkFBaUJNLFFBQVEsY0FDaENOLGlCQUFpQk0sSUFBSUQsS0FBS0UsSUFBSSxHQUM5QjtZQUNBLE1BQU1DLGNBQWNSLGdCQUFnQlMsR0FBRyxDQUFDSixLQUFLRSxJQUFJO1lBQ2pELEtBQUssTUFBTUosY0FBY0ssWUFBYTtnQkFDcEMsTUFBTUUsbUJBQW1CLE1BQU1QLFdBQVc7b0JBQ3hDRTtvQkFDQUw7b0JBQ0FFO29CQUNBQyxZQUFZQztnQkFDZDtnQkFDQSxJQUFJTSxxQkFBcUIsTUFBTTtvQkFDN0IsT0FBT0E7Z0JBQ1Q7WUFDRjtRQUNGO1FBRUEsMkJBQTJCO1FBQzNCLElBQUksY0FBY0wsUUFBUUEsTUFBTU0sVUFBVTtZQUN4QyxNQUFNQywyQkFBMkIsTUFBTWIsY0FBYztnQkFDbkRDO2dCQUNBQyxPQUFPSSxLQUFLTSxRQUFRO2dCQUNwQlQ7Z0JBQ0FDLFlBQVlDO1lBQ2Q7WUFDQSxJQUFJUSw2QkFBNkIsTUFBTTtnQkFDckMsT0FBT0E7WUFDVDtRQUNGO0lBQ0Y7SUFFQSxPQUFPO0FBQ1QifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/richtext-lexical",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.5",
|
|
4
4
|
"description": "The officially supported Lexical richtext adapter for Payload",
|
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
|
6
6
|
"license": "MIT",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/node": "20.6.2",
|
|
45
45
|
"@types/react": "18.2.15",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
46
|
+
"payload": "2.0.0-beta.30",
|
|
47
|
+
"@payloadcms/eslint-config": "0.0.1"
|
|
48
48
|
},
|
|
49
49
|
"exports": null,
|
|
50
50
|
"publishConfig": {
|
package/src/index.ts
CHANGED
|
@@ -1,27 +1,51 @@
|
|
|
1
|
+
import type { EditorConfig as LexicalEditorConfig } from 'lexical/LexicalEditor'
|
|
1
2
|
import type { RichTextAdapter } from 'payload/types'
|
|
2
3
|
|
|
3
4
|
import { withMergedProps } from 'payload/components/utilities'
|
|
4
5
|
|
|
6
|
+
import type { FeatureProvider } from './field/features/types'
|
|
5
7
|
import type { EditorConfig, SanitizedEditorConfig } from './field/lexical/config/types'
|
|
6
8
|
import type { AdapterProps } from './types'
|
|
7
9
|
|
|
8
10
|
import { RichTextCell } from './cell'
|
|
9
11
|
import { RichTextField } from './field'
|
|
10
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
defaultEditorFeatures,
|
|
14
|
+
defaultEditorLexicalConfig,
|
|
15
|
+
defaultSanitizedEditorConfig,
|
|
16
|
+
} from './field/lexical/config/default'
|
|
11
17
|
import { sanitizeEditorConfig } from './field/lexical/config/sanitize'
|
|
12
18
|
import { cloneDeep } from './field/lexical/utils/cloneDeep'
|
|
13
19
|
import { richTextRelationshipPromise } from './populate/richTextRelationshipPromise'
|
|
14
20
|
import { richTextValidateHOC } from './validate'
|
|
15
21
|
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
}: {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
export type LexicalEditorProps = {
|
|
23
|
+
features?:
|
|
24
|
+
| (({ defaultFeatures }: { defaultFeatures: FeatureProvider[] }) => FeatureProvider[])
|
|
25
|
+
| FeatureProvider[]
|
|
26
|
+
lexical?: LexicalEditorConfig
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function lexicalEditor(props?: LexicalEditorProps): RichTextAdapter<AdapterProps> {
|
|
30
|
+
let finalSanitizedEditorConfig: SanitizedEditorConfig = null
|
|
31
|
+
if (!props || (!props.features && !props.lexical)) {
|
|
32
|
+
finalSanitizedEditorConfig = cloneDeep(defaultSanitizedEditorConfig)
|
|
33
|
+
} else {
|
|
34
|
+
let features: FeatureProvider[] =
|
|
35
|
+
props.features && typeof props.features === 'function'
|
|
36
|
+
? props.features({ defaultFeatures: cloneDeep(defaultEditorFeatures) })
|
|
37
|
+
: (props.features as FeatureProvider[])
|
|
38
|
+
if (!features) {
|
|
39
|
+
features = cloneDeep(defaultEditorFeatures)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const lexical: LexicalEditorConfig = props.lexical || cloneDeep(defaultEditorLexicalConfig)
|
|
43
|
+
|
|
44
|
+
finalSanitizedEditorConfig = sanitizeEditorConfig({
|
|
45
|
+
features,
|
|
46
|
+
lexical,
|
|
47
|
+
})
|
|
48
|
+
}
|
|
25
49
|
|
|
26
50
|
return {
|
|
27
51
|
CellComponent: withMergedProps({
|
|
@@ -88,9 +112,11 @@ export { CheckListFeature } from './field/features/lists/CheckList'
|
|
|
88
112
|
export { OrderedListFeature } from './field/features/lists/OrderedList'
|
|
89
113
|
export { UnoderedListFeature } from './field/features/lists/UnorderedList'
|
|
90
114
|
export type {
|
|
115
|
+
AfterReadPromise,
|
|
91
116
|
Feature,
|
|
92
117
|
FeatureProvider,
|
|
93
118
|
FeatureProviderMap,
|
|
119
|
+
NodeValidation,
|
|
94
120
|
ResolvedFeature,
|
|
95
121
|
ResolvedFeatureMap,
|
|
96
122
|
SanitizedFeatures,
|
|
@@ -100,7 +126,12 @@ export {
|
|
|
100
126
|
EditorConfigProvider,
|
|
101
127
|
useEditorConfigContext,
|
|
102
128
|
} from './field/lexical/config/EditorConfigProvider'
|
|
103
|
-
export {
|
|
129
|
+
export {
|
|
130
|
+
defaultEditorConfig,
|
|
131
|
+
defaultEditorFeatures,
|
|
132
|
+
defaultEditorLexicalConfig,
|
|
133
|
+
defaultSanitizedEditorConfig,
|
|
134
|
+
} from './field/lexical/config/default'
|
|
104
135
|
export { loadFeatures, sortFeaturesForOptimalLoading } from './field/lexical/config/loader'
|
|
105
136
|
export { sanitizeEditorConfig, sanitizeFeatures } from './field/lexical/config/sanitize'
|
|
106
137
|
// export SanitizedEditorConfig
|