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