@bayonai/rich-text-editor 0.1.2 → 1.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.
Files changed (151) hide show
  1. package/BEHAVIOR.md +396 -0
  2. package/CHANGELOG.md +22 -0
  3. package/README.md +25 -6
  4. package/dist/core/blockTree.d.ts +14 -0
  5. package/dist/core/blockTree.js +126 -0
  6. package/dist/core/blockTypes.d.ts +6 -0
  7. package/dist/core/blockTypes.js +5 -0
  8. package/dist/core/exportImport.d.ts +59 -0
  9. package/dist/core/exportImport.js +51 -0
  10. package/dist/core/features.d.ts +59 -0
  11. package/dist/core/features.js +57 -0
  12. package/dist/core/imageBlockDiagnostics.d.ts +4 -0
  13. package/dist/core/imageBlockDiagnostics.js +19 -0
  14. package/dist/core/proFeatures.d.ts +60 -0
  15. package/dist/core/proFeatures.js +64 -0
  16. package/dist/{richText.d.ts → core/richText.d.ts} +2 -0
  17. package/dist/core/richText.js +566 -0
  18. package/dist/core/types.d.ts +78 -0
  19. package/dist/index.d.ts +14 -8
  20. package/dist/index.js +8 -5
  21. package/dist/react/editor/RichTextBody.d.ts +28 -0
  22. package/dist/react/editor/RichTextBody.js +131 -0
  23. package/dist/react/editor/RichTextEditor.d.ts +138 -0
  24. package/dist/react/editor/RichTextEditor.js +2925 -0
  25. package/dist/react/editor/RichTextRenderedBlock.d.ts +20 -0
  26. package/dist/react/editor/RichTextRenderedBlock.js +162 -0
  27. package/dist/react/editor/RichTextRenderer.d.ts +13 -0
  28. package/dist/react/editor/RichTextRenderer.js +16 -0
  29. package/dist/react/{RichTextTitleInput.d.ts → editor/RichTextTitleInput.d.ts} +11 -1
  30. package/dist/react/{RichTextTitleInput.js → editor/RichTextTitleInput.js} +17 -2
  31. package/dist/react/editor/blockActions.d.ts +48 -0
  32. package/dist/react/editor/blockActions.js +495 -0
  33. package/dist/react/editor/editorHistory.d.ts +55 -0
  34. package/dist/react/editor/editorHistory.js +111 -0
  35. package/dist/react/{editorNavigation.d.ts → editor/editorNavigation.d.ts} +2 -0
  36. package/dist/react/{editorNavigation.js → editor/editorNavigation.js} +16 -0
  37. package/dist/react/editor/editorOperations.d.ts +10 -0
  38. package/dist/react/editor/editorOperations.js +3 -0
  39. package/dist/react/editor/editorSelection.d.ts +3 -0
  40. package/dist/react/editor/editorSelection.js +215 -0
  41. package/dist/react/{editorShortcuts.d.ts → editor/editorShortcuts.d.ts} +10 -0
  42. package/dist/react/{editorShortcuts.js → editor/editorShortcuts.js} +17 -1
  43. package/dist/react/{RichTextIcons.d.ts → icons/RichTextIcons.d.ts} +3 -0
  44. package/dist/react/{RichTextIcons.js → icons/RichTextIcons.js} +9 -0
  45. package/dist/react/index.d.ts +12 -9
  46. package/dist/react/index.js +7 -6
  47. package/dist/react/{EditorSessionProvider.d.ts → session/EditorSessionProvider.d.ts} +2 -2
  48. package/dist/react/{EditorSessionProvider.js → session/EditorSessionProvider.js} +3 -3
  49. package/dist/react/{UnsavedChangesDialog.js → session/UnsavedChangesDialog.js} +1 -1
  50. package/dist/react/styles/RichTextStyles.js +1362 -0
  51. package/dist/react/{BlockActionTool.d.ts → tools/BlockActionTool.d.ts} +1 -1
  52. package/dist/react/{BlockActionTool.js → tools/BlockActionTool.js} +6 -2
  53. package/dist/react/tools/LinkCreationInput.d.ts +9 -0
  54. package/dist/react/tools/LinkCreationInput.js +38 -0
  55. package/dist/react/{SelectionFormatToolbar.d.ts → tools/SelectionFormatToolbar.d.ts} +3 -2
  56. package/dist/react/{SelectionFormatToolbar.js → tools/SelectionFormatToolbar.js} +3 -3
  57. package/dist/react/tools/SpecialBlockOption.d.ts +9 -0
  58. package/dist/react/tools/SpecialBlockOption.js +8 -0
  59. package/dist/react/tools/SpecialBlockTool.d.ts +91 -0
  60. package/dist/react/tools/SpecialBlockTool.js +125 -0
  61. package/dist/react/{TranscriptionControl.d.ts → tools/TranscriptionControl.d.ts} +9 -0
  62. package/dist/react/{TranscriptionControl.js → tools/TranscriptionControl.js} +70 -9
  63. package/dist/react/tools/blockActionToolState.d.ts +41 -0
  64. package/dist/react/tools/blockActionToolState.js +177 -0
  65. package/dist/react/tools/imageBlockDiagnostics.d.ts +2 -0
  66. package/dist/react/tools/imageBlockDiagnostics.js +12 -0
  67. package/dist/{session.d.ts → session/session.d.ts} +1 -1
  68. package/dist-cjs/core/blockTree.js +137 -0
  69. package/dist-cjs/core/blockTypes.js +9 -0
  70. package/dist-cjs/core/exportImport.js +56 -0
  71. package/dist-cjs/core/features.js +62 -0
  72. package/dist-cjs/core/proFeatures.js +70 -0
  73. package/dist-cjs/core/richText.js +578 -0
  74. package/dist-cjs/index.js +22 -6
  75. package/dist-cjs/react/editor/RichTextBody.js +134 -0
  76. package/dist-cjs/react/editor/RichTextEditor.js +2956 -0
  77. package/dist-cjs/react/editor/RichTextRenderedBlock.js +166 -0
  78. package/dist-cjs/react/editor/RichTextRenderer.js +20 -0
  79. package/dist-cjs/react/{RichTextTitleInput.js → editor/RichTextTitleInput.js} +18 -2
  80. package/dist-cjs/react/editor/blockActions.js +518 -0
  81. package/dist-cjs/react/editor/editorHistory.js +120 -0
  82. package/dist-cjs/react/{editorNavigation.js → editor/editorNavigation.js} +17 -0
  83. package/dist-cjs/react/editor/editorOperations.js +6 -0
  84. package/dist-cjs/react/editor/editorSelection.js +219 -0
  85. package/dist-cjs/react/{editorShortcuts.js → editor/editorShortcuts.js} +17 -1
  86. package/dist-cjs/react/{RichTextIcons.js → icons/RichTextIcons.js} +12 -0
  87. package/dist-cjs/react/index.js +9 -7
  88. package/dist-cjs/react/{EditorSessionProvider.js → session/EditorSessionProvider.js} +3 -3
  89. package/dist-cjs/react/{UnsavedChangesDialog.js → session/UnsavedChangesDialog.js} +1 -1
  90. package/dist-cjs/react/styles/RichTextStyles.js +1365 -0
  91. package/dist-cjs/react/{BlockActionTool.js → tools/BlockActionTool.js} +6 -2
  92. package/dist-cjs/react/tools/LinkCreationInput.js +41 -0
  93. package/dist-cjs/react/{SelectionFormatToolbar.js → tools/SelectionFormatToolbar.js} +3 -3
  94. package/dist-cjs/react/tools/SpecialBlockOption.js +11 -0
  95. package/dist-cjs/react/tools/SpecialBlockTool.js +129 -0
  96. package/dist-cjs/react/{TranscriptionControl.js → tools/TranscriptionControl.js} +71 -9
  97. package/dist-cjs/react/tools/blockActionToolState.js +186 -0
  98. package/package.json +3 -2
  99. package/dist/react/RichTextBody.d.ts +0 -18
  100. package/dist/react/RichTextBody.js +0 -66
  101. package/dist/react/RichTextEditor.d.ts +0 -45
  102. package/dist/react/RichTextEditor.js +0 -1096
  103. package/dist/react/RichTextRenderedBlock.d.ts +0 -4
  104. package/dist/react/RichTextRenderedBlock.js +0 -36
  105. package/dist/react/RichTextRenderer.d.ts +0 -4
  106. package/dist/react/RichTextRenderer.js +0 -8
  107. package/dist/react/RichTextStyles.js +0 -719
  108. package/dist/react/SpecialBlockOption.d.ts +0 -7
  109. package/dist/react/SpecialBlockOption.js +0 -7
  110. package/dist/react/SpecialBlockTool.d.ts +0 -42
  111. package/dist/react/SpecialBlockTool.js +0 -50
  112. package/dist/react/blockActionToolState.d.ts +0 -18
  113. package/dist/react/blockActionToolState.js +0 -53
  114. package/dist/react/blockActions.d.ts +0 -8
  115. package/dist/react/blockActions.js +0 -111
  116. package/dist/richText.js +0 -297
  117. package/dist/types.d.ts +0 -34
  118. package/dist-cjs/react/RichTextBody.js +0 -69
  119. package/dist-cjs/react/RichTextEditor.js +0 -1108
  120. package/dist-cjs/react/RichTextRenderedBlock.js +0 -39
  121. package/dist-cjs/react/RichTextRenderer.js +0 -11
  122. package/dist-cjs/react/RichTextStyles.js +0 -722
  123. package/dist-cjs/react/SpecialBlockOption.js +0 -10
  124. package/dist-cjs/react/SpecialBlockTool.js +0 -54
  125. package/dist-cjs/react/blockActionToolState.js +0 -58
  126. package/dist-cjs/react/blockActions.js +0 -119
  127. package/dist-cjs/richText.js +0 -307
  128. /package/dist/{types.js → core/types.js} +0 -0
  129. /package/dist/{writingStats.d.ts → core/writingStats.d.ts} +0 -0
  130. /package/dist/{writingStats.js → core/writingStats.js} +0 -0
  131. /package/dist/react/{RichTextDocumentSurface.d.ts → editor/RichTextDocumentSurface.d.ts} +0 -0
  132. /package/dist/react/{RichTextDocumentSurface.js → editor/RichTextDocumentSurface.js} +0 -0
  133. /package/dist/react/{UnsavedChangesDialog.d.ts → session/UnsavedChangesDialog.d.ts} +0 -0
  134. /package/dist/react/{RichTextStyles.d.ts → styles/RichTextStyles.d.ts} +0 -0
  135. /package/dist/react/{richTextBlockStyles.d.ts → styles/richTextBlockStyles.d.ts} +0 -0
  136. /package/dist/react/{richTextBlockStyles.js → styles/richTextBlockStyles.js} +0 -0
  137. /package/dist/react/{specialBlockStyles.d.ts → styles/specialBlockStyles.d.ts} +0 -0
  138. /package/dist/react/{specialBlockStyles.js → styles/specialBlockStyles.js} +0 -0
  139. /package/dist/{saveControl.d.ts → session/saveControl.d.ts} +0 -0
  140. /package/dist/{saveControl.js → session/saveControl.js} +0 -0
  141. /package/dist/{session.js → session/session.js} +0 -0
  142. /package/dist/{sessionRegistry.d.ts → session/sessionRegistry.d.ts} +0 -0
  143. /package/dist/{sessionRegistry.js → session/sessionRegistry.js} +0 -0
  144. /package/dist-cjs/{types.js → core/types.js} +0 -0
  145. /package/dist-cjs/{writingStats.js → core/writingStats.js} +0 -0
  146. /package/dist-cjs/react/{RichTextDocumentSurface.js → editor/RichTextDocumentSurface.js} +0 -0
  147. /package/dist-cjs/react/{richTextBlockStyles.js → styles/richTextBlockStyles.js} +0 -0
  148. /package/dist-cjs/react/{specialBlockStyles.js → styles/specialBlockStyles.js} +0 -0
  149. /package/dist-cjs/{saveControl.js → session/saveControl.js} +0 -0
  150. /package/dist-cjs/{session.js → session/session.js} +0 -0
  151. /package/dist-cjs/{sessionRegistry.js → session/sessionRegistry.js} +0 -0
@@ -0,0 +1,1365 @@
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: 0 10px;
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: break-spaces;
209
+ }
210
+
211
+ .bayon-rte-visually-hidden {
212
+ block-size: 1px;
213
+ border: 0;
214
+ clip: rect(0 0 0 0);
215
+ clip-path: inset(50%);
216
+ inline-size: 1px;
217
+ margin: -1px;
218
+ overflow: hidden;
219
+ padding: 0;
220
+ position: absolute;
221
+ white-space: nowrap;
222
+ }
223
+
224
+ .bayon-rte-body[contenteditable][data-placeholder]:empty::before {
225
+ content: attr(data-placeholder);
226
+ pointer-events: none;
227
+ }
228
+
229
+ .bayon-rte-body a,
230
+ .bayon-rte-renderer a {
231
+ color: #b987ff;
232
+ font-weight: 600;
233
+ text-decoration: none;
234
+ }
235
+
236
+ .bayon-rte-body a:hover,
237
+ .bayon-rte-renderer a:hover {
238
+ color: rgb(94, 63, 144);
239
+ }
240
+
241
+ .bayon-rte-body blockquote,
242
+ .bayon-rte-renderer blockquote {
243
+ border-left: 3px solid rgba(246, 236, 255, 0.42);
244
+ color: rgba(255, 255, 255, 0.68);
245
+ font-size: 1.42rem;
246
+ font-style: italic;
247
+ margin: 0;
248
+ padding: 10px 0 10px 16px;
249
+ }
250
+
251
+ .bayon-rte-body blockquote[data-placeholder='quote']:empty::before {
252
+ color: rgba(255, 255, 255, 0.58);
253
+ content: "Quote";
254
+ opacity: 1;
255
+ pointer-events: none;
256
+ }
257
+
258
+ .bayon-rte-body figure[data-rich-text-image],
259
+ .bayon-rte-renderer figure[data-rich-text-image] {
260
+ background: rgba(255, 255, 255, 0.035);
261
+ border: 1px solid rgba(246, 236, 255, 0.16);
262
+ border-radius: 8px;
263
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
264
+ margin: 16px 0;
265
+ max-width: 100%;
266
+ position: relative;
267
+ transform: translateZ(0);
268
+ transition:
269
+ border-color 180ms ease,
270
+ box-shadow 180ms ease,
271
+ transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
272
+ width: fit-content;
273
+ will-change: transform;
274
+ }
275
+
276
+ .bayon-rte-body figure[data-rich-text-image] img,
277
+ .bayon-rte-renderer figure[data-rich-text-image] img {
278
+ border-radius: 6px;
279
+ display: block;
280
+ max-width: 100%;
281
+ }
282
+
283
+ .bayon-rte-body figure[data-rich-text-image][data-image-size='small'],
284
+ .bayon-rte-renderer figure[data-rich-text-image][data-image-size='small'] {
285
+ width: min(100%, 240px);
286
+ }
287
+
288
+ .bayon-rte-body figure[data-rich-text-image][data-image-size='medium'],
289
+ .bayon-rte-renderer figure[data-rich-text-image][data-image-size='medium'] {
290
+ width: min(100%, 420px);
291
+ }
292
+
293
+ .bayon-rte-body figure[data-rich-text-image][data-image-size='full'],
294
+ .bayon-rte-renderer figure[data-rich-text-image][data-image-size='full'] {
295
+ width: 100%;
296
+ }
297
+
298
+ .bayon-rte-body figure[data-rich-text-image][data-image-size='custom'],
299
+ .bayon-rte-renderer figure[data-rich-text-image][data-image-size='custom'] {
300
+ width: min(100%, var(--bayon-rte-image-custom-width, 420px));
301
+ }
302
+
303
+ .bayon-rte-body figure[data-rich-text-image][data-image-size] img,
304
+ .bayon-rte-renderer figure[data-rich-text-image][data-image-size] img {
305
+ height: auto;
306
+ width: 100%;
307
+ }
308
+
309
+ .bayon-rte-body figure[data-image-align='center'],
310
+ .bayon-rte-renderer figure[data-image-align='center'] {
311
+ margin-left: auto;
312
+ margin-right: auto;
313
+ text-align: center;
314
+ }
315
+
316
+ .bayon-rte-body figure[data-image-align='center'] img,
317
+ .bayon-rte-renderer figure[data-image-align='center'] img {
318
+ margin: 0;
319
+ }
320
+
321
+ .bayon-rte-body figure[data-image-align='left'],
322
+ .bayon-rte-renderer figure[data-image-align='left'] {
323
+ margin-left: 0;
324
+ margin-right: auto;
325
+ text-align: left;
326
+ }
327
+
328
+ .bayon-rte-body figure[data-image-align='left'] img,
329
+ .bayon-rte-renderer figure[data-image-align='left'] img {
330
+ margin: 0;
331
+ }
332
+
333
+ .bayon-rte-body figure[data-image-align='right'],
334
+ .bayon-rte-renderer figure[data-image-align='right'] {
335
+ margin-left: auto;
336
+ margin-right: 0;
337
+ text-align: right;
338
+ }
339
+
340
+ .bayon-rte-body figure[data-image-align='right'] img,
341
+ .bayon-rte-renderer figure[data-image-align='right'] img {
342
+ margin: 0;
343
+ }
344
+
345
+ .bayon-rte-body figure[data-placeholder='image']:not(:has(img)) {
346
+ color: rgba(246, 236, 255, 0.78);
347
+ font-family: var(--font-geist-sans), Arial, sans-serif;
348
+ font-size: 0.9rem;
349
+ line-height: 1.45;
350
+ overflow-wrap: anywhere;
351
+ padding: 14px 18px;
352
+ text-align: left;
353
+ }
354
+
355
+ .bayon-rte-body figure[data-image-upload-progress] {
356
+ background: linear-gradient(135deg, rgba(246, 236, 255, 0.1), rgba(138, 180, 255, 0.06));
357
+ border-color: rgba(246, 236, 255, 0.24);
358
+ }
359
+
360
+ .bayon-rte-body figure[data-image-upload-progress] p {
361
+ align-items: center;
362
+ display: inline-flex;
363
+ gap: 9px;
364
+ margin: 0;
365
+ }
366
+
367
+ .bayon-rte-body figure[data-image-upload-progress] p::before {
368
+ background: linear-gradient(135deg, #b987ff, #8ab4ff);
369
+ border-radius: 999px;
370
+ box-shadow: 0 0 0 4px rgba(185, 135, 255, 0.12);
371
+ content: "";
372
+ flex: 0 0 auto;
373
+ height: 8px;
374
+ width: 8px;
375
+ }
376
+
377
+ .bayon-rte-image-align-tool {
378
+ align-items: center;
379
+ background: rgba(41, 41, 41, 0.92);
380
+ border: 1px solid rgba(246, 236, 255, 0.12);
381
+ border-radius: 8px;
382
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
383
+ display: inline-flex;
384
+ gap: 3px;
385
+ opacity: 0;
386
+ padding: 3px;
387
+ pointer-events: none;
388
+ position: absolute;
389
+ right: 8px;
390
+ top: 8px;
391
+ transform: translateY(-2px);
392
+ transition: opacity 160ms ease, transform 160ms ease;
393
+ z-index: 3;
394
+ }
395
+
396
+ .bayon-rte-body figure[data-rich-text-image]:hover .bayon-rte-image-align-tool,
397
+ .bayon-rte-body figure[data-rich-text-image]:focus-within .bayon-rte-image-align-tool {
398
+ opacity: 1;
399
+ pointer-events: auto;
400
+ transform: translateY(0);
401
+ }
402
+
403
+ .bayon-rte-image-align-button {
404
+ align-items: center;
405
+ background: transparent;
406
+ border: 0;
407
+ border-radius: 6px;
408
+ color: rgba(186, 128, 255, 0.86);
409
+ cursor: pointer;
410
+ display: inline-flex;
411
+ height: 26px;
412
+ justify-content: center;
413
+ padding: 0;
414
+ width: 26px;
415
+ }
416
+
417
+ .bayon-rte-image-align-button:hover,
418
+ .bayon-rte-image-align-button[data-image-align-active='true'] {
419
+ background: rgba(127, 56, 216, 0.12);
420
+ color: rgba(246, 236, 255, 0.96);
421
+ }
422
+
423
+ .bayon-rte-image-align-icon {
424
+ display: inline-flex;
425
+ flex-direction: column;
426
+ gap: 2px;
427
+ width: 13px;
428
+ }
429
+
430
+ .bayon-rte-image-align-icon span {
431
+ background: currentColor;
432
+ border-radius: 999px;
433
+ display: block;
434
+ height: 2px;
435
+ }
436
+
437
+ .bayon-rte-image-align-icon span:nth-child(1) {
438
+ width: 13px;
439
+ }
440
+
441
+ .bayon-rte-image-align-icon span:nth-child(2) {
442
+ width: 9px;
443
+ }
444
+
445
+ .bayon-rte-image-align-icon span:nth-child(3) {
446
+ width: 11px;
447
+ }
448
+
449
+ .bayon-rte-image-align-icon--center {
450
+ align-items: center;
451
+ }
452
+
453
+ .bayon-rte-image-align-icon--right {
454
+ align-items: flex-end;
455
+ }
456
+
457
+ .bayon-rte-image-toolbar-divider {
458
+ background: rgba(246, 236, 255, 0.14);
459
+ height: 18px;
460
+ width: 1px;
461
+ }
462
+
463
+ .bayon-rte-image-size-button span {
464
+ font-size: 0.68rem;
465
+ font-weight: 700;
466
+ line-height: 1;
467
+ }
468
+
469
+ .bayon-rte-image-size-button:hover,
470
+ .bayon-rte-image-size-button[data-image-size-active='true'] {
471
+ background: rgba(127, 56, 216, 0.12);
472
+ color: rgba(246, 236, 255, 0.96);
473
+ }
474
+
475
+ .bayon-rte-image-custom-width-input {
476
+ background: rgba(255, 255, 255, 0.08);
477
+ border: 1px solid rgba(246, 236, 255, 0.14);
478
+ border-radius: 6px;
479
+ color: rgba(246, 236, 255, 0.96);
480
+ font: inherit;
481
+ font-size: 0.68rem;
482
+ height: 24px;
483
+ padding: 0 4px;
484
+ width: 52px;
485
+ }
486
+
487
+ .bayon-rte-body h2,
488
+ .bayon-rte-renderer h2 {
489
+ font-family: inherit;
490
+ font-size: 2.05rem;
491
+ font-weight: 700;
492
+ line-height: 1.2;
493
+ margin: 0;
494
+ padding: 10px 0;
495
+ }
496
+
497
+ .bayon-rte-body > p,
498
+ .bayon-rte-body > div,
499
+ .bayon-rte-renderer p {
500
+ margin: 0;
501
+ padding: 10px 0;
502
+ }
503
+
504
+ .bayon-rte-renderer [data-rich-text-comment-target='active'] {
505
+ background: rgba(255, 221, 128, 0.1);
506
+ border-radius: 6px;
507
+ box-shadow:
508
+ inset 3px 0 0 rgba(255, 199, 87, 0.72),
509
+ 0 0 0 1px rgba(255, 221, 128, 0.12);
510
+ scroll-margin-block: 96px;
511
+ }
512
+
513
+ .bayon-rte-comment-highlight {
514
+ background: rgba(255, 221, 128, 0.34);
515
+ border-radius: 3px;
516
+ box-shadow: 0 0 0 2px rgba(255, 221, 128, 0.14);
517
+ color: inherit;
518
+ }
519
+
520
+ .bayon-rte-body [data-rich-text-message],
521
+ .bayon-rte-renderer [data-rich-text-message] {
522
+ background: rgba(144, 202, 249, 0.16);
523
+ border: 1px solid rgba(144, 202, 249, 0.22);
524
+ border-radius: 8px;
525
+ margin: 4px 0 4px auto;
526
+ max-width: min(88%, 34rem);
527
+ overflow-wrap: anywhere;
528
+ padding: 8px 10px;
529
+ width: fit-content;
530
+ }
531
+
532
+ .bayon-rte-body [data-rich-text-tool],
533
+ .bayon-rte-renderer [data-rich-text-tool] {
534
+ background: rgba(246, 236, 255, 0.07);
535
+ border: 1px solid rgba(246, 236, 255, 0.14);
536
+ border-radius: 8px;
537
+ margin: 8px 0;
538
+ overflow-wrap: anywhere;
539
+ padding: 10px 12px;
540
+ }
541
+
542
+ .bayon-rte-body [data-tool-header],
543
+ .bayon-rte-renderer [data-tool-header] {
544
+ align-items: center;
545
+ display: flex;
546
+ gap: 8px;
547
+ justify-content: space-between;
548
+ }
549
+
550
+ .bayon-rte-body [data-tool-title],
551
+ .bayon-rte-renderer [data-tool-title] {
552
+ font-weight: 680;
553
+ }
554
+
555
+ .bayon-rte-body [data-tool-status-label],
556
+ .bayon-rte-renderer [data-tool-status-label] {
557
+ color: rgba(255, 255, 255, 0.62);
558
+ font-size: 0.75em;
559
+ text-transform: uppercase;
560
+ }
561
+
562
+ .bayon-rte-body [data-tool-markdown],
563
+ .bayon-rte-renderer [data-tool-markdown] {
564
+ margin: 8px 0 0;
565
+ padding: 0;
566
+ }
567
+
568
+ .bayon-rte-body [data-rich-text-children],
569
+ .bayon-rte-renderer [data-rich-text-children] {
570
+ border-left: 0;
571
+ counter-reset: bayon-rte-list;
572
+ list-style: none;
573
+ margin: 0 0 0 14px;
574
+ padding: 0 0 0 18px;
575
+ }
576
+
577
+ .bayon-rte-body > [data-rich-text-children],
578
+ .bayon-rte-renderer > [data-rich-text-children] {
579
+ margin-left: 0;
580
+ padding-left: 0;
581
+ }
582
+
583
+ .bayon-rte-body [data-rich-text-checkbox],
584
+ .bayon-rte-renderer [data-rich-text-checkbox],
585
+ .bayon-rte-body [data-rich-text-bullet],
586
+ .bayon-rte-renderer [data-rich-text-bullet],
587
+ .bayon-rte-body [data-rich-text-ordered],
588
+ .bayon-rte-renderer [data-rich-text-ordered],
589
+ .bayon-rte-body [data-rich-text-toggle],
590
+ .bayon-rte-renderer [data-rich-text-toggle] {
591
+ display: block;
592
+ list-style: none;
593
+ margin: 0;
594
+ padding: 0;
595
+ }
596
+
597
+ .bayon-rte-body [data-rich-text-row],
598
+ .bayon-rte-renderer [data-rich-text-row] {
599
+ align-items: flex-start;
600
+ display: flex;
601
+ gap: 8px;
602
+ margin: 0;
603
+ padding: 5px 0;
604
+ }
605
+
606
+ .bayon-rte-body [data-bullet-marker],
607
+ .bayon-rte-renderer [data-bullet-marker],
608
+ .bayon-rte-body [data-rich-text-bullet] > [data-rich-text-row] > span:first-child,
609
+ .bayon-rte-renderer [data-rich-text-bullet] > [data-rich-text-row] > span:first-child {
610
+ flex: 0 0 auto;
611
+ line-height: inherit;
612
+ margin-top: 0;
613
+ }
614
+
615
+ .bayon-rte-body [data-bullet-marker]::before,
616
+ .bayon-rte-renderer [data-bullet-marker]::before {
617
+ content: "\\2022";
618
+ }
619
+
620
+ .bayon-rte-body [data-rich-text-ordered],
621
+ .bayon-rte-renderer [data-rich-text-ordered] {
622
+ counter-increment: bayon-rte-list;
623
+ }
624
+
625
+ .bayon-rte-body [data-ordered-marker]::before,
626
+ .bayon-rte-renderer [data-ordered-marker]::before {
627
+ content: counters(bayon-rte-list, ".") ".";
628
+ }
629
+
630
+ .bayon-rte-body [data-ordered-marker],
631
+ .bayon-rte-renderer [data-ordered-marker] {
632
+ flex: 0 0 auto;
633
+ min-width: 1.4em;
634
+ }
635
+
636
+ .bayon-rte-body [data-placeholder]:empty::before {
637
+ color: rgba(255, 255, 255, 0.46);
638
+ content: attr(data-placeholder);
639
+ pointer-events: none;
640
+ }
641
+
642
+ .bayon-rte-body [data-rich-text-toggle] summary,
643
+ .bayon-rte-renderer [data-rich-text-toggle] summary {
644
+ cursor: pointer;
645
+ font-weight: 600;
646
+ list-style-position: outside;
647
+ padding: 10px 0;
648
+ }
649
+
650
+ .bayon-rte-body [data-rich-text-toggle] > [data-rich-text-row] > [data-toggle-label] {
651
+ flex: 1 1 0;
652
+ min-width: 0;
653
+ outline: 0;
654
+ }
655
+
656
+ .bayon-rte-body [data-bullet-label],
657
+ .bayon-rte-body [data-ordered-label],
658
+ .bayon-rte-body [data-checkbox-label],
659
+ .bayon-rte-body [data-toggle-label] {
660
+ cursor: text;
661
+ display: block;
662
+ flex: 1 1 0;
663
+ line-height: inherit;
664
+ min-height: 1.4em;
665
+ min-inline-size: 2.5em;
666
+ margin-inline-start: -2px;
667
+ min-width: 0;
668
+ outline: 0;
669
+ padding-inline-start: 2px;
670
+ }
671
+
672
+ .bayon-rte-body [data-toggle-content],
673
+ .bayon-rte-renderer [data-toggle-content] {
674
+ background: rgba(246, 236, 255, 0.06);
675
+ border: 1px solid rgba(246, 236, 255, 0.1);
676
+ border-radius: 8px;
677
+ margin-left: 36px;
678
+ min-height: 44px;
679
+ padding: 8px 12px;
680
+ }
681
+
682
+ .bayon-rte-body [data-toggle-content] > [data-rich-text-children],
683
+ .bayon-rte-renderer [data-toggle-content] > [data-rich-text-children] {
684
+ margin-left: 0;
685
+ padding-left: 0;
686
+ }
687
+
688
+ .bayon-rte-body [data-toggle-content] > p,
689
+ .bayon-rte-renderer [data-toggle-content] > p {
690
+ margin: 0;
691
+ padding: 6px 0;
692
+ }
693
+
694
+ .bayon-rte-body [data-toggle-content] > [data-toggle-content-placeholder-block] {
695
+ min-height: 1.4em;
696
+ outline: 0;
697
+ padding: 0;
698
+ }
699
+
700
+ .bayon-rte-body [data-toggle-content-placeholder-block][data-placeholder]:empty::before {
701
+ color: rgba(255, 255, 255, 0.46);
702
+ content: attr(data-placeholder);
703
+ pointer-events: none;
704
+ }
705
+
706
+ .bayon-rte-body [data-rich-text-toggle][data-toggle-collapsed="true"] > [data-toggle-content],
707
+ .bayon-rte-body [data-rich-text-toggle][data-toggle-collapsed="true"] > [data-rich-text-children],
708
+ .bayon-rte-renderer [data-rich-text-toggle][data-toggle-collapsed="true"] > [data-toggle-content],
709
+ .bayon-rte-renderer [data-rich-text-toggle][data-toggle-collapsed="true"] > [data-rich-text-children] {
710
+ display: none;
711
+ }
712
+
713
+ .bayon-rte-toggle-button {
714
+ align-items: center;
715
+ background: transparent;
716
+ border: 0;
717
+ border-radius: 6px;
718
+ color: inherit;
719
+ cursor: pointer;
720
+ display: inline-flex;
721
+ flex: 0 0 auto;
722
+ font: inherit;
723
+ height: 28px;
724
+ justify-content: center;
725
+ line-height: 1;
726
+ margin: 0;
727
+ padding: 0;
728
+ width: 28px;
729
+ }
730
+
731
+ .bayon-rte-toggle-button:hover {
732
+ background: rgba(127, 56, 216, 0.1);
733
+ }
734
+
735
+ .bayon-rte-toggle-caret {
736
+ border-bottom: 1.8px solid currentColor;
737
+ border-right: 1.8px solid currentColor;
738
+ display: inline-block;
739
+ height: 7px;
740
+ transform: rotate(45deg) translate(-1px, -1px);
741
+ transition: transform 160ms ease;
742
+ width: 7px;
743
+ }
744
+
745
+ .bayon-rte-body [data-rich-text-toggle][data-toggle-collapsed="true"] .bayon-rte-toggle-caret,
746
+ .bayon-rte-renderer [data-rich-text-toggle][data-toggle-collapsed="true"] .bayon-rte-toggle-caret {
747
+ transform: rotate(-45deg) translate(1px, 0);
748
+ }
749
+
750
+ .bayon-rte-body [data-rich-text-checkbox] input,
751
+ .bayon-rte-renderer [data-rich-text-checkbox] input {
752
+ accent-color: #1a73e8;
753
+ appearance: none;
754
+ background: rgba(0,0,0,0.2);
755
+ border: 1.8px solid #bbb;
756
+ border-radius: 4px;
757
+ block-size: 1.05em;
758
+ flex: 0 0 auto;
759
+ inline-size: 1.05em;
760
+ margin-top: 0.32em;
761
+ position: relative;
762
+ }
763
+
764
+ .bayon-rte-body [data-rich-text-checkbox] input:checked,
765
+ .bayon-rte-renderer [data-rich-text-checkbox] input:checked {
766
+ background: #1a73e8;
767
+ border-color: #1a73e8;
768
+ }
769
+
770
+ .bayon-rte-body [data-rich-text-checkbox] input:checked::after,
771
+ .bayon-rte-renderer [data-rich-text-checkbox] input:checked::after {
772
+ border-bottom: 1.5px solid #ffffff;
773
+ border-right: 1.5px solid #ffffff;
774
+ content: "";
775
+ display: block;
776
+ height: 0.48em;
777
+ margin: 0.12em auto 0;
778
+ transform: rotate(45deg);
779
+ width: 0.26em;
780
+ }
781
+
782
+ .bayon-rte-body [data-rich-text-checkbox] span {
783
+ min-width: 0;
784
+ outline: 0;
785
+ }
786
+
787
+ .bayon-rte-renderer [data-rich-text-checkbox] span {
788
+ min-width: 0;
789
+ }
790
+
791
+ .bayon-rte-body pre,
792
+ .bayon-rte-renderer code {
793
+ background-color: rgba(255, 255, 255, 0.06);
794
+ border-radius: 8px;
795
+ font-family: var(--font-geist-mono), Consolas, monospace;
796
+ }
797
+
798
+ .bayon-rte-body pre {
799
+ font-size: 1rem;
800
+ padding: 10px 16px;
801
+ white-space: pre-wrap;
802
+ }
803
+
804
+ .bayon-rte-renderer {
805
+ color: inherit;
806
+ font-family: inherit;
807
+ font-size: 1rem;
808
+ line-height: 1.58;
809
+ white-space: break-spaces;
810
+ }
811
+
812
+ .bayon-rte-renderer code {
813
+ padding: 2px 5px;
814
+ }
815
+
816
+ .bayon-rte-renderer img {
817
+ max-width: 100%;
818
+ }
819
+
820
+ .bayon-rte-renderer li {
821
+ margin-bottom: 6px;
822
+ }
823
+
824
+ .bayon-rte-renderer figure:not([data-rich-text-image]),
825
+ .bayon-rte-renderer pre {
826
+ margin: 0;
827
+ padding: 10px 0;
828
+ }
829
+
830
+ .bayon-rte-renderer ul,
831
+ .bayon-rte-renderer ol {
832
+ margin-bottom: 16px;
833
+ padding-left: 24px;
834
+ }
835
+
836
+ .bayon-rte-divider {
837
+ border: 0;
838
+ border-top: 1px solid currentColor;
839
+ height: 0;
840
+ margin: 6px 0;
841
+ opacity: 0.5;
842
+ padding: 0;
843
+ }
844
+
845
+ .bayon-rte-meta {
846
+ color: rgba(255, 255, 255, 0.62);
847
+ display: flex;
848
+ flex-direction: column;
849
+ font-size: 0.75rem;
850
+ gap: 8px;
851
+ justify-content: space-between;
852
+ line-height: 1.66;
853
+ }
854
+
855
+ .bayon-rte-toolbar {
856
+ align-items: center;
857
+ background: rgba(41, 41, 41, 0.92);
858
+ border: 1px solid rgba(246, 236, 255, 0.12);
859
+ border-radius: 8px;
860
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
861
+ display: flex;
862
+ gap: 4px;
863
+ left: var(--bayon-rte-toolbar-left);
864
+ padding: 4px;
865
+ position: absolute;
866
+ top: var(--bayon-rte-toolbar-top);
867
+ transform: translateX(-50%);
868
+ z-index: 8;
869
+ }
870
+
871
+ .bayon-rte-toolbar--above::after {
872
+ border-left: 10px solid transparent;
873
+ border-right: 10px solid transparent;
874
+ border-top: 10px solid rgba(41, 41, 41, 0.92);
875
+ bottom: -9px;
876
+ content: "";
877
+ left: 48%;
878
+ position: absolute;
879
+ }
880
+
881
+ .bayon-rte-toolbar--below::before {
882
+ border-bottom: 10px solid rgba(41, 41, 41, 0.92);
883
+ border-left: 10px solid transparent;
884
+ border-right: 10px solid transparent;
885
+ content: "";
886
+ left: 48%;
887
+ position: absolute;
888
+ top: -9px;
889
+ }
890
+
891
+ .bayon-rte-link-input {
892
+ align-items: center;
893
+ background: rgba(41, 41, 41, 0.92);
894
+ border: 1px solid rgba(246, 236, 255, 0.12);
895
+ border-radius: 8px;
896
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
897
+ display: flex;
898
+ gap: 4px;
899
+ left: var(--bayon-rte-link-input-left);
900
+ padding: 4px;
901
+ position: absolute;
902
+ top: var(--bayon-rte-link-input-top);
903
+ transform: translateX(-50%);
904
+ width: min(320px, calc(100vw - 32px));
905
+ z-index: 9;
906
+ }
907
+
908
+ .bayon-rte-link-input--above::after {
909
+ border-left: 10px solid transparent;
910
+ border-right: 10px solid transparent;
911
+ border-top: 10px solid rgba(41, 41, 41, 0.92);
912
+ bottom: -9px;
913
+ content: "";
914
+ left: 48%;
915
+ position: absolute;
916
+ }
917
+
918
+ .bayon-rte-link-input--below::before {
919
+ border-bottom: 10px solid rgba(41, 41, 41, 0.92);
920
+ border-left: 10px solid transparent;
921
+ border-right: 10px solid transparent;
922
+ content: "";
923
+ left: 48%;
924
+ position: absolute;
925
+ top: -9px;
926
+ }
927
+
928
+ .bayon-rte-link-input__field {
929
+ background: rgba(255, 255, 255, 0.08);
930
+ border: 1px solid rgba(246, 236, 255, 0.14);
931
+ border-radius: 6px;
932
+ color: rgba(246, 236, 255, 0.96);
933
+ flex: 1 1 auto;
934
+ font: inherit;
935
+ font-size: 0.86rem;
936
+ height: 28px;
937
+ min-width: 0;
938
+ outline: 0;
939
+ padding: 0 8px;
940
+ }
941
+
942
+ .bayon-rte-link-input__field::placeholder {
943
+ color: rgba(246, 236, 255, 0.48);
944
+ }
945
+
946
+ .bayon-rte-link-input__field:focus {
947
+ border-color: rgba(186, 128, 255, 0.64);
948
+ }
949
+
950
+ .bayon-rte-link-input__action {
951
+ border-radius: 6px;
952
+ color: rgba(186, 128, 255, 0.86);
953
+ flex: 0 0 auto;
954
+ height: 28px;
955
+ width: 28px;
956
+ }
957
+
958
+ .bayon-rte-link-input__action:hover {
959
+ background: rgba(127, 56, 216, 0.12);
960
+ color: rgba(246, 236, 255, 0.96);
961
+ }
962
+
963
+ .bayon-rte-icon-button {
964
+ align-items: center;
965
+ background: transparent;
966
+ border: 0;
967
+ border-radius: 8px;
968
+ color: inherit;
969
+ cursor: pointer;
970
+ display: inline-flex;
971
+ justify-content: center;
972
+ padding: 0;
973
+ }
974
+
975
+ .bayon-rte-icon-button:disabled {
976
+ cursor: default;
977
+ opacity: 0.58;
978
+ }
979
+
980
+ .bayon-rte-toolbar__button {
981
+ border-left: 0;
982
+ border-radius: 6px;
983
+ color: rgba(186, 128, 255, 0.86);
984
+ height: 28px;
985
+ width: 28px;
986
+ }
987
+
988
+ .bayon-rte-toolbar__button--divider {
989
+ box-shadow: -6px 0 0 -5px rgba(246, 236, 255, 0.12);
990
+ margin-left: 4px;
991
+ }
992
+
993
+ .bayon-rte-toolbar__button:hover {
994
+ background: rgba(127, 56, 216, 0.12);
995
+ color: rgba(246, 236, 255, 0.96);
996
+ }
997
+
998
+ .bayon-rte-special-tool {
999
+ align-items: center;
1000
+ display: flex;
1001
+ gap: 8px;
1002
+ left: 0;
1003
+ margin-top: 0;
1004
+ min-height: 28px;
1005
+ opacity: 0;
1006
+ pointer-events: none;
1007
+ position: absolute;
1008
+ top: var(--bayon-rte-special-tool-top);
1009
+ transform: translate(-58px, 8px) scale(0.96);
1010
+ transition: opacity 720ms ease, transform 860ms cubic-bezier(0.16, 1, 0.3, 1);
1011
+ z-index: 6;
1012
+ margin-top: 6px;
1013
+ }
1014
+
1015
+ .bayon-rte-block-tool {
1016
+ align-items: center;
1017
+ display: flex;
1018
+ gap: 6px;
1019
+ left: var(--bayon-rte-block-tool-left);
1020
+ min-height: 34px;
1021
+ padding: 4px 14px 4px 0;
1022
+ position: absolute;
1023
+ top: var(--bayon-rte-block-tool-top);
1024
+ transform: translate(-28px, 8px);
1025
+ z-index: 5;
1026
+ }
1027
+
1028
+ .bayon-rte-block-tool--menu-open {
1029
+ transform: translate(-28px, 2px);
1030
+ }
1031
+
1032
+ .bayon-rte-block-tool--image {
1033
+ transform: translate(-36px, 8px);
1034
+ }
1035
+
1036
+ .bayon-rte-block-tool--image.bayon-rte-block-tool--menu-open {
1037
+ transform: translate(-36px, 2px);
1038
+ }
1039
+
1040
+ .bayon-rte-block-hover-zone {
1041
+ height: var(--bayon-rte-block-hover-zone-height);
1042
+ left: var(--bayon-rte-block-hover-zone-left);
1043
+ min-height: 34px;
1044
+ pointer-events: auto;
1045
+ position: absolute;
1046
+ top: var(--bayon-rte-block-hover-zone-top);
1047
+ transform: translate(-72px, 8px);
1048
+ width: 70px;
1049
+ z-index: 4;
1050
+ }
1051
+
1052
+ .bayon-rte-block-hover-zone--image {
1053
+ transform: translate(-44px, 8px);
1054
+ width: 44px;
1055
+ }
1056
+
1057
+ .bayon-rte-block-handle {
1058
+ background: transparent;
1059
+ color: rgba(186, 128, 255, 0.86);
1060
+ cursor: grab;
1061
+ height: 28px;
1062
+ touch-action: none;
1063
+ width: 28px;
1064
+ }
1065
+
1066
+ .bayon-rte-block-handle:hover {
1067
+ background: transparent;
1068
+ color: rgba(246, 236, 255, 0.96);
1069
+ }
1070
+
1071
+ .bayon-rte-block-handle--dragging {
1072
+ color: rgba(246, 236, 255, 0.98);
1073
+ transform: scale(1.08);
1074
+ }
1075
+
1076
+ .bayon-rte-block-handle--menu-open {
1077
+ color: rgba(246, 236, 255, 0.98);
1078
+ cursor: pointer;
1079
+ }
1080
+
1081
+ .bayon-rte-block-handle:active {
1082
+ cursor: grabbing;
1083
+ }
1084
+
1085
+ .bayon-rte-block-handle--menu-open:active {
1086
+ cursor: pointer;
1087
+ }
1088
+
1089
+ .bayon-rte-block-drag-indicator {
1090
+ background: linear-gradient(
1091
+ 90deg,
1092
+ rgba(180, 124, 255, 0),
1093
+ rgba(180, 124, 255, 0.9) 9%,
1094
+ rgba(180, 124, 255, 0.9) 92%,
1095
+ rgba(180, 124, 255, 0)
1096
+ );
1097
+ border-radius: 999px;
1098
+ height: 2px;
1099
+ left: var(--bayon-rte-block-drag-indicator-left);
1100
+ pointer-events: none;
1101
+ position: absolute;
1102
+ right: 0;
1103
+ top: var(--bayon-rte-block-drag-indicator-top);
1104
+ transform: translateY(-1px);
1105
+ z-index: 4;
1106
+ }
1107
+
1108
+ .bayon-rte-block-drag-indicator::before {
1109
+ background: rgba(180, 124, 255, 0.95);
1110
+ border-radius: 999px;
1111
+ content: "";
1112
+ height: 8px;
1113
+ left: -3px;
1114
+ position: absolute;
1115
+ top: -3px;
1116
+ width: 8px;
1117
+ }
1118
+
1119
+ .bayon-rte-block-drag-indicator--invalid {
1120
+ background: linear-gradient(
1121
+ 90deg,
1122
+ rgba(255, 92, 92, 0),
1123
+ rgba(255, 92, 92, 0.9) 9%,
1124
+ rgba(255, 92, 92, 0.9) 92%,
1125
+ rgba(255, 92, 92, 0)
1126
+ );
1127
+ }
1128
+
1129
+ .bayon-rte-block-drag-indicator--invalid::before {
1130
+ align-items: center;
1131
+ background: rgba(255, 92, 92, 0.95);
1132
+ color: #ffffff;
1133
+ content: "x";
1134
+ display: inline-flex;
1135
+ font-size: 9px;
1136
+ font-weight: 700;
1137
+ height: 12px;
1138
+ justify-content: center;
1139
+ left: -6px;
1140
+ line-height: 1;
1141
+ top: -5px;
1142
+ width: 12px;
1143
+ }
1144
+
1145
+ .bayon-rte-special-tool--visible {
1146
+ opacity: 1;
1147
+ pointer-events: auto;
1148
+ transform: translate(-58px, 6px) scale(1);
1149
+ }
1150
+
1151
+ .bayon-rte-special-tool__actions,
1152
+ .bayon-rte-block-tool__actions {
1153
+ background: rgba(41, 41, 41, 0.92);
1154
+ border: 1px solid rgba(246, 236, 255, 0.12);
1155
+ border-radius: 8px;
1156
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
1157
+ display: flex;
1158
+ gap: 4px;
1159
+ padding: 4px;
1160
+ }
1161
+
1162
+ .bayon-rte-special-button {
1163
+ background-color: #ffffff;
1164
+ color: #7f38d8;
1165
+ height: 28px;
1166
+ width: 28px;
1167
+ }
1168
+
1169
+ .bayon-rte-special-button:hover {
1170
+ background-color: #fbf6ff;
1171
+ }
1172
+
1173
+ .bayon-rte-special-tool__actions .bayon-rte-special-button,
1174
+ .bayon-rte-block-tool__actions .bayon-rte-special-button {
1175
+ background: transparent;
1176
+ color: rgba(186, 128, 255, 0.86);
1177
+ height: 26px;
1178
+ width: 26px;
1179
+ }
1180
+
1181
+ .bayon-rte-special-tool__actions .bayon-rte-special-button:hover,
1182
+ .bayon-rte-block-tool__actions .bayon-rte-special-button:hover {
1183
+ background: rgba(127, 56, 216, 0.12);
1184
+ color: rgba(246, 236, 255, 0.96);
1185
+ }
1186
+
1187
+ .bayon-rte-special-toggle {
1188
+ background: transparent;
1189
+ border: 0;
1190
+ border-radius: 6px;
1191
+ color: rgba(186, 128, 255, 0.86);
1192
+ height: 20px;
1193
+ 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);
1194
+ width: 20px;
1195
+ }
1196
+
1197
+ .bayon-rte-special-toggle:hover {
1198
+ background: rgba(127, 56, 216, 0.12);
1199
+ color: rgba(246, 236, 255, 0.96);
1200
+ transform: scale(1.05) rotate(0deg);
1201
+ }
1202
+
1203
+ .bayon-rte-unsaved-backdrop {
1204
+ align-items: center;
1205
+ background: rgba(0, 0, 0, 0.42);
1206
+ display: flex;
1207
+ inset: 0;
1208
+ justify-content: center;
1209
+ padding: 24px;
1210
+ position: fixed;
1211
+ z-index: 1300;
1212
+ }
1213
+
1214
+ .bayon-rte-unsaved-dialog {
1215
+ background: #ffffff;
1216
+ border-radius: 8px;
1217
+ box-shadow: 0 18px 46px rgba(0, 0, 0, 0.24);
1218
+ color: #1f1f1f;
1219
+ max-width: 480px;
1220
+ padding: 24px;
1221
+ width: min(100%, 480px);
1222
+ }
1223
+
1224
+ .bayon-rte-unsaved-dialog h2 {
1225
+ font-size: 1.25rem;
1226
+ line-height: 1.25;
1227
+ margin: 0 0 12px;
1228
+ }
1229
+
1230
+ .bayon-rte-unsaved-dialog p {
1231
+ color: #555;
1232
+ margin: 0;
1233
+ }
1234
+
1235
+ .bayon-rte-unsaved-error {
1236
+ background: #fdecea;
1237
+ border-radius: 8px;
1238
+ color: #611a15;
1239
+ margin-top: 16px;
1240
+ padding: 10px 12px;
1241
+ }
1242
+
1243
+ .bayon-rte-unsaved-actions {
1244
+ display: flex;
1245
+ flex-wrap: wrap;
1246
+ gap: 8px;
1247
+ justify-content: flex-end;
1248
+ margin-top: 24px;
1249
+ }
1250
+
1251
+ .bayon-rte-button {
1252
+ background: transparent;
1253
+ border: 1px solid transparent;
1254
+ border-radius: 6px;
1255
+ color: #7f38d8;
1256
+ cursor: pointer;
1257
+ font: inherit;
1258
+ padding: 8px 12px;
1259
+ }
1260
+
1261
+ .bayon-rte-button:hover {
1262
+ background: rgba(127, 56, 216, 0.08);
1263
+ }
1264
+
1265
+ .bayon-rte-button:disabled {
1266
+ cursor: default;
1267
+ opacity: 0.6;
1268
+ }
1269
+
1270
+ .bayon-rte-button--danger {
1271
+ color: #c62828;
1272
+ }
1273
+
1274
+ .bayon-rte-button--primary {
1275
+ background: #7f38d8;
1276
+ color: #ffffff;
1277
+ }
1278
+
1279
+ .bayon-rte-button--primary:hover {
1280
+ background: #6f2fc4;
1281
+ }
1282
+
1283
+ @media (min-width: 600px) {
1284
+ .bayon-rte-surface {
1285
+ min-height: min(max(550px, 72vh), 820px);
1286
+ padding: 24px;
1287
+ }
1288
+
1289
+ .bayon-rte-surface__inner {
1290
+ padding: 0 50px 0 40px;
1291
+ }
1292
+
1293
+ .bayon-rte-transcription {
1294
+ top: -6px;
1295
+ }
1296
+
1297
+ .bayon-rte-title {
1298
+ font-size: 2.45rem;
1299
+ }
1300
+
1301
+ .bayon-rte-body,
1302
+ .bayon-rte-renderer {
1303
+ font-size: 1.25rem;
1304
+ line-height: 1.68;
1305
+ }
1306
+
1307
+ .bayon-rte-body {
1308
+ min-height: 360px;
1309
+ }
1310
+
1311
+ .bayon-rte-meta {
1312
+ flex-direction: row;
1313
+ }
1314
+
1315
+ .bayon-rte-special-tool {
1316
+ gap: 8px;
1317
+ min-height: 28px;
1318
+ transform: translate(-58px, 8px) scale(0.96);
1319
+ }
1320
+
1321
+ .bayon-rte-special-tool--visible {
1322
+ transform: translate(-58px, 6px) scale(1);
1323
+ }
1324
+
1325
+ .bayon-rte-block-tool {
1326
+ min-height: 34px;
1327
+ transform: translate(-34px, 8px);
1328
+ }
1329
+
1330
+ .bayon-rte-block-tool--menu-open {
1331
+ transform: translate(-34px, 2px);
1332
+ }
1333
+
1334
+ .bayon-rte-block-hover-zone {
1335
+ transform: translate(-72px, 8px);
1336
+ width: 70px;
1337
+ }
1338
+
1339
+ .bayon-rte-special-tool__actions,
1340
+ .bayon-rte-block-tool__actions {
1341
+ gap: 4px;
1342
+ }
1343
+
1344
+ .bayon-rte-special-tool__actions .bayon-rte-special-button,
1345
+ .bayon-rte-block-tool__actions .bayon-rte-special-button {
1346
+ height: 28px;
1347
+ width: 28px;
1348
+ }
1349
+
1350
+ .bayon-rte-special-toggle {
1351
+ height: 20px;
1352
+ width: 20px;
1353
+ }
1354
+ }
1355
+
1356
+ @media (min-width: 900px) {
1357
+ .bayon-rte-surface {
1358
+ padding-bottom: 0;
1359
+ padding-top: 0;
1360
+ }
1361
+ }
1362
+ `;
1363
+ function RichTextStyleScope() {
1364
+ return (0, jsx_runtime_1.jsx)("style", { children: richTextStyles });
1365
+ }