@payloadcms/richtext-slate 3.0.0-canary.ff8c8fd → 3.0.0
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/cell/rscEntry.d.ts +8 -0
- package/dist/cell/rscEntry.d.ts.map +1 -0
- package/dist/cell/rscEntry.js +51 -0
- package/dist/cell/rscEntry.js.map +1 -0
- package/dist/data/populate.d.ts +3 -2
- package/dist/data/populate.d.ts.map +1 -1
- package/dist/data/populate.js +2 -1
- package/dist/data/populate.js.map +1 -1
- package/dist/data/recurseNestedFields.d.ts +3 -2
- package/dist/data/recurseNestedFields.d.ts.map +1 -1
- package/dist/data/recurseNestedFields.js +10 -1
- package/dist/data/recurseNestedFields.js.map +1 -1
- package/dist/data/richTextRelationshipPromise.d.ts +4 -3
- package/dist/data/richTextRelationshipPromise.d.ts.map +1 -1
- package/dist/data/richTextRelationshipPromise.js +8 -2
- package/dist/data/richTextRelationshipPromise.js.map +1 -1
- package/dist/data/validation.d.ts.map +1 -1
- package/dist/data/validation.js +3 -1
- package/dist/data/validation.js.map +1 -1
- package/dist/exports/client/index.d.ts +4 -3
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +4 -3
- package/dist/exports/client/index.js.map +1 -1
- package/dist/exports/server/rsc.d.ts +3 -0
- package/dist/exports/server/rsc.d.ts.map +1 -0
- package/dist/exports/server/rsc.js +4 -0
- package/dist/exports/server/rsc.js.map +1 -0
- package/dist/field/RichText.d.ts.map +1 -1
- package/dist/field/RichText.js +38 -52
- package/dist/field/RichText.js.map +1 -1
- package/dist/field/buttons.scss +11 -10
- package/dist/field/createFeatureMap.d.ts +2 -2
- package/dist/field/createFeatureMap.d.ts.map +1 -1
- package/dist/field/createFeatureMap.js +15 -4
- package/dist/field/createFeatureMap.js.map +1 -1
- package/dist/field/elements/Button.js +2 -2
- package/dist/field/elements/Button.js.map +1 -1
- package/dist/field/elements/blockquote/index.scss +7 -5
- package/dist/field/elements/h3/Heading3.d.ts.map +1 -1
- package/dist/field/elements/h3/Heading3.js.map +1 -1
- package/dist/field/elements/h4/Heading4.d.ts.map +1 -1
- package/dist/field/elements/h4/Heading4.js.map +1 -1
- package/dist/field/elements/h5/Heading5.d.ts.map +1 -1
- package/dist/field/elements/h5/Heading5.js.map +1 -1
- package/dist/field/elements/h6/Heading6.d.ts.map +1 -1
- package/dist/field/elements/h6/Heading6.js.map +1 -1
- package/dist/field/elements/isActive.d.ts.map +1 -1
- package/dist/field/elements/isActive.js +3 -1
- package/dist/field/elements/isActive.js.map +1 -1
- package/dist/field/elements/isLastSelectedElementEmpty.d.ts.map +1 -1
- package/dist/field/elements/isLastSelectedElementEmpty.js +3 -1
- package/dist/field/elements/isLastSelectedElementEmpty.js.map +1 -1
- package/dist/field/elements/isListActive.d.ts.map +1 -1
- package/dist/field/elements/isListActive.js +6 -2
- package/dist/field/elements/isListActive.js.map +1 -1
- package/dist/field/elements/link/Button/index.d.ts +3 -1
- package/dist/field/elements/link/Button/index.d.ts.map +1 -1
- package/dist/field/elements/link/Button/index.js +20 -16
- package/dist/field/elements/link/Button/index.js.map +1 -1
- package/dist/field/elements/link/Element/index.d.ts.map +1 -1
- package/dist/field/elements/link/Element/index.js +28 -20
- package/dist/field/elements/link/Element/index.js.map +1 -1
- package/dist/field/elements/link/Element/index.scss +66 -64
- package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -1
- package/dist/field/elements/link/LinkDrawer/index.js +49 -43
- package/dist/field/elements/link/LinkDrawer/index.js.map +1 -1
- package/dist/field/elements/link/LinkDrawer/index.scss +39 -37
- package/dist/field/elements/link/LinkDrawer/types.d.ts +1 -0
- package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -1
- package/dist/field/elements/link/LinkDrawer/types.js.map +1 -1
- package/dist/field/elements/ol/index.scss +5 -3
- package/dist/field/elements/relationship/Button/index.scss +6 -4
- package/dist/field/elements/relationship/Element/index.d.ts +1 -7
- package/dist/field/elements/relationship/Element/index.d.ts.map +1 -1
- package/dist/field/elements/relationship/Element/index.js.map +1 -1
- package/dist/field/elements/relationship/Element/index.scss +73 -71
- package/dist/field/elements/toggleList.d.ts.map +1 -1
- package/dist/field/elements/toggleList.js +6 -2
- package/dist/field/elements/toggleList.js.map +1 -1
- package/dist/field/elements/ul/index.scss +5 -3
- package/dist/field/elements/upload/Button/index.scss +6 -4
- package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Element/UploadDrawer/index.js +67 -57
- package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -1
- package/dist/field/elements/upload/Element/index.d.ts +1 -7
- package/dist/field/elements/upload/Element/index.d.ts.map +1 -1
- package/dist/field/elements/upload/Element/index.js +28 -24
- package/dist/field/elements/upload/Element/index.js.map +1 -1
- package/dist/field/elements/upload/Element/index.scss +116 -114
- package/dist/field/icons/IndentLeft/index.scss +12 -10
- package/dist/field/icons/IndentRight/index.scss +12 -10
- package/dist/field/icons/Link/index.scss +8 -6
- package/dist/field/icons/Relationship/index.scss +9 -7
- package/dist/field/icons/Upload/index.scss +8 -6
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +16 -14
- package/dist/field/index.js.map +1 -1
- package/dist/field/index.scss +167 -166
- package/dist/field/rscEntry.d.ts +7 -0
- package/dist/field/rscEntry.d.ts.map +1 -0
- package/dist/field/rscEntry.js +131 -0
- package/dist/field/rscEntry.js.map +1 -0
- package/dist/field/types.d.ts +5 -6
- package/dist/field/types.d.ts.map +1 -1
- package/dist/field/types.js.map +1 -1
- package/dist/generateSchemaMap.d.ts.map +1 -1
- package/dist/generateSchemaMap.js +30 -5
- package/dist/generateSchemaMap.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -9
- package/dist/index.js.map +1 -1
- package/dist/scss/app.scss +164 -163
- package/dist/scss/colors.scss +256 -254
- package/dist/scss/resets.scss +9 -7
- package/dist/scss/toastify.scss +42 -41
- package/dist/scss/toasts.scss +104 -103
- package/dist/scss/type.scss +80 -79
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/SlatePropsProvider.d.ts +11 -0
- package/dist/utilities/SlatePropsProvider.d.ts.map +1 -0
- package/dist/utilities/SlatePropsProvider.js +21 -0
- package/dist/utilities/SlatePropsProvider.js.map +1 -0
- package/dist/utilities/useSlatePlugin.d.ts.map +1 -1
- package/dist/utilities/useSlatePlugin.js +3 -2
- package/dist/utilities/useSlatePlugin.js.map +1 -1
- package/license.md +22 -0
- package/package.json +27 -19
- package/dist/cell/index.d.ts +0 -4
- package/dist/cell/index.d.ts.map +0 -1
- package/dist/cell/index.js +0 -14
- package/dist/cell/index.js.map +0 -1
- package/dist/generateComponentMap.d.ts +0 -4
- package/dist/generateComponentMap.d.ts.map +0 -1
- package/dist/generateComponentMap.js +0 -92
- package/dist/generateComponentMap.js.map +0 -1
package/dist/field/index.scss
CHANGED
|
@@ -1,212 +1,213 @@
|
|
|
1
1
|
@import '../scss/styles.scss';
|
|
2
|
+
@layer payload-default {
|
|
3
|
+
.rich-text {
|
|
4
|
+
margin-bottom: base(2);
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
isolation: isolate;
|
|
2
8
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
&__toolbar {
|
|
10
|
+
@include blur-bg(var(--theme-elevation-0));
|
|
11
|
+
margin-bottom: $baseline;
|
|
12
|
+
border: $style-stroke-width-s solid var(--theme-elevation-150);
|
|
13
|
+
position: sticky;
|
|
14
|
+
z-index: 1;
|
|
15
|
+
top: var(--doc-controls-height);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&__toolbar-wrap {
|
|
19
|
+
padding: base(0.25);
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-wrap: wrap;
|
|
22
|
+
align-items: stretch;
|
|
23
|
+
position: relative;
|
|
24
|
+
z-index: 1;
|
|
17
25
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
position: absolute;
|
|
30
|
-
top: calc(100% + 1px);
|
|
31
|
-
background: linear-gradient(var(--theme-elevation-0), transparent);
|
|
32
|
-
display: block;
|
|
33
|
-
left: -1px;
|
|
34
|
-
right: -1px;
|
|
35
|
-
height: base(1);
|
|
26
|
+
&:after {
|
|
27
|
+
content: ' ';
|
|
28
|
+
opacity: 0.8;
|
|
29
|
+
position: absolute;
|
|
30
|
+
top: calc(100% + 1px);
|
|
31
|
+
background: linear-gradient(var(--theme-elevation-0), transparent);
|
|
32
|
+
display: block;
|
|
33
|
+
left: -1px;
|
|
34
|
+
right: -1px;
|
|
35
|
+
height: base(1);
|
|
36
|
+
}
|
|
36
37
|
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
&__editor {
|
|
40
|
-
font-family: var(--font-serif);
|
|
41
|
-
font-size: base(0.8);
|
|
42
|
-
line-height: 1.5;
|
|
43
38
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
&__editor {
|
|
40
|
+
font-family: var(--font-serif);
|
|
41
|
+
font-size: base(0.8);
|
|
47
42
|
line-height: 1.5;
|
|
48
|
-
letter-spacing: normal;
|
|
49
|
-
}
|
|
50
43
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
font-weight: 700;
|
|
58
|
-
letter-spacing: normal;
|
|
59
|
-
}
|
|
44
|
+
*[data-slate-node='element'] {
|
|
45
|
+
margin-top: 0.75em;
|
|
46
|
+
position: relative;
|
|
47
|
+
line-height: 1.5;
|
|
48
|
+
letter-spacing: normal;
|
|
49
|
+
}
|
|
60
50
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
51
|
+
h1,
|
|
52
|
+
h2,
|
|
53
|
+
h3,
|
|
54
|
+
h4,
|
|
55
|
+
h5,
|
|
56
|
+
h6 {
|
|
57
|
+
font-weight: 700;
|
|
58
|
+
letter-spacing: normal;
|
|
59
|
+
}
|
|
67
60
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
61
|
+
h1[data-slate-node='element'] {
|
|
62
|
+
font-size: base(1.4);
|
|
63
|
+
margin-block: 0.5em 0.4em;
|
|
64
|
+
line-height: base(1.2);
|
|
65
|
+
letter-spacing: normal;
|
|
66
|
+
}
|
|
74
67
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
68
|
+
h2[data-slate-node='element'] {
|
|
69
|
+
font-size: base(1.25);
|
|
70
|
+
margin-block: 0.55em 0.4em;
|
|
71
|
+
line-height: base(1.2);
|
|
72
|
+
letter-spacing: normal;
|
|
73
|
+
}
|
|
81
74
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
75
|
+
h3[data-slate-node='element'] {
|
|
76
|
+
font-size: base(1.1);
|
|
77
|
+
margin-block: 0.6em 0.4em;
|
|
78
|
+
line-height: base(1.3);
|
|
79
|
+
letter-spacing: normal;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
h4[data-slate-node='element'] {
|
|
83
|
+
font-size: base(1);
|
|
84
|
+
margin-block: 0.65em 0.4em;
|
|
85
|
+
line-height: base(1.4);
|
|
86
|
+
letter-spacing: normal;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
h5[data-slate-node='element'] {
|
|
90
|
+
font-size: base(0.9);
|
|
91
|
+
margin-block: 0.7em 0.4em;
|
|
92
|
+
line-height: base(1.5);
|
|
93
|
+
letter-spacing: normal;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
h6[data-slate-node='element'] {
|
|
97
|
+
font-size: base(0.8);
|
|
98
|
+
margin-block: 0.75em 0.4em;
|
|
99
|
+
line-height: base(1.5);
|
|
100
|
+
}
|
|
87
101
|
}
|
|
88
102
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
103
|
+
&--gutter {
|
|
104
|
+
.rich-text__editor {
|
|
105
|
+
padding-left: $baseline;
|
|
106
|
+
border-left: 1px solid var(--theme-elevation-100);
|
|
107
|
+
}
|
|
94
108
|
}
|
|
95
109
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
margin-block: 0.75em 0.4em;
|
|
99
|
-
line-height: base(1.5);
|
|
110
|
+
&__input {
|
|
111
|
+
min-height: base(10);
|
|
100
112
|
}
|
|
101
|
-
}
|
|
102
113
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
border-left: 1px solid var(--theme-elevation-100);
|
|
114
|
+
&__wrap {
|
|
115
|
+
width: 100%;
|
|
116
|
+
position: relative;
|
|
107
117
|
}
|
|
108
|
-
}
|
|
109
118
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
119
|
+
&__wrapper {
|
|
120
|
+
width: 100%;
|
|
121
|
+
}
|
|
113
122
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
123
|
+
&--read-only {
|
|
124
|
+
.rich-text__editor {
|
|
125
|
+
background: var(--theme-elevation-200);
|
|
126
|
+
color: var(--theme-elevation-450);
|
|
127
|
+
padding: base(0.5);
|
|
118
128
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
129
|
+
.popup button {
|
|
130
|
+
display: none;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
122
133
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
padding: base(0.5);
|
|
134
|
+
.rich-text__toolbar {
|
|
135
|
+
pointer-events: none;
|
|
136
|
+
position: relative;
|
|
137
|
+
top: 0;
|
|
128
138
|
|
|
129
|
-
|
|
130
|
-
|
|
139
|
+
&::after {
|
|
140
|
+
content: ' ';
|
|
141
|
+
position: absolute;
|
|
142
|
+
top: 0;
|
|
143
|
+
left: 0;
|
|
144
|
+
right: 0;
|
|
145
|
+
bottom: 0;
|
|
146
|
+
background-color: var(--theme-elevation-200);
|
|
147
|
+
opacity: 0.85;
|
|
148
|
+
z-index: 2;
|
|
149
|
+
backdrop-filter: unset;
|
|
150
|
+
}
|
|
131
151
|
}
|
|
132
152
|
}
|
|
133
153
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
top: 0;
|
|
154
|
+
&__button {
|
|
155
|
+
@extend %btn-reset;
|
|
156
|
+
padding: base(0.25);
|
|
138
157
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
left: 0;
|
|
144
|
-
right: 0;
|
|
145
|
-
bottom: 0;
|
|
146
|
-
background-color: var(--theme-elevation-200);
|
|
147
|
-
opacity: 0.85;
|
|
148
|
-
z-index: 2;
|
|
149
|
-
backdrop-filter: unset;
|
|
158
|
+
svg {
|
|
159
|
+
@include color-svg(var(--theme-elevation-800));
|
|
160
|
+
width: base(0.75);
|
|
161
|
+
height: base(0.75);
|
|
150
162
|
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
163
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
164
|
+
&:hover {
|
|
165
|
+
background-color: var(--theme-elevation-100);
|
|
166
|
+
}
|
|
157
167
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
168
|
+
&__button--active,
|
|
169
|
+
&__button--active:hover {
|
|
170
|
+
background-color: var(--theme-elevation-150);
|
|
171
|
+
}
|
|
162
172
|
}
|
|
163
173
|
|
|
164
|
-
|
|
165
|
-
|
|
174
|
+
&__drawerIsOpen {
|
|
175
|
+
top: base(1);
|
|
166
176
|
}
|
|
167
177
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
&__drawerIsOpen {
|
|
175
|
-
top: base(1);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
@include mid-break {
|
|
179
|
-
&__toolbar {
|
|
180
|
-
top: base(3);
|
|
181
|
-
}
|
|
178
|
+
@include mid-break {
|
|
179
|
+
&__toolbar {
|
|
180
|
+
top: base(3);
|
|
181
|
+
}
|
|
182
182
|
|
|
183
|
-
|
|
184
|
-
|
|
183
|
+
&__drawerIsOpen {
|
|
184
|
+
top: base(1);
|
|
185
|
+
}
|
|
185
186
|
}
|
|
186
187
|
}
|
|
187
|
-
}
|
|
188
188
|
|
|
189
|
-
[data-slate-node='element'] {
|
|
190
|
-
|
|
191
|
-
}
|
|
189
|
+
[data-slate-node='element'] {
|
|
190
|
+
margin-bottom: base(0.25);
|
|
191
|
+
}
|
|
192
192
|
|
|
193
|
-
html[data-theme='light'] {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
193
|
+
html[data-theme='light'] {
|
|
194
|
+
.rich-text {
|
|
195
|
+
&.error {
|
|
196
|
+
.rich-text__editor,
|
|
197
|
+
.rich-text__toolbar {
|
|
198
|
+
@include lightInputError;
|
|
199
|
+
}
|
|
199
200
|
}
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
|
-
}
|
|
203
203
|
|
|
204
|
-
html[data-theme='dark'] {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
204
|
+
html[data-theme='dark'] {
|
|
205
|
+
.rich-text {
|
|
206
|
+
&.error {
|
|
207
|
+
.rich-text__editor,
|
|
208
|
+
.rich-text__toolbar {
|
|
209
|
+
@include darkInputError;
|
|
210
|
+
}
|
|
210
211
|
}
|
|
211
212
|
}
|
|
212
213
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ClientComponentProps, FieldPaths, ServerComponentProps } from 'payload';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { AdapterArguments } from '../types.js';
|
|
4
|
+
export declare const RscEntrySlateField: React.FC<{
|
|
5
|
+
args: AdapterArguments;
|
|
6
|
+
} & ClientComponentProps & Pick<FieldPaths, 'path'> & ServerComponentProps>;
|
|
7
|
+
//# sourceMappingURL=rscEntry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rscEntry.d.ts","sourceRoot":"","sources":["../../src/field/rscEntry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGpB,UAAU,EAEX,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAItC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAA6C,MAAM,aAAa,CAAA;AAQ9F,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CACvC;IACE,IAAI,EAAE,gBAAgB,CAAA;CACvB,GAAG,oBAAoB,GACtB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GACxB,oBAAoB,CA8KvB,CAAA"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
3
|
+
import { createClientFields, deepCopyObjectSimple } from 'payload';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
// eslint-disable-next-line payload/no-imports-from-exports-dir
|
|
6
|
+
import { RichTextField } from '../exports/client/index.js';
|
|
7
|
+
import { elements as elementTypes } from '../field/elements/index.js';
|
|
8
|
+
import { defaultLeaves as leafTypes } from '../field/leaves/index.js';
|
|
9
|
+
import { linkFieldsSchemaPath } from './elements/link/shared.js';
|
|
10
|
+
import { uploadFieldsSchemaPath } from './elements/upload/shared.js';
|
|
11
|
+
export const RscEntrySlateField = ({ args, clientField, forceRender, i18n, path, payload, readOnly, renderedBlocks, schemaPath })=>{
|
|
12
|
+
const componentMap = new Map();
|
|
13
|
+
const clientProps = {
|
|
14
|
+
schemaPath
|
|
15
|
+
};
|
|
16
|
+
(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf)=>{
|
|
17
|
+
let leafObject;
|
|
18
|
+
if (typeof leaf === 'object' && leaf !== null) {
|
|
19
|
+
leafObject = leaf;
|
|
20
|
+
} else if (typeof leaf === 'string' && leafTypes[leaf]) {
|
|
21
|
+
leafObject = leafTypes[leaf];
|
|
22
|
+
}
|
|
23
|
+
if (leafObject) {
|
|
24
|
+
const LeafButton = leafObject.Button;
|
|
25
|
+
const LeafComponent = leafObject.Leaf;
|
|
26
|
+
componentMap.set(`leaf.button.${leafObject.name}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
|
|
27
|
+
clientProps: clientProps,
|
|
28
|
+
Component: LeafButton,
|
|
29
|
+
importMap: payload.importMap
|
|
30
|
+
}));
|
|
31
|
+
componentMap.set(`leaf.component.${leafObject.name}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
|
|
32
|
+
clientProps: clientProps,
|
|
33
|
+
Component: LeafComponent,
|
|
34
|
+
importMap: payload.importMap
|
|
35
|
+
}));
|
|
36
|
+
if (Array.isArray(leafObject.plugins)) {
|
|
37
|
+
leafObject.plugins.forEach((Plugin, i)=>{
|
|
38
|
+
componentMap.set(`leaf.plugin.${leafObject.name}.${i}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
|
|
39
|
+
clientProps: clientProps,
|
|
40
|
+
Component: Plugin,
|
|
41
|
+
importMap: payload.importMap
|
|
42
|
+
}));
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
(args?.admin?.elements || Object.values(elementTypes)).forEach((el)=>{
|
|
48
|
+
let element;
|
|
49
|
+
if (typeof el === 'object' && el !== null) {
|
|
50
|
+
element = el;
|
|
51
|
+
} else if (typeof el === 'string' && elementTypes[el]) {
|
|
52
|
+
element = elementTypes[el];
|
|
53
|
+
}
|
|
54
|
+
if (element) {
|
|
55
|
+
const ElementButton = element.Button;
|
|
56
|
+
const ElementComponent = element.Element;
|
|
57
|
+
if (ElementButton) {
|
|
58
|
+
componentMap.set(`element.button.${element.name}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
|
|
59
|
+
clientProps: clientProps,
|
|
60
|
+
Component: ElementButton,
|
|
61
|
+
importMap: payload.importMap
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
componentMap.set(`element.component.${element.name}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
|
|
65
|
+
clientProps: clientProps,
|
|
66
|
+
Component: ElementComponent,
|
|
67
|
+
importMap: payload.importMap
|
|
68
|
+
}));
|
|
69
|
+
if (Array.isArray(element.plugins)) {
|
|
70
|
+
element.plugins.forEach((Plugin, i)=>{
|
|
71
|
+
componentMap.set(`element.plugin.${element.name}.${i}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
|
|
72
|
+
clientProps: clientProps,
|
|
73
|
+
Component: Plugin,
|
|
74
|
+
importMap: payload.importMap
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
switch(element.name){
|
|
79
|
+
case 'link':
|
|
80
|
+
{
|
|
81
|
+
let clientFields = deepCopyObjectSimple(args.admin?.link?.fields);
|
|
82
|
+
clientFields = createClientFields({
|
|
83
|
+
clientFields,
|
|
84
|
+
defaultIDType: payload.config.db.defaultIDType,
|
|
85
|
+
fields: args.admin?.link?.fields,
|
|
86
|
+
i18n,
|
|
87
|
+
importMap: payload.importMap
|
|
88
|
+
});
|
|
89
|
+
componentMap.set(linkFieldsSchemaPath, clientFields);
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
case 'relationship':
|
|
93
|
+
break;
|
|
94
|
+
case 'upload':
|
|
95
|
+
{
|
|
96
|
+
const uploadEnabledCollections = payload.config.collections.filter(({ admin: { enableRichTextRelationship, hidden }, upload })=>{
|
|
97
|
+
if (hidden === true) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
return enableRichTextRelationship && Boolean(upload) === true;
|
|
101
|
+
});
|
|
102
|
+
uploadEnabledCollections.forEach((collection)=>{
|
|
103
|
+
if (args?.admin?.upload?.collections[collection.slug]?.fields) {
|
|
104
|
+
let clientFields = deepCopyObjectSimple(args?.admin?.upload?.collections[collection.slug]?.fields);
|
|
105
|
+
clientFields = createClientFields({
|
|
106
|
+
clientFields,
|
|
107
|
+
defaultIDType: payload.config.db.defaultIDType,
|
|
108
|
+
fields: args?.admin?.upload?.collections[collection.slug]?.fields,
|
|
109
|
+
i18n,
|
|
110
|
+
importMap: payload.importMap
|
|
111
|
+
});
|
|
112
|
+
componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, clientFields);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
return /*#__PURE__*/ _jsx(RichTextField, {
|
|
121
|
+
componentMap: Object.fromEntries(componentMap),
|
|
122
|
+
field: clientField,
|
|
123
|
+
forceRender: forceRender,
|
|
124
|
+
path: path,
|
|
125
|
+
readOnly: readOnly,
|
|
126
|
+
renderedBlocks: renderedBlocks,
|
|
127
|
+
schemaPath: schemaPath
|
|
128
|
+
});
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
//# sourceMappingURL=rscEntry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import type {\n ClientComponentProps,\n ClientField,\n Field,\n FieldPaths,\n RichTextFieldClient,\n ServerComponentProps } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { createClientFields, deepCopyObjectSimple } from 'payload'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from '../types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { elements as elementTypes } from '../field/elements/index.js'\nimport { defaultLeaves as leafTypes } from '../field/leaves/index.js'\nimport { linkFieldsSchemaPath } from './elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './elements/upload/shared.js'\nexport const RscEntrySlateField: React.FC<\n {\n args: AdapterArguments\n } & ClientComponentProps &\n Pick<FieldPaths, 'path'> &\n ServerComponentProps\n> = ({\n args,\n clientField,\n forceRender,\n i18n,\n path,\n payload,\n readOnly,\n renderedBlocks,\n schemaPath,\n}) => {\n const componentMap: Map<string, ClientField[] | React.ReactNode> = new Map()\n\n const clientProps = {\n schemaPath,\n }\n\n ;(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf) => {\n let leafObject: RichTextCustomLeaf\n\n if (typeof leaf === 'object' && leaf !== null) {\n leafObject = leaf\n } else if (typeof leaf === 'string' && leafTypes[leaf]) {\n leafObject = leafTypes[leaf]\n }\n\n if (leafObject) {\n const LeafButton = leafObject.Button\n const LeafComponent = leafObject.Leaf\n\n componentMap.set(\n `leaf.button.${leafObject.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={LeafButton}\n importMap={payload.importMap}\n />,\n )\n\n componentMap.set(\n `leaf.component.${leafObject.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={LeafComponent}\n importMap={payload.importMap}\n />,\n )\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `leaf.plugin.${leafObject.name}.${i}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={Plugin}\n importMap={payload.importMap}\n />,\n )\n })\n }\n }\n })\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n const ElementButton = element.Button\n const ElementComponent = element.Element\n\n if (ElementButton) {\n componentMap.set(\n `element.button.${element.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={ElementButton}\n importMap={payload.importMap}\n />,\n )\n }\n componentMap.set(\n `element.component.${element.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={ElementComponent}\n importMap={payload.importMap}\n />,\n )\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `element.plugin.${element.name}.${i}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={Plugin}\n importMap={payload.importMap}\n />,\n )\n })\n }\n\n switch (element.name) {\n case 'link': {\n let clientFields = deepCopyObjectSimple(\n args.admin?.link?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args.admin?.link?.fields as Field[],\n i18n,\n importMap: payload.importMap,\n })\n\n componentMap.set(linkFieldsSchemaPath, clientFields)\n\n break\n }\n\n case 'relationship':\n break\n\n case 'upload': {\n const uploadEnabledCollections = payload.config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n let clientFields = deepCopyObjectSimple(\n args?.admin?.upload?.collections[collection.slug]?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n importMap: payload.importMap,\n })\n\n componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, clientFields)\n }\n })\n\n break\n }\n }\n }\n })\n\n return (\n <RichTextField\n componentMap={Object.fromEntries(componentMap)}\n field={clientField as RichTextFieldClient}\n forceRender={forceRender}\n path={path}\n readOnly={readOnly}\n renderedBlocks={renderedBlocks}\n schemaPath={schemaPath}\n />\n )\n}\n"],"names":["RenderServerComponent","createClientFields","deepCopyObjectSimple","React","RichTextField","elements","elementTypes","defaultLeaves","leafTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","RscEntrySlateField","args","clientField","forceRender","i18n","path","payload","readOnly","renderedBlocks","schemaPath","componentMap","Map","clientProps","admin","leaves","Object","values","forEach","leaf","leafObject","LeafButton","Button","LeafComponent","Leaf","set","name","Component","importMap","Array","isArray","plugins","Plugin","i","el","element","ElementButton","ElementComponent","Element","clientFields","link","fields","defaultIDType","config","db","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug","fromEntries","field"],"mappings":"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"}
|
package/dist/field/types.d.ts
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import type { MappedComponent } from 'payload';
|
|
2
1
|
import type { RichTextPlugin, SlateFieldProps } from '../types.js';
|
|
3
2
|
export type EnabledFeatures = {
|
|
4
3
|
elements: {
|
|
5
4
|
[name: string]: {
|
|
6
|
-
Button:
|
|
7
|
-
Element:
|
|
5
|
+
Button: React.ReactNode;
|
|
6
|
+
Element: React.ReactNode;
|
|
8
7
|
name: string;
|
|
9
8
|
};
|
|
10
9
|
};
|
|
11
10
|
leaves: {
|
|
12
11
|
[name: string]: {
|
|
13
|
-
Button:
|
|
14
|
-
Leaf:
|
|
12
|
+
Button: React.ReactNode;
|
|
13
|
+
Leaf: React.ReactNode;
|
|
15
14
|
name: string;
|
|
16
15
|
};
|
|
17
16
|
};
|
|
18
|
-
plugins:
|
|
17
|
+
plugins: React.ReactNode[];
|
|
19
18
|
};
|
|
20
19
|
export type LoadedSlateFieldProps = {
|
|
21
20
|
elements: EnabledFeatures['elements'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;YACxB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,MAAM,EAAE;QACN,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;YACrB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B,GAAG,eAAe,CAAA"}
|
package/dist/field/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/field/types.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../src/field/types.ts"],"sourcesContent":["import type { RichTextPlugin, SlateFieldProps } from '../types.js'\n\nexport type EnabledFeatures = {\n elements: {\n [name: string]: {\n Button: React.ReactNode\n Element: React.ReactNode\n name: string\n }\n }\n leaves: {\n [name: string]: {\n Button: React.ReactNode\n Leaf: React.ReactNode\n name: string\n }\n }\n plugins: React.ReactNode[]\n}\n\nexport type LoadedSlateFieldProps = {\n elements: EnabledFeatures['elements']\n leaves: EnabledFeatures['leaves']\n plugins: RichTextPlugin[]\n} & SlateFieldProps\n"],"names":[],"mappings":"AAoBA,WAImB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateSchemaMap.d.ts","sourceRoot":"","sources":["../src/generateSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"generateSchemaMap.d.ts","sourceRoot":"","sources":["../src/generateSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,eAAe,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,YAAY,CAAA;AAMzE,eAAO,MAAM,oBAAoB,SACxB,gBAAgB,KAAG,eAAe,CAAC,mBAAmB,CAwE5D,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { traverseFields } from '@payloadcms/ui/utilities/buildFieldSchemaMap/traverseFields';
|
|
1
2
|
import { elements as elementTypes } from './field/elements/index.js';
|
|
2
3
|
import { linkFieldsSchemaPath } from './field/elements/link/shared.js';
|
|
3
4
|
import { uploadFieldsSchemaPath } from './field/elements/upload/shared.js';
|
|
4
|
-
export const getGenerateSchemaMap = (args)=>({ config, schemaMap, schemaPath })=>{
|
|
5
|
+
export const getGenerateSchemaMap = (args)=>({ config, i18n, schemaMap, schemaPath })=>{
|
|
5
6
|
(args?.admin?.elements || Object.values(elementTypes)).forEach((el)=>{
|
|
6
7
|
let element;
|
|
7
8
|
if (typeof el === 'object' && el !== null) {
|
|
@@ -13,9 +14,24 @@ export const getGenerateSchemaMap = (args)=>({ config, schemaMap, schemaPath })=
|
|
|
13
14
|
switch(element.name){
|
|
14
15
|
case 'link':
|
|
15
16
|
{
|
|
16
|
-
|
|
17
|
+
if (args.admin?.link?.fields) {
|
|
18
|
+
schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, {
|
|
19
|
+
fields: args.admin?.link?.fields
|
|
20
|
+
});
|
|
21
|
+
// generate schema map entries for sub-fields using traverseFields
|
|
22
|
+
traverseFields({
|
|
23
|
+
config,
|
|
24
|
+
fields: args.admin?.link?.fields,
|
|
25
|
+
i18n,
|
|
26
|
+
parentIndexPath: '',
|
|
27
|
+
parentSchemaPath: `${schemaPath}.${linkFieldsSchemaPath}`,
|
|
28
|
+
schemaMap
|
|
29
|
+
});
|
|
30
|
+
}
|
|
17
31
|
break;
|
|
18
32
|
}
|
|
33
|
+
case 'relationship':
|
|
34
|
+
break;
|
|
19
35
|
case 'upload':
|
|
20
36
|
{
|
|
21
37
|
const uploadEnabledCollections = config.collections.filter(({ admin: { enableRichTextRelationship, hidden }, upload })=>{
|
|
@@ -26,13 +42,22 @@ export const getGenerateSchemaMap = (args)=>({ config, schemaMap, schemaPath })=
|
|
|
26
42
|
});
|
|
27
43
|
uploadEnabledCollections.forEach((collection)=>{
|
|
28
44
|
if (args?.admin?.upload?.collections[collection.slug]?.fields) {
|
|
29
|
-
schemaMap.set(`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,
|
|
45
|
+
schemaMap.set(`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`, {
|
|
46
|
+
fields: args?.admin?.upload?.collections[collection.slug]?.fields
|
|
47
|
+
});
|
|
48
|
+
// generate schema map entries for sub-fields using traverseFields
|
|
49
|
+
traverseFields({
|
|
50
|
+
config,
|
|
51
|
+
fields: args?.admin?.upload?.collections[collection.slug]?.fields,
|
|
52
|
+
i18n,
|
|
53
|
+
parentIndexPath: '',
|
|
54
|
+
parentSchemaPath: `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,
|
|
55
|
+
schemaMap
|
|
56
|
+
});
|
|
30
57
|
}
|
|
31
58
|
});
|
|
32
59
|
break;
|
|
33
60
|
}
|
|
34
|
-
case 'relationship':
|
|
35
|
-
break;
|
|
36
61
|
}
|
|
37
62
|
}
|
|
38
63
|
});
|