@editora/themes 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.
@@ -0,0 +1,512 @@
1
+ .rte-editor {
2
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
3
+ }
4
+
5
+ /* Toolbar wrapper for multiple rows */
6
+ .rte-toolbar-wrapper {
7
+ border-radius: 4px 4px 0 0;
8
+ }
9
+
10
+ .rte-toolbar {
11
+ display: flex;
12
+ gap: 4px;
13
+ padding: 8px;
14
+ background: #f5f5f5;
15
+ border: 1px solid #ddd;
16
+ border-bottom: none;
17
+ border-radius: 4px 4px 0 0;
18
+ align-items: center;
19
+ position: relative;
20
+ }
21
+
22
+ .rte-toolbar-items-container {
23
+ display: flex;
24
+ gap: 4px;
25
+ flex-wrap: nowrap;
26
+ align-items: center;
27
+ flex: 1;
28
+ }
29
+
30
+ .rte-toolbar-item {
31
+ position: relative;
32
+ display: flex;
33
+ align-items: center;
34
+ white-space: nowrap;
35
+ }
36
+
37
+ .rte-toolbar-button {
38
+ padding: 6px 12px;
39
+ border: 1px solid #ccc;
40
+ background: white;
41
+ cursor: pointer;
42
+ border-radius: 3px;
43
+ font-weight: 600;
44
+ font-size: 14px;
45
+ height: 30px;
46
+ display: flex;
47
+ align-items: center;
48
+ white-space: nowrap;
49
+ }
50
+
51
+ .rte-toolbar-button:hover {
52
+ background: #e9e9e9;
53
+ }
54
+
55
+ .rte-toolbar-input {
56
+ width: 26px;
57
+ padding: 6px 8px;
58
+ border: 1px solid #ccc;
59
+ border-radius: 3px;
60
+ font-size: 14px;
61
+ text-align: center;
62
+ }
63
+
64
+ .rte-toolbar-dropdown {
65
+ position: relative;
66
+ }
67
+
68
+ .rte-toolbar-dropdown-menu {
69
+ position: absolute;
70
+ top: 100%;
71
+ left: 0;
72
+ background: white;
73
+ border: 1px solid #ccc;
74
+ border-radius: 3px;
75
+ box-shadow: 0 2px 8px rgba(0,0,0,0.15);
76
+ min-width: 150px;
77
+ z-index: 1000;
78
+ margin-top: 2px;
79
+ }
80
+
81
+ .rte-toolbar-dropdown-item {
82
+ padding: 8px 12px;
83
+ cursor: pointer;
84
+ }
85
+
86
+ .rte-toolbar-dropdown-item:hover {
87
+ background: #f0f0f0;
88
+ }
89
+
90
+ /* Responsive Toolbar - More Button */
91
+ .rte-toolbar-more-button {
92
+ padding: 6px 10px;
93
+ border: 1px solid #ccc;
94
+ background: white;
95
+ cursor: pointer;
96
+ border-radius: 3px;
97
+ font-weight: 600;
98
+ font-size: 16px;
99
+ height: 30px;
100
+ display: flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ min-width: 30px;
104
+ transition: background-color 0.2s ease;
105
+ margin-left: auto;
106
+ }
107
+
108
+ .rte-toolbar-more-button:hover {
109
+ background: #e9e9e9;
110
+ }
111
+
112
+ .rte-toolbar-more-button.active {
113
+ background: #ddd;
114
+ border-color: #999;
115
+ }
116
+
117
+ /* Expanded row for hidden items - Slides down inline */
118
+ .rte-toolbar-expanded-row {
119
+ display: flex;
120
+ gap: 4px;
121
+ padding: 8px;
122
+ background: #f5f5f5;
123
+ border: 1px solid #ddd;
124
+ border-top: none;
125
+ max-height: 0;
126
+ overflow: hidden;
127
+ opacity: 0;
128
+ visibility: hidden;
129
+ transform: scaleY(0);
130
+ transform-origin: top;
131
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
132
+ flex-wrap: wrap;
133
+ align-items: center;
134
+ }
135
+
136
+ .rte-toolbar-expanded-row.show {
137
+ max-height: 200px;
138
+ opacity: 1;
139
+ visibility: visible;
140
+ transform: scaleY(1);
141
+ }
142
+
143
+ .rte-content {
144
+ font-size: 16px;
145
+ line-height: 1.6;
146
+ }
147
+
148
+ .rte-content p {
149
+ margin: 0 0 1em 0;
150
+ }
151
+
152
+ .rte-content h1 { font-size: 2em; margin: 0.67em 0; }
153
+ .rte-content h2 { font-size: 1.5em; margin: 0.75em 0; }
154
+ .rte-content h3 { font-size: 1.17em; margin: 0.83em 0; }
155
+ .rte-content h4 { font-size: 1em; margin: 1em 0; }
156
+ .rte-content h5 { font-size: 0.83em; margin: 1.17em 0; }
157
+ .rte-content h6 { font-size: 0.67em; margin: 1.33em 0; }
158
+
159
+ .rte-content ul,
160
+ .rte-content ol {
161
+ margin: 1em 0;
162
+ padding-left: 2em;
163
+ }
164
+
165
+ .rte-content code {
166
+ background: #f4f4f4;
167
+ padding: 2px 6px;
168
+ border-radius: 3px;
169
+ font-family: 'Courier New', monospace;
170
+ font-size: 0.9em;
171
+ }
172
+
173
+
174
+ .rte-content blockquote {
175
+ border-left: 4px solid #ddd;
176
+ margin: 1em 0;
177
+ padding-left: 1em;
178
+ color: #666;
179
+ }
180
+
181
+ .rte-content a {
182
+ color: #0066cc;
183
+ text-decoration: underline;
184
+ }
185
+
186
+ .rte-content a:hover {
187
+ color: #0052a3;
188
+ }
189
+
190
+ /* Color Picker Dialog Styles */
191
+ .rte-dialog-overlay {
192
+ position: fixed;
193
+ top: 0;
194
+ left: 0;
195
+ right: 0;
196
+ bottom: 0;
197
+ background: rgba(0, 0, 0, 0.5);
198
+ display: flex;
199
+ align-items: center;
200
+ justify-content: center;
201
+ z-index: 10000;
202
+ }
203
+
204
+ .rte-dialog-content {
205
+ background: white;
206
+ border-radius: 8px;
207
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
208
+ max-width: 400px;
209
+ width: 90%;
210
+ max-height: 90vh;
211
+ overflow-y: auto;
212
+ }
213
+
214
+ .rte-dialog-header {
215
+ padding: 16px 20px;
216
+ border-bottom: 1px solid #e0e0e0;
217
+ display: flex;
218
+ justify-content: space-between;
219
+ align-items: center;
220
+ }
221
+
222
+ .rte-dialog-header h3 {
223
+ margin: 0;
224
+ font-size: 18px;
225
+ font-weight: 600;
226
+ color: #333;
227
+ }
228
+
229
+ .rte-dialog-close {
230
+ background: none;
231
+ border: none;
232
+ font-size: 24px;
233
+ cursor: pointer;
234
+ color: #666;
235
+ padding: 0;
236
+ width: 30px;
237
+ height: 30px;
238
+ display: flex;
239
+ align-items: center;
240
+ justify-content: center;
241
+ }
242
+
243
+ .rte-dialog-close:hover {
244
+ color: #333;
245
+ }
246
+
247
+ .rte-dialog-body {
248
+ padding: 20px;
249
+ }
250
+
251
+ .rte-dialog-footer {
252
+ padding: 16px 20px;
253
+ border-top: 1px solid #e0e0e0;
254
+ display: flex;
255
+ justify-content: flex-end;
256
+ gap: 12px;
257
+ }
258
+
259
+ .rte-btn {
260
+ padding: 8px 16px;
261
+ border: 1px solid #ccc;
262
+ border-radius: 4px;
263
+ cursor: pointer;
264
+ font-size: 14px;
265
+ font-weight: 500;
266
+ transition: all 0.2s;
267
+ }
268
+
269
+ .rte-btn:hover {
270
+ border-color: #999;
271
+ }
272
+
273
+ .rte-btn-primary {
274
+ background: #0066cc;
275
+ color: white;
276
+ border-color: #0066cc;
277
+ }
278
+
279
+ .rte-btn-primary:hover {
280
+ background: #0052a3;
281
+ border-color: #0052a3;
282
+ }
283
+
284
+ .rte-btn-secondary {
285
+ background: white;
286
+ color: #333;
287
+ }
288
+
289
+ .rte-btn-secondary:hover {
290
+ background: #f5f5f5;
291
+ }
292
+
293
+ .rte-form-group {
294
+ margin-bottom: 16px;
295
+ }
296
+
297
+ .rte-form-label {
298
+ display: block;
299
+ margin-bottom: 6px;
300
+ font-weight: 500;
301
+ color: #333;
302
+ font-size: 14px;
303
+ }
304
+
305
+ .rte-form-input {
306
+ width: 100%;
307
+ padding: 8px 12px;
308
+ border: 1px solid #ccc;
309
+ border-radius: 4px;
310
+ font-size: 14px;
311
+ box-sizing: border-box;
312
+ }
313
+
314
+ .rte-form-input:focus {
315
+ outline: none;
316
+ border-color: #0066cc;
317
+ box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
318
+ }
319
+
320
+ .rte-form-row {
321
+ display: flex;
322
+ gap: 12px;
323
+ }
324
+
325
+ .rte-form-row .rte-form-group {
326
+ flex: 1;
327
+ }
328
+
329
+ /* Color Picker Specific Styles */
330
+ .rte-color-preview {
331
+ display: flex;
332
+ align-items: center;
333
+ gap: 12px;
334
+ margin-bottom: 20px;
335
+ padding: 12px;
336
+ background: #f8f9fa;
337
+ border-radius: 4px;
338
+ }
339
+
340
+ .rte-color-sample {
341
+ width: 40px;
342
+ height: 40px;
343
+ border-radius: 4px;
344
+ border: 2px solid #ddd;
345
+ }
346
+
347
+ .rte-color-value {
348
+ font-family: monospace;
349
+ font-size: 14px;
350
+ font-weight: 500;
351
+ color: #333;
352
+ }
353
+
354
+ .rte-color-section {
355
+ margin-bottom: 20px;
356
+ }
357
+
358
+ .rte-color-label {
359
+ margin-bottom: 8px;
360
+ font-size: 14px;
361
+ font-weight: 500;
362
+ }
363
+
364
+ .rte-color-palette {
365
+ display: grid;
366
+ grid-template-columns: repeat(6, 1fr);
367
+ gap: 8px;
368
+ margin-bottom: 16px;
369
+ }
370
+
371
+ .rte-color-swatch {
372
+ width: 32px;
373
+ height: 32px;
374
+ border: 2px solid #ddd;
375
+ border-radius: 4px;
376
+ cursor: pointer;
377
+ transition: all 0.2s;
378
+ }
379
+
380
+ .rte-color-swatch:hover {
381
+ border-color: #999;
382
+ transform: scale(1.1);
383
+ }
384
+
385
+ .rte-color-swatch.selected {
386
+ border-color: #0066cc;
387
+ box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.3);
388
+ }
389
+
390
+ .rte-custom-color {
391
+ display: flex;
392
+ align-items: center;
393
+ gap: 12px;
394
+ }
395
+
396
+ .rte-color-input {
397
+ width: 60px;
398
+ height: 40px;
399
+ border: 2px solid #ddd;
400
+ border-radius: 4px;
401
+ cursor: pointer;
402
+ }
403
+
404
+ .rte-color-text-input {
405
+ flex: 1;
406
+ padding: 8px 12px;
407
+ border: 1px solid #ccc;
408
+ border-radius: 4px;
409
+ font-family: monospace;
410
+ font-size: 14px;
411
+ }
412
+
413
+ .rte-color-text-input:focus {
414
+ outline: none;
415
+ border-color: #0066cc;
416
+ box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
417
+ }
418
+
419
+ .rte-iframe-preview {
420
+ border: 1px solid #ddd;
421
+ border-radius: 4px;
422
+ overflow: hidden;
423
+ background: #f8f9fa;
424
+ }
425
+
426
+ .rte-iframe-preview iframe {
427
+ display: block;
428
+ border: none;
429
+ }
430
+
431
+ /* Size Preset Styles */
432
+ .rte-size-presets {
433
+ display: flex;
434
+ flex-direction: column;
435
+ gap: 8px;
436
+ }
437
+
438
+ .rte-radio-option {
439
+ display: flex;
440
+ align-items: flex-start;
441
+ gap: 8px;
442
+ padding: 8px;
443
+ border: 1px solid #e0e0e0;
444
+ border-radius: 4px;
445
+ background: #fafbfc;
446
+ }
447
+
448
+ .rte-radio-option:hover {
449
+ background: #f1f3f4;
450
+ }
451
+
452
+ .rte-radio-option input[type="radio"] {
453
+ margin-top: 2px;
454
+ }
455
+
456
+ .rte-radio-label {
457
+ flex: 1;
458
+ line-height: 1.4;
459
+ }
460
+
461
+ /* Checklist Styles */
462
+ .rte-content ul[data-type="checklist"] {
463
+ list-style: none;
464
+ padding-left: 0;
465
+ margin: 1em 0;
466
+ }
467
+
468
+ .rte-content li[data-type="checklist-item"] {
469
+ position: relative;
470
+ padding-left: 2em;
471
+ margin-bottom: 0.5em;
472
+ line-height: 1.6;
473
+ }
474
+
475
+ .rte-content li[data-type="checklist-item"]:before {
476
+ content: '';
477
+ position: absolute;
478
+ left: 0;
479
+ top: 0.1em;
480
+ width: 1.2em;
481
+ height: 1.2em;
482
+ border: 2px solid #ccc;
483
+ border-radius: 3px;
484
+ background: white;
485
+ cursor: pointer;
486
+ transition: all 0.2s ease;
487
+ }
488
+
489
+ .rte-content li[data-type="checklist-item"]:hover:before {
490
+ border-color: #999;
491
+ }
492
+
493
+ .rte-content li[data-type="checklist-item"][data-checked="true"]:before {
494
+ background: #0066cc;
495
+ border-color: #0066cc;
496
+ }
497
+
498
+ .rte-content li[data-type="checklist-item"][data-checked="true"]:after {
499
+ content: '✓';
500
+ position: absolute;
501
+ left: 0.36em;
502
+ top: 0.12em;
503
+ color: white;
504
+ font-size: 0.9em;
505
+ font-weight: bold;
506
+ pointer-events: none;
507
+ }
508
+
509
+ .rte-content li[data-type="checklist-item"][data-checked="true"] p {
510
+ text-decoration: line-through;
511
+ color: #666;
512
+ }