leksy-editor 2.6.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/style.css DELETED
@@ -1,721 +0,0 @@
1
- .leksy-editor-container *,
2
- *:before,
3
- *:after {
4
- box-sizing: border-box;
5
- }
6
-
7
- .leksy-editor-container body,
8
- .leksy-editor-container p,
9
- .leksy-editor-container ul,
10
- .leksy-editor-container ol,
11
- .leksy-editor-container li {
12
- margin: 0;
13
- padding: 0;
14
- color: black;
15
- font-weight: normal;
16
- }
17
-
18
- .leksy-editor-container button {
19
- appearance: auto;
20
- text-rendering: auto;
21
- color: unset;
22
- letter-spacing: normal;
23
- word-spacing: normal;
24
- line-height: normal;
25
- text-transform: none;
26
- text-indent: 0px;
27
- text-shadow: none;
28
- display: inline-block;
29
- text-align: center;
30
- align-items: center;
31
- cursor: pointer;
32
- box-sizing: border-box;
33
- background-color: unset;
34
- padding-block: unset;
35
- border-width: 0px;
36
- border-style: outset;
37
- border-color: unset;
38
- border-image: initial;
39
- }
40
-
41
- .leksy-editor-container {
42
- width: 100%;
43
- min-height: 400px;
44
- border: 1px solid black;
45
- border-radius: 6px;
46
- display: flex;
47
- flex-direction: column;
48
- position: relative;
49
- }
50
-
51
- .leksy-editor-container.fullscreen {
52
- position: fixed;
53
- top: 0;
54
- left: 0;
55
- height: 100vh;
56
- background-color: white;
57
- z-index: 1000;
58
- border-radius: 0px;
59
- }
60
-
61
- .leksy-editor-toolbar {
62
- padding: 6px;
63
- border-bottom: 1px solid black;
64
- background-color: ghostwhite;
65
- flex: 0 1 auto;
66
- display: flex;
67
- flex-wrap: wrap;
68
- border-radius: 6px 6px 0px 0px;
69
- align-items: center;
70
- }
71
-
72
- .leksy-editor-toolbar-items {
73
- outline: 1px solid gray;
74
- display: flex;
75
- border-radius: 4px;
76
- margin: 2px;
77
- }
78
-
79
- .leksy-editor-toolbar-items span {
80
- font-size: 14px;
81
- white-space: nowrap;
82
- }
83
-
84
- .leksy-editor-toolbar-item {
85
- margin: 1px;
86
- padding: 6px 0;
87
- height: 34px;
88
- width: 34px;
89
- background: transparent;
90
- border-radius: 4px;
91
- position: relative;
92
- user-select: none;
93
- vertical-align: top;
94
- font-size: 1rem;
95
- cursor: pointer;
96
- outline: 0px;
97
- text-align: center;
98
- transition: .3s;
99
- }
100
-
101
- .leksy-editor-toolbar-item.active {
102
- color: #4592ff;
103
- fill: #4592ff;
104
- }
105
-
106
- .leksy-editor-toolbar-item.disabled {
107
- cursor: not-allowed;
108
- color: #bdbdbd;
109
- fill: #bdbdbd;
110
- }
111
-
112
- .leksy-editor-toolbar-item svg {
113
- width: 14px;
114
- height: 14px;
115
- }
116
-
117
- .leksy-editor-toolbar-item.select {
118
- padding: 0 8px;
119
- width: unset;
120
- }
121
-
122
- .leksy-editor-toolbar-item.button-select {
123
- border-radius: 4px 0 0 4px;
124
- margin-right: 0;
125
- }
126
-
127
- .leksy-editor-toolbar-item.select.button-select {
128
- padding: 0;
129
- border-radius: 0 4px 4px 0;
130
- margin-left: 0;
131
- margin-right: 1px;
132
- }
133
-
134
- .leksy-editor-toolbar-item.select.button-select svg {
135
- width: 18px;
136
- height: 18px;
137
- }
138
-
139
- .leksy-editor-toolbar-item.reset-color {
140
- width: unset;
141
- padding: 4px 8px;
142
- }
143
-
144
- .leksy-editor-toolbar-item.color {
145
- width: unset;
146
- padding: 4px 8px;
147
- }
148
-
149
- .leksy-editor-toolbar-item.color input {
150
- border: none;
151
- width: 25px;
152
- height: 25px;
153
- background: none;
154
- }
155
-
156
- .leksy-editor-toolbar-item.color div {
157
- display: inline;
158
- }
159
-
160
- .leksy-editor-toolbar-item:hover {
161
- background-color: lightgrey;
162
- border: pink;
163
- }
164
-
165
- .leksy-editor-toolbar-item:hover::after {
166
- opacity: 1;
167
- visibility: visible;
168
- }
169
-
170
- .leksy-editor-toolbar-item::after {
171
- content: attr(data-title);
172
- position: fixed;
173
- top: var(--leksy-editor-top, 0);
174
- left: var(--leksy-editor-left, 0);
175
- opacity: 0;
176
- visibility: hidden;
177
- transition: opacity 0.3s, visibility 0.3s;
178
- background-color: gray;
179
- box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.2);
180
- color: black;
181
- padding: 5px 10px;
182
- border-radius: 5px;
183
- transform: translateX(-50%);
184
- white-space: nowrap;
185
- z-index: 1;
186
- pointer-events: none;
187
- font-size: 0.875rem;
188
- }
189
-
190
- .leksy-editor-toolbar-table {
191
- display: grid;
192
- grid-template-columns: repeat(10, 20px);
193
- grid-template-rows: repeat(10, 20px);
194
- }
195
-
196
- .leksy-editor-toolbar-table .cell {
197
- width: 16px;
198
- height: 16px;
199
- border: 1px solid gray;
200
- background-color: lightgray;
201
- }
202
-
203
- .leksy-editor-toolbar-table .cell.selected {
204
- background-color: #0c8;
205
- }
206
-
207
- .leksy-editor-placeholder {
208
- user-select: none;
209
- opacity: 0.5;
210
- padding: 4px;
211
- position: absolute;
212
- }
213
-
214
- .leksy-editor-resize-items {
215
- margin-top: 4px;
216
- width: 235px;
217
- }
218
-
219
- .leksy-editor-resize-item {
220
- margin: 1px;
221
- padding: 6px;
222
- height: 34px;
223
- background: transparent;
224
- border-radius: 4px;
225
- position: relative;
226
- user-select: none;
227
- vertical-align: top;
228
- font-size: 1rem;
229
- cursor: pointer;
230
- outline: 0px;
231
- text-align: center;
232
- }
233
-
234
- .leksy-editor-resize-item svg {
235
- width: 15px;
236
- }
237
-
238
- .leksy-editor-resize-item:hover {
239
- background-color: lightgrey;
240
- border: pink;
241
- }
242
-
243
- .leksy-editor-resize-item:hover::after {
244
- opacity: 1;
245
- visibility: visible;
246
- }
247
-
248
- .leksy-editor-resize-item:not([data-title])::after,
249
- .leksy-editor-resize-item[data-title=""]::after {
250
- display: none;
251
- }
252
-
253
- .leksy-editor-resize-item::after {
254
- content: attr(data-title);
255
- position: absolute;
256
- opacity: 0;
257
- visibility: hidden;
258
- transition: opacity 0.3s, visibility 0.3s;
259
- background-color: gray;
260
- box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.2);
261
- color: black;
262
- padding: 5px 10px;
263
- border-radius: 5px;
264
- bottom: -90%;
265
- left: 60%;
266
- transform: translateX(-50%);
267
- white-space: nowrap;
268
- z-index: 1;
269
- pointer-events: none;
270
- font-size: 0.875rem;
271
- }
272
-
273
- .leksy-editor-dropdown-content {
274
- display: none;
275
- position: absolute;
276
- min-width: 160px;
277
- box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
278
- border-radius: 6px;
279
- overflow: hidden;
280
- padding: 4px;
281
- z-index: 2000;
282
- background-color: white;
283
- }
284
-
285
- .leksy-editor-dropdown-content>button {
286
- display: block;
287
- width: 100%;
288
- margin: 0;
289
- text-align: left;
290
- padding: 8px 16px;
291
- cursor: pointer;
292
- white-space: nowrap;
293
- transition: .3s;
294
- border-radius: 6px;
295
- }
296
-
297
- .leksy-editor-dropdown-content>button svg {
298
- width: 10px;
299
- margin-right: 2px;
300
- }
301
-
302
- .leksy-editor-dropdown-content>button:hover {
303
- background-color: #28a745;
304
- color: #fff;
305
- }
306
-
307
- .leksy-editor-dropdown-content.gallery {
308
- width: 266px;
309
- height: 350px;
310
- padding: 0;
311
- overflow-y: auto;
312
- }
313
-
314
- .leksy-editor-dropdown-content.gallery img {
315
- width: 100%;
316
- }
317
-
318
- .leksy-editor-dropdown-content.gallery input {
319
- width: 100%;
320
- line-height: 1.5rem;
321
- padding: 2px 8px;
322
- border: 1px solid #ccc;
323
- border-radius: 6px;
324
- transition: all 0.3s ease-in-out;
325
- box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
326
- font-size: 14px;
327
- position: sticky;
328
- top: 0;
329
- }
330
-
331
- .leksy-editor-dropdown-content.gallery input:focus {
332
- border-color: #4592ff;
333
- box-shadow: 0px 4px 8px rgba(69, 146, 255, 0.3);
334
- outline: none;
335
- }
336
-
337
-
338
- .leksy-editor-dropdown-content.category {
339
- width: 300px;
340
- height: 350px;
341
- padding: 6px;
342
- overflow-y: auto;
343
- user-select: none;
344
- }
345
-
346
- .leksy-editor-dropdown-content.category div {
347
- font-weight: bold;
348
- margin-top: 8px;
349
- margin-bottom: 4px;
350
- }
351
-
352
- .leksy-editor-dropdown-content.category span {
353
- padding: 4px;
354
- cursor: pointer;
355
- }
356
-
357
- .leksy-editor-dropdown-content.mention {
358
- width: 250px;
359
- height: 350px;
360
- padding: 6px;
361
- overflow-y: auto;
362
- user-select: none;
363
- }
364
-
365
- .leksy-editor-dropdown-content.mention input {
366
- width: 100%;
367
- line-height: 1.5rem;
368
- margin: 4px 0;
369
- }
370
-
371
- .leksy-editor-dropdown-content.mention button {
372
- display: block;
373
- width: 100%;
374
- margin: 0;
375
- text-align: left;
376
- padding: 8px 16px;
377
- cursor: pointer;
378
- white-space: nowrap;
379
- }
380
-
381
- .leksy-editor-dropdown-content.mention button:hover {
382
- background-color: green;
383
- }
384
-
385
- .leksy-editor-popover-content {
386
- display: none;
387
- position: absolute;
388
- min-width: 160px;
389
- box-shadow: 0 0 10px 0 grey;
390
- border-radius: 6px;
391
- padding: 4px;
392
- z-index: 2000;
393
- background-color: white;
394
- }
395
-
396
- .leksy-editor-popover-tabs {
397
- display: flex;
398
- background: #f1f1f1;
399
- border-bottom: 1px solid #ccc;
400
- }
401
-
402
- button.leksy-editor-popover-tab {
403
- padding: 8px 12px;
404
- border: none;
405
- background: transparent;
406
- cursor: pointer;
407
- }
408
-
409
- button.leksy-editor-popover-tab.active {
410
- border-bottom: 2px solid black;
411
- font-weight: bold;
412
- }
413
-
414
- .leksy-editor-popover-tabs .leksy-editor-popover-tab:not(:last-child) {
415
- border-right: 1px solid #ccc;
416
- }
417
-
418
- .leksy-editor-codeview {
419
- flex: 1 1 auto;
420
- padding: 4px;
421
- background-color: #1f1f1f;
422
- color: #74bed8;
423
- border: 0;
424
- outline: 0;
425
- display: none;
426
- resize: none;
427
- height: 400px;
428
- }
429
-
430
- .leksy-editor-stepper {
431
- height: 24px;
432
- border-top: 1px solid black;
433
- border-radius: 0 0 4px 4px;
434
- background-color: ghostwhite;
435
- padding: 2px 5px;
436
- text-transform: uppercase;
437
- display: flex;
438
- justify-content: space-between;
439
- font-size: 14px;
440
- user-select: none;
441
- /* Remove the last breadcrumb's slash */
442
- }
443
-
444
- .leksy-editor-stepper .breadcrumb {
445
- list-style: none;
446
- display: flex;
447
- overflow: hidden;
448
- justify-content: end;
449
- }
450
-
451
- .leksy-editor-stepper .breadcrumb li {
452
- margin-left: 5px;
453
- }
454
-
455
- .leksy-editor-stepper .breadcrumb li::after {
456
- content: ">";
457
- margin-left: 5px;
458
- }
459
-
460
- .leksy-editor-stepper .breadcrumb li:last-child::after {
461
- content: "";
462
- }
463
-
464
- .leksy-editor-modal {
465
- position: fixed;
466
- z-index: 100;
467
- left: 0;
468
- top: 0;
469
- width: 100%;
470
- height: 100%;
471
- overflow: auto;
472
- background-color: rgba(0, 0, 0, 0.5);
473
- }
474
-
475
- .leksy-editor-modal.leksy-editor-draggable-modal {
476
- position: fixed;
477
- top: 50%;
478
- left: 50%;
479
- transform: translate(-50%, -50%);
480
- background: inherit;
481
- width: fit-content;
482
- height: inherit;
483
- }
484
-
485
- .leksy-editor-modal-content {
486
- margin: 10% auto;
487
- border: 1px solid #898f9f;
488
- max-width: 500px;
489
- border-radius: 12px;
490
- }
491
-
492
- .leksy-editor-modal.leksy-editor-draggable-modal .leksy-editor-modal-content {
493
- margin: unset;
494
- width: fit-content;
495
- }
496
-
497
- .leksy-editor-modal-header {
498
- padding: 1.25rem;
499
- display: flex;
500
- align-items: center;
501
- justify-content: space-between;
502
- background-color: #fff;
503
- border-bottom: 1px solid #d4d5d8;
504
- border-radius: 12px 12px 0 0;
505
- overflow: hidden;
506
- }
507
-
508
- .leksy-editor-modal-body {
509
- background-color: #fff;
510
- padding: 1.5rem;
511
- width: 100%;
512
- }
513
-
514
- .leksy-editor-modal-body .warning {
515
- color: red;
516
- }
517
-
518
- .leksy-editor-modal-footer {
519
- background-color: #f2f2f3;
520
- padding: 1.25rem;
521
- display: flex;
522
- justify-content: flex-end;
523
- gap: 12px;
524
- border-radius: 0 0 12px 12px;
525
- width: 100%;
526
- }
527
-
528
- .leksy-editor-modal input {
529
- width: 100%;
530
- font-size: 1rem;
531
- padding: 10px 12px;
532
- border: 1px solid #ccc;
533
- border-radius: 6px;
534
- outline: none;
535
- transition: all 0.3s ease-in-out;
536
- color: #333;
537
- }
538
-
539
- .leksy-editor-modal input:focus {
540
- border-color: #4592ff;
541
- background-color: #fff;
542
- }
543
-
544
- .leksy-editor-modal input::placeholder {
545
- color: #bdbdbd;
546
- }
547
-
548
- .leksy-editor-modal input:hover {
549
- border-color: #555;
550
- }
551
-
552
- .leksy-editor-modal button.submit {
553
- height: 2rem;
554
- padding: 0.75rem 1rem;
555
- background-color: hsl(160, 100%, 35%);
556
- display: flex;
557
- align-items: center;
558
- justify-content: center;
559
- flex-direction: row;
560
- text-align: center;
561
- text-decoration: none;
562
- cursor: pointer;
563
- border: 1px solid hsl(160, 100%, 40%);
564
- border-radius: 6px;
565
- color: hsl(0, 0%, 100%);
566
- white-space: nowrap;
567
- gap: 0.5rem;
568
- transition: 500ms;
569
- font-size: 1rem;
570
- }
571
-
572
- /* Overlay styling */
573
- .leksy-editor-preview-modal-overlay {
574
- position: fixed;
575
- top: 0;
576
- left: 0;
577
- width: 100%;
578
- height: 100%;
579
- background: rgba(0, 0, 0, 0.726);
580
- /* Dark semi-transparent background */
581
- display: block;
582
- /* Hidden by default */
583
- align-items: center;
584
- justify-content: center;
585
- z-index: 1000;
586
- }
587
-
588
- /* Modal content styling */
589
- .leksy-editor-preview-modal-content {
590
- height: 100%;
591
- padding: 20px;
592
- border-radius: 8px;
593
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
594
- position: relative;
595
- text-align: center;
596
- }
597
-
598
- /* Close button styling */
599
- .leksy-editor-preview-modal-close {
600
- position: absolute;
601
- top: 10px;
602
- right: 20px;
603
- cursor: pointer;
604
- color: white;
605
- font-size: 20px;
606
- }
607
-
608
- .leksy-editor-preview-modal-close svg {
609
- width: 28px;
610
- }
611
-
612
- /* Modal body styling */
613
- .leksy-editor-preview-modal-body {
614
- display: flex;
615
- height: 100%;
616
- width: 100%;
617
- align-items: center;
618
- justify-content: center;
619
- }
620
-
621
- .leksy-editor-preview-modal-body img {
622
- object-fit: contain;
623
- max-width: 90%;
624
- max-height: 90%;
625
- }
626
-
627
- .leksy-editor-spinner {
628
- animation: leksy-editor-rotate 1s linear infinite;
629
- margin-right: 8px;
630
- vertical-align: middle;
631
- }
632
-
633
- .leksy-editor-spinner .leksy-editor-path {
634
- stroke: white;
635
- stroke-linecap: round;
636
- animation: leksy-editor-dash 1.5s ease-in-out infinite;
637
- }
638
-
639
- .leksy-editor-upload-img-box {
640
- height: 180px;
641
- border: 2px dashed #d1d5db;
642
- border-radius: 12px;
643
- background: #f9fafb;
644
- display: flex;
645
- align-items: center;
646
- justify-content: center;
647
- cursor: pointer;
648
- transition: border-color 0.2s ease;
649
- }
650
-
651
- .leksy-editor-upload-img-box:hover {
652
- border-color: gray;
653
- }
654
-
655
- .leksy-editor-upload-img-preview-box {
656
- height: 180px;
657
- border: 2px solid grey;
658
- margin-bottom: 8px;
659
- border-radius: 8px;
660
- }
661
-
662
- .leksy-editor-upload-img-preview {
663
- width: 100%;
664
- height: 100%;
665
- border-radius: 8px;
666
- object-fit: cover;
667
- object-position: top;
668
- }
669
-
670
- .leksy-editor-find-and-replace-modal-tab-btn {
671
- background: transparent;
672
- border: none;
673
- cursor: pointer;
674
- font-size: 16px;
675
- padding: 0;
676
- color: var(--primary);
677
- }
678
-
679
- .leksy-editor-find-and-replace-modal-tab-btn.active {
680
- font-weight: bold;
681
- border-bottom: 2px solid black;
682
- }
683
-
684
- .leksy-editor-find-and-replace-modal-label {
685
- padding-left: 4px;
686
- margin-bottom: 10px;
687
- }
688
-
689
- .leksy-editor-find-and-replace-modal-count {
690
- position: absolute;
691
- right: 8px;
692
- top: 50%;
693
- transform: translateY(-50%);
694
- font-size: 12px;
695
- color: #585555;
696
- pointer-events: none;
697
- user-select: none;
698
- }
699
-
700
- @keyframes leksy-editor-rotate {
701
- 100% {
702
- transform: rotate(360deg);
703
- }
704
- }
705
-
706
- @keyframes leksy-editor-dash {
707
- 0% {
708
- stroke-dasharray: 1, 150;
709
- stroke-dashoffset: 0;
710
- }
711
-
712
- 50% {
713
- stroke-dasharray: 90, 150;
714
- stroke-dashoffset: -35;
715
- }
716
-
717
- 100% {
718
- stroke-dasharray: 90, 150;
719
- stroke-dashoffset: -124;
720
- }
721
- }