dialkit 0.1.2 → 0.2.1

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/dist/styles.css CHANGED
@@ -23,6 +23,7 @@
23
23
  --dial-glass-bg: #212121;
24
24
  --dial-backdrop-blur: 20px;
25
25
  --dial-radius: 8px;
26
+ --dial-row-height: 36px;
26
27
  --dial-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
27
28
 
28
29
  /* Fonts */
@@ -46,17 +47,32 @@
46
47
  -webkit-backdrop-filter: blur(var(--dial-backdrop-blur));
47
48
  padding: 10px 12px 12px 12px;
48
49
  transform: translateZ(0);
49
- max-height: calc(100vh - 32px);
50
+ transform-origin: top right;
51
+ max-height: calc(100vh - 80px);
50
52
  overflow-y: auto;
51
53
  }
52
54
 
53
55
 
54
- .dialkit-panel-inner[data-collapsed="true"] .dialkit-folder-root > .dialkit-folder-header {
56
+ .dialkit-panel-inner[data-collapsed="true"] {
57
+ border-radius: 50%;
58
+ padding: 12px;
59
+ }
60
+
61
+ .dialkit-panel-inner[data-collapsed="true"] .dialkit-panel-header {
55
62
  padding-bottom: 0;
56
63
  margin-bottom: 0;
57
64
  border-bottom: none;
58
65
  }
59
66
 
67
+ .dialkit-panel-inner[data-collapsed="true"] .dialkit-folder-title-row {
68
+ display: none;
69
+ }
70
+
71
+ .dialkit-panel-inner[data-collapsed="true"] .dialkit-folder-header-top {
72
+ justify-content: center;
73
+ padding: 0;
74
+ }
75
+
60
76
  .dialkit-panel-inner::-webkit-scrollbar {
61
77
  display: none;
62
78
  }
@@ -97,7 +113,6 @@
97
113
  .dialkit-folder:last-child:not(.dialkit-folder-root) {
98
114
  padding-bottom: 0;
99
115
  margin-bottom: 0;
100
- border-bottom: none;
101
116
  }
102
117
 
103
118
  .dialkit-folder-root {
@@ -106,19 +121,22 @@
106
121
  border-bottom: none;
107
122
  }
108
123
 
109
- .dialkit-folder-root > .dialkit-folder-header {
110
- padding-bottom: 12px;
124
+ .dialkit-panel-header {
125
+ padding-bottom: 6px;
111
126
  margin-bottom: 12px;
112
127
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
113
128
  }
114
129
 
115
130
  .dialkit-folder-header {
131
+ cursor: pointer;
132
+ user-select: none;
133
+ }
134
+
135
+ .dialkit-folder-header-top {
116
136
  display: flex;
117
137
  align-items: center;
118
138
  justify-content: space-between;
119
- padding: 0 0px 8px 0px;
120
- cursor: pointer;
121
- user-select: none;
139
+ padding: 0 0 8px 0;
122
140
  }
123
141
 
124
142
 
@@ -127,6 +145,7 @@
127
145
  font-weight: 600;
128
146
  color: var(--dial-text-section);
129
147
  letter-spacing: -0.01em;
148
+ transform: translateY(-0.5px);
130
149
  transition: color 0.15s;
131
150
  }
132
151
 
@@ -141,6 +160,7 @@
141
160
  display: flex;
142
161
  align-items: center;
143
162
  gap: 6px;
163
+ flex: 1;
144
164
  white-space: nowrap;
145
165
  overflow: hidden;
146
166
  }
@@ -164,73 +184,113 @@
164
184
  }
165
185
 
166
186
  .dialkit-folder-icon {
167
- width: 14px;
168
- height: 14px;
169
- color: var(--dial-text-section);
170
- opacity: 0.5;
171
- transition: color 0.15s;
187
+ width: 20px;
188
+ height: 20px;
189
+ padding: 2px;
190
+ box-sizing: border-box;
191
+ flex-shrink: 0;
192
+ color: var(--dial-text-label);
193
+ opacity: 0.6;
194
+ }
195
+
196
+ .dialkit-panel-icon {
197
+ position: absolute;
198
+ top: 12px;
199
+ right: 12px;
200
+ width: 16px;
201
+ height: 16px;
202
+ color: #fff;
203
+ z-index: 1;
172
204
  }
173
205
 
174
206
  .dialkit-folder-content {
175
- overflow: hidden;
207
+ will-change: transform;
176
208
  }
177
209
 
178
210
  .dialkit-folder-inner {
179
211
  display: flex;
180
212
  flex-direction: column;
181
213
  gap: 6px;
214
+ padding-bottom: 10px;
182
215
  }
183
216
 
184
- /* Non-root folder header - no bottom padding, spacing handled by content */
185
- .dialkit-folder:not(.dialkit-folder-root) > .dialkit-folder-header {
217
+ /* Non-root folders - top & bottom HR dividers */
218
+ .dialkit-folder:not(.dialkit-folder-root) {
219
+ border-top: 1px solid rgba(255, 255, 255, 0.06);
220
+ border-bottom: 1px solid rgba(255, 255, 255, 0.06);
221
+ margin-top: 4px;
222
+ margin-bottom: 4px;
186
223
  padding-bottom: 0;
187
224
  }
188
225
 
189
- /* Non-root folder when CLOSED - even spacing above and below title */
190
- .dialkit-folder:not(.dialkit-folder-root):not(:has(.dialkit-folder-content)) {
191
- padding-bottom: 14px;
226
+ /* Adjacent non-root folders collapse gap and share a single divider */
227
+ .dialkit-folder:not(.dialkit-folder-root) + .dialkit-folder:not(.dialkit-folder-root) {
228
+ margin-top: -10px;
229
+ border-top: none;
192
230
  }
193
231
 
194
- /* Non-root folder when OPEN - 16px before the divider */
195
- .dialkit-folder:not(.dialkit-folder-root):has(.dialkit-folder-content) {
196
- padding-bottom: 16px;
232
+ /* Non-root folder header - match row height */
233
+ .dialkit-folder:not(.dialkit-folder-root) > .dialkit-folder-header {
234
+ height: var(--dial-row-height);
235
+ padding: 0;
197
236
  }
198
237
 
199
- /* Content padding - 8px between title and first item */
200
- .dialkit-folder:not(.dialkit-folder-root) .dialkit-folder-inner {
201
- padding-top: 8px;
238
+ .dialkit-folder:not(.dialkit-folder-root) > .dialkit-folder-header > .dialkit-folder-header-top {
239
+ padding: 0;
240
+ height: 100%;
202
241
  }
203
242
 
243
+ /* Root folder inner needs no extra bottom padding */
244
+ .dialkit-folder-root > .dialkit-folder-content > .dialkit-folder-inner {
245
+ padding-bottom: 0;
246
+ }
247
+
248
+ /* Content spacing handled by folder-inner gap */
249
+
204
250
 
205
251
  /* Slider */
206
- .dialkit-slider {
252
+ .dialkit-slider-wrapper {
207
253
  position: relative;
208
- height: 36px;
254
+ height: var(--dial-row-height);
255
+ }
256
+
257
+ .dialkit-slider {
258
+ position: absolute;
259
+ top: 0;
260
+ left: 0;
261
+ width: 100%;
262
+ height: 100%;
209
263
  cursor: pointer;
210
264
  user-select: none;
211
265
  overflow: hidden;
212
266
  background: var(--dial-surface);
213
267
  border-radius: var(--dial-radius);
268
+ touch-action: none;
214
269
  }
215
270
 
216
271
  .dialkit-slider-hashmarks {
217
272
  position: absolute;
218
273
  inset: 0;
219
- display: flex;
220
- align-items: center;
221
- justify-content: space-between;
222
- padding: 0 12.5%;
223
274
  pointer-events: none;
224
275
  }
225
276
 
226
277
  .dialkit-slider-hashmark {
227
- font-size: 8px;
228
- color: rgba(255, 255, 255, 0);
229
- transition: color 0.15s;
278
+ position: absolute;
279
+ top: 50%;
280
+ width: 1px;
281
+ height: 8px;
282
+ border-radius: 999px;
283
+ transform: translateX(-50%) translateY(-50%);
284
+ background: rgba(255, 255, 255, 0);
285
+ transition: background 200ms;
230
286
  }
231
287
 
232
288
  .dialkit-slider-active .dialkit-slider-hashmark {
233
- color: rgba(255, 255, 255, 0.1);
289
+ background: rgba(255, 255, 255, 0.15);
290
+ }
291
+
292
+ .dialkit-slider-active .dialkit-slider-value {
293
+ color: #fff;
234
294
  }
235
295
 
236
296
  .dialkit-slider-fill {
@@ -245,11 +305,9 @@
245
305
  .dialkit-slider-handle {
246
306
  position: absolute;
247
307
  top: 50%;
248
- transform: translateY(-50%);
249
- width: 2px;
308
+ width: 3px;
250
309
  height: 20px;
251
- border-radius: 1px;
252
- transition: background 0.15s;
310
+ border-radius: 999px;
253
311
  pointer-events: none;
254
312
  }
255
313
 
@@ -257,7 +315,7 @@
257
315
  position: absolute;
258
316
  left: 10px;
259
317
  top: 50%;
260
- transform: translateY(-50%);
318
+ transform: translateY(calc(-50% - 0.5px));
261
319
  font-size: 13px;
262
320
  font-weight: 500;
263
321
  color: var(--dial-text-label);
@@ -269,7 +327,7 @@
269
327
  position: absolute;
270
328
  right: 10px;
271
329
  top: 50%;
272
- transform: translateY(-50%);
330
+ transform: translateY(calc(-50% + 0.5px));
273
331
  font-size: 13px;
274
332
  font-weight: 500;
275
333
  font-family: ui-monospace, 'SF Mono', 'Courier New', monospace;
@@ -304,12 +362,16 @@
304
362
  text-align: right;
305
363
  }
306
364
 
365
+ .dialkit-slider-input:focus {
366
+ color: #fff;
367
+ }
368
+
307
369
  /* Segmented Control */
308
370
  .dialkit-segmented {
309
371
  position: relative;
310
372
  display: flex;
311
373
  padding: 2px;
312
- background: var(--dial-surface);
374
+ background: transparent;
313
375
  border-radius: var(--dial-radius);
314
376
  }
315
377
 
@@ -327,7 +389,7 @@
327
389
  position: relative;
328
390
  z-index: 1;
329
391
  flex: 1;
330
- padding: 8px 16px;
392
+ padding: 8px 12px;
331
393
  font-family: inherit;
332
394
  font-size: 13px;
333
395
  font-weight: 500;
@@ -398,6 +460,7 @@
398
460
  /* Button Group */
399
461
  .dialkit-button-group {
400
462
  display: flex;
463
+ flex-direction: column;
401
464
  gap: 6px;
402
465
  }
403
466
 
@@ -430,6 +493,9 @@
430
493
  align-items: center;
431
494
  justify-content: space-between;
432
495
  gap: 12px;
496
+ padding: 2px 2px 2px 12px;
497
+ background: var(--dial-surface);
498
+ border-radius: var(--dial-radius);
433
499
  }
434
500
 
435
501
  .dialkit-labeled-control-label {
@@ -437,10 +503,10 @@
437
503
  font-weight: 500;
438
504
  color: var(--dial-text-label);
439
505
  flex-shrink: 0;
506
+ line-height: 17px;
440
507
  }
441
508
 
442
509
  .dialkit-labeled-control .dialkit-segmented {
443
- width: 160px;
444
510
  flex-shrink: 0;
445
511
  }
446
512
 
@@ -486,3 +552,512 @@
486
552
  background: var(--dial-surface);
487
553
  overflow: visible;
488
554
  }
555
+
556
+ /* Panel Wrapper (contains panel + toolbar) */
557
+ .dialkit-panel-wrapper {
558
+ display: inline-flex;
559
+ flex-direction: column;
560
+ }
561
+
562
+ /* Panel Toolbar */
563
+ .dialkit-panel-toolbar {
564
+ display: flex;
565
+ align-items: center;
566
+ gap: 6px;
567
+ height: var(--dial-row-height);
568
+ margin-bottom: 6px;
569
+ }
570
+
571
+ .dialkit-toolbar-add {
572
+ display: flex;
573
+ align-items: center;
574
+ justify-content: center;
575
+ width: var(--dial-row-height);
576
+ height: var(--dial-row-height);
577
+ padding: 0;
578
+ flex-shrink: 0;
579
+ background: var(--dial-surface);
580
+ border: none;
581
+ border-radius: var(--dial-radius);
582
+ cursor: pointer;
583
+ transition: background 0.15s;
584
+ }
585
+
586
+ .dialkit-toolbar-add:hover {
587
+ background: var(--dial-surface-hover);
588
+ }
589
+
590
+ .dialkit-toolbar-add svg {
591
+ width: 16px;
592
+ height: 16px;
593
+ color: var(--dial-text-label);
594
+ }
595
+
596
+ .dialkit-toolbar-copy {
597
+ position: relative;
598
+ display: flex;
599
+ align-items: center;
600
+ gap: 6px;
601
+ height: var(--dial-row-height);
602
+ padding: 0 12px;
603
+ flex-shrink: 0;
604
+ font-family: inherit;
605
+ font-size: 13px;
606
+ font-weight: 500;
607
+ color: var(--dial-text-label);
608
+ background: var(--dial-surface);
609
+ border: none;
610
+ border-radius: var(--dial-radius);
611
+ cursor: pointer;
612
+ transition: background 0.15s;
613
+ }
614
+
615
+ .dialkit-toolbar-copy:hover {
616
+ background: var(--dial-surface-hover);
617
+ }
618
+
619
+ .dialkit-toolbar-copy-icon-wrap {
620
+ position: relative;
621
+ width: 16px;
622
+ height: 16px;
623
+ flex-shrink: 0;
624
+ }
625
+
626
+ .dialkit-toolbar-copy-icon {
627
+ position: absolute;
628
+ inset: 0;
629
+ width: 16px;
630
+ height: 16px;
631
+ }
632
+
633
+ /* Text Control */
634
+ .dialkit-text-control {
635
+ display: flex;
636
+ align-items: center;
637
+ justify-content: space-between;
638
+ gap: 12px;
639
+ height: var(--dial-row-height);
640
+ padding: 0 12px;
641
+ background: var(--dial-surface);
642
+ border-radius: var(--dial-radius);
643
+ }
644
+
645
+ .dialkit-text-label {
646
+ font-size: 13px;
647
+ font-weight: 500;
648
+ color: var(--dial-text-label);
649
+ flex-shrink: 0;
650
+ }
651
+
652
+ .dialkit-text-input {
653
+ flex: 1;
654
+ min-width: 0;
655
+ font-family: inherit;
656
+ font-size: 13px;
657
+ font-weight: 500;
658
+ color: var(--dial-text-label);
659
+ background: transparent;
660
+ border: none;
661
+ padding: 0;
662
+ outline: none;
663
+ text-align: right;
664
+ cursor: text;
665
+ }
666
+
667
+ .dialkit-text-input:focus {
668
+ color: #fff;
669
+ }
670
+
671
+ .dialkit-text-input::placeholder {
672
+ color: var(--dial-text-tertiary);
673
+ }
674
+
675
+ /* Select Control - Full-width row */
676
+ .dialkit-select-row {
677
+ position: relative;
678
+ }
679
+
680
+ .dialkit-select-trigger {
681
+ display: flex;
682
+ align-items: center;
683
+ justify-content: space-between;
684
+ width: 100%;
685
+ height: var(--dial-row-height);
686
+ padding: 0 12px;
687
+ font-family: inherit;
688
+ font-size: 13px;
689
+ font-weight: 500;
690
+ color: var(--dial-text-label);
691
+ background: var(--dial-surface);
692
+ border: none;
693
+ border-radius: var(--dial-radius);
694
+ cursor: pointer;
695
+ transition: background 0.15s;
696
+ }
697
+
698
+ .dialkit-select-trigger:hover {
699
+ background: var(--dial-surface-hover);
700
+ }
701
+
702
+ .dialkit-select-trigger[data-open="true"] {
703
+ background: var(--dial-surface-active);
704
+ }
705
+
706
+ .dialkit-select-label {
707
+ font-size: 13px;
708
+ font-weight: 500;
709
+ color: var(--dial-text-label);
710
+ flex-shrink: 0;
711
+ transform: translateY(-0.5px);
712
+ }
713
+
714
+ .dialkit-select-right {
715
+ display: flex;
716
+ align-items: center;
717
+ gap: 8px;
718
+ }
719
+
720
+ .dialkit-select-value {
721
+ font-size: 13px;
722
+ font-weight: 500;
723
+ color: var(--dial-text-label);
724
+ transform: translateY(-0.5px);
725
+ overflow: hidden;
726
+ text-overflow: ellipsis;
727
+ white-space: nowrap;
728
+ }
729
+
730
+ .dialkit-select-chevron {
731
+ width: 20px;
732
+ height: 20px;
733
+ padding: 2px;
734
+ box-sizing: border-box;
735
+ flex-shrink: 0;
736
+ opacity: 0.6;
737
+ }
738
+
739
+ /* Select Dropdown */
740
+ .dialkit-select-dropdown {
741
+ position: absolute;
742
+ top: calc(100% + 4px);
743
+ left: 0;
744
+ right: 0;
745
+ background: var(--dial-glass-bg);
746
+ border: 1px solid var(--dial-border);
747
+ border-radius: var(--dial-radius);
748
+ padding: 4px;
749
+ z-index: 100;
750
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
751
+ }
752
+
753
+ .dialkit-select-option {
754
+ display: block;
755
+ width: 100%;
756
+ padding: 8px 10px;
757
+ font-family: inherit;
758
+ font-size: 13px;
759
+ font-weight: 500;
760
+ color: var(--dial-text-label);
761
+ background: transparent;
762
+ border: none;
763
+ border-radius: 6px;
764
+ cursor: pointer;
765
+ text-align: left;
766
+ transition: background 0.15s, color 0.15s;
767
+ }
768
+
769
+ .dialkit-select-option:hover {
770
+ background: var(--dial-surface-hover);
771
+ }
772
+
773
+ .dialkit-select-option[data-selected="true"] {
774
+ color: var(--dial-text-primary);
775
+ background: var(--dial-surface-active);
776
+ }
777
+
778
+ /* Color Control */
779
+ .dialkit-color-control {
780
+ display: flex;
781
+ align-items: center;
782
+ justify-content: space-between;
783
+ gap: 12px;
784
+ height: var(--dial-row-height);
785
+ padding: 0 12px;
786
+ background: var(--dial-surface);
787
+ border-radius: var(--dial-radius);
788
+ }
789
+
790
+ .dialkit-color-label {
791
+ font-size: 13px;
792
+ font-weight: 500;
793
+ color: var(--dial-text-label);
794
+ flex-shrink: 0;
795
+ transform: translateY(-0.5px);
796
+ }
797
+
798
+ .dialkit-color-inputs {
799
+ display: flex;
800
+ align-items: center;
801
+ gap: 8px;
802
+ }
803
+
804
+ .dialkit-color-hex {
805
+ font-size: 13px;
806
+ font-weight: 500;
807
+ font-family: ui-monospace, 'SF Mono', 'Courier New', monospace;
808
+ color: var(--dial-text-label);
809
+ cursor: text;
810
+ transform: translateY(-0.5px);
811
+ }
812
+
813
+ .dialkit-color-hex-input {
814
+ width: 7ch;
815
+ font-size: 13px;
816
+ font-weight: 500;
817
+ font-family: ui-monospace, 'SF Mono', 'Courier New', monospace;
818
+ color: var(--dial-text-label);
819
+ background: transparent;
820
+ border: none;
821
+ padding: 0;
822
+ outline: none;
823
+ text-transform: uppercase;
824
+ transform: translateY(-0.5px);
825
+ }
826
+
827
+ .dialkit-color-hex-input:focus {
828
+ color: #fff;
829
+ }
830
+
831
+ .dialkit-color-swatch {
832
+ width: 20px;
833
+ height: 20px;
834
+ border-radius: 4px;
835
+ border: 1px solid rgba(255, 255, 255, 0.2);
836
+ cursor: pointer;
837
+ transition: transform 0.15s;
838
+ }
839
+
840
+ .dialkit-color-swatch:hover {
841
+ transform: scale(1.1);
842
+ }
843
+
844
+ .dialkit-color-picker-native {
845
+ position: absolute;
846
+ width: 0;
847
+ height: 0;
848
+ opacity: 0;
849
+ pointer-events: none;
850
+ }
851
+
852
+ /* Preset Manager */
853
+ .dialkit-preset-manager {
854
+ position: relative;
855
+ flex: 1;
856
+ }
857
+
858
+ .dialkit-preset-trigger {
859
+ display: flex;
860
+ align-items: center;
861
+ justify-content: space-between;
862
+ width: 100%;
863
+ height: var(--dial-row-height);
864
+ padding: 0 12px;
865
+ font-family: inherit;
866
+ font-size: 13px;
867
+ font-weight: 500;
868
+ color: var(--dial-text-label);
869
+ background: var(--dial-surface);
870
+ border: none;
871
+ border-radius: var(--dial-radius);
872
+ cursor: pointer;
873
+ transition: background 0.15s;
874
+ }
875
+
876
+ .dialkit-preset-trigger:hover {
877
+ background: var(--dial-surface-hover);
878
+ }
879
+
880
+ .dialkit-preset-trigger[data-disabled="true"] {
881
+ cursor: default;
882
+ }
883
+
884
+ .dialkit-preset-trigger[data-disabled="true"]:hover {
885
+ background: var(--dial-surface);
886
+ }
887
+
888
+ .dialkit-preset-trigger[data-open="true"] {
889
+ background: var(--dial-surface-active);
890
+ }
891
+
892
+ .dialkit-preset-label {
893
+ overflow: hidden;
894
+ text-overflow: ellipsis;
895
+ white-space: nowrap;
896
+ }
897
+
898
+
899
+ .dialkit-preset-dropdown {
900
+ width: max-content;
901
+ background: #2a2a2a;
902
+ border: 1px solid var(--dial-border);
903
+ border-radius: 12px;
904
+ padding: 4px;
905
+ z-index: 10000;
906
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
907
+ }
908
+
909
+ .dialkit-preset-list {
910
+ display: flex;
911
+ flex-direction: column;
912
+ gap: 2px;
913
+ margin-bottom: 4px;
914
+ padding-bottom: 4px;
915
+ border-bottom: 1px solid var(--dial-border);
916
+ }
917
+
918
+ .dialkit-preset-item {
919
+ display: flex;
920
+ align-items: center;
921
+ justify-content: space-between;
922
+ padding: 8px 10px 8px 10px;
923
+ gap: 8px;
924
+ border-radius: 8px;
925
+ cursor: pointer;
926
+ transition: background 0.15s;
927
+ }
928
+
929
+ .dialkit-preset-item:hover {
930
+ background: var(--dial-surface-hover);
931
+ }
932
+
933
+ .dialkit-preset-item[data-active="true"] {
934
+ background: var(--dial-surface-active);
935
+ }
936
+
937
+ .dialkit-preset-name {
938
+ font-size: 13px;
939
+ font-weight: 500;
940
+ color: var(--dial-text-label);
941
+ overflow: hidden;
942
+ text-overflow: ellipsis;
943
+ white-space: nowrap;
944
+ }
945
+
946
+ .dialkit-preset-item[data-active="true"] .dialkit-preset-name {
947
+ color: var(--dial-text-primary);
948
+ }
949
+
950
+ .dialkit-preset-delete {
951
+ display: flex;
952
+ align-items: center;
953
+ justify-content: center;
954
+ width: 24px;
955
+ height: 24px;
956
+ padding: 0;
957
+ background: transparent;
958
+ border: none;
959
+ cursor: pointer;
960
+ opacity: 0;
961
+ transition: opacity 0.15s;
962
+ flex-shrink: 0;
963
+ }
964
+
965
+ .dialkit-preset-item:hover .dialkit-preset-delete {
966
+ opacity: 0.6;
967
+ }
968
+
969
+ .dialkit-preset-delete:hover {
970
+ opacity: 1 !important;
971
+ }
972
+
973
+ .dialkit-preset-delete svg {
974
+ width: 14px;
975
+ height: 14px;
976
+ color: #fff;
977
+ pointer-events: none;
978
+ }
979
+
980
+ .dialkit-preset-save-btn {
981
+ display: flex;
982
+ align-items: center;
983
+ justify-content: center;
984
+ gap: 6px;
985
+ width: 100%;
986
+ padding: 8px 10px;
987
+ font-family: inherit;
988
+ font-size: 13px;
989
+ font-weight: 500;
990
+ color: var(--dial-text-label);
991
+ background: transparent;
992
+ border: none;
993
+ border-radius: 6px;
994
+ cursor: pointer;
995
+ transition: background 0.15s, color 0.15s;
996
+ }
997
+
998
+ .dialkit-preset-save-btn:hover {
999
+ background: var(--dial-surface-hover);
1000
+ color: var(--dial-text-primary);
1001
+ }
1002
+
1003
+ .dialkit-preset-save-btn svg {
1004
+ width: 12px;
1005
+ height: 12px;
1006
+ }
1007
+
1008
+ .dialkit-preset-save-row {
1009
+ display: flex;
1010
+ align-items: center;
1011
+ gap: 6px;
1012
+ padding: 4px;
1013
+ }
1014
+
1015
+ .dialkit-preset-input {
1016
+ flex: 1;
1017
+ min-width: 0;
1018
+ padding: 6px 8px;
1019
+ font-family: inherit;
1020
+ font-size: 13px;
1021
+ color: var(--dial-text-primary);
1022
+ background: var(--dial-surface);
1023
+ border: 1px solid var(--dial-border);
1024
+ border-radius: 6px;
1025
+ outline: none;
1026
+ }
1027
+
1028
+ .dialkit-preset-input:focus {
1029
+ border-color: var(--dial-text-label);
1030
+ }
1031
+
1032
+ .dialkit-preset-input::placeholder {
1033
+ color: var(--dial-text-tertiary);
1034
+ }
1035
+
1036
+ .dialkit-preset-confirm {
1037
+ display: flex;
1038
+ align-items: center;
1039
+ justify-content: center;
1040
+ width: 28px;
1041
+ height: 28px;
1042
+ padding: 0;
1043
+ background: var(--dial-surface);
1044
+ border: none;
1045
+ border-radius: 6px;
1046
+ cursor: pointer;
1047
+ transition: background 0.15s;
1048
+ }
1049
+
1050
+ .dialkit-preset-confirm:hover:not(:disabled) {
1051
+ background: var(--dial-surface-hover);
1052
+ }
1053
+
1054
+ .dialkit-preset-confirm:disabled {
1055
+ opacity: 0.4;
1056
+ cursor: not-allowed;
1057
+ }
1058
+
1059
+ .dialkit-preset-confirm svg {
1060
+ width: 14px;
1061
+ height: 14px;
1062
+ color: var(--dial-text-label);
1063
+ }