dialkit 1.1.0 → 1.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.
Files changed (67) hide show
  1. package/README.md +171 -1
  2. package/dist/index.cjs +876 -337
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +41 -6
  5. package/dist/index.d.ts +41 -6
  6. package/dist/index.js +878 -341
  7. package/dist/index.js.map +1 -1
  8. package/dist/solid/index.cjs +1011 -544
  9. package/dist/solid/index.cjs.map +1 -1
  10. package/dist/solid/index.d.cts +33 -3
  11. package/dist/solid/index.d.ts +33 -3
  12. package/dist/solid/index.js +864 -398
  13. package/dist/solid/index.js.map +1 -1
  14. package/dist/store/index.cjs +52 -12
  15. package/dist/store/index.cjs.map +1 -1
  16. package/dist/store/index.d.cts +25 -3
  17. package/dist/store/index.d.ts +25 -3
  18. package/dist/store/index.js +52 -12
  19. package/dist/store/index.js.map +1 -1
  20. package/dist/styles.css +256 -25
  21. package/dist/svelte/components/ControlRenderer.svelte +12 -0
  22. package/dist/svelte/components/ControlRenderer.svelte.d.ts.map +1 -1
  23. package/dist/svelte/components/DialRoot.svelte +22 -8
  24. package/dist/svelte/components/DialRoot.svelte.d.ts +3 -0
  25. package/dist/svelte/components/DialRoot.svelte.d.ts.map +1 -1
  26. package/dist/svelte/components/Folder.svelte +17 -8
  27. package/dist/svelte/components/Folder.svelte.d.ts.map +1 -1
  28. package/dist/svelte/components/Panel.svelte +14 -9
  29. package/dist/svelte/components/Panel.svelte.d.ts.map +1 -1
  30. package/dist/svelte/components/PresetManager.svelte +7 -6
  31. package/dist/svelte/components/PresetManager.svelte.d.ts.map +1 -1
  32. package/dist/svelte/components/SegmentedControl.svelte +30 -74
  33. package/dist/svelte/components/SegmentedControl.svelte.d.ts.map +1 -1
  34. package/dist/svelte/components/SelectControl.svelte +2 -1
  35. package/dist/svelte/components/SelectControl.svelte.d.ts.map +1 -1
  36. package/dist/svelte/components/ShortcutListener.svelte +265 -0
  37. package/dist/svelte/components/ShortcutListener.svelte.d.ts +13 -0
  38. package/dist/svelte/components/ShortcutListener.svelte.d.ts.map +1 -0
  39. package/dist/svelte/components/ShortcutsMenu.svelte +128 -0
  40. package/dist/svelte/components/ShortcutsMenu.svelte.d.ts +7 -0
  41. package/dist/svelte/components/ShortcutsMenu.svelte.d.ts.map +1 -0
  42. package/dist/svelte/components/Slider.svelte +16 -29
  43. package/dist/svelte/components/Slider.svelte.d.ts +3 -0
  44. package/dist/svelte/components/Slider.svelte.d.ts.map +1 -1
  45. package/dist/svelte/components/SpringControl.svelte +17 -15
  46. package/dist/svelte/components/SpringControl.svelte.d.ts.map +1 -1
  47. package/dist/svelte/components/Toggle.svelte +13 -2
  48. package/dist/svelte/components/Toggle.svelte.d.ts +3 -0
  49. package/dist/svelte/components/Toggle.svelte.d.ts.map +1 -1
  50. package/dist/svelte/components/TransitionControl.svelte +28 -25
  51. package/dist/svelte/components/TransitionControl.svelte.d.ts.map +1 -1
  52. package/dist/svelte/createDialKit.svelte.d.ts +2 -1
  53. package/dist/svelte/createDialKit.svelte.d.ts.map +1 -1
  54. package/dist/svelte/createDialKit.svelte.js +1 -1
  55. package/dist/svelte/index.d.ts +6 -2
  56. package/dist/svelte/index.d.ts.map +1 -1
  57. package/dist/svelte/index.js +4 -0
  58. package/dist/svelte/theme-css.d.ts +1 -1
  59. package/dist/svelte/theme-css.d.ts.map +1 -1
  60. package/dist/svelte/theme-css.js +257 -26
  61. package/dist/vue/index.cjs +3056 -0
  62. package/dist/vue/index.cjs.map +1 -0
  63. package/dist/vue/index.d.cts +675 -0
  64. package/dist/vue/index.d.ts +675 -0
  65. package/dist/vue/index.js +3014 -0
  66. package/dist/vue/index.js.map +1 -0
  67. package/package.json +24 -4
@@ -1,15 +1,19 @@
1
1
  // Auto-generated from src/styles/theme.css — do not edit
2
- export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
2
+ export const themeCSS = `@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&display=swap');
3
+
4
+ /* Dialkit Theme - Dark glassmorphic design */
3
5
  .dialkit-root {
4
6
  /* Surfaces */
5
7
  --dial-surface: rgba(255, 255, 255, 0.05);
6
8
  --dial-surface-hover: rgba(255, 255, 255, 0.1);
7
9
  --dial-surface-active: rgba(255, 255, 255, 0.11);
10
+ --dial-surface-subtle: rgba(255, 255, 255, 0.06);
8
11
 
9
12
  /* Text hierarchy - 3 levels */
10
13
  --dial-text-root: #FFFFFF; /* Root title */
11
14
  --dial-text-section: rgba(255, 255, 255, 0.7); /* Section titles + carets */
12
15
  --dial-text-label: rgba(255, 255, 255, 0.7); /* Input labels */
16
+ --dial-text-focus: #ffffff;
13
17
 
14
18
  /* Legacy aliases */
15
19
  --dial-text-primary: rgba(255, 255, 255, 0.95);
@@ -22,10 +26,13 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
22
26
 
23
27
  /* Glassmorphic panel */
24
28
  --dial-glass-bg: #212121;
29
+ --dial-dropdown-bg: #2a2a2a;
25
30
  --dial-backdrop-blur: 20px;
26
31
  --dial-radius: 8px;
27
32
  --dial-row-height: 36px;
28
33
  --dial-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
34
+ --dial-shadow-collapsed: 0 4px 16px rgba(0, 0, 0, 0.25);
35
+ --dial-shadow-dropdown: 0 8px 24px rgba(0, 0, 0, 0.4);
29
36
 
30
37
  /* Fonts */
31
38
  font-family: system-ui, -apple-system, 'SF Pro Display', sans-serif;
@@ -59,9 +66,13 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
59
66
  border-radius: 14px;
60
67
  backdrop-filter: blur(var(--dial-backdrop-blur));
61
68
  -webkit-backdrop-filter: blur(var(--dial-backdrop-blur));
62
- padding: 10px 12px 12px 12px;
69
+ padding: 10px 12px 0 12px;
63
70
  transform: translateZ(0);
64
71
  transform-origin: top right;
72
+ }
73
+
74
+ .dialkit-panel[data-position="top-left"] .dialkit-panel-inner {
75
+ transform-origin: top left;
65
76
  max-height: calc(100vh - 80px);
66
77
  overflow-y: auto;
67
78
  }
@@ -70,6 +81,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
70
81
  .dialkit-panel-inner[data-collapsed="true"] {
71
82
  border-radius: 50%;
72
83
  padding: 12px;
84
+ box-sizing: border-box;
73
85
  }
74
86
 
75
87
  .dialkit-panel-inner[data-collapsed="true"] .dialkit-panel-header {
@@ -139,7 +151,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
139
151
  .dialkit-folder {
140
152
  padding-bottom: 8px;
141
153
  margin-bottom: 8px;
142
- border-bottom: 1px solid rgba(255, 255, 255, 0.06);
154
+ border-bottom: 1px solid var(--dial-surface-subtle);
143
155
  }
144
156
 
145
157
  .dialkit-folder:last-child:not(.dialkit-folder-root) {
@@ -156,7 +168,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
156
168
  .dialkit-panel-header {
157
169
  padding-bottom: 6px;
158
170
  margin-bottom: 12px;
159
- border-bottom: 1px solid rgba(255, 255, 255, 0.06);
171
+ border-bottom: 1px solid var(--dial-surface-subtle);
160
172
  }
161
173
 
162
174
  .dialkit-folder-header {
@@ -231,7 +243,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
231
243
  right: 12px;
232
244
  width: 16px;
233
245
  height: 16px;
234
- color: #fff;
246
+ color: var(--dial-text-focus);
235
247
  z-index: 1;
236
248
  }
237
249
 
@@ -248,8 +260,8 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
248
260
 
249
261
  /* Non-root folders - top & bottom HR dividers */
250
262
  .dialkit-folder:not(.dialkit-folder-root) {
251
- border-top: 1px solid rgba(255, 255, 255, 0.06);
252
- border-bottom: 1px solid rgba(255, 255, 255, 0.06);
263
+ border-top: 1px solid var(--dial-surface-subtle);
264
+ border-bottom: 1px solid var(--dial-surface-subtle);
253
265
  margin-top: 4px;
254
266
  margin-bottom: 4px;
255
267
  padding-bottom: 0;
@@ -318,11 +330,11 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
318
330
  }
319
331
 
320
332
  .dialkit-slider-active .dialkit-slider-hashmark {
321
- background: rgba(255, 255, 255, 0.15);
333
+ background: var(--dial-border-hover);
322
334
  }
323
335
 
324
336
  .dialkit-slider-active .dialkit-slider-value {
325
- color: #fff;
337
+ color: var(--dial-text-focus);
326
338
  }
327
339
 
328
340
  .dialkit-slider-fill {
@@ -330,16 +342,22 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
330
342
  top: 0;
331
343
  bottom: 0;
332
344
  left: 0;
345
+ background: var(--dial-surface-active);
333
346
  transition: background 0.15s;
334
347
  pointer-events: none;
335
348
  }
336
349
 
350
+ .dialkit-slider-active .dialkit-slider-fill {
351
+ background: var(--dial-border-hover);
352
+ }
353
+
337
354
  .dialkit-slider-handle {
338
355
  position: absolute;
339
356
  top: 50%;
340
357
  width: 3px;
341
358
  height: 20px;
342
359
  border-radius: 999px;
360
+ background: var(--dial-text-primary);
343
361
  pointer-events: none;
344
362
  }
345
363
 
@@ -353,6 +371,8 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
353
371
  color: var(--dial-text-label);
354
372
  pointer-events: none;
355
373
  transition: color 0.15s;
374
+ display: inline-flex;
375
+ align-items: center;
356
376
  }
357
377
 
358
378
  .dialkit-slider-value {
@@ -362,7 +382,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
362
382
  transform: translateY(calc(-50% + 0.5px));
363
383
  font-size: 13px;
364
384
  font-weight: 500;
365
- font-family: ui-monospace, 'SF Mono', 'Courier New', monospace;
385
+ font-family: 'Geist Mono', monospace;
366
386
  color: var(--dial-text-label);
367
387
  pointer-events: auto;
368
388
  transition: color 0.15s, border-color 0.15s;
@@ -384,7 +404,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
384
404
  max-width: 6ch;
385
405
  font-size: 13px;
386
406
  font-weight: 500;
387
- font-family: ui-monospace, 'SF Mono', 'Courier New', monospace;
407
+ font-family: 'Geist Mono', monospace;
388
408
  color: var(--dial-text-label);
389
409
  background: transparent;
390
410
  border: none;
@@ -395,7 +415,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
395
415
  }
396
416
 
397
417
  .dialkit-slider-input:focus {
398
- color: #fff;
418
+ color: var(--dial-text-focus);
399
419
  }
400
420
 
401
421
  /* Segmented Control */
@@ -420,8 +440,8 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
420
440
  .dialkit-segmented-button {
421
441
  position: relative;
422
442
  z-index: 1;
423
- flex: 1;
424
- padding: 8px 12px;
443
+ flex: 0 0 auto;
444
+ padding: 6px 8px;
425
445
  font-family: inherit;
426
446
  font-size: 13px;
427
447
  font-weight: 500;
@@ -432,7 +452,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
432
452
  }
433
453
 
434
454
  .dialkit-segmented-button[data-active="true"] {
435
- color: rgba(255, 255, 255, 0.8);
455
+ color: var(--dial-text-primary);
436
456
  }
437
457
 
438
458
  .dialkit-segmented-button[data-active="false"] {
@@ -477,7 +497,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
477
497
  }
478
498
 
479
499
  .dialkit-toggle[data-checked="true"] .dialkit-toggle-track {
480
- background: rgba(255, 255, 255, 0.3);
500
+ background: var(--dial-border-hover);
481
501
  }
482
502
 
483
503
  .dialkit-toggle-thumb {
@@ -486,7 +506,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
486
506
  width: 16px;
487
507
  height: 16px;
488
508
  border-radius: 8px;
489
- background: rgba(255, 255, 255, 0.8);
509
+ background: var(--dial-text-primary);
490
510
  }
491
511
 
492
512
  /* Button Group */
@@ -532,6 +552,8 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
532
552
  }
533
553
 
534
554
  .dialkit-labeled-control-label {
555
+ display: flex;
556
+ align-items: center;
535
557
  font-size: 13px;
536
558
  font-weight: 500;
537
559
  color: var(--dial-text-label);
@@ -541,6 +563,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
541
563
 
542
564
  .dialkit-labeled-control .dialkit-segmented {
543
565
  flex-shrink: 0;
566
+ margin-right: -6px;
544
567
  }
545
568
 
546
569
  .dialkit-action-button {
@@ -604,6 +627,8 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
604
627
  gap: 6px;
605
628
  height: var(--dial-row-height);
606
629
  margin-bottom: 6px;
630
+ min-width: 0;
631
+ overflow: hidden;
607
632
  }
608
633
 
609
634
  .dialkit-toolbar-add {
@@ -703,7 +728,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
703
728
  }
704
729
 
705
730
  .dialkit-text-input:focus {
706
- color: #fff;
731
+ color: var(--dial-text-focus);
707
732
  }
708
733
 
709
734
  .dialkit-text-input::placeholder {
@@ -780,7 +805,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
780
805
  border-radius: var(--dial-radius);
781
806
  padding: 4px;
782
807
  z-index: 10000;
783
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
808
+ box-shadow: var(--dial-shadow-dropdown);
784
809
  }
785
810
 
786
811
  .dialkit-select-option {
@@ -837,7 +862,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
837
862
  .dialkit-color-hex {
838
863
  font-size: 13px;
839
864
  font-weight: 500;
840
- font-family: ui-monospace, 'SF Mono', 'Courier New', monospace;
865
+ font-family: 'Geist Mono', monospace;
841
866
  color: var(--dial-text-label);
842
867
  cursor: text;
843
868
  transform: translateY(-0.5px);
@@ -847,7 +872,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
847
872
  width: 7ch;
848
873
  font-size: 13px;
849
874
  font-weight: 500;
850
- font-family: ui-monospace, 'SF Mono', 'Courier New', monospace;
875
+ font-family: 'Geist Mono', monospace;
851
876
  color: var(--dial-text-label);
852
877
  background: transparent;
853
878
  border: none;
@@ -858,14 +883,14 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
858
883
  }
859
884
 
860
885
  .dialkit-color-hex-input:focus {
861
- color: #fff;
886
+ color: var(--dial-text-focus);
862
887
  }
863
888
 
864
889
  .dialkit-color-swatch {
865
890
  width: 20px;
866
891
  height: 20px;
867
892
  border-radius: 4px;
868
- border: 1px solid rgba(255, 255, 255, 0.2);
893
+ border: 1px solid var(--dial-border-hover);
869
894
  cursor: pointer;
870
895
  transition: transform 0.15s;
871
896
  }
@@ -931,12 +956,12 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
931
956
 
932
957
  .dialkit-preset-dropdown {
933
958
  width: max-content;
934
- background: #2a2a2a;
959
+ background: var(--dial-dropdown-bg);
935
960
  border: 1px solid var(--dial-border);
936
961
  border-radius: 12px;
937
962
  padding: 4px;
938
963
  z-index: 10000;
939
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
964
+ box-shadow: var(--dial-shadow-dropdown);
940
965
  }
941
966
 
942
967
  .dialkit-preset-list {
@@ -1006,7 +1031,7 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
1006
1031
  .dialkit-preset-delete svg {
1007
1032
  width: 14px;
1008
1033
  height: 14px;
1009
- color: #fff;
1034
+ color: var(--dial-text-focus);
1010
1035
  pointer-events: none;
1011
1036
  }
1012
1037
 
@@ -1094,4 +1119,210 @@ export const themeCSS = `/* Dialkit Theme - Dark glassmorphic design */
1094
1119
  height: 14px;
1095
1120
  color: var(--dial-text-label);
1096
1121
  }
1122
+
1123
+ /* Shortcut Pill */
1124
+ .dialkit-shortcut-pill {
1125
+ display: inline-block;
1126
+ font-size: 10px;
1127
+ font-weight: 600;
1128
+ font-family: system-ui, -apple-system, sans-serif;
1129
+ color: var(--dial-text-tertiary);
1130
+ background: var(--dial-surface-subtle);
1131
+ padding: 1px 5px;
1132
+ border-radius: 4px;
1133
+ margin-left: 6px;
1134
+ letter-spacing: 0.02em;
1135
+ line-height: 16px;
1136
+ white-space: nowrap;
1137
+ vertical-align: middle;
1138
+ transition: color 0.15s, background 0.15s;
1139
+ }
1140
+
1141
+ .dialkit-shortcut-pill-active {
1142
+ color: var(--dial-text-primary);
1143
+ background: var(--dial-border-hover);
1144
+ }
1145
+
1146
+ /* Shortcuts Menu Trigger */
1147
+ .dialkit-shortcuts-trigger {
1148
+ display: flex;
1149
+ align-items: center;
1150
+ justify-content: center;
1151
+ width: var(--dial-row-height);
1152
+ height: var(--dial-row-height);
1153
+ padding: 0;
1154
+ flex-shrink: 0;
1155
+ background: var(--dial-surface);
1156
+ border: none;
1157
+ border-radius: var(--dial-radius);
1158
+ cursor: pointer;
1159
+ transition: background 0.15s;
1160
+ }
1161
+
1162
+ .dialkit-shortcuts-trigger:hover {
1163
+ background: var(--dial-surface-hover);
1164
+ }
1165
+
1166
+ .dialkit-shortcuts-trigger svg {
1167
+ width: 16px;
1168
+ height: 16px;
1169
+ color: var(--dial-text-label);
1170
+ }
1171
+
1172
+ /* Shortcuts Dropdown */
1173
+ .dialkit-shortcuts-dropdown {
1174
+ background: var(--dial-dropdown-bg);
1175
+ border: 1px solid var(--dial-border);
1176
+ border-radius: 12px;
1177
+ padding: 8px;
1178
+ z-index: 10000;
1179
+ box-shadow: var(--dial-shadow-dropdown);
1180
+ min-width: 200px;
1181
+ }
1182
+
1183
+ .dialkit-shortcuts-title {
1184
+ font-size: 11px;
1185
+ font-weight: 600;
1186
+ color: var(--dial-text-tertiary);
1187
+ text-transform: uppercase;
1188
+ letter-spacing: 0.05em;
1189
+ padding: 4px 8px 8px;
1190
+ }
1191
+
1192
+ .dialkit-shortcuts-list {
1193
+ display: flex;
1194
+ flex-direction: column;
1195
+ gap: 2px;
1196
+ }
1197
+
1198
+ .dialkit-shortcuts-row {
1199
+ display: flex;
1200
+ align-items: center;
1201
+ gap: 10px;
1202
+ padding: 6px 8px;
1203
+ border-radius: 6px;
1204
+ }
1205
+
1206
+ .dialkit-shortcuts-row-key {
1207
+ font-size: 11px;
1208
+ font-weight: 600;
1209
+ font-family: ui-monospace, 'SF Mono', 'Courier New', monospace;
1210
+ color: var(--dial-text-secondary);
1211
+ background: var(--dial-surface-subtle);
1212
+ padding: 2px 6px;
1213
+ border-radius: 4px;
1214
+ min-width: 28px;
1215
+ text-align: center;
1216
+ }
1217
+
1218
+ .dialkit-shortcuts-row-label {
1219
+ flex: 1;
1220
+ font-size: 13px;
1221
+ font-weight: 500;
1222
+ color: var(--dial-text-label);
1223
+ }
1224
+
1225
+ .dialkit-shortcuts-row-mode {
1226
+ font-size: 11px;
1227
+ font-weight: 500;
1228
+ color: var(--dial-text-tertiary);
1229
+ font-style: italic;
1230
+ }
1231
+
1232
+ .dialkit-shortcuts-hint {
1233
+ font-size: 11px;
1234
+ color: var(--dial-text-tertiary);
1235
+ padding: 6px 8px 2px;
1236
+ border-top: 1px solid var(--dial-border);
1237
+ margin-top: 4px;
1238
+ }
1239
+
1240
+ /* ── Light Theme ── */
1241
+ .dialkit-root[data-theme="light"] {
1242
+ --dial-surface: rgba(0, 0, 0, 0.04);
1243
+ --dial-surface-hover: rgba(0, 0, 0, 0.08);
1244
+ --dial-surface-active: rgba(0, 0, 0, 0.1);
1245
+ --dial-surface-subtle: rgba(0, 0, 0, 0.06);
1246
+
1247
+ --dial-text-root: #000000;
1248
+ --dial-text-section: rgba(0, 0, 0, 0.65);
1249
+ --dial-text-label: rgba(0, 0, 0, 0.6);
1250
+ --dial-text-focus: #000000;
1251
+
1252
+ --dial-text-primary: rgba(0, 0, 0, 0.9);
1253
+ --dial-text-secondary: rgba(0, 0, 0, 0.55);
1254
+ --dial-text-tertiary: rgba(0, 0, 0, 0.35);
1255
+
1256
+ --dial-border: rgba(0, 0, 0, 0.1);
1257
+ --dial-border-hover: rgba(0, 0, 0, 0.15);
1258
+
1259
+ --dial-glass-bg: #fafafa;
1260
+ --dial-dropdown-bg: #ffffff;
1261
+ --dial-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
1262
+ --dial-shadow-collapsed: 0 2px 10px rgba(0, 0, 0, 0.06);
1263
+ --dial-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, 0.08);
1264
+ }
1265
+
1266
+ /* Light mode: SVG visualization overrides */
1267
+ .dialkit-root[data-theme="light"] .dialkit-spring-viz line {
1268
+ stroke: rgba(0, 0, 0, 0.08);
1269
+ }
1270
+
1271
+ .dialkit-root[data-theme="light"] .dialkit-spring-viz line[stroke-dasharray] {
1272
+ stroke: rgba(0, 0, 0, 0.15);
1273
+ }
1274
+
1275
+ .dialkit-root[data-theme="light"] .dialkit-spring-viz path {
1276
+ stroke: rgba(0, 0, 0, 0.5);
1277
+ }
1278
+
1279
+ /* Light mode: toggle thumb needs shadow for definition */
1280
+ .dialkit-root[data-theme="light"] .dialkit-toggle-thumb {
1281
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.08);
1282
+ }
1283
+
1284
+ /* ── System preference: light ── */
1285
+ @media (prefers-color-scheme: light) {
1286
+ .dialkit-root[data-theme="system"] {
1287
+ --dial-surface: rgba(0, 0, 0, 0.04);
1288
+ --dial-surface-hover: rgba(0, 0, 0, 0.08);
1289
+ --dial-surface-active: rgba(0, 0, 0, 0.1);
1290
+ --dial-surface-subtle: rgba(0, 0, 0, 0.06);
1291
+
1292
+ --dial-text-root: #000000;
1293
+ --dial-text-section: rgba(0, 0, 0, 0.65);
1294
+ --dial-text-label: rgba(0, 0, 0, 0.6);
1295
+ --dial-text-focus: #000000;
1296
+
1297
+ --dial-text-primary: rgba(0, 0, 0, 0.9);
1298
+ --dial-text-secondary: rgba(0, 0, 0, 0.55);
1299
+ --dial-text-tertiary: rgba(0, 0, 0, 0.35);
1300
+
1301
+ --dial-border: rgba(0, 0, 0, 0.1);
1302
+ --dial-border-hover: rgba(0, 0, 0, 0.15);
1303
+
1304
+ --dial-glass-bg: #fafafa;
1305
+ --dial-dropdown-bg: #ffffff;
1306
+ --dial-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
1307
+ --dial-shadow-collapsed: 0 2px 10px rgba(0, 0, 0, 0.06);
1308
+ --dial-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, 0.08);
1309
+ }
1310
+
1311
+ .dialkit-root[data-theme="system"] .dialkit-spring-viz line {
1312
+ stroke: rgba(0, 0, 0, 0.08);
1313
+ }
1314
+
1315
+ .dialkit-root[data-theme="system"] .dialkit-spring-viz line[stroke-dasharray] {
1316
+ stroke: rgba(0, 0, 0, 0.15);
1317
+ }
1318
+
1319
+ .dialkit-root[data-theme="system"] .dialkit-spring-viz path {
1320
+ stroke: rgba(0, 0, 0, 0.5);
1321
+ }
1322
+
1323
+ .dialkit-root[data-theme="system"] .dialkit-toggle-thumb {
1324
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.08);
1325
+ }
1326
+
1327
+ }
1097
1328
  `;