@bayonai/rich-text-editor 0.1.2

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 (91) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +37 -0
  3. package/dist/index.d.ts +8 -0
  4. package/dist/index.js +5 -0
  5. package/dist/react/BlockActionTool.d.ts +15 -0
  6. package/dist/react/BlockActionTool.js +37 -0
  7. package/dist/react/EditorSessionProvider.d.ts +28 -0
  8. package/dist/react/EditorSessionProvider.js +74 -0
  9. package/dist/react/RichTextBody.d.ts +18 -0
  10. package/dist/react/RichTextBody.js +66 -0
  11. package/dist/react/RichTextDocumentSurface.d.ts +6 -0
  12. package/dist/react/RichTextDocumentSurface.js +5 -0
  13. package/dist/react/RichTextEditor.d.ts +45 -0
  14. package/dist/react/RichTextEditor.js +1096 -0
  15. package/dist/react/RichTextIcons.d.ts +21 -0
  16. package/dist/react/RichTextIcons.js +55 -0
  17. package/dist/react/RichTextRenderedBlock.d.ts +4 -0
  18. package/dist/react/RichTextRenderedBlock.js +36 -0
  19. package/dist/react/RichTextRenderer.d.ts +4 -0
  20. package/dist/react/RichTextRenderer.js +8 -0
  21. package/dist/react/RichTextStyles.d.ts +1 -0
  22. package/dist/react/RichTextStyles.js +719 -0
  23. package/dist/react/RichTextTitleInput.d.ts +20 -0
  24. package/dist/react/RichTextTitleInput.js +39 -0
  25. package/dist/react/SelectionFormatToolbar.d.ts +34 -0
  26. package/dist/react/SelectionFormatToolbar.js +18 -0
  27. package/dist/react/SpecialBlockOption.d.ts +7 -0
  28. package/dist/react/SpecialBlockOption.js +7 -0
  29. package/dist/react/SpecialBlockTool.d.ts +42 -0
  30. package/dist/react/SpecialBlockTool.js +50 -0
  31. package/dist/react/TranscriptionControl.d.ts +19 -0
  32. package/dist/react/TranscriptionControl.js +129 -0
  33. package/dist/react/UnsavedChangesDialog.d.ts +9 -0
  34. package/dist/react/UnsavedChangesDialog.js +13 -0
  35. package/dist/react/blockActionToolState.d.ts +18 -0
  36. package/dist/react/blockActionToolState.js +53 -0
  37. package/dist/react/blockActions.d.ts +8 -0
  38. package/dist/react/blockActions.js +111 -0
  39. package/dist/react/editorNavigation.d.ts +19 -0
  40. package/dist/react/editorNavigation.js +39 -0
  41. package/dist/react/editorShortcuts.d.ts +20 -0
  42. package/dist/react/editorShortcuts.js +25 -0
  43. package/dist/react/index.d.ts +9 -0
  44. package/dist/react/index.js +6 -0
  45. package/dist/react/richTextBlockStyles.d.ts +7 -0
  46. package/dist/react/richTextBlockStyles.js +7 -0
  47. package/dist/react/specialBlockStyles.d.ts +15 -0
  48. package/dist/react/specialBlockStyles.js +9 -0
  49. package/dist/richText.d.ts +15 -0
  50. package/dist/richText.js +297 -0
  51. package/dist/saveControl.d.ts +8 -0
  52. package/dist/saveControl.js +9 -0
  53. package/dist/session.d.ts +27 -0
  54. package/dist/session.js +78 -0
  55. package/dist/sessionRegistry.d.ts +24 -0
  56. package/dist/sessionRegistry.js +87 -0
  57. package/dist/types.d.ts +34 -0
  58. package/dist/types.js +1 -0
  59. package/dist/writingStats.d.ts +5 -0
  60. package/dist/writingStats.js +9 -0
  61. package/dist-cjs/index.js +22 -0
  62. package/dist-cjs/package.json +3 -0
  63. package/dist-cjs/react/BlockActionTool.js +40 -0
  64. package/dist-cjs/react/EditorSessionProvider.js +79 -0
  65. package/dist-cjs/react/RichTextBody.js +69 -0
  66. package/dist-cjs/react/RichTextDocumentSurface.js +8 -0
  67. package/dist-cjs/react/RichTextEditor.js +1108 -0
  68. package/dist-cjs/react/RichTextIcons.js +74 -0
  69. package/dist-cjs/react/RichTextRenderedBlock.js +39 -0
  70. package/dist-cjs/react/RichTextRenderer.js +11 -0
  71. package/dist-cjs/react/RichTextStyles.js +722 -0
  72. package/dist-cjs/react/RichTextTitleInput.js +44 -0
  73. package/dist-cjs/react/SelectionFormatToolbar.js +22 -0
  74. package/dist-cjs/react/SpecialBlockOption.js +10 -0
  75. package/dist-cjs/react/SpecialBlockTool.js +54 -0
  76. package/dist-cjs/react/TranscriptionControl.js +133 -0
  77. package/dist-cjs/react/UnsavedChangesDialog.js +16 -0
  78. package/dist-cjs/react/blockActionToolState.js +58 -0
  79. package/dist-cjs/react/blockActions.js +119 -0
  80. package/dist-cjs/react/editorNavigation.js +45 -0
  81. package/dist-cjs/react/editorShortcuts.js +28 -0
  82. package/dist-cjs/react/index.js +17 -0
  83. package/dist-cjs/react/richTextBlockStyles.js +10 -0
  84. package/dist-cjs/react/specialBlockStyles.js +12 -0
  85. package/dist-cjs/richText.js +307 -0
  86. package/dist-cjs/saveControl.js +12 -0
  87. package/dist-cjs/session.js +83 -0
  88. package/dist-cjs/sessionRegistry.js +90 -0
  89. package/dist-cjs/types.js +2 -0
  90. package/dist-cjs/writingStats.js +12 -0
  91. package/package.json +45 -0
@@ -0,0 +1,722 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RichTextStyleScope = RichTextStyleScope;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const richTextStyles = `
6
+ .bayon-rte-stack {
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: 8px;
10
+ }
11
+
12
+ .bayon-rte-surface {
13
+ background: transparent;
14
+ border: 1px solid transparent;
15
+ border-radius: 8px;
16
+ color: inherit;
17
+ min-height: auto;
18
+ overflow: hidden;
19
+ padding: 6px 0;
20
+ }
21
+
22
+ .bayon-rte-surface--panel {
23
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025));
24
+ border-color: rgba(223, 194, 255, 0.14);
25
+ box-shadow: 0 18px 46px rgba(0, 0, 0, 0.2);
26
+ }
27
+
28
+ .bayon-rte-surface__inner {
29
+ display: flex;
30
+ flex-direction: column;
31
+ gap: 20px;
32
+ margin: 0 auto;
33
+ padding: 0 24px 0 18px;
34
+ position: relative;
35
+ }
36
+
37
+ .bayon-rte-title {
38
+ background: transparent;
39
+ border: 0;
40
+ color: inherit;
41
+ direction: ltr;
42
+ display: block;
43
+ font: inherit;
44
+ font-size: 1.55rem;
45
+ font-weight: 700;
46
+ line-height: 1.15;
47
+ margin: 0;
48
+ outline: 0;
49
+ overflow: hidden;
50
+ overflow-wrap: anywhere;
51
+ padding: 0;
52
+ resize: none;
53
+ text-align: left;
54
+ width: 100%;
55
+ }
56
+
57
+ .bayon-rte-title-error {
58
+ align-self: flex-start;
59
+ background: rgba(244, 67, 54, 0.12);
60
+ border-left: 3px solid #ff8a80;
61
+ border-radius: 6px;
62
+ color: #ffcdd2;
63
+ font-size: 0.86rem;
64
+ line-height: 1.4;
65
+ margin-top: 8px;
66
+ max-width: 100%;
67
+ overflow-wrap: anywhere;
68
+ padding: 7px 10px;
69
+ text-align: left;
70
+ }
71
+
72
+ .bayon-rte-title::placeholder,
73
+ .bayon-rte-body[contenteditable][data-placeholder]:empty::before {
74
+ color: rgba(255, 255, 255, 0.58);
75
+ opacity: 1;
76
+ }
77
+
78
+ .bayon-rte-body-shell {
79
+ padding-left: 5px;
80
+ position: relative;
81
+ }
82
+
83
+ .bayon-rte-transcription {
84
+ align-items: center;
85
+ display: flex;
86
+ flex-direction: row-reverse;
87
+ gap: 7px;
88
+ position: absolute;
89
+ right: 0;
90
+ top: -24px;
91
+ z-index: 7;
92
+ }
93
+
94
+ .bayon-rte-transcription__button {
95
+ background: rgba(41, 41, 41, 0.88);
96
+ border: 1px solid rgba(246, 236, 255, 0.2);
97
+ border-radius: 999px;
98
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
99
+ color: rgba(246, 236, 255, 0.92);
100
+ height: 32px;
101
+ transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
102
+ width: 32px;
103
+ }
104
+
105
+ .bayon-rte-transcription__button:hover {
106
+ background: rgba(52, 37, 66, 0.95);
107
+ color: #ffffff;
108
+ transform: translateY(-1px);
109
+ }
110
+
111
+ .bayon-rte-transcription__button:focus-visible {
112
+ outline: 2px solid rgba(246, 236, 255, 0.72);
113
+ outline-offset: 2px;
114
+ }
115
+
116
+ .bayon-rte-transcription__button--recording {
117
+ background: rgba(198, 40, 40, 0.88);
118
+ border-color: rgba(255, 205, 210, 0.56);
119
+ color: #ffffff;
120
+ }
121
+
122
+ .bayon-rte-transcription__status {
123
+ align-items: center;
124
+ background: rgba(41, 41, 41, 0.92);
125
+ border: 1px solid rgba(246, 236, 255, 0.14);
126
+ border-radius: 6px;
127
+ color: rgba(255, 255, 255, 0.86);
128
+ display: inline-flex;
129
+ font-size: 0.72rem;
130
+ gap: 6px;
131
+ line-height: 1.3;
132
+ max-width: 180px;
133
+ min-height: 24px;
134
+ overflow-wrap: anywhere;
135
+ padding: 5px 7px;
136
+ text-align: right;
137
+ }
138
+
139
+ .bayon-rte-transcription__dot {
140
+ background: rgba(246, 236, 255, 0.72);
141
+ border-radius: 999px;
142
+ box-shadow: 0 0 0 3px rgba(246, 236, 255, 0.1);
143
+ flex: 0 0 auto;
144
+ height: 7px;
145
+ width: 7px;
146
+ }
147
+
148
+ .bayon-rte-transcription--ready .bayon-rte-transcription__dot {
149
+ background: #8ab4ff;
150
+ box-shadow: 0 0 0 3px rgba(138, 180, 255, 0.14);
151
+ }
152
+
153
+ .bayon-rte-transcription--recording .bayon-rte-transcription__button,
154
+ .bayon-rte-transcription--recording .bayon-rte-transcription__dot {
155
+ animation: bayon-rte-transcription-pulse 1.35s ease-in-out infinite;
156
+ }
157
+
158
+ .bayon-rte-transcription--recording .bayon-rte-transcription__dot {
159
+ background: #4ea1ff;
160
+ box-shadow: 0 0 0 3px rgba(78, 161, 255, 0.18);
161
+ }
162
+
163
+ .bayon-rte-transcription--success .bayon-rte-transcription__dot {
164
+ background: #6ee7a8;
165
+ box-shadow: 0 0 0 3px rgba(110, 231, 168, 0.16);
166
+ }
167
+
168
+ .bayon-rte-transcription--error .bayon-rte-transcription__status {
169
+ border-color: rgba(255, 179, 128, 0.34);
170
+ color: #ffe0cc;
171
+ }
172
+
173
+ .bayon-rte-transcription--error .bayon-rte-transcription__dot {
174
+ background: #ffb380;
175
+ box-shadow: 0 0 0 3px rgba(255, 179, 128, 0.18);
176
+ }
177
+
178
+ .bayon-rte-transcription--unavailable .bayon-rte-transcription__status {
179
+ opacity: 0.72;
180
+ }
181
+
182
+ .bayon-rte-transcription--unavailable .bayon-rte-transcription__dot {
183
+ background: rgba(255, 255, 255, 0.42);
184
+ box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);
185
+ }
186
+
187
+ @keyframes bayon-rte-transcription-pulse {
188
+ 0%,
189
+ 100% {
190
+ transform: scale(1);
191
+ }
192
+
193
+ 50% {
194
+ transform: scale(1.08);
195
+ }
196
+ }
197
+
198
+ .bayon-rte-body {
199
+ color: inherit;
200
+ direction: auto;
201
+ font-family: inherit;
202
+ font-size: 1rem;
203
+ line-height: 1.58;
204
+ min-height: 220px;
205
+ outline: 0;
206
+ text-align: start;
207
+ unicode-bidi: plaintext;
208
+ white-space: normal;
209
+ }
210
+
211
+ .bayon-rte-body[contenteditable][data-placeholder]:empty::before {
212
+ content: attr(data-placeholder);
213
+ pointer-events: none;
214
+ }
215
+
216
+ .bayon-rte-body blockquote,
217
+ .bayon-rte-renderer blockquote {
218
+ border-left: 3px solid rgba(246, 236, 255, 0.42);
219
+ color: rgba(255, 255, 255, 0.68);
220
+ font-size: 1.42rem;
221
+ font-style: italic;
222
+ margin: 0;
223
+ padding: 10px 0 10px 16px;
224
+ }
225
+
226
+ .bayon-rte-body blockquote[data-placeholder='quote']:empty::before {
227
+ color: rgba(255, 255, 255, 0.58);
228
+ content: "Quote";
229
+ opacity: 1;
230
+ pointer-events: none;
231
+ }
232
+
233
+ .bayon-rte-body figure[data-placeholder='image'] {
234
+ border: 1px dashed rgba(246, 236, 255, 0.28);
235
+ color: rgba(255, 255, 255, 0.68);
236
+ font-family: var(--font-geist-sans), Arial, sans-serif;
237
+ font-size: 1rem;
238
+ padding: 10px 24px;
239
+ text-align: center;
240
+ }
241
+
242
+ .bayon-rte-body h2,
243
+ .bayon-rte-renderer h2 {
244
+ font-family: inherit;
245
+ font-size: 2.05rem;
246
+ font-weight: 700;
247
+ line-height: 1.2;
248
+ margin: 0;
249
+ padding: 10px 0;
250
+ }
251
+
252
+ .bayon-rte-body p,
253
+ .bayon-rte-body div,
254
+ .bayon-rte-renderer p {
255
+ margin: 0;
256
+ padding: 10px 0;
257
+ }
258
+
259
+ .bayon-rte-body [data-rich-text-checkbox],
260
+ .bayon-rte-renderer [data-rich-text-checkbox] {
261
+ align-items: flex-start;
262
+ display: flex;
263
+ gap: 8px;
264
+ margin: 0;
265
+ padding: 10px 0;
266
+ }
267
+
268
+ .bayon-rte-body [data-rich-text-checkbox] input,
269
+ .bayon-rte-renderer [data-rich-text-checkbox] input {
270
+ accent-color: #1a73e8;
271
+ block-size: 1.05em;
272
+ flex: 0 0 auto;
273
+ inline-size: 1.05em;
274
+ margin-top: 0.32em;
275
+ }
276
+
277
+ .bayon-rte-body [data-rich-text-checkbox] span {
278
+ min-width: 0;
279
+ outline: 0;
280
+ }
281
+
282
+ .bayon-rte-renderer [data-rich-text-checkbox] span {
283
+ min-width: 0;
284
+ }
285
+
286
+ .bayon-rte-body pre,
287
+ .bayon-rte-renderer code {
288
+ background-color: rgba(255, 255, 255, 0.06);
289
+ border-radius: 8px;
290
+ font-family: var(--font-geist-mono), Consolas, monospace;
291
+ }
292
+
293
+ .bayon-rte-body pre {
294
+ font-size: 1rem;
295
+ padding: 10px 16px;
296
+ white-space: pre-wrap;
297
+ }
298
+
299
+ .bayon-rte-renderer {
300
+ color: inherit;
301
+ font-family: inherit;
302
+ font-size: 1rem;
303
+ line-height: 1.58;
304
+ }
305
+
306
+ .bayon-rte-renderer code {
307
+ padding: 2px 5px;
308
+ }
309
+
310
+ .bayon-rte-renderer img {
311
+ max-width: 100%;
312
+ }
313
+
314
+ .bayon-rte-renderer li {
315
+ margin-bottom: 6px;
316
+ }
317
+
318
+ .bayon-rte-renderer figure,
319
+ .bayon-rte-renderer pre {
320
+ margin: 0;
321
+ padding: 10px 0;
322
+ }
323
+
324
+ .bayon-rte-renderer ul,
325
+ .bayon-rte-renderer ol {
326
+ margin-bottom: 16px;
327
+ padding-left: 24px;
328
+ }
329
+
330
+ .bayon-rte-divider {
331
+ border: 0;
332
+ border-top: 1px solid currentColor;
333
+ height: 0;
334
+ margin: 6px 0;
335
+ opacity: 0.5;
336
+ padding: 0;
337
+ }
338
+
339
+ .bayon-rte-meta {
340
+ color: rgba(255, 255, 255, 0.62);
341
+ display: flex;
342
+ flex-direction: column;
343
+ font-size: 0.75rem;
344
+ gap: 8px;
345
+ justify-content: space-between;
346
+ line-height: 1.66;
347
+ }
348
+
349
+ .bayon-rte-toolbar {
350
+ align-items: center;
351
+ background-color: #292929;
352
+ border-radius: 8px;
353
+ box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
354
+ display: flex;
355
+ left: var(--bayon-rte-toolbar-left);
356
+ position: absolute;
357
+ top: var(--bayon-rte-toolbar-top);
358
+ transform: translateX(-50%);
359
+ z-index: 3;
360
+ }
361
+
362
+ .bayon-rte-toolbar::after {
363
+ border-left: 10px solid transparent;
364
+ border-right: 10px solid transparent;
365
+ border-top: 10px solid #292929;
366
+ bottom: -9px;
367
+ content: "";
368
+ left: 48%;
369
+ position: absolute;
370
+ }
371
+
372
+ .bayon-rte-icon-button {
373
+ align-items: center;
374
+ background: transparent;
375
+ border: 0;
376
+ border-radius: 8px;
377
+ color: inherit;
378
+ cursor: pointer;
379
+ display: inline-flex;
380
+ justify-content: center;
381
+ padding: 0;
382
+ }
383
+
384
+ .bayon-rte-icon-button:disabled {
385
+ cursor: default;
386
+ opacity: 0.58;
387
+ }
388
+
389
+ .bayon-rte-toolbar__button {
390
+ border-left: 0;
391
+ border-radius: 0;
392
+ color: #ffffff;
393
+ height: 48px;
394
+ width: 44px;
395
+ }
396
+
397
+ .bayon-rte-toolbar__button--divider {
398
+ border-left: 1px solid rgba(255, 255, 255, 0.18);
399
+ }
400
+
401
+ .bayon-rte-special-tool {
402
+ align-items: center;
403
+ display: flex;
404
+ gap: 16px;
405
+ left: 0;
406
+ margin-top: 5px;
407
+ min-height: 32px;
408
+ opacity: 0;
409
+ pointer-events: none;
410
+ position: absolute;
411
+ top: var(--bayon-rte-special-tool-top);
412
+ transform: translate(-18px, 8px) scale(0.96);
413
+ transition: opacity 720ms ease, transform 860ms cubic-bezier(0.16, 1, 0.3, 1);
414
+ z-index: 6;
415
+ }
416
+
417
+ .bayon-rte-block-tool {
418
+ align-items: center;
419
+ display: flex;
420
+ gap: 6px;
421
+ left: 0;
422
+ min-height: 34px;
423
+ padding: 4px 14px 4px 0;
424
+ position: absolute;
425
+ top: var(--bayon-rte-block-tool-top);
426
+ transform: translate(-28px, 8px);
427
+ z-index: 5;
428
+ }
429
+
430
+ .bayon-rte-block-tool--menu-open {
431
+ transform: translate(-28px, 2px);
432
+ }
433
+
434
+ .bayon-rte-block-hover-zone {
435
+ height: var(--bayon-rte-block-hover-zone-height);
436
+ left: -54px;
437
+ min-height: 34px;
438
+ pointer-events: auto;
439
+ position: absolute;
440
+ top: var(--bayon-rte-block-hover-zone-top);
441
+ transform: translateY(8px);
442
+ width: 54px;
443
+ z-index: 4;
444
+ }
445
+
446
+ .bayon-rte-block-tool__actions {
447
+ background: rgba(41, 41, 41, 0.92);
448
+ border-radius: 8px;
449
+ display: flex;
450
+ gap: 4px;
451
+ padding: 4px;
452
+ }
453
+
454
+ .bayon-rte-block-tool__actions .bayon-rte-special-button {
455
+ height: 26px;
456
+ width: 26px;
457
+ }
458
+
459
+ .bayon-rte-block-handle {
460
+ background: transparent;
461
+ color: rgba(186, 128, 255, 0.86);
462
+ cursor: grab;
463
+ height: 28px;
464
+ touch-action: none;
465
+ width: 28px;
466
+ }
467
+
468
+ .bayon-rte-block-handle:hover {
469
+ background: transparent;
470
+ color: rgba(246, 236, 255, 0.96);
471
+ }
472
+
473
+ .bayon-rte-block-handle--dragging {
474
+ color: rgba(246, 236, 255, 0.98);
475
+ transform: scale(1.08);
476
+ }
477
+
478
+ .bayon-rte-block-handle--menu-open {
479
+ color: rgba(246, 236, 255, 0.98);
480
+ cursor: pointer;
481
+ }
482
+
483
+ .bayon-rte-block-handle:active {
484
+ cursor: grabbing;
485
+ }
486
+
487
+ .bayon-rte-block-handle--menu-open:active {
488
+ cursor: pointer;
489
+ }
490
+
491
+ .bayon-rte-block-drag-indicator {
492
+ background: linear-gradient(
493
+ 90deg,
494
+ rgba(180, 124, 255, 0),
495
+ rgba(180, 124, 255, 0.9) 9%,
496
+ rgba(180, 124, 255, 0.9) 92%,
497
+ rgba(180, 124, 255, 0)
498
+ );
499
+ border-radius: 999px;
500
+ height: 2px;
501
+ left: 0;
502
+ pointer-events: none;
503
+ position: absolute;
504
+ right: 0;
505
+ top: var(--bayon-rte-block-drag-indicator-top);
506
+ transform: translateY(-1px);
507
+ z-index: 4;
508
+ }
509
+
510
+ .bayon-rte-block-drag-indicator::before {
511
+ background: rgba(180, 124, 255, 0.95);
512
+ border-radius: 999px;
513
+ content: "";
514
+ height: 8px;
515
+ left: -3px;
516
+ position: absolute;
517
+ top: -3px;
518
+ width: 8px;
519
+ }
520
+
521
+ .bayon-rte-special-tool--visible {
522
+ opacity: 1;
523
+ pointer-events: auto;
524
+ transform: translate(-18px, 2px) scale(1);
525
+ }
526
+
527
+ .bayon-rte-special-tool__actions {
528
+ display: flex;
529
+ gap: 6px;
530
+ }
531
+
532
+ .bayon-rte-special-button {
533
+ background-color: #ffffff;
534
+ color: #7f38d8;
535
+ height: 28px;
536
+ width: 28px;
537
+ }
538
+
539
+ .bayon-rte-special-button:hover {
540
+ background-color: #fbf6ff;
541
+ }
542
+
543
+ .bayon-rte-special-toggle {
544
+ border: none;
545
+ color: #292929;
546
+ height: 22px;
547
+ transition: background-color 260ms ease, border-color 260ms ease, color 260ms ease, opacity 720ms ease, transform 860ms cubic-bezier(0.16, 1, 0.3, 1);
548
+ width: 22px;
549
+ }
550
+
551
+ .bayon-rte-special-toggle:hover {
552
+ background-color: #ffffff;
553
+ color: #7f38d8;
554
+ transform: scale(1.05) rotate(0deg);
555
+ }
556
+
557
+ .bayon-rte-unsaved-backdrop {
558
+ align-items: center;
559
+ background: rgba(0, 0, 0, 0.42);
560
+ display: flex;
561
+ inset: 0;
562
+ justify-content: center;
563
+ padding: 24px;
564
+ position: fixed;
565
+ z-index: 1300;
566
+ }
567
+
568
+ .bayon-rte-unsaved-dialog {
569
+ background: #ffffff;
570
+ border-radius: 8px;
571
+ box-shadow: 0 18px 46px rgba(0, 0, 0, 0.24);
572
+ color: #1f1f1f;
573
+ max-width: 480px;
574
+ padding: 24px;
575
+ width: min(100%, 480px);
576
+ }
577
+
578
+ .bayon-rte-unsaved-dialog h2 {
579
+ font-size: 1.25rem;
580
+ line-height: 1.25;
581
+ margin: 0 0 12px;
582
+ }
583
+
584
+ .bayon-rte-unsaved-dialog p {
585
+ color: #555;
586
+ margin: 0;
587
+ }
588
+
589
+ .bayon-rte-unsaved-error {
590
+ background: #fdecea;
591
+ border-radius: 8px;
592
+ color: #611a15;
593
+ margin-top: 16px;
594
+ padding: 10px 12px;
595
+ }
596
+
597
+ .bayon-rte-unsaved-actions {
598
+ display: flex;
599
+ flex-wrap: wrap;
600
+ gap: 8px;
601
+ justify-content: flex-end;
602
+ margin-top: 24px;
603
+ }
604
+
605
+ .bayon-rte-button {
606
+ background: transparent;
607
+ border: 1px solid transparent;
608
+ border-radius: 6px;
609
+ color: #7f38d8;
610
+ cursor: pointer;
611
+ font: inherit;
612
+ padding: 8px 12px;
613
+ }
614
+
615
+ .bayon-rte-button:hover {
616
+ background: rgba(127, 56, 216, 0.08);
617
+ }
618
+
619
+ .bayon-rte-button:disabled {
620
+ cursor: default;
621
+ opacity: 0.6;
622
+ }
623
+
624
+ .bayon-rte-button--danger {
625
+ color: #c62828;
626
+ }
627
+
628
+ .bayon-rte-button--primary {
629
+ background: #7f38d8;
630
+ color: #ffffff;
631
+ }
632
+
633
+ .bayon-rte-button--primary:hover {
634
+ background: #6f2fc4;
635
+ }
636
+
637
+ @media (min-width: 600px) {
638
+ .bayon-rte-surface {
639
+ min-height: min(max(550px, 72vh), 820px);
640
+ padding: 24px;
641
+ }
642
+
643
+ .bayon-rte-surface__inner {
644
+ padding: 0 50px 0 40px;
645
+ }
646
+
647
+ .bayon-rte-transcription {
648
+ top: -6px;
649
+ }
650
+
651
+ .bayon-rte-title {
652
+ font-size: 2.45rem;
653
+ }
654
+
655
+ .bayon-rte-body,
656
+ .bayon-rte-renderer {
657
+ font-size: 1.25rem;
658
+ line-height: 1.68;
659
+ }
660
+
661
+ .bayon-rte-body {
662
+ min-height: 360px;
663
+ }
664
+
665
+ .bayon-rte-meta {
666
+ flex-direction: row;
667
+ }
668
+
669
+ .bayon-rte-special-tool {
670
+ gap: 16px;
671
+ min-height: 56px;
672
+ transform: translate(-49px, -4px) scale(0.96);
673
+ }
674
+
675
+ .bayon-rte-special-tool--visible {
676
+ transform: translate(-49px, -10px) scale(1);
677
+ }
678
+
679
+ .bayon-rte-block-tool {
680
+ min-height: 34px;
681
+ transform: translate(-34px, 8px);
682
+ }
683
+
684
+ .bayon-rte-block-tool--menu-open {
685
+ transform: translate(-34px, 2px);
686
+ }
687
+
688
+ .bayon-rte-block-hover-zone {
689
+ left: -58px;
690
+ width: 58px;
691
+ }
692
+
693
+ .bayon-rte-block-tool__actions .bayon-rte-special-button {
694
+ height: 34px;
695
+ width: 34px;
696
+ }
697
+
698
+ .bayon-rte-special-tool__actions {
699
+ gap: 16px;
700
+ }
701
+
702
+ .bayon-rte-special-button {
703
+ height: 39px;
704
+ width: 39px;
705
+ }
706
+
707
+ .bayon-rte-special-toggle {
708
+ height: 34px;
709
+ width: 34px;
710
+ }
711
+ }
712
+
713
+ @media (min-width: 900px) {
714
+ .bayon-rte-surface {
715
+ padding-bottom: 0;
716
+ padding-top: 0;
717
+ }
718
+ }
719
+ `;
720
+ function RichTextStyleScope() {
721
+ return (0, jsx_runtime_1.jsx)("style", { children: richTextStyles });
722
+ }