@reacteditor/core 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/Editor-4LPVLYSU.css +415 -0
  2. package/dist/{Editor-2TYODRQT.mjs → Editor-YNFB7B6Z.mjs} +8 -8
  3. package/dist/{Render-VDC7AEQK.mjs → Render-STFB5CNO.mjs} +1 -1
  4. package/dist/Render-ZTUTUUAH.css +103 -0
  5. package/dist/{actions-BCDhqbeL.d.mts → actions-CQmL3wwa.d.mts} +11 -6
  6. package/dist/{actions-BCDhqbeL.d.ts → actions-CQmL3wwa.d.ts} +11 -6
  7. package/dist/{chunk-VD3EVRUF.mjs → chunk-275EJPEB.mjs} +2 -2
  8. package/dist/{chunk-ZHNRSSMW.mjs → chunk-6LG4Q4HO.mjs} +1 -1
  9. package/dist/chunk-6QJ2HF4O.mjs +11 -0
  10. package/dist/{chunk-6Q6A3BQH.mjs → chunk-BRDUM7MJ.mjs} +15 -15
  11. package/dist/{chunk-2LVYDXZS.mjs → chunk-CRF2GWQA.mjs} +3 -3
  12. package/dist/{chunk-TCVU3WEN.mjs → chunk-DB4R5IWG.mjs} +4 -4
  13. package/dist/{chunk-D2RG73WI.mjs → chunk-HCFEY5Y7.mjs} +475 -288
  14. package/dist/{chunk-VUEM62JF.mjs → chunk-UB2DES2O.mjs} +17 -6
  15. package/dist/{chunk-M2RKJTNY.mjs → chunk-WGPCLAZR.mjs} +1 -1
  16. package/dist/{chunk-HMTHZBH6.mjs → chunk-Z6IIVDFY.mjs} +1 -1
  17. package/dist/{full-7KJICNR5.mjs → full-24FOTNTB.mjs} +6 -6
  18. package/dist/full-7ABPY2WA.css +311 -0
  19. package/dist/{index-DVwiIwYU.d.mts → index-BOP2qNVA.d.mts} +1 -1
  20. package/dist/{index-ComBHfdn.d.ts → index-_G46lHpL.d.ts} +1 -1
  21. package/dist/index.css +1307 -1203
  22. package/dist/index.d.mts +11 -20
  23. package/dist/index.d.ts +11 -20
  24. package/dist/index.js +572 -372
  25. package/dist/index.mjs +10 -10
  26. package/dist/internal.d.mts +2 -2
  27. package/dist/internal.d.ts +2 -2
  28. package/dist/internal.js +17 -6
  29. package/dist/internal.mjs +1 -1
  30. package/dist/{loaded-DGSPK47E.mjs → loaded-6IBSSOXD.mjs} +3 -3
  31. package/dist/{loaded-IJNA4SY5.mjs → loaded-6NPDD7SF.mjs} +3 -3
  32. package/dist/{loaded-CBJRWD4Z.mjs → loaded-BQVZGQG2.mjs} +3 -3
  33. package/dist/loaded-N4KWL7FV.css +90 -0
  34. package/dist/no-external.css +1307 -1203
  35. package/dist/no-external.d.mts +4 -4
  36. package/dist/no-external.d.ts +4 -4
  37. package/dist/no-external.js +572 -372
  38. package/dist/no-external.mjs +10 -10
  39. package/dist/rsc.css +41 -41
  40. package/dist/rsc.d.mts +2 -2
  41. package/dist/rsc.d.ts +2 -2
  42. package/dist/rsc.js +5 -5
  43. package/dist/rsc.mjs +2 -2
  44. package/dist/{walk-tree-BPIigVTF.d.mts → walk-tree-Dwv3c_9M.d.mts} +1 -1
  45. package/dist/{walk-tree-BZq1CPCH.d.ts → walk-tree-DxSkPLnl.d.ts} +1 -1
  46. package/package.json +2 -1
  47. package/dist/Editor-GBV2O5RD.css +0 -415
  48. package/dist/Render-EFT7YD2C.css +0 -103
  49. package/dist/chunk-MFI3RDA4.mjs +0 -11
  50. package/dist/full-ELX6RALJ.css +0 -311
  51. package/dist/loaded-TBSVRJPY.css +0 -90
@@ -0,0 +1,415 @@
1
+ /* css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/styles.module.css/#css-module-data */
2
+ ._RichTextMenu_1l3cr_1 {
3
+ display: flex;
4
+ flex-direction: row;
5
+ flex-wrap: nowrap;
6
+ }
7
+ ._RichTextMenu--form_1l3cr_7 {
8
+ border-top-left-radius: var(--editor-radius-md);
9
+ border-top-right-radius: var(--editor-radius-md);
10
+ padding: 6px 6px;
11
+ background-color: var(--editor-surface-sunken);
12
+ position: relative;
13
+ scrollbar-width: none;
14
+ overflow-x: auto;
15
+ }
16
+ ._RichTextMenu-group_1l3cr_17 {
17
+ display: flex;
18
+ align-items: space-between;
19
+ flex-direction: row;
20
+ flex-wrap: nowrap;
21
+ padding-inline: 6px;
22
+ gap: 2px;
23
+ position: relative;
24
+ }
25
+ ._RichTextMenu-group_1l3cr_17:first-of-type {
26
+ padding-left: 0;
27
+ }
28
+ ._RichTextMenu-group_1l3cr_17:last-of-type {
29
+ padding-right: 0;
30
+ }
31
+ ._RichTextMenu--inline_1l3cr_35 ._RichTextMenu-group_1l3cr_17 {
32
+ color: var(--editor-text-inverse);
33
+ opacity: 0.85;
34
+ gap: 0px;
35
+ flex-wrap: nowrap;
36
+ }
37
+ ._RichTextMenu-group_1l3cr_17 + ._RichTextMenu-group_1l3cr_17 {
38
+ border-left: 1px solid var(--editor-border-subtle);
39
+ }
40
+ ._RichTextMenu--inline_1l3cr_35 ._RichTextMenu-group_1l3cr_17 + ._RichTextMenu-group_1l3cr_17 {
41
+ border-left: 0.5px solid rgba(255, 255, 255, 0.2);
42
+ }
43
+
44
+ /* css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/IconButton/IconButton.module.css/#css-module-data */
45
+ ._IconButton_3u943_1 {
46
+ align-items: center;
47
+ background: transparent;
48
+ border: none;
49
+ border-radius: var(--editor-radius-md);
50
+ color: currentColor;
51
+ display: flex;
52
+ font-family: var(--editor-font-family);
53
+ justify-content: center;
54
+ padding: 4px;
55
+ transition: background-color var(--editor-motion-fast) var(--editor-ease), color var(--editor-motion-fast) var(--editor-ease);
56
+ }
57
+ ._IconButton--active_3u943_15 {
58
+ color: var(--editor-text-accent);
59
+ background: var(--editor-accent-soft);
60
+ }
61
+ ._IconButton_3u943_1:focus-visible {
62
+ outline: none;
63
+ box-shadow: var(--editor-ring);
64
+ }
65
+ @media (hover: hover) and (pointer: fine) {
66
+ ._IconButton_3u943_1:hover:not(._IconButton--disabled_3u943_26) {
67
+ background: var(--editor-surface-hover);
68
+ color: var(--editor-text-accent);
69
+ cursor: pointer;
70
+ transition: none;
71
+ }
72
+ }
73
+ ._IconButton_3u943_1:active {
74
+ background: var(--editor-accent-soft);
75
+ transition: none;
76
+ }
77
+ ._IconButton-title_3u943_39 {
78
+ clip: rect(0 0 0 0);
79
+ clip-path: inset(100%);
80
+ height: 1px;
81
+ overflow: hidden;
82
+ position: absolute;
83
+ white-space: nowrap;
84
+ width: 1px;
85
+ }
86
+ ._IconButton--disabled_3u943_26 {
87
+ color: var(--editor-text-tertiary);
88
+ }
89
+
90
+ /* css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Loader/styles.module.css/#css-module-data */
91
+ @keyframes _loader-animation_nacdm_1 {
92
+ 0% {
93
+ transform: rotate(0deg) scale(1);
94
+ }
95
+ 50% {
96
+ transform: rotate(180deg) scale(0.8);
97
+ }
98
+ 100% {
99
+ transform: rotate(360deg) scale(1);
100
+ }
101
+ }
102
+ ._Loader_nacdm_13 {
103
+ background: transparent;
104
+ border-radius: 100%;
105
+ border: 2px solid currentColor;
106
+ border-bottom-color: transparent;
107
+ display: inline-block;
108
+ animation: _loader-animation_nacdm_1 1s 0s infinite linear;
109
+ animation-fill-mode: both;
110
+ }
111
+
112
+ /* css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/ActionBar/styles.module.css/#css-module-data */
113
+ ._ActionBar_15hub_1 {
114
+ align-items: center;
115
+ cursor: default;
116
+ display: flex;
117
+ width: auto;
118
+ padding: 4px;
119
+ padding-inline-start: 0;
120
+ padding-inline-end: 0;
121
+ border-top-left-radius: var(--editor-radius-lg);
122
+ border-top-right-radius: var(--editor-radius-lg);
123
+ border-radius: var(--editor-radius-lg);
124
+ background: var(--editor-primary);
125
+ color: var(--editor-primary-foreground);
126
+ font-family: var(--editor-font-family);
127
+ min-height: 26px;
128
+ box-shadow: var(--editor-shadow-md);
129
+ }
130
+ ._ActionBar-label_15hub_19 {
131
+ color: var(--editor-primary-foreground);
132
+ opacity: 0.85;
133
+ font-size: var(--editor-font-size-xxxs);
134
+ font-weight: 500;
135
+ padding-inline-start: 8px;
136
+ padding-inline-end: 8px;
137
+ margin-inline-start: 4px;
138
+ margin-inline-end: 4px;
139
+ text-overflow: ellipsis;
140
+ white-space: nowrap;
141
+ }
142
+ ._ActionBarAction_15hub_32 + ._ActionBar-label_15hub_19 {
143
+ padding-inline-start: 0;
144
+ }
145
+ ._ActionBar-label_15hub_19 + ._ActionBarAction_15hub_32 {
146
+ margin-inline-start: -4px;
147
+ }
148
+ ._ActionBar-group_15hub_40 {
149
+ align-items: center;
150
+ border-inline-start: 0.5px solid rgba(255, 255, 255, 0.2);
151
+ display: flex;
152
+ height: 100%;
153
+ padding-inline-start: 4px;
154
+ padding-inline-end: 4px;
155
+ }
156
+ ._ActionBar-group_15hub_40:first-of-type {
157
+ border-inline-start: 0;
158
+ }
159
+ ._ActionBar-group_15hub_40:empty {
160
+ display: none;
161
+ }
162
+ ._ActionBarAction_15hub_32 {
163
+ background: transparent;
164
+ border: none;
165
+ color: var(--editor-primary-foreground);
166
+ opacity: 0.85;
167
+ cursor: pointer;
168
+ padding: 6px;
169
+ margin-inline-start: 4px;
170
+ margin-inline-end: 4px;
171
+ border-radius: var(--editor-radius-sm);
172
+ overflow: hidden;
173
+ display: flex;
174
+ align-items: center;
175
+ justify-content: center;
176
+ transition: opacity var(--editor-motion-fast) var(--editor-ease), background-color var(--editor-motion-fast) var(--editor-ease);
177
+ }
178
+ ._ActionBarAction--disabled_15hub_75 {
179
+ cursor: auto;
180
+ opacity: 0.4;
181
+ }
182
+ ._ActionBarAction_15hub_32 svg {
183
+ max-width: none !important;
184
+ }
185
+ ._ActionBarAction_15hub_32:focus-visible {
186
+ outline: none;
187
+ box-shadow: var(--editor-ring);
188
+ }
189
+ @media (hover: hover) and (pointer: fine) {
190
+ ._ActionBarAction_15hub_32:hover:not(._ActionBarAction--disabled_15hub_75) {
191
+ opacity: 1;
192
+ background: rgba(255, 255, 255, 0.12);
193
+ transition: none;
194
+ }
195
+ }
196
+ ._ActionBarAction_15hub_32:active:not(._ActionBarAction--disabled_15hub_75),
197
+ ._ActionBarAction--active_15hub_98 {
198
+ opacity: 1;
199
+ background: rgba(255, 255, 255, 0.18);
200
+ transition: none;
201
+ }
202
+ ._ActionBar-group_15hub_40 * {
203
+ margin: 0;
204
+ }
205
+ ._ActionBar-separator_15hub_108 {
206
+ background: rgba(255, 255, 255, 0.2);
207
+ margin-inline: 4px;
208
+ width: 0.5px;
209
+ height: 100%;
210
+ }
211
+
212
+ /* css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css/#css-module-data */
213
+ ._Control_1aveu_1 .lucide {
214
+ height: 18px;
215
+ width: 18px;
216
+ }
217
+ ._Control--inline_1aveu_6 .lucide {
218
+ height: 16px;
219
+ width: 16px;
220
+ }
221
+
222
+ /* css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Select/styles.module.css/#css-module-data */
223
+ ._Select_1hzg4_1 {
224
+ position: relative;
225
+ z-index: 1;
226
+ }
227
+ ._Select-button_1hzg4_6 {
228
+ align-items: center;
229
+ background: transparent;
230
+ border: none;
231
+ border-radius: var(--editor-radius-sm);
232
+ display: flex;
233
+ justify-content: center;
234
+ gap: 0px;
235
+ height: 100%;
236
+ padding: 4px;
237
+ padding-right: 2px;
238
+ transition: background-color var(--editor-motion-fast) var(--editor-ease), color var(--editor-motion-fast) var(--editor-ease);
239
+ }
240
+ ._Select--hasOptions_1hzg4_21 ._Select-button_1hzg4_6 {
241
+ color: currentColor;
242
+ }
243
+ ._Select--hasOptions_1hzg4_21:not(._Select--disabled_1hzg4_25) ._Select-button_1hzg4_6 {
244
+ cursor: pointer;
245
+ }
246
+ ._Select-buttonIcon_1hzg4_29 {
247
+ align-items: center;
248
+ display: flex;
249
+ justify-content: center;
250
+ }
251
+ ._Select--standalone_1hzg4_35 ._Select-buttonIcon_1hzg4_29 .lucide {
252
+ height: 18px;
253
+ width: 18px;
254
+ }
255
+ ._Select--actionBar_1hzg4_40 ._Select-buttonIcon_1hzg4_29 .lucide {
256
+ height: 16px;
257
+ width: 16px;
258
+ }
259
+ ._Select--hasOptions_1hzg4_21:not(._Select--disabled_1hzg4_25) ._Select-button_1hzg4_6:hover,
260
+ ._Select--hasValue_1hzg4_46 ._Select-button_1hzg4_6 {
261
+ background: var(--editor-surface-hover);
262
+ color: var(--editor-text-accent);
263
+ }
264
+ ._Select--disabled_1hzg4_25 ._Select-button_1hzg4_6 {
265
+ color: var(--editor-text-tertiary);
266
+ }
267
+ ._Select--actionBar_1hzg4_40 {
268
+ &._Select--hasOptions_1hzg4_21 ._Select-button_1hzg4_6:hover,
269
+ &._Select--hasValue_1hzg4_46 ._Select-button_1hzg4_6 {
270
+ background: rgba(255, 255, 255, 0.12);
271
+ color: var(--editor-text-inverse);
272
+ }
273
+ }
274
+ ._Select-items_1hzg4_63 {
275
+ background: var(--editor-surface-panel);
276
+ border: 1px solid var(--editor-border-subtle);
277
+ border-radius: var(--editor-radius-lg);
278
+ box-shadow: var(--editor-shadow-lg);
279
+ margin: 10px 8px;
280
+ margin-left: 0;
281
+ padding: 4px;
282
+ z-index: 2;
283
+ list-style: none;
284
+ }
285
+ ._SelectItem_1hzg4_75 {
286
+ background: transparent;
287
+ border-radius: var(--editor-radius-sm);
288
+ border: none;
289
+ color: var(--editor-text-secondary);
290
+ cursor: pointer;
291
+ display: flex;
292
+ gap: 8px;
293
+ align-items: center;
294
+ font-size: var(--editor-font-size-xxs);
295
+ margin: 0;
296
+ padding: 8px 12px;
297
+ width: 100%;
298
+ transition: background-color var(--editor-motion-fast) var(--editor-ease), color var(--editor-motion-fast) var(--editor-ease);
299
+ }
300
+ ._SelectItem--isSelected_1hzg4_92 {
301
+ background: var(--editor-accent-soft);
302
+ color: var(--editor-text-accent);
303
+ font-weight: 500;
304
+ }
305
+ ._SelectItem--isSelected_1hzg4_92 ._SelectItem-icon_1hzg4_98 {
306
+ color: var(--editor-text-accent);
307
+ }
308
+ ._SelectItem_1hzg4_75:hover {
309
+ background: var(--editor-surface-hover);
310
+ color: var(--editor-text-accent);
311
+ }
312
+
313
+ /* css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextEditor/styles.module.css/#css-module-data */
314
+ ._RichTextEditor_150ed_1 .ProseMirror {
315
+ white-space: pre-wrap;
316
+ word-wrap: break-word;
317
+ cursor: text;
318
+ outline: none;
319
+ position: relative;
320
+ }
321
+ ._RichTextEditor_150ed_1 .rich-text * {
322
+ white-space: pre-wrap;
323
+ user-select: auto;
324
+ -webkit-user-select: auto;
325
+ }
326
+ ._RichTextEditor_150ed_1 .rich-text blockquote {
327
+ margin: 1em 0;
328
+ padding: 0 1em;
329
+ border-left: 4px solid var(--editor-border-default);
330
+ }
331
+ ._RichTextEditor_150ed_1 .rich-text code {
332
+ background-color: var(--editor-surface-sunken);
333
+ padding: 4px 8px;
334
+ border-radius: var(--editor-radius-sm);
335
+ }
336
+ ._RichTextEditor_150ed_1 .rich-text p:empty::before {
337
+ content: "\a0";
338
+ }
339
+ ._RichTextEditor_150ed_1 .rich-text pre code {
340
+ display: block;
341
+ padding: 8px 12px;
342
+ }
343
+ ._RichTextEditor_150ed_1 .rich-text > *:first-child,
344
+ ._RichTextEditor_150ed_1 .ProseMirror > *:first-child,
345
+ ._RichTextEditor_150ed_1 .rich-text * p:first-of-type {
346
+ margin-top: 0;
347
+ }
348
+ ._RichTextEditor_150ed_1 .rich-text > *:last-child,
349
+ ._RichTextEditor_150ed_1 .ProseMirror > *:last-child,
350
+ ._RichTextEditor_150ed_1 .rich-text * p:last-of-type {
351
+ margin-bottom: 0;
352
+ }
353
+ ._RichTextEditor--editor_150ed_50 {
354
+ background: var(--editor-surface-panel);
355
+ border-width: 1px;
356
+ border-style: solid;
357
+ border-color: var(--editor-border-default);
358
+ border-radius: var(--editor-radius-md);
359
+ box-sizing: border-box;
360
+ display: flex;
361
+ flex-direction: column;
362
+ font-family: inherit;
363
+ font-size: var(--editor-font-size-xxs);
364
+ resize: vertical;
365
+ text-align: initial;
366
+ transition: border-color var(--editor-motion-fast) var(--editor-ease), box-shadow var(--editor-motion-fast) var(--editor-ease);
367
+ width: 100%;
368
+ max-width: 100%;
369
+ min-height: 128px;
370
+ }
371
+ ._RichTextEditor--editor_150ed_50 .rich-text {
372
+ flex-grow: 1;
373
+ }
374
+ ._RichTextEditor--editor_150ed_50 .rich-text:not(:has(.ProseMirror)),
375
+ ._RichTextEditor--editor_150ed_50 .rich-text .ProseMirror {
376
+ height: 100%;
377
+ padding: 12px 15px;
378
+ }
379
+ ._RichTextEditor--editor_150ed_50 .rich-text ul,
380
+ ._RichTextEditor--editor_150ed_50 .rich-text ol {
381
+ padding-left: 24px;
382
+ }
383
+ ._RichTextEditor--editor_150ed_50 .rich-text li {
384
+ line-height: 1.5;
385
+ }
386
+ ._RichTextEditor--editor_150ed_50 .rich-text p {
387
+ margin-block: 12px;
388
+ }
389
+ ._RichTextEditor--editor_150ed_50 .rich-text ul {
390
+ list-style: disc;
391
+ }
392
+ ._RichTextEditor--editor_150ed_50 .rich-text ol {
393
+ list-style: decimal;
394
+ }
395
+ ._RichTextEditor--editor_150ed_50:focus-within {
396
+ border-color: var(--editor-accent);
397
+ outline: none;
398
+ box-shadow: var(--editor-ring);
399
+ transition: none;
400
+ }
401
+ ._RichTextEditor--editor_150ed_50._RichTextEditor--disabled_150ed_109 {
402
+ background: var(--editor-surface-sunken);
403
+ }
404
+ ._RichTextEditor_150ed_1:not(:focus-within):not(._RichTextEditor--isActive_150ed_113) .ProseMirror ::selection {
405
+ background-color: transparent;
406
+ }
407
+ ._RichTextEditor-menu_150ed_119 {
408
+ border-bottom: 1px solid var(--editor-border-subtle);
409
+ position: sticky;
410
+ top: 0;
411
+ z-index: 1;
412
+ }
413
+ ._RichTextEditor--disabled_150ed_109 ._RichTextEditor-menu_150ed_119 {
414
+ border-bottom: 1px solid var(--editor-border-subtle);
415
+ }
@@ -4,17 +4,17 @@ import {
4
4
  import {
5
5
  EditorInner,
6
6
  LoadedRichTextMenu
7
- } from "./chunk-TCVU3WEN.mjs";
8
- import "./chunk-MFI3RDA4.mjs";
9
- import "./chunk-6Q6A3BQH.mjs";
10
- import "./chunk-HMTHZBH6.mjs";
11
- import "./chunk-ZHNRSSMW.mjs";
12
- import "./chunk-M2RKJTNY.mjs";
7
+ } from "./chunk-DB4R5IWG.mjs";
8
+ import "./chunk-6QJ2HF4O.mjs";
9
+ import "./chunk-BRDUM7MJ.mjs";
10
+ import "./chunk-Z6IIVDFY.mjs";
11
+ import "./chunk-6LG4Q4HO.mjs";
12
+ import "./chunk-WGPCLAZR.mjs";
13
13
  import {
14
14
  useAppStore,
15
15
  useAppStoreApi
16
- } from "./chunk-2LVYDXZS.mjs";
17
- import "./chunk-VUEM62JF.mjs";
16
+ } from "./chunk-CRF2GWQA.mjs";
17
+ import "./chunk-UB2DES2O.mjs";
18
18
  import "./chunk-VOLQMQPK.mjs";
19
19
  import "./chunk-Y2EFNT5P.mjs";
20
20
  import "./chunk-GAUBBDIR.mjs";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2YLS65V2.mjs";
4
4
  import {
5
5
  styles_module_default
6
- } from "./chunk-MFI3RDA4.mjs";
6
+ } from "./chunk-6QJ2HF4O.mjs";
7
7
  import {
8
8
  get_class_name_factory_default
9
9
  } from "./chunk-Y2EFNT5P.mjs";
@@ -0,0 +1,103 @@
1
+ /* css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextEditor/styles.module.css/#css-module-data */
2
+ ._RichTextEditor_150ed_1 .ProseMirror {
3
+ white-space: pre-wrap;
4
+ word-wrap: break-word;
5
+ cursor: text;
6
+ outline: none;
7
+ position: relative;
8
+ }
9
+ ._RichTextEditor_150ed_1 .rich-text * {
10
+ white-space: pre-wrap;
11
+ user-select: auto;
12
+ -webkit-user-select: auto;
13
+ }
14
+ ._RichTextEditor_150ed_1 .rich-text blockquote {
15
+ margin: 1em 0;
16
+ padding: 0 1em;
17
+ border-left: 4px solid var(--editor-border-default);
18
+ }
19
+ ._RichTextEditor_150ed_1 .rich-text code {
20
+ background-color: var(--editor-surface-sunken);
21
+ padding: 4px 8px;
22
+ border-radius: var(--editor-radius-sm);
23
+ }
24
+ ._RichTextEditor_150ed_1 .rich-text p:empty::before {
25
+ content: "\a0";
26
+ }
27
+ ._RichTextEditor_150ed_1 .rich-text pre code {
28
+ display: block;
29
+ padding: 8px 12px;
30
+ }
31
+ ._RichTextEditor_150ed_1 .rich-text > *:first-child,
32
+ ._RichTextEditor_150ed_1 .ProseMirror > *:first-child,
33
+ ._RichTextEditor_150ed_1 .rich-text * p:first-of-type {
34
+ margin-top: 0;
35
+ }
36
+ ._RichTextEditor_150ed_1 .rich-text > *:last-child,
37
+ ._RichTextEditor_150ed_1 .ProseMirror > *:last-child,
38
+ ._RichTextEditor_150ed_1 .rich-text * p:last-of-type {
39
+ margin-bottom: 0;
40
+ }
41
+ ._RichTextEditor--editor_150ed_50 {
42
+ background: var(--editor-surface-panel);
43
+ border-width: 1px;
44
+ border-style: solid;
45
+ border-color: var(--editor-border-default);
46
+ border-radius: var(--editor-radius-md);
47
+ box-sizing: border-box;
48
+ display: flex;
49
+ flex-direction: column;
50
+ font-family: inherit;
51
+ font-size: var(--editor-font-size-xxs);
52
+ resize: vertical;
53
+ text-align: initial;
54
+ transition: border-color var(--editor-motion-fast) var(--editor-ease), box-shadow var(--editor-motion-fast) var(--editor-ease);
55
+ width: 100%;
56
+ max-width: 100%;
57
+ min-height: 128px;
58
+ }
59
+ ._RichTextEditor--editor_150ed_50 .rich-text {
60
+ flex-grow: 1;
61
+ }
62
+ ._RichTextEditor--editor_150ed_50 .rich-text:not(:has(.ProseMirror)),
63
+ ._RichTextEditor--editor_150ed_50 .rich-text .ProseMirror {
64
+ height: 100%;
65
+ padding: 12px 15px;
66
+ }
67
+ ._RichTextEditor--editor_150ed_50 .rich-text ul,
68
+ ._RichTextEditor--editor_150ed_50 .rich-text ol {
69
+ padding-left: 24px;
70
+ }
71
+ ._RichTextEditor--editor_150ed_50 .rich-text li {
72
+ line-height: 1.5;
73
+ }
74
+ ._RichTextEditor--editor_150ed_50 .rich-text p {
75
+ margin-block: 12px;
76
+ }
77
+ ._RichTextEditor--editor_150ed_50 .rich-text ul {
78
+ list-style: disc;
79
+ }
80
+ ._RichTextEditor--editor_150ed_50 .rich-text ol {
81
+ list-style: decimal;
82
+ }
83
+ ._RichTextEditor--editor_150ed_50:focus-within {
84
+ border-color: var(--editor-accent);
85
+ outline: none;
86
+ box-shadow: var(--editor-ring);
87
+ transition: none;
88
+ }
89
+ ._RichTextEditor--editor_150ed_50._RichTextEditor--disabled_150ed_109 {
90
+ background: var(--editor-surface-sunken);
91
+ }
92
+ ._RichTextEditor_150ed_1:not(:focus-within):not(._RichTextEditor--isActive_150ed_113) .ProseMirror ::selection {
93
+ background-color: transparent;
94
+ }
95
+ ._RichTextEditor-menu_150ed_119 {
96
+ border-bottom: 1px solid var(--editor-border-subtle);
97
+ position: sticky;
98
+ top: 0;
99
+ z-index: 1;
100
+ }
101
+ ._RichTextEditor--disabled_150ed_109 ._RichTextEditor-menu_150ed_119 {
102
+ border-bottom: 1px solid var(--editor-border-subtle);
103
+ }
@@ -414,12 +414,12 @@ UserField extends BaseField = {}> = {
414
414
  permissions?: Partial<Permissions>;
415
415
  inline?: boolean;
416
416
  /**
417
- * When true, every instance of this component type renders from the shared
418
- * `globalData[type].props` instead of its own props. The `children` slot is
419
- * always extrinsic (supplied by the instance / parent), matching React
420
- * conventions and enabling the "AppShell wraps a page" pattern. Marking a
421
- * component global is a developer decision that has data-migration
422
- * implications; it is not editable from the UI.
417
+ * When true, instances of this component type can opt into rendering from
418
+ * the shared `data.globals[type].props` slot instead of their own props.
419
+ * Newly inserted instances default to `synced: true`; users can detach an
420
+ * instance via the field panel toggle, which sets `synced: false` and
421
+ * keeps its props local. Children stay extrinsic, matching React
422
+ * conventions and enabling the "AppShell wraps a page" pattern.
423
423
  */
424
424
  global?: boolean;
425
425
  resolveFields?: (data: DataShape, params: {
@@ -510,12 +510,14 @@ type RootData<Props extends DefaultComponentProps = DefaultRootFieldProps> = Par
510
510
  type ComponentData<Props extends DefaultComponentProps = DefaultComponentProps, Name = string, Components extends Record<string, DefaultComponentProps> = Record<string, DefaultComponentProps>> = {
511
511
  type: Name;
512
512
  props: WithDeepSlots<WithId<Props>, Content<Components>>;
513
+ synced?: boolean;
513
514
  } & BaseData<Props>;
514
515
  type ComponentDataOptionalId<Props extends DefaultComponentProps = DefaultComponentProps, Name = string> = {
515
516
  type: Name;
516
517
  props: Props & {
517
518
  id?: string;
518
519
  };
520
+ synced?: boolean;
519
521
  } & BaseData<Props>;
520
522
  type MappedItem = ComponentData;
521
523
  type ComponentDataMap<Components extends DefaultComponents = DefaultComponents> = {
@@ -530,6 +532,9 @@ type Data<Components extends DefaultComponents = DefaultComponents, RootProps ex
530
532
  root: WithDeepSlots<RootData<RootProps>, Content<Components>>;
531
533
  content: Content<Components>;
532
534
  zones?: Record<string, Content<Components>>;
535
+ globals?: Record<string, {
536
+ props: Record<string, any>;
537
+ }>;
533
538
  };
534
539
  type Metadata = {
535
540
  [key: string]: any;
@@ -414,12 +414,12 @@ UserField extends BaseField = {}> = {
414
414
  permissions?: Partial<Permissions>;
415
415
  inline?: boolean;
416
416
  /**
417
- * When true, every instance of this component type renders from the shared
418
- * `globalData[type].props` instead of its own props. The `children` slot is
419
- * always extrinsic (supplied by the instance / parent), matching React
420
- * conventions and enabling the "AppShell wraps a page" pattern. Marking a
421
- * component global is a developer decision that has data-migration
422
- * implications; it is not editable from the UI.
417
+ * When true, instances of this component type can opt into rendering from
418
+ * the shared `data.globals[type].props` slot instead of their own props.
419
+ * Newly inserted instances default to `synced: true`; users can detach an
420
+ * instance via the field panel toggle, which sets `synced: false` and
421
+ * keeps its props local. Children stay extrinsic, matching React
422
+ * conventions and enabling the "AppShell wraps a page" pattern.
423
423
  */
424
424
  global?: boolean;
425
425
  resolveFields?: (data: DataShape, params: {
@@ -510,12 +510,14 @@ type RootData<Props extends DefaultComponentProps = DefaultRootFieldProps> = Par
510
510
  type ComponentData<Props extends DefaultComponentProps = DefaultComponentProps, Name = string, Components extends Record<string, DefaultComponentProps> = Record<string, DefaultComponentProps>> = {
511
511
  type: Name;
512
512
  props: WithDeepSlots<WithId<Props>, Content<Components>>;
513
+ synced?: boolean;
513
514
  } & BaseData<Props>;
514
515
  type ComponentDataOptionalId<Props extends DefaultComponentProps = DefaultComponentProps, Name = string> = {
515
516
  type: Name;
516
517
  props: Props & {
517
518
  id?: string;
518
519
  };
520
+ synced?: boolean;
519
521
  } & BaseData<Props>;
520
522
  type MappedItem = ComponentData;
521
523
  type ComponentDataMap<Components extends DefaultComponents = DefaultComponents> = {
@@ -530,6 +532,9 @@ type Data<Components extends DefaultComponents = DefaultComponents, RootProps ex
530
532
  root: WithDeepSlots<RootData<RootProps>, Content<Components>>;
531
533
  content: Content<Components>;
532
534
  zones?: Record<string, Content<Components>>;
535
+ globals?: Record<string, {
536
+ props: Record<string, any>;
537
+ }>;
533
538
  };
534
539
  type Metadata = {
535
540
  [key: string]: any;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  styles_module_default
3
- } from "./chunk-MFI3RDA4.mjs";
3
+ } from "./chunk-6QJ2HF4O.mjs";
4
4
  import {
5
5
  defaultAppState,
6
6
  resolveComponentData
@@ -400,7 +400,7 @@ function useRichtextProps(fields, props) {
400
400
  const richtextProps = useMemo2(() => {
401
401
  if (!(richtextKeys == null ? void 0 : richtextKeys.length)) return {};
402
402
  const RichTextRender = lazy(
403
- () => import("./Render-VDC7AEQK.mjs").then((m) => ({
403
+ () => import("./Render-STFB5CNO.mjs").then((m) => ({
404
404
  default: m.RichTextRender
405
405
  }))
406
406
  );
@@ -5,7 +5,7 @@ import {
5
5
  Heading4,
6
6
  Heading5,
7
7
  Heading6
8
- } from "./chunk-2LVYDXZS.mjs";
8
+ } from "./chunk-CRF2GWQA.mjs";
9
9
  import {
10
10
  init_react_import
11
11
  } from "./chunk-M6W7YEVX.mjs";
@@ -0,0 +1,11 @@
1
+ import {
2
+ init_react_import
3
+ } from "./chunk-M6W7YEVX.mjs";
4
+
5
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextEditor/styles.module.css#css-module
6
+ init_react_import();
7
+ var styles_module_default = { "RichTextEditor": "_RichTextEditor_150ed_1", "RichTextEditor--editor": "_RichTextEditor--editor_150ed_50", "RichTextEditor--disabled": "_RichTextEditor--disabled_150ed_109", "RichTextEditor--isActive": "_RichTextEditor--isActive_150ed_113", "RichTextEditor-menu": "_RichTextEditor-menu_150ed_119" };
8
+
9
+ export {
10
+ styles_module_default
11
+ };