@dryui/ui 0.0.7 → 0.1.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.
Files changed (68) hide show
  1. package/dist/alert/alert-close.svelte +2 -1
  2. package/dist/alert/alert-icon.svelte +1 -0
  3. package/dist/alert/alert-root.svelte +2 -18
  4. package/dist/button-group/button-group.svelte +4 -5
  5. package/dist/calendar/calendar-root.svelte +1 -1
  6. package/dist/checkbox/checkbox.svelte +82 -27
  7. package/dist/color-picker/color-picker-root.svelte +1 -0
  8. package/dist/combobox/combobox-group.svelte +0 -1
  9. package/dist/country-select/country-select.svelte +3 -5
  10. package/dist/date-range-picker/date-range-picker-root.svelte +0 -1
  11. package/dist/dialog/dialog-footer.svelte +0 -1
  12. package/dist/field/field-root.svelte +1 -9
  13. package/dist/file-select/file-select-clear.svelte +1 -0
  14. package/dist/file-select/file-select-root.svelte +3 -2
  15. package/dist/file-select/file-select-trigger.svelte +2 -0
  16. package/dist/file-select/file-select-value.svelte +1 -0
  17. package/dist/file-upload/file-upload-dropzone.svelte +2 -0
  18. package/dist/file-upload/file-upload-root.svelte +0 -1
  19. package/dist/flip-card/flip-card-back.svelte +5 -0
  20. package/dist/flip-card/flip-card-front.svelte +5 -0
  21. package/dist/flip-card/flip-card-root.svelte +11 -35
  22. package/dist/float-button/float-button-action.svelte +2 -6
  23. package/dist/float-button/float-button-root.svelte +4 -9
  24. package/dist/float-button/float-button-trigger.svelte +5 -9
  25. package/dist/input-group/input-group-action.svelte +33 -0
  26. package/dist/input-group/input-group-input.svelte +35 -8
  27. package/dist/input-group/input-group-prefix.svelte +13 -0
  28. package/dist/input-group/input-group-root.svelte +0 -94
  29. package/dist/input-group/input-group-select.svelte +38 -0
  30. package/dist/input-group/input-group-separator.svelte +7 -0
  31. package/dist/input-group/input-group-suffix.svelte +13 -0
  32. package/dist/label/label.svelte +1 -0
  33. package/dist/list/list-root.svelte +0 -1
  34. package/dist/map/map-root.svelte +7 -11
  35. package/dist/markdown-renderer/markdown-renderer.svelte +109 -108
  36. package/dist/multi-select-combobox/multi-select-combobox-group.svelte +0 -1
  37. package/dist/navigation-menu/navigation-menu-item.svelte +6 -0
  38. package/dist/navigation-menu/navigation-menu-list.svelte +0 -4
  39. package/dist/notification-center/notification-center-group.svelte +12 -0
  40. package/dist/notification-center/notification-center-item.svelte +28 -0
  41. package/dist/notification-center/notification-center-panel.svelte +34 -0
  42. package/dist/notification-center/notification-center-root.svelte +1 -82
  43. package/dist/notification-center/notification-center-trigger.svelte +1 -0
  44. package/dist/option-swatch-group/option-swatch-group-root.svelte +1 -1
  45. package/dist/pin-input/pin-input-cell.svelte +1 -2
  46. package/dist/radio-group/radio-group.svelte +0 -1
  47. package/dist/range-calendar/range-calendar-grid.svelte +139 -0
  48. package/dist/range-calendar/range-calendar-root.svelte +0 -164
  49. package/dist/rich-text-editor/rich-text-editor-content.svelte +73 -0
  50. package/dist/rich-text-editor/rich-text-editor-root.svelte +0 -221
  51. package/dist/rich-text-editor/rich-text-editor-toolbar.svelte +149 -0
  52. package/dist/shader-canvas/shader-canvas.svelte +0 -1
  53. package/dist/sidebar/sidebar-content.svelte +7 -14
  54. package/dist/sidebar/sidebar-group-label.svelte +10 -4
  55. package/dist/sidebar/sidebar-group.svelte +8 -0
  56. package/dist/sidebar/sidebar-header.svelte +9 -5
  57. package/dist/sidebar/sidebar-root.svelte +1 -1
  58. package/dist/sidebar/sidebar-trigger.svelte +0 -1
  59. package/dist/system-map/system-map.svelte +0 -1
  60. package/dist/tabs/tabs-root.svelte +17 -1
  61. package/dist/tabs/tabs-trigger.svelte +4 -13
  62. package/dist/tags-input/tags-input-root.svelte +12 -5
  63. package/dist/tags-input/tags-input-tag-delete.svelte +2 -2
  64. package/dist/tags-input/tags-input-tag.svelte +1 -1
  65. package/dist/transfer/transfer-item.svelte +2 -1
  66. package/dist/transfer/transfer-list.svelte +7 -18
  67. package/dist/virtual-list/virtual-list.svelte +0 -1
  68. package/package.json +1183 -447
@@ -15,7 +15,6 @@
15
15
 
16
16
  <RichTextEditorPrimitive.Root bind:value data-part="root" {children} {...rest} />
17
17
 
18
- <!-- svelte-ignore css_unused_selector -->
19
18
  <style>
20
19
  [data-part='root'] {
21
20
  --dry-rte-border: var(--dry-color-stroke-weak);
@@ -36,224 +35,4 @@
36
35
  opacity: 0.7;
37
36
  pointer-events: none;
38
37
  }
39
-
40
- [data-part='toolbar'] {
41
- display: grid;
42
- grid-template-columns: repeat(auto-fill, minmax(min-content, max-content));
43
- align-items: center;
44
- gap: var(--dry-space-1);
45
- padding: var(--dry-space-1) var(--dry-space-2);
46
- background: var(--dry-rte-toolbar-bg);
47
- border-bottom: 1px solid var(--dry-rte-border);
48
- }
49
-
50
- [data-part='toolbarGroup'] {
51
- display: grid;
52
- grid-auto-flow: column;
53
- grid-auto-columns: max-content;
54
- align-items: center;
55
- gap: var(--dry-space-0_5);
56
- }
57
-
58
- [data-part='separator'] {
59
- height: var(--dry-space-5);
60
- border-inline-start: 1px solid var(--dry-rte-border);
61
- margin: 0 var(--dry-space-1);
62
- }
63
-
64
- [data-part='button'] {
65
- display: inline-grid;
66
- place-items: center;
67
- height: var(--dry-rte-button-size);
68
- aspect-ratio: 1;
69
- padding: 0;
70
- font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
71
- font-family: var(--dry-font-sans);
72
- font-weight: 600;
73
- color: var(--dry-color-text-strong);
74
- background: transparent;
75
- border: none;
76
- border-radius: var(--dry-radius-md);
77
- cursor: pointer;
78
- transition:
79
- background var(--dry-duration-fast) var(--dry-ease-default),
80
- color var(--dry-duration-fast) var(--dry-ease-default);
81
- line-height: 1;
82
- }
83
-
84
- [data-part='button']:hover {
85
- background: var(--dry-color-bg-raised);
86
- }
87
-
88
- [data-part='button']:focus-visible {
89
- outline: 2px solid var(--dry-color-focus-ring);
90
- outline-offset: -2px;
91
- }
92
-
93
- [data-part='button'][data-active='true'] {
94
- background: var(--dry-color-fill-brand);
95
- color: var(--dry-color-on-brand);
96
- }
97
-
98
- [data-part='button'][data-active='true']:hover {
99
- background: var(--dry-color-fill-brand-hover);
100
- }
101
-
102
- [data-part='buttonItalic'] {
103
- font-style: italic;
104
- }
105
-
106
- [data-part='buttonUnderline'] {
107
- text-decoration: underline;
108
- }
109
-
110
- [data-part='buttonStrikethrough'] {
111
- text-decoration: line-through;
112
- }
113
-
114
- [data-part='content'] {
115
- min-height: 8rem;
116
- padding: var(--dry-rte-padding);
117
- font-family: var(--dry-font-sans);
118
- font-size: var(--dry-type-small-size, var(--dry-text-base-size));
119
- line-height: var(--dry-type-small-leading, var(--dry-text-base-leading));
120
- color: var(--dry-color-text-strong);
121
- outline: none;
122
- overflow-y: auto;
123
- }
124
-
125
- [data-part='content']:focus-visible {
126
- box-shadow: inset 0 0 0 2px var(--dry-color-focus-ring);
127
- }
128
-
129
- /* Placeholder when empty */
130
- [data-part='content']:empty::before {
131
- content: attr(data-placeholder);
132
- color: var(--dry-color-text-weak);
133
- pointer-events: none;
134
- }
135
-
136
- /* Typography inside the editor content */
137
- [data-part='content'] h1 {
138
- font-size: var(--dry-type-heading-2-size, var(--dry-text-2xl-size));
139
- font-weight: 700;
140
- line-height: 1.3;
141
- margin: 0 0 0.5em;
142
- }
143
-
144
- [data-part='content'] h2 {
145
- font-size: var(--dry-type-heading-3-size, var(--dry-text-xl-size));
146
- font-weight: 700;
147
- line-height: 1.35;
148
- margin: 0 0 0.5em;
149
- }
150
-
151
- [data-part='content'] h3 {
152
- font-size: var(--dry-type-heading-4-size, var(--dry-text-lg-size));
153
- font-weight: 600;
154
- line-height: 1.4;
155
- margin: 0 0 0.5em;
156
- }
157
-
158
- [data-part='content'] p {
159
- margin: 0 0 0.5em;
160
- }
161
-
162
- [data-part='content'] p:last-child {
163
- margin-bottom: 0;
164
- }
165
-
166
- [data-part='content'] ul,
167
- [data-part='content'] ol {
168
- margin: 0 0 0.5em;
169
- padding-left: 1.5em;
170
- }
171
-
172
- [data-part='content'] li {
173
- margin-bottom: 0.25em;
174
- }
175
-
176
- [data-part='content'] a {
177
- color: var(--dry-color-fill-brand);
178
- text-decoration: underline;
179
- }
180
-
181
- [data-part='content'] a:hover {
182
- text-decoration: none;
183
- }
184
-
185
- /* Link input popover */
186
- [data-part='linkPopover'] {
187
- display: grid;
188
- grid-template-columns: minmax(12rem, max-content) max-content max-content;
189
- align-items: center;
190
- gap: var(--dry-space-2);
191
- padding: var(--dry-space-2);
192
- background: var(--dry-color-bg-overlay);
193
- border: 1px solid var(--dry-rte-border);
194
- border-radius: var(--dry-radius-md);
195
- box-shadow: var(--dry-shadow-md);
196
- position: absolute;
197
- z-index: var(--dry-rte-popover-z-index);
198
- }
199
-
200
- [data-part='linkInput'] {
201
- font-family: var(--dry-font-sans);
202
- font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
203
- padding: var(--dry-space-1) var(--dry-space-2);
204
- border: 1px solid var(--dry-rte-border);
205
- border-radius: var(--dry-radius-sm);
206
- outline: none;
207
- background: var(--dry-rte-content-bg);
208
- color: var(--dry-color-text-strong);
209
- }
210
-
211
- [data-part='linkInput']:focus {
212
- border-color: var(--dry-color-focus-ring);
213
- box-shadow: 0 0 0 1px var(--dry-color-focus-ring);
214
- }
215
-
216
- [data-part='linkApply'] {
217
- display: inline-grid;
218
- place-items: center;
219
- padding: var(--dry-space-1) var(--dry-space-2);
220
- font-family: var(--dry-font-sans);
221
- font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
222
- background: var(--dry-color-fill-brand);
223
- color: var(--dry-color-on-brand);
224
- border: none;
225
- border-radius: var(--dry-radius-sm);
226
- cursor: pointer;
227
- }
228
-
229
- [data-part='linkApply']:hover {
230
- opacity: 0.9;
231
- }
232
-
233
- [data-part='linkApply']:focus-visible {
234
- outline: 2px solid var(--dry-color-focus-ring);
235
- outline-offset: 2px;
236
- }
237
-
238
- [data-part='linkCancel'] {
239
- display: inline-grid;
240
- place-items: center;
241
- padding: var(--dry-space-1) var(--dry-space-2);
242
- font-family: var(--dry-font-sans);
243
- font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
244
- background: transparent;
245
- color: var(--dry-color-text-weak);
246
- border: 1px solid var(--dry-rte-border);
247
- border-radius: var(--dry-radius-sm);
248
- cursor: pointer;
249
- }
250
-
251
- [data-part='linkCancel']:hover {
252
- color: var(--dry-color-text-strong);
253
- }
254
-
255
- [data-part='linkCancel']:focus-visible {
256
- outline: 2px solid var(--dry-color-focus-ring);
257
- outline-offset: 2px;
258
- }
259
38
  </style>
@@ -336,7 +336,156 @@
336
336
  </RichTextEditorPrimitive.Toolbar>
337
337
 
338
338
  <style>
339
+ [data-part='toolbar'] {
340
+ display: grid;
341
+ grid-template-columns: repeat(auto-fill, minmax(min-content, max-content));
342
+ align-items: center;
343
+ gap: var(--dry-space-1);
344
+ padding: var(--dry-space-1) var(--dry-space-2);
345
+ background: var(--dry-rte-toolbar-bg);
346
+ border-bottom: 1px solid var(--dry-rte-border);
347
+ }
348
+
349
+ [data-part='toolbarGroup'] {
350
+ display: grid;
351
+ grid-auto-flow: column;
352
+ grid-auto-columns: max-content;
353
+ align-items: center;
354
+ gap: var(--dry-space-0_5);
355
+ }
356
+
357
+ [data-part='separator'] {
358
+ height: var(--dry-space-5);
359
+ border-inline-start: 1px solid var(--dry-rte-border);
360
+ margin: 0 var(--dry-space-1);
361
+ }
362
+
363
+ [data-part='button'] {
364
+ display: inline-grid;
365
+ place-items: center;
366
+ height: var(--dry-rte-button-size);
367
+ aspect-ratio: 1;
368
+ padding: 0;
369
+ font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
370
+ font-family: var(--dry-font-sans);
371
+ font-weight: 600;
372
+ color: var(--dry-color-text-strong);
373
+ background: transparent;
374
+ border: none;
375
+ border-radius: var(--dry-radius-md);
376
+ cursor: pointer;
377
+ transition:
378
+ background var(--dry-duration-fast) var(--dry-ease-default),
379
+ color var(--dry-duration-fast) var(--dry-ease-default);
380
+ line-height: 1;
381
+ }
382
+
383
+ [data-part='button']:hover {
384
+ background: var(--dry-color-bg-raised);
385
+ }
386
+
387
+ [data-part='button']:focus-visible {
388
+ outline: 2px solid var(--dry-color-focus-ring);
389
+ outline-offset: -2px;
390
+ }
391
+
392
+ [data-part='button'][data-active='true'] {
393
+ background: var(--dry-color-fill-brand);
394
+ color: var(--dry-color-on-brand);
395
+ }
396
+
397
+ [data-part='button'][data-active='true']:hover {
398
+ background: var(--dry-color-fill-brand-hover);
399
+ }
400
+
401
+ [data-part='buttonItalic'] {
402
+ font-style: italic;
403
+ }
404
+
405
+ [data-part='buttonUnderline'] {
406
+ text-decoration: underline;
407
+ }
408
+
409
+ [data-part='buttonStrikethrough'] {
410
+ text-decoration: line-through;
411
+ }
412
+
339
413
  .toolbarGroupRelative {
340
414
  position: relative;
341
415
  }
416
+
417
+ /* Link input popover */
418
+ [data-part='linkPopover'] {
419
+ display: grid;
420
+ grid-template-columns: minmax(12rem, max-content) max-content max-content;
421
+ align-items: center;
422
+ gap: var(--dry-space-2);
423
+ padding: var(--dry-space-2);
424
+ background: var(--dry-color-bg-overlay);
425
+ border: 1px solid var(--dry-rte-border);
426
+ border-radius: var(--dry-radius-md);
427
+ box-shadow: var(--dry-shadow-md);
428
+ position: absolute;
429
+ z-index: var(--dry-rte-popover-z-index);
430
+ }
431
+
432
+ [data-part='linkInput'] {
433
+ font-family: var(--dry-font-sans);
434
+ font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
435
+ padding: var(--dry-space-1) var(--dry-space-2);
436
+ border: 1px solid var(--dry-rte-border);
437
+ border-radius: var(--dry-radius-sm);
438
+ outline: none;
439
+ background: var(--dry-rte-content-bg);
440
+ color: var(--dry-color-text-strong);
441
+ }
442
+
443
+ [data-part='linkInput']:focus {
444
+ border-color: var(--dry-color-focus-ring);
445
+ box-shadow: 0 0 0 1px var(--dry-color-focus-ring);
446
+ }
447
+
448
+ [data-part='linkApply'] {
449
+ display: inline-grid;
450
+ place-items: center;
451
+ padding: var(--dry-space-1) var(--dry-space-2);
452
+ font-family: var(--dry-font-sans);
453
+ font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
454
+ background: var(--dry-color-fill-brand);
455
+ color: var(--dry-color-on-brand);
456
+ border: none;
457
+ border-radius: var(--dry-radius-sm);
458
+ cursor: pointer;
459
+ }
460
+
461
+ [data-part='linkApply']:hover {
462
+ opacity: 0.9;
463
+ }
464
+
465
+ [data-part='linkApply']:focus-visible {
466
+ outline: 2px solid var(--dry-color-focus-ring);
467
+ outline-offset: 2px;
468
+ }
469
+
470
+ [data-part='linkCancel'] {
471
+ display: inline-grid;
472
+ place-items: center;
473
+ padding: var(--dry-space-1) var(--dry-space-2);
474
+ font-family: var(--dry-font-sans);
475
+ font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
476
+ background: transparent;
477
+ color: var(--dry-color-text-weak);
478
+ border: 1px solid var(--dry-rte-border);
479
+ border-radius: var(--dry-radius-sm);
480
+ cursor: pointer;
481
+ }
482
+
483
+ [data-part='linkCancel']:hover {
484
+ color: var(--dry-color-text-strong);
485
+ }
486
+
487
+ [data-part='linkCancel']:focus-visible {
488
+ outline: 2px solid var(--dry-color-focus-ring);
489
+ outline-offset: 2px;
490
+ }
342
491
  </style>
@@ -110,7 +110,6 @@
110
110
  </ShaderCanvasPrimitive>
111
111
  </div>
112
112
 
113
- <!-- svelte-ignore css_unused_selector -->
114
113
  <style>
115
114
  [data-shader-canvas-root] {
116
115
  display: grid;
@@ -21,27 +21,20 @@
21
21
  gap: var(--dry-sidebar-content-gap, var(--dry-space-3));
22
22
  padding: var(--dry-sidebar-content-padding);
23
23
  min-height: 0;
24
- overflow: auto;
25
- scrollbar-width: thin;
26
- scrollbar-color: transparent transparent;
24
+ overflow: var(--dry-sidebar-content-overflow, auto);
25
+ scrollbar-gutter: var(--dry-sidebar-content-scrollbar-gutter, auto);
26
+ scrollbar-width: var(--dry-sidebar-content-scrollbar-width, thin);
27
+ scrollbar-color: var(--dry-scrollbar-thumb) transparent;
27
28
  transition: scrollbar-color var(--dry-duration-normal) var(--dry-ease-emphasized);
28
29
 
29
- &:hover {
30
- scrollbar-color: var(--dry-scrollbar-thumb) var(--dry-scrollbar-track);
31
- }
32
-
33
- &::-webkit-scrollbar {
34
- height: 6px;
35
- }
36
30
  &::-webkit-scrollbar-track {
37
31
  background: transparent;
38
32
  }
39
33
  &::-webkit-scrollbar-thumb {
40
- background: transparent;
41
- border-radius: var(--dry-radius-full);
42
- }
43
- &:hover::-webkit-scrollbar-thumb {
44
34
  background: var(--dry-scrollbar-thumb);
35
+ border: 0;
36
+ background-clip: border-box;
37
+ border-radius: var(--dry-radius-full);
45
38
  }
46
39
  &::-webkit-scrollbar-thumb:hover {
47
40
  background: var(--dry-scrollbar-thumb-hover);
@@ -26,14 +26,20 @@
26
26
  position: sticky;
27
27
  top: calc(-1 * var(--dry-sidebar-content-padding));
28
28
  z-index: 1;
29
+ display: grid;
30
+ grid-template-columns: minmax(0, 1fr);
31
+ align-items: center;
29
32
  margin-inline: calc(-1 * var(--dry-sidebar-content-padding));
30
- padding-block: var(--dry-space-2);
33
+ min-height: var(--dry-sidebar-group-label-min-height, var(--dry-space-8));
34
+ padding-block: var(--dry-sidebar-group-label-padding-y, var(--dry-space-3))
35
+ var(--dry-sidebar-group-label-padding-bottom, var(--dry-space-2));
31
36
  padding-inline: calc(var(--dry-sidebar-content-padding) + var(--dry-sidebar-item-padding-x));
32
37
  background: var(--dry-sidebar-bg, var(--dry-color-bg-raised));
33
38
  font-size: var(--dry-type-tiny-size, var(--dry-text-xs-size));
34
- font-weight: 600;
35
- letter-spacing: 0.04em;
39
+ font-weight: var(--dry-sidebar-group-label-weight, 700);
40
+ letter-spacing: var(--dry-sidebar-group-label-letter-spacing, 0.12em);
41
+ line-height: var(--dry-sidebar-group-label-line-height, 1.1);
36
42
  text-transform: uppercase;
37
- color: var(--dry-color-text-weak);
43
+ color: var(--dry-sidebar-group-label-color, var(--dry-color-text-weak));
38
44
  }
39
45
  </style>
@@ -17,5 +17,13 @@
17
17
  [data-sidebar-group] {
18
18
  display: grid;
19
19
  gap: var(--dry-sidebar-group-gap, var(--dry-space-1));
20
+ padding-block: var(--dry-sidebar-group-padding-y, var(--dry-space-2));
21
+ }
22
+
23
+ [data-sidebar-group]:not(:first-child) {
24
+ margin-block-start: var(--dry-sidebar-group-stack-gap, var(--dry-space-1));
25
+ padding-block-start: var(--dry-sidebar-group-stack-padding, var(--dry-space-4));
26
+ border-top: 1px solid
27
+ var(--dry-sidebar-group-divider, var(--dry-sidebar-border, var(--dry-color-stroke-weak)));
20
28
  }
21
29
  </style>
@@ -17,11 +17,15 @@
17
17
  [data-sidebar-header] {
18
18
  grid-row: 1;
19
19
  display: grid;
20
- grid-auto-flow: column;
21
- grid-auto-columns: max-content;
22
- align-items: center;
23
- gap: var(--dry-space-2);
24
- padding: var(--dry-space-3) var(--dry-space-6);
20
+ grid-template-columns: minmax(0, 1fr);
21
+ align-content: start;
22
+ justify-items: start;
23
+ gap: var(--dry-sidebar-header-gap, var(--dry-space-1));
24
+ padding: var(--dry-sidebar-header-padding, var(--dry-space-5) var(--dry-space-6) var(--dry-space-4));
25
25
  border-bottom: 1px solid var(--dry-sidebar-border, var(--dry-color-stroke-weak));
26
+ color: var(--dry-sidebar-header-color, var(--dry-color-text-strong));
27
+ font-size: var(--dry-sidebar-header-size, var(--dry-text-base-size, 1rem));
28
+ font-weight: var(--dry-sidebar-header-weight, 600);
29
+ line-height: var(--dry-sidebar-header-line-height, 1.2);
26
30
  }
27
31
  </style>
@@ -55,7 +55,7 @@
55
55
  grid-template-columns: var(--dry-sidebar-width, 320px);
56
56
  grid-template-rows: auto 1fr auto;
57
57
  height: 100%;
58
- overflow: hidden;
58
+ overflow: var(--dry-sidebar-overflow, hidden);
59
59
  background: var(--dry-sidebar-bg, var(--dry-chrome-bg, var(--dry-color-bg-raised)));
60
60
  font-family: var(--dry-font-sans);
61
61
  }
@@ -26,7 +26,6 @@
26
26
  {/if}
27
27
  </button>
28
28
 
29
- <!-- svelte-ignore css_unused_selector -->
30
29
  <style>
31
30
  [data-sidebar-trigger] {
32
31
  display: grid;
@@ -674,7 +674,6 @@
674
674
  {/if}
675
675
  </div>
676
676
 
677
- <!-- svelte-ignore css_unused_selector -->
678
677
  <style>
679
678
  [data-system-map] {
680
679
  --dry-system-map-bg: var(--dry-color-bg-raised);
@@ -38,6 +38,22 @@
38
38
  });
39
39
  </script>
40
40
 
41
- <div data-orientation={orientation} class={className} {...rest}>
41
+ <div data-tabs-root data-orientation={orientation} class={className} {...rest}>
42
42
  {@render children()}
43
43
  </div>
44
+
45
+ <style>
46
+ [data-tabs-root] {
47
+ --dry-tabs-trigger-border-bottom: 4px solid transparent;
48
+ --dry-tabs-trigger-border-right: none;
49
+ --dry-tabs-trigger-active-border-bottom-color: var(--dry-color-stroke-selected);
50
+ --dry-tabs-trigger-active-border-right-color: transparent;
51
+ }
52
+
53
+ [data-tabs-root][data-orientation='vertical'] {
54
+ --dry-tabs-trigger-border-bottom: none;
55
+ --dry-tabs-trigger-border-right: 4px solid transparent;
56
+ --dry-tabs-trigger-active-border-bottom-color: transparent;
57
+ --dry-tabs-trigger-active-border-right-color: var(--dry-color-stroke-selected);
58
+ }
59
+ </style>
@@ -48,7 +48,6 @@
48
48
  {@render children()}
49
49
  </button>
50
50
 
51
- <!-- svelte-ignore css_unused_selector -->
52
51
  <style>
53
52
  [data-tabs-trigger] {
54
53
  --dry-tabs-padding-x: var(--dry-space-4);
@@ -65,7 +64,8 @@
65
64
  color: var(--dry-color-text-weak);
66
65
  background: transparent;
67
66
  border: none;
68
- border-bottom: 4px solid transparent;
67
+ border-bottom: var(--dry-tabs-trigger-border-bottom, 4px solid transparent);
68
+ border-right: var(--dry-tabs-trigger-border-right, none);
69
69
  cursor: pointer;
70
70
  white-space: nowrap;
71
71
  transition:
@@ -85,7 +85,8 @@
85
85
 
86
86
  [data-tabs-trigger][data-state='active'] {
87
87
  color: var(--dry-color-text-brand);
88
- border-bottom-color: var(--dry-color-stroke-selected);
88
+ border-bottom-color: var(--dry-tabs-trigger-active-border-bottom-color, var(--dry-color-stroke-selected));
89
+ border-right-color: var(--dry-tabs-trigger-active-border-right-color, transparent);
89
90
  font-weight: 600;
90
91
  }
91
92
 
@@ -93,16 +94,6 @@
93
94
  transform: translateY(1px);
94
95
  }
95
96
 
96
- [data-orientation='vertical'] [data-tabs-trigger] {
97
- border-bottom: none;
98
- border-right: 4px solid transparent;
99
- }
100
-
101
- [data-orientation='vertical'] [data-tabs-trigger][data-state='active'] {
102
- border-right-color: var(--dry-color-stroke-selected);
103
- border-bottom-color: transparent;
104
- }
105
-
106
97
  [data-tabs-trigger][data-disabled] {
107
98
  color: var(--dry-color-text-disabled);
108
99
  opacity: 1;
@@ -85,7 +85,7 @@
85
85
 
86
86
  [data-part='root'] {
87
87
  display: grid;
88
- grid-template-columns: repeat(auto-fill, minmax(80px, max-content));
88
+ grid-template-columns: repeat(auto-fill, minmax(min-content, max-content));
89
89
  gap: var(--dry-space-1_5);
90
90
  padding: var(--dry-space-2);
91
91
  border: 1px solid var(--dry-color-stroke-strong);
@@ -99,14 +99,21 @@
99
99
  box-shadow var(--dry-duration-fast) var(--dry-ease-default);
100
100
  cursor: text;
101
101
 
102
+ &:hover:not([data-disabled]) {
103
+ border-color: var(--dry-color-stroke-strong);
104
+ }
105
+
102
106
  &:focus-within {
103
- border-color: var(--dry-color-fill-brand);
104
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--dry-color-fill-brand) 20%, transparent);
105
- outline: none;
107
+ outline: 2px solid var(--dry-color-focus-ring);
108
+ outline-offset: -1px;
109
+ border-color: var(--dry-color-stroke-focus);
110
+ box-shadow: 0 0 0 1px var(--dry-color-stroke-focus);
106
111
  }
107
112
 
108
113
  &[data-disabled] {
109
- opacity: 0.5;
114
+ background: var(--dry-color-bg-sunken);
115
+ border-color: var(--dry-color-stroke-disabled);
116
+ color: var(--dry-color-text-disabled);
110
117
  cursor: not-allowed;
111
118
  pointer-events: none;
112
119
  }
@@ -35,7 +35,7 @@
35
35
  [data-part='tagDelete'] {
36
36
  display: inline-grid;
37
37
  place-items: center;
38
- height: 16px;
38
+ height: var(--dry-space-4);
39
39
  aspect-ratio: 1;
40
40
  padding: 0;
41
41
  border: none;
@@ -50,7 +50,7 @@
50
50
 
51
51
  &::after {
52
52
  content: '\00d7';
53
- font-size: 14px;
53
+ font-size: 1em;
54
54
  line-height: 1;
55
55
  font-weight: 400;
56
56
  }
@@ -35,7 +35,7 @@
35
35
  grid-auto-columns: max-content;
36
36
  align-items: center;
37
37
  gap: var(--dry-space-1);
38
- padding: 4px var(--dry-tags-input-tag-padding-x, var(--dry-space-2));
38
+ padding: var(--dry-space-1) var(--dry-tags-input-tag-padding-x, var(--dry-space-2));
39
39
  background: color-mix(in srgb, var(--dry-color-fill-brand) 15%, transparent);
40
40
  color: var(--dry-color-fill-brand);
41
41
  border-radius: var(--dry-radius-full);
@@ -2,6 +2,7 @@
2
2
  import type { Snippet } from 'svelte';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
  import { getTransferCtx } from './context.svelte.js';
5
+ import { Checkbox } from '../checkbox/index.js';
5
6
 
6
7
  interface Props extends HTMLAttributes<HTMLLabelElement> {
7
8
  key: string;
@@ -32,6 +33,6 @@
32
33
  aria-disabled={disabled}
33
34
  {...rest}
34
35
  >
35
- <input type="checkbox" checked={isSelected} {disabled} onchange={toggle} />
36
+ <Checkbox checked={isSelected} {disabled} onchange={toggle} size="sm" />
36
37
  {@render children()}
37
38
  </label>