@planeasyinc/le-angular 0.0.14 → 0.0.16

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,1007 @@
1
+ @import '@angular/cdk/overlay-prebuilt.css';
2
+
3
+ :root {
4
+ /* =========================
5
+ PRIMARY (GREEN SYSTEM)
6
+ ========================== */
7
+ --le-color-primary-50: #f3fbf1;
8
+ --le-color-primary-100: #e3f6dd;
9
+ --le-color-primary-200: #c7edb8;
10
+ --le-color-primary-300: #a7e08c;
11
+ --le-color-primary-400: #8cc53f;
12
+ --le-color-primary-500: #159409;
13
+ --le-color-primary-600: #127a07;
14
+ --le-color-primary-700: #0f6506;
15
+ --le-color-primary-800: #0c5005;
16
+ --le-color-primary-900: #17770a;
17
+
18
+ /* semantic aliases */
19
+ --le-color-primary: var(--le-color-primary-500);
20
+ --le-color-primary-hover: var(--le-color-primary-600);
21
+ --le-color-primary-active: var(--le-color-primary-700);
22
+ --le-color-primary-soft: var(--le-color-primary-100);
23
+
24
+ /* =========================
25
+ NEUTRAL / SECONDARY (GRAY SYSTEM)
26
+ ========================== */
27
+ --le-color-gray-50: #f7f7f7;
28
+ --le-color-gray-100: #f2f2f2;
29
+ --le-color-gray-200: #e5e5e5;
30
+ --le-color-gray-300: #cccccc;
31
+ --le-color-gray-400: #b6b6b6;
32
+ --le-color-gray-500: #808080;
33
+ --le-color-gray-600: #666666;
34
+ --le-color-gray-700: #4f4f4f;
35
+ --le-color-gray-800: #333333;
36
+ --le-color-gray-900: #1f1f1f;
37
+
38
+ --le-color-secondary: var(--le-color-gray-700);
39
+ --le-color-secondary-light: var(--le-color-gray-500);
40
+ --le-color-border: var(--le-color-gray-200);
41
+ --le-color-surface: var(--le-color-gray-100);
42
+ --le-color-surface-2: var(--le-color-gray-50);
43
+
44
+ /* =========================
45
+ BACKGROUND / SURFACES
46
+ ========================== */
47
+ --le-color-background: #ffffff;
48
+ --le-color-surface-1: var(--le-color-gray-50);
49
+ --le-color-surface-2: var(--le-color-gray-100);
50
+ --le-color-hover: #e3f6dd;
51
+ --le-color-hover-light: #f0fbfa;
52
+
53
+ /* =========================
54
+ SEMANTIC COLORS
55
+ ========================== */
56
+
57
+ /* Success */
58
+ --le-color-success: var(--le-color-primary-500);
59
+ --le-color-success-hover: var(--le-color-primary-600);
60
+ --le-color-success-bg: var(--le-color-primary-100);
61
+
62
+ /* Warning */
63
+ --le-color-warning: #f59e0b;
64
+ --le-color-warning-hover: #d97706;
65
+ --le-color-warning-bg: #fef3c7;
66
+
67
+ /* Error */
68
+ --le-color-error: #dc2626;
69
+ --le-color-error-hover: #b91c1c;
70
+ --le-color-error-bg: #fee2e2;
71
+
72
+ /* Info */
73
+ --le-color-info: #2563eb;
74
+ --le-color-info-hover: #1d4ed8;
75
+ --le-color-info-bg: #dbeafe;
76
+
77
+ /* =========================
78
+ TEXT COLORS
79
+ ========================== */
80
+ --le-color-text-primary: var(--le-color-gray-900);
81
+ --le-color-text-secondary: var(--le-color-gray-600);
82
+ --le-color-text-muted: var(--le-color-gray-500);
83
+ --le-color-text-inverse: #ffffff;
84
+
85
+ /* =========================
86
+ BORDER / DIVIDER
87
+ ========================== */
88
+ --le-color-border: var(--le-color-gray-200);
89
+ --le-color-divider: var(--le-color-gray-100);
90
+
91
+ /* =========================
92
+ SHADOW
93
+ ========================== */
94
+ --le-dropdown-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
95
+
96
+ /* =========================
97
+ VALIDATION
98
+ ========================== */
99
+ --validation-icon-success-color: #52c41a;
100
+ --validation-icon-error-color: var(--le-alert-error);
101
+
102
+
103
+ /* =========================
104
+ FONT
105
+ ========================== */
106
+ --le-font-family: Arial, serif;
107
+
108
+ --le-font-size-xs: 0.75rem;
109
+ --le-font-size-sm: 0.875rem;
110
+ --le-font-size-base: 1rem;
111
+ --le-font-size-lg: 1.125rem;
112
+ --le-font-size-xl: 1.25rem;
113
+ --le-font-size-2xl: 1.5rem;
114
+ --le-font-size-3xl: 1.875rem;
115
+ --le-font-size-4xl: 2.25rem;
116
+
117
+ --le-font-weight-light: 300;
118
+ --le-font-weight-regular: 400;
119
+ --le-font-weight-medium: 500;
120
+ --le-font-weight-semibold: 600;
121
+ --le-font-weight-bold: 700;
122
+
123
+ --le-border-width-base: 1px;
124
+ }
125
+
126
+ /* =========================
127
+ GENERAL
128
+ ========================== */
129
+ * {
130
+ box-sizing: border-box;
131
+ }
132
+
133
+ html {
134
+ font-size: 14px;
135
+ }
136
+
137
+ body {
138
+ font-family: var(--le-font-family), Arial, serif;
139
+ }
140
+
141
+ body,
142
+ menu,
143
+ ul {
144
+ margin: 0;
145
+ padding: 0;
146
+ }
147
+
148
+ .cursor-pointer {
149
+ cursor: pointer;
150
+ }
151
+
152
+ .spacer {
153
+ flex: 1 1 auto;
154
+ }
155
+
156
+ .le-divider {
157
+ background-color: var(--le-color-divider);
158
+
159
+ &-horizontal {
160
+ height: 1px;
161
+ width: 100%;
162
+ }
163
+
164
+ &-vertical {
165
+ width: 1px;
166
+ height: 100%;
167
+ }
168
+ }
169
+
170
+ @mixin flex-row {
171
+ display: flex;
172
+ flex-direction: row;
173
+ }
174
+
175
+ @mixin flex-column {
176
+ display: flex;
177
+ flex-direction: column;
178
+ }
179
+
180
+ @mixin align-center {
181
+ align-items: center;
182
+ }
183
+
184
+ @mixin justify-center {
185
+ justify-content: center;
186
+ }
187
+
188
+ @mixin justify-between {
189
+ justify-content: space-between;
190
+ }
191
+
192
+ @mixin text-ellipsis {
193
+ overflow: hidden;
194
+ white-space: nowrap;
195
+ text-overflow: ellipsis;
196
+ }
197
+
198
+ /* =========================
199
+ BUTTON
200
+ ========================== */
201
+
202
+ .le-button {
203
+ @include text-ellipsis;
204
+ cursor: pointer;
205
+ border-width: var(--le-border-width-base);
206
+ border-style: solid;
207
+ border-color: transparent;
208
+ padding: 4px 16px;
209
+ line-height: 2em;
210
+ border-radius: 54px;
211
+ font-weight: var(--le-font-weight-semibold);
212
+ transition: all 0.2s ease-in-out;
213
+ }
214
+
215
+ .le-button-basic {
216
+ &.le-button--success {
217
+ color: var(--le-color-primary);
218
+ background-color: var(--le-color-background);
219
+
220
+ &:hover {
221
+ color: var(--le-color-primary-hover);
222
+ background-color: var(--le-color-success-bg);
223
+ border-color: var(--le-color-success-bg);
224
+ }
225
+
226
+ &:active {
227
+ color: var(--le-color-primary-active);
228
+ background-color: var(--le-color-success-bg);
229
+ border-color: var(--le-color-success-bg);
230
+ }
231
+ }
232
+
233
+ &.le-button--error {
234
+ color: var(--le-color-error);
235
+ background-color: var(--le-color-background);
236
+ border-color: var(--le-color-background);
237
+
238
+ &:hover {
239
+ color: var(--le-color-error-hover);
240
+ background-color: var(--le-color-error-bg);
241
+ border-color: var(--le-color-error-bg);
242
+ }
243
+
244
+ &:active {
245
+ color: var(--le-color-error);
246
+ background-color: var(--le-color-error-bg);
247
+ border-color: var(--le-color-error-bg);
248
+ }
249
+ }
250
+ }
251
+
252
+ .le-button-flat {
253
+ &.le-button--success {
254
+ background-color: var(--le-color-primary);
255
+ border-color: var(--le-color-primary);
256
+ color: var(--le-color-background);
257
+
258
+ &:hover {
259
+ background-color: var(--le-color-primary-hover);
260
+ border-color: var(--le-color-primary-hover);
261
+ }
262
+
263
+ &:active {
264
+ background-color: var(--le-color-primary-active);
265
+ border-color: var(--le-color-primary-active);
266
+ }
267
+ }
268
+
269
+ &.le-button--error {
270
+ background-color: var(--le-color-error);
271
+ border-color: var(--le-color-error);
272
+ color: var(--le-color-background);
273
+
274
+ &:hover,
275
+ &:active {
276
+ background-color: var(--le-color-error-hover);
277
+ border-color: var(--le-color-error-hover);
278
+ }
279
+ }
280
+ }
281
+
282
+ .le-button-stroked {
283
+ &.le-button--success {
284
+ color: var(--le-color-primary);
285
+ border-color: var(--le-color-primary);
286
+ background-color: var(--le-color-background);
287
+
288
+ &:hover {
289
+ color: var(--le-color-primary-hover);
290
+ background-color: var(--le-color-success-bg);
291
+ border-color: var(--le-color-primary-hover);
292
+ }
293
+
294
+ &:active {
295
+ color: var(--le-color-primary-active);
296
+ background-color: var(--le-color-success-bg);
297
+ border-color: var(--le-color-primary-active);
298
+ }
299
+ }
300
+
301
+ &.le-button--error {
302
+ color: var(--le-color-error);
303
+ border-color: var(--le-color-error);
304
+ background-color: var(--le-color-background);
305
+
306
+ &:hover {
307
+ color: var(--le-color-error-hover);
308
+ border-color: var(--le-color-error-hover);
309
+ background-color: var(--le-color-error-bg);
310
+ }
311
+
312
+ &:active {
313
+ color: var(--le-color-error-hover);
314
+ border-color: var(--le-color-error-hover);
315
+ background-color: var(--le-color-error-bg);
316
+ }
317
+ }
318
+ }
319
+
320
+ /* =========================
321
+ DRAWER
322
+ ========================== */
323
+
324
+ .le-drawer-container {
325
+ display: flex;
326
+ width: 100%;
327
+ height: 100%;
328
+ overflow: hidden;
329
+ min-height: 100vh;
330
+ }
331
+
332
+ .le-sidebar-title {
333
+ margin: 0;
334
+ }
335
+
336
+ .le-sidebar-toggle {
337
+ @include text-ellipsis;
338
+
339
+ display: inline-flex;
340
+ justify-content: space-between;
341
+
342
+ border: none;
343
+ width: 100%;
344
+ background-color: var(--le-color-primary-50);
345
+ padding: 16px;
346
+ cursor: pointer;
347
+ color: var(--le-color-text-primary);
348
+ font-size: var(--le-font-size-xl);
349
+ }
350
+
351
+ .le-drawer {
352
+ flex-shrink: 0;
353
+ overflow: hidden;
354
+ background-color: var(--le-color-background);
355
+ border-right: 1px solid var(--le-color-border);
356
+ position: relative;
357
+ transition: width 250ms cubic-bezier(0.4, 0, 0.2, 1);
358
+ will-change: width;
359
+
360
+ .le-sidebar-toggle {
361
+ le-icon {
362
+ transform: rotate(90deg);
363
+ transition: transform 0.2s ease-in-out;
364
+ }
365
+ }
366
+
367
+ &.le-drawer--open {
368
+ padding-right: 12px;
369
+
370
+ .le-sidebar-toggle {
371
+ le-icon {
372
+ transform: rotate(90deg) scaleX(-1);
373
+ }
374
+ }
375
+ }
376
+ }
377
+
378
+ .le-drawer-content {
379
+ flex: 1;
380
+ min-width: 0;
381
+ overflow: auto;
382
+ padding-left: 8px;
383
+ padding-right: 8px;
384
+
385
+ transition: width 250ms cubic-bezier(0.4, 0, 0.2, 1);
386
+ will-change: width;
387
+ }
388
+
389
+ .le-drawer-resizer,
390
+ .drawer-resizer {
391
+ position: absolute;
392
+ top: 0;
393
+ right: 0;
394
+ width: 12px;
395
+ height: 100%;
396
+ cursor: ew-resize;
397
+ display: flex;
398
+ align-items: center;
399
+ justify-content: center;
400
+ background-color: var(--le-color-surface);
401
+ transition: background-color 0.2s ease;
402
+ z-index: 10;
403
+
404
+ &:hover {
405
+ background-color: var(--le-color-border);
406
+ }
407
+ }
408
+
409
+ /* =========================
410
+ SIDEBAR
411
+ ========================== */
412
+
413
+ .le-menu-item {
414
+ display: flex;
415
+ flex-direction: row;
416
+ justify-content: space-between;
417
+ align-items: center;
418
+ padding: 12px;
419
+ cursor: pointer;
420
+ color: var(--le-color-text-primary);
421
+ font-size: var(--le-font-size-lg);
422
+
423
+ &:hover {
424
+ background-color: var(--le-color-primary-100);
425
+ }
426
+ }
427
+
428
+ .le-menu-item--selected {
429
+ background-color: var(--le-color-primary-50);
430
+ }
431
+
432
+ .le-menu-title {
433
+ @include text-ellipsis;
434
+ }
435
+
436
+ .le-menu-chevron {
437
+ transform: rotate(90deg);
438
+ transition: transform 0.2s ease-in-out;
439
+ }
440
+
441
+ .le-menu-item--expanded {
442
+ .le-menu-chevron {
443
+ transform: rotate(90deg) scaleX(-1);
444
+ }
445
+ }
446
+
447
+ .le-menu-group {
448
+ opacity: 0;
449
+ max-height: 0;
450
+ overflow: hidden;
451
+ transition: all 0.2s ease-in-out;
452
+
453
+ .le-menu-item {
454
+ padding-left: 32px;
455
+ }
456
+
457
+ .le-menu-group .le-menu-item {
458
+ padding-left: 48px;
459
+ }
460
+
461
+ &.le-menu-group--expanded {
462
+ opacity: 1;
463
+ max-height: 5000px;
464
+ }
465
+ }
466
+
467
+ /* =========================
468
+ TABLE
469
+ ========================== */
470
+
471
+ .le-toolbar {
472
+ @include flex-row;
473
+ @include align-center;
474
+ @include justify-between;
475
+
476
+ height: 60px;
477
+ gap: 16px;
478
+ }
479
+
480
+ .le-table-container {
481
+ width: 100%;
482
+ overflow-x: auto;
483
+ padding-bottom: 16px;
484
+ }
485
+
486
+ .le-table {
487
+ width: max-content;
488
+ border-spacing: 0;
489
+ font-size: var(--le-font-size-base);
490
+ min-width: 100%;
491
+ }
492
+
493
+ .le-table--loading tbody {
494
+ animation: fade 0.5s ease-out forwards;
495
+ pointer-events: none;
496
+ }
497
+
498
+ @keyframes fade {
499
+ 0% {
500
+ opacity: 1;
501
+ }
502
+ 100% {
503
+ opacity: 0.3;
504
+ }
505
+ }
506
+
507
+ .no-entities {
508
+ display: flex;
509
+ align-items: center;
510
+ justify-content: center;
511
+ width: 100%;
512
+ height: 200px;
513
+ background-color: var(--le-color-surface);
514
+ }
515
+
516
+ .le-header-row {
517
+ background-color: var(--le-color-surface);
518
+ }
519
+
520
+ .le-table-row--clickable {
521
+ cursor: pointer;
522
+
523
+ &:hover {
524
+ background-color: var(--le-color-primary-100);
525
+ }
526
+ }
527
+
528
+ .le-cell-content {
529
+ @include flex-row;
530
+ @include align-center;
531
+ @include justify-between;
532
+ gap: 1rem;
533
+ }
534
+
535
+ .le-table-header-cell {
536
+ font-weight: var(--le-font-weight-regular);
537
+ color: var(--le-color-gray-500);
538
+ text-align: left;
539
+ }
540
+
541
+ .le-table-header-cell,
542
+ .le-table-cell {
543
+ padding: 24px;
544
+ min-width: 160px;
545
+ }
546
+
547
+ .le-table-cell {
548
+ border-bottom: 1px solid var(--le-color-gray-100);;
549
+ }
550
+
551
+ .le-table-icon-cell {
552
+ width: 50px;
553
+ min-width: unset;
554
+
555
+ .le-button {
556
+ padding: 16px;
557
+ }
558
+ }
559
+
560
+ .le-pagination {
561
+ @include flex-row;
562
+ @include align-center;
563
+ font-size: var(--le-font-size-sm);
564
+ height: 60px;
565
+ gap: 1em;
566
+ }
567
+
568
+ .le-pagination-options,
569
+ .le-pagination-navigation {
570
+ @include flex-row;
571
+ @include align-center;
572
+ gap: 8px;
573
+ }
574
+
575
+ .le-navigation {
576
+ width: 40px;
577
+ height: 40px;
578
+ padding: 0;
579
+ margin: 0;
580
+ border: none;
581
+ background: var(--le-color-primary-50);
582
+ display: flex;
583
+ justify-content: center;
584
+ align-items: center;
585
+ border-radius: 50%;
586
+
587
+ &:not([disabled]) {
588
+ cursor: pointer;
589
+ color: var(--le-color-gray-600);
590
+
591
+ &:hover {
592
+ background: var(--le-color-primary-100);
593
+ }
594
+
595
+ &:active {
596
+ background: var(--le-color-primary-200);
597
+ }
598
+ }
599
+ }
600
+
601
+ .le-table-icon-cell {
602
+ .le-icon {
603
+ margin: auto;
604
+ }
605
+ }
606
+
607
+ .le-chevron {}
608
+ .le-chevron--right {}
609
+ .le-chevron--left {
610
+ transform: rotate(180deg);
611
+ }
612
+
613
+ .le-pagination-options {
614
+ .le-button {
615
+ width: 84px;
616
+ font-weight: var(--le-font-weight-light);
617
+ border: 1px solid var(--le-color-border);
618
+ border-radius: 4px;
619
+ background: var(--le-color-background);
620
+ padding: 2px 6px 2px 10px;
621
+ display: inline-flex;
622
+ justify-content: space-between;
623
+
624
+ le-icon {
625
+ color: var(--le-color-gray-300);
626
+ }
627
+ }
628
+ }
629
+
630
+ .le-pagination-option-list {
631
+ display: inline-flex;
632
+ flex-direction: column;
633
+ min-width: 84px;
634
+ max-width: 280px;
635
+ box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
636
+ }
637
+
638
+ .le-pagination-option-item {
639
+ border: none;
640
+ background: var(--le-color-gray-100);;
641
+ padding: 8px;
642
+ cursor: pointer;
643
+
644
+ &:hover,
645
+ &:focus,
646
+ &:active {
647
+ background: var(--le-color-primary-100);
648
+ }
649
+ }
650
+
651
+
652
+ $sort-icon-size: 6px;
653
+
654
+ .le-sort-container {
655
+ @include flex-row;
656
+ @include align-center;
657
+ @include justify-center;
658
+ margin: 0 2px;
659
+ width: calc($sort-icon-size * 7);
660
+ height: calc($sort-icon-size * 3);
661
+ }
662
+
663
+ .le-sort-icon--unfold {
664
+ opacity: 0;
665
+ transition: opacity 0.2s ease;
666
+ }
667
+
668
+ .le-table-header-cell--sortable {
669
+ cursor: pointer;
670
+ transition: background-color 0.2s ease;
671
+
672
+ &:hover {
673
+ background-color: var(--le-color-surface-2);
674
+
675
+ .le-sort-icon--unfold {
676
+ opacity: 1;
677
+ }
678
+ }
679
+ }
680
+
681
+ .le-sort-icon {
682
+ @include flex-row;
683
+ @include align-center;
684
+ @include justify-center;
685
+ margin: 0 2px;
686
+ width: calc($sort-icon-size * 3);
687
+ height: calc($sort-icon-size * 3);
688
+ }
689
+
690
+ .le-sort-arrow {
691
+ display: block;
692
+ width: $sort-icon-size;
693
+ height: $sort-icon-size;
694
+ border-left: $sort-icon-size solid transparent;
695
+ border-right: $sort-icon-size solid transparent;
696
+ border-bottom: calc($sort-icon-size * 1.5) solid var(--le-color-primary);
697
+ transition: transform 0.2s ease-in-out;
698
+ }
699
+
700
+ .le-sort-arrow--desc {
701
+ transform: rotateX(180deg);
702
+ }
703
+
704
+ .le-sort-order {
705
+ @include flex-row;
706
+ @include align-center;
707
+ @include justify-center;
708
+ margin: 0 2px;
709
+ width: calc($sort-icon-size * 3);
710
+ height: calc($sort-icon-size * 3);
711
+
712
+ span {
713
+ @include flex-row;
714
+ @include align-center;
715
+ @include justify-center;
716
+
717
+ width: calc($sort-icon-size * 3);
718
+ height: calc($sort-icon-size * 3);
719
+ font-size: calc($sort-icon-size * 2);
720
+ background-color: var(--le-color-primary-200);
721
+ border-radius: 50%;
722
+ color: var(--le-color-primary);
723
+ font-weight: var(--le-font-weight-semibold);;
724
+ }
725
+ }
726
+
727
+ .le-table-template {
728
+ max-width: 500px;
729
+ word-wrap: break-word;
730
+ white-space: pre-wrap;
731
+ }
732
+
733
+ /* =========================
734
+ TOAST LIS
735
+ ========================== */
736
+ .le-toast-list {
737
+ display: flex;
738
+ flex-direction: column;
739
+ gap: 12px;
740
+ width: 100%;
741
+ max-width: 400px;
742
+ padding: 8px;
743
+ align-items: flex-end;
744
+ }
745
+
746
+ .le-toast {
747
+ display: flex;
748
+ width: fit-content;
749
+ padding: 8px;
750
+ gap: 8px;
751
+ border-radius: 4px;
752
+ border-width: var(--le-border-width-base);
753
+ border-style: solid;
754
+ box-shadow: var(--le-dropdown-shadow);
755
+ background-color: var(--le-color-background);
756
+
757
+ &--success {
758
+ border-color: var(--le-color-success);
759
+ }
760
+
761
+ &--info {
762
+ }
763
+
764
+ &--warning {
765
+ border-color: var(--le-color-warning);
766
+ }
767
+
768
+ &--error {
769
+ border-color: var(--le-color-error);
770
+ }
771
+ }
772
+
773
+ .le-toast-text-list {
774
+ display: flex;
775
+ flex-direction: column;
776
+ justify-content: center;
777
+ gap: 8px;
778
+ width: 100%;
779
+ padding: 0 8px;
780
+ }
781
+
782
+ .le-toast-text {
783
+ margin: 0;
784
+ }
785
+
786
+ /* =========================
787
+ FORM
788
+ ========================== */
789
+ .group-control {
790
+ padding: 0 16px;
791
+ border: 1px solid var(--le-color-border);
792
+ border-radius: 4px;
793
+ background-color: var(--le-color-background);
794
+ margin-bottom: 16px;
795
+ }
796
+
797
+ /* =========================
798
+ FILTERS
799
+ ========================== */
800
+ .le-filters-container {
801
+ @include flex-column;
802
+ gap: 16px;
803
+ padding: 16px 8px;
804
+ width: 320px;
805
+ overflow-x: hidden;
806
+ }
807
+
808
+ .le-filters-title {
809
+ font-size: var(--le-font-size-lg);
810
+ font-weight: var(--le-font-weight-semibold);
811
+ }
812
+
813
+ .le-filters-actions {
814
+ @include flex-row;
815
+ @include justify-between;
816
+ }
817
+
818
+ .le-autocomplete-container {
819
+ @include flex-row;
820
+ @include align-center;
821
+
822
+ border: 1px solid var(--le-color-border);
823
+ padding: 2px 4px;
824
+ }
825
+
826
+ .le-button-icon {
827
+ @include flex-column;
828
+ @include align-center;
829
+ @include justify-center;
830
+
831
+ flex-shrink: 0;
832
+ border-radius: 50%;
833
+ padding: 0;
834
+ margin: 0;
835
+ border: 0;
836
+ width: 24px;
837
+ height: 24px;
838
+ }
839
+
840
+ .le-autocomplete-input {
841
+ border: 0;
842
+ width: 100%;
843
+ padding: 4px;
844
+
845
+ &:focus {
846
+ outline: none;
847
+ }
848
+ }
849
+
850
+ .le-autocomplete-panel {
851
+ height: 200px;
852
+ overflow: auto;
853
+ box-shadow: var(--le-dropdown-shadow);
854
+ background-color: var(--le-color-background);
855
+ }
856
+
857
+ .le-autocomplete-label, .le-autocomplete-option {
858
+ padding-top: 4px;
859
+ padding-bottom: 4px;
860
+ }
861
+ .le-autocomplete-label {
862
+ color: var(--le-color-gray-500);
863
+ padding-left: 8px;
864
+ }
865
+
866
+ .le-autocomplete-option {
867
+ padding-left: 16px;
868
+ cursor: pointer;
869
+
870
+ &:hover {
871
+ background-color: var(--le-color-gray-200);
872
+ }
873
+
874
+ &--selected {
875
+ background-color: var(--le-color-gray-100);
876
+ }
877
+ }
878
+
879
+ .le-filters-list {
880
+ @include flex-column;
881
+ gap: 8px;
882
+ }
883
+
884
+ .le-filters-list-item {
885
+ @include flex-column;
886
+ gap: 4px;
887
+
888
+ div {
889
+ @include flex-row;
890
+ @include align-center;
891
+ gap: 4px;
892
+ }
893
+
894
+ select,
895
+ input {
896
+ &:focus {
897
+ outline: none;
898
+ }
899
+ border-color: var(--le-color-border);
900
+ border-style: solid;
901
+ border-width: 1px;
902
+ flex-grow: 1;
903
+ padding: 4px 8px;
904
+ }
905
+ }
906
+ /* =========================
907
+ DIALOG
908
+ ========================== */
909
+ .le-dialog-container {
910
+ background-color: var(--le-color-background);
911
+ box-shadow: var(--le-dropdown-shadow);
912
+ padding: 16px;
913
+ overflow-y: auto;
914
+ }
915
+ /* =========================
916
+ SIDE PANEL
917
+ ========================== */
918
+ .le-side-panel {
919
+ background-color: var(--le-color-background);
920
+ box-shadow: var(--le-dropdown-shadow);
921
+ padding: 16px 0;
922
+ transition: transform 0.2s ease-in-out;
923
+
924
+ &--left {
925
+ transform: translateX(-100%);
926
+ }
927
+
928
+ &--right {
929
+ transform: translateX(100%);
930
+ }
931
+
932
+ &--top {
933
+ transform: translateY(-100%);
934
+ }
935
+
936
+ &--bottom {
937
+ transform: translateY(100%);
938
+ }
939
+ }
940
+ /* =========================
941
+ TABS
942
+ ========================== */
943
+ .le-tabs-nav {
944
+ @include flex-row;
945
+ gap: 1rem;
946
+ }
947
+ .le-tabs-content {
948
+ margin-top: 1rem;
949
+ }
950
+ /* =========================
951
+ TREE
952
+ ========================== */
953
+ .le-tree-invisible {
954
+ display: none;
955
+ }
956
+
957
+ .le-tree ul,
958
+ .le-tree li {
959
+ margin-top: 0;
960
+ margin-bottom: 0;
961
+ list-style-type: none;
962
+ }
963
+ .le-tree-node {
964
+ display: block;
965
+ }
966
+
967
+ .le-tree-row {
968
+ display: inline-flex;
969
+ width: 100%;
970
+ margin-bottom: 0.5rem;
971
+
972
+ .le-button {
973
+ align-self: flex-end;
974
+ }
975
+ }
976
+
977
+ .le-tree-node .le-tree-node {
978
+ padding-left: 2rem;
979
+ }
980
+
981
+ .le-tree-chevron {
982
+ transform: rotate(90deg);
983
+ transition: transform 0.2s ease-in-out;
984
+ margin-left: auto;
985
+ margin-right: 0;
986
+ }
987
+
988
+ .le-tree-row--expanded {
989
+ .le-tree-chevron {
990
+ transform: rotate(90deg) scaleX(-1);
991
+ }
992
+ }
993
+ /* =========================
994
+ BLOCK VIEW
995
+ ========================== */
996
+ .block-view {
997
+ display: grid;
998
+ grid-template-columns: 1fr 1fr 1fr;
999
+ }
1000
+ .block-view-item {
1001
+ padding-bottom: 1rem;
1002
+ }
1003
+ .block-view-label {
1004
+ padding-bottom: 1rem;
1005
+ font-weight: bold;
1006
+ text-transform: uppercase;
1007
+ }