@dryui/ui 0.1.3 → 0.1.5
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/accordion/accordion-trigger.svelte +5 -6
- package/dist/alert-dialog/alert-dialog-action.svelte +42 -6
- package/dist/alert-dialog/alert-dialog-cancel.svelte +44 -5
- package/dist/alert-dialog/alert-dialog-footer.svelte +3 -2
- package/dist/aurora/aurora.svelte.d.ts +6 -0
- package/dist/beam/beam.svelte +17 -10
- package/dist/chromatic-aberration/chromatic-aberration.svelte +7 -9
- package/dist/collapsible/collapsible-trigger.svelte +4 -7
- package/dist/color-picker/color-picker-eyedropper.svelte +4 -11
- package/dist/data-grid/data-grid-pagination.svelte +20 -2
- package/dist/data-grid/data-grid-root.svelte +1 -0
- package/dist/date-field/date-field-root.svelte +66 -20
- package/dist/date-field/date-field-segment.svelte +11 -9
- package/dist/date-field/date-field-separator.svelte +9 -1
- package/dist/date-picker/datepicker-calendar.svelte +168 -13
- package/dist/date-picker/datepicker-trigger.svelte +3 -8
- package/dist/date-range-picker/date-range-picker-calendar.svelte +177 -13
- package/dist/date-range-picker/date-range-picker-trigger.svelte +18 -12
- package/dist/dialog/dialog-content.svelte +1 -0
- package/dist/field/field-root.svelte +0 -1
- package/dist/file-select/file-select-clear.svelte +2 -8
- package/dist/file-upload/file-upload-item-delete.svelte +4 -7
- package/dist/flip-card/flip-card-back.svelte +2 -2
- package/dist/flip-card/flip-card-front.svelte +2 -2
- package/dist/flip-card/flip-card-root.svelte +2 -0
- package/dist/float-button/float-button-root.svelte +2 -1
- package/dist/image-comparison/image-comparison.svelte +16 -24
- package/dist/input-group/input-group-action.svelte +5 -0
- package/dist/input-group/input-group-input.svelte +7 -2
- package/dist/input-group/input-group-prefix.svelte +5 -0
- package/dist/input-group/input-group-root.svelte +10 -2
- package/dist/input-group/input-group-select.svelte +5 -0
- package/dist/input-group/input-group-separator.svelte +10 -0
- package/dist/input-group/input-group-suffix.svelte +5 -0
- package/dist/option-swatch-group/option-swatch-group-item.svelte +46 -0
- package/dist/option-swatch-group/option-swatch-group-label.svelte +10 -0
- package/dist/option-swatch-group/option-swatch-group-meta.svelte +10 -0
- package/dist/option-swatch-group/option-swatch-group-root.svelte +0 -79
- package/dist/option-swatch-group/option-swatch-group-swatch.svelte +25 -6
- package/dist/pin-input/pin-input-cell.svelte +4 -1
- package/dist/range-calendar/range-calendar-grid.svelte +219 -181
- package/dist/range-calendar/range-calendar-root.svelte +24 -10
- package/dist/select/select-trigger.svelte +5 -8
- package/dist/system-map/system-map.svelte +120 -674
- package/dist/tags-input/tags-input-input.svelte +3 -0
- package/dist/tags-input/tags-input-root.svelte +4 -13
- package/dist/tags-input/tags-input-tag.svelte +3 -0
- package/dist/themes/dark.css +6 -0
- package/dist/themes/default.css +3 -0
- package/dist/toast/toast-action.svelte +1 -0
- package/dist/toast/toast-close.svelte +4 -0
- package/dist/toast/toast-provider.svelte +5 -26
- package/dist/toast/toast-root.svelte +5 -10
- package/package.json +441 -1182
- package/skills/dryui/SKILL.md +24 -4
|
@@ -21,20 +21,15 @@
|
|
|
21
21
|
...rest
|
|
22
22
|
}: Props = $props();
|
|
23
23
|
|
|
24
|
-
let containerEl = $state<HTMLDivElement>();
|
|
25
24
|
let dragging = $state(false);
|
|
26
25
|
|
|
27
|
-
function
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (containerEl === node) containerEl = undefined;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
26
|
+
function syncStyles(node: HTMLElement) {
|
|
27
|
+
$effect(() => {
|
|
28
|
+
node.style.cssText = `${style ? `${style}; ` : ''}--dry-image-comparison-position: ${position}%`;
|
|
29
|
+
});
|
|
34
30
|
}
|
|
35
31
|
|
|
36
|
-
function updatePosition(clientX: number, clientY: number) {
|
|
37
|
-
if (!containerEl) return;
|
|
32
|
+
function updatePosition(clientX: number, clientY: number, containerEl: HTMLElement) {
|
|
38
33
|
const rect = containerEl.getBoundingClientRect();
|
|
39
34
|
let pct: number;
|
|
40
35
|
if (orientation === 'horizontal') {
|
|
@@ -47,13 +42,16 @@
|
|
|
47
42
|
|
|
48
43
|
function onPointerDown(e: PointerEvent) {
|
|
49
44
|
dragging = true;
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
const handleEl = e.currentTarget as HTMLElement;
|
|
46
|
+
handleEl.setPointerCapture(e.pointerId);
|
|
47
|
+
const containerEl = handleEl.closest<HTMLElement>('[data-image-comparison]');
|
|
48
|
+
if (!containerEl) return;
|
|
49
|
+
updatePosition(e.clientX, e.clientY, containerEl);
|
|
52
50
|
}
|
|
53
51
|
|
|
54
52
|
function onPointerMove(e: PointerEvent) {
|
|
55
53
|
if (!dragging) return;
|
|
56
|
-
updatePosition(e.clientX, e.clientY);
|
|
54
|
+
updatePosition(e.clientX, e.clientY, e.currentTarget as HTMLElement);
|
|
57
55
|
}
|
|
58
56
|
|
|
59
57
|
function onPointerUp() {
|
|
@@ -70,13 +68,6 @@
|
|
|
70
68
|
position = Math.min(position + step, 100);
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
|
-
|
|
74
|
-
function applyStyles(node: HTMLElement) {
|
|
75
|
-
$effect(() => {
|
|
76
|
-
node.style.cssText = style || '';
|
|
77
|
-
node.style.setProperty('--dry-image-comparison-position', `${position}%`);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
71
|
</script>
|
|
81
72
|
|
|
82
73
|
{#snippet defaultHandle()}
|
|
@@ -92,7 +83,7 @@
|
|
|
92
83
|
{/snippet}
|
|
93
84
|
|
|
94
85
|
<div
|
|
95
|
-
{@attach
|
|
86
|
+
{@attach syncStyles}
|
|
96
87
|
class={className}
|
|
97
88
|
data-image-comparison
|
|
98
89
|
data-orientation={orientation}
|
|
@@ -100,7 +91,6 @@
|
|
|
100
91
|
onpointermove={onPointerMove}
|
|
101
92
|
onpointerup={onPointerUp}
|
|
102
93
|
{...rest}
|
|
103
|
-
use:applyStyles
|
|
104
94
|
>
|
|
105
95
|
<div data-part="after" data-ic-layer>
|
|
106
96
|
{@render after()}
|
|
@@ -141,6 +131,8 @@
|
|
|
141
131
|
--dry-image-comparison-handle-z-index: 1;
|
|
142
132
|
|
|
143
133
|
position: relative;
|
|
134
|
+
display: grid;
|
|
135
|
+
height: 100%;
|
|
144
136
|
overflow: hidden;
|
|
145
137
|
border-radius: var(--dry-image-comparison-radius);
|
|
146
138
|
user-select: none;
|
|
@@ -148,8 +140,8 @@
|
|
|
148
140
|
}
|
|
149
141
|
|
|
150
142
|
[data-ic-layer] {
|
|
151
|
-
|
|
152
|
-
|
|
143
|
+
grid-area: 1 / 1;
|
|
144
|
+
min-height: 0;
|
|
153
145
|
}
|
|
154
146
|
|
|
155
147
|
[data-image-comparison][data-orientation='horizontal'] [data-ic-layer-before] {
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
data-size={ctx.size}
|
|
22
22
|
data-disabled={isDisabled || undefined}
|
|
23
23
|
data-invalid={ctx.invalid || undefined}
|
|
24
|
+
data-orientation={ctx.orientation}
|
|
24
25
|
{...rest}
|
|
25
26
|
data-input-group-action
|
|
26
27
|
class={className}
|
|
@@ -47,6 +48,10 @@
|
|
|
47
48
|
transition: background-color 160ms ease;
|
|
48
49
|
}
|
|
49
50
|
|
|
51
|
+
[data-input-group-action][data-orientation='horizontal'] {
|
|
52
|
+
grid-column: 5;
|
|
53
|
+
}
|
|
54
|
+
|
|
50
55
|
[data-input-group-action]:hover:not(:disabled) {
|
|
51
56
|
background: var(--dry-color-fill-weak);
|
|
52
57
|
}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
data-size={ctx.size}
|
|
17
17
|
data-disabled={ctx.disabled || undefined}
|
|
18
18
|
data-invalid={ctx.invalid || undefined}
|
|
19
|
+
data-orientation={ctx.orientation}
|
|
19
20
|
data-input-group-inputWrap
|
|
20
21
|
>
|
|
21
22
|
<input
|
|
@@ -30,11 +31,14 @@
|
|
|
30
31
|
<style>
|
|
31
32
|
[data-input-group-inputWrap] {
|
|
32
33
|
display: grid;
|
|
33
|
-
grid-
|
|
34
|
-
grid-auto-columns: minmax(0, 1fr);
|
|
34
|
+
grid-template-columns: minmax(0, 1fr);
|
|
35
35
|
align-items: center;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
[data-input-group-inputWrap][data-orientation='horizontal'] {
|
|
39
|
+
grid-column: 2;
|
|
40
|
+
}
|
|
41
|
+
|
|
38
42
|
[data-input-group-input] {
|
|
39
43
|
border: 0;
|
|
40
44
|
background: transparent;
|
|
@@ -44,6 +48,7 @@
|
|
|
44
48
|
line-height: 1.4;
|
|
45
49
|
padding: var(--dry-input-group-padding-y) var(--dry-input-group-padding-x);
|
|
46
50
|
outline: none;
|
|
51
|
+
box-sizing: border-box;
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
[data-input-group-input]::placeholder {
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
data-size={ctx.size}
|
|
18
18
|
data-disabled={ctx.disabled || undefined}
|
|
19
19
|
data-invalid={ctx.invalid || undefined}
|
|
20
|
+
data-orientation={ctx.orientation}
|
|
20
21
|
{...rest}
|
|
21
22
|
data-input-group-prefix
|
|
22
23
|
class={className}
|
|
@@ -35,4 +36,8 @@
|
|
|
35
36
|
color: var(--dry-input-group-muted);
|
|
36
37
|
white-space: nowrap;
|
|
37
38
|
}
|
|
39
|
+
|
|
40
|
+
[data-input-group-prefix][data-orientation='horizontal'] {
|
|
41
|
+
grid-column: 1;
|
|
42
|
+
}
|
|
38
43
|
</style>
|
|
@@ -65,8 +65,6 @@
|
|
|
65
65
|
--dry-input-group-separator: color-mix(in srgb, var(--dry-input-group-border) 80%, transparent);
|
|
66
66
|
|
|
67
67
|
display: grid;
|
|
68
|
-
grid-auto-flow: column;
|
|
69
|
-
grid-auto-columns: max-content;
|
|
70
68
|
align-items: stretch;
|
|
71
69
|
min-height: 3rem;
|
|
72
70
|
border: 1px solid var(--dry-input-group-border);
|
|
@@ -76,6 +74,16 @@
|
|
|
76
74
|
overflow: hidden;
|
|
77
75
|
}
|
|
78
76
|
|
|
77
|
+
[data-input-group-root][data-orientation='horizontal'] {
|
|
78
|
+
grid-template-columns:
|
|
79
|
+
max-content
|
|
80
|
+
minmax(0, 1fr)
|
|
81
|
+
max-content
|
|
82
|
+
max-content
|
|
83
|
+
max-content
|
|
84
|
+
max-content;
|
|
85
|
+
}
|
|
86
|
+
|
|
79
87
|
[data-input-group-root]:focus-within {
|
|
80
88
|
border-color: var(--dry-input-group-border-strong);
|
|
81
89
|
box-shadow: 0 0 0 1px var(--dry-input-group-border-strong);
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
data-size={ctx.size}
|
|
20
20
|
data-disabled={ctx.disabled || undefined}
|
|
21
21
|
data-invalid={ctx.invalid || undefined}
|
|
22
|
+
data-orientation={ctx.orientation}
|
|
22
23
|
>
|
|
23
24
|
<select bind:value class={className} data-input-group-select {...rest}>
|
|
24
25
|
{@render children?.()}
|
|
@@ -31,6 +32,10 @@
|
|
|
31
32
|
position: relative;
|
|
32
33
|
}
|
|
33
34
|
|
|
35
|
+
[data-input-group-selectWrap][data-orientation='horizontal'] {
|
|
36
|
+
grid-column: 6;
|
|
37
|
+
}
|
|
38
|
+
|
|
34
39
|
[data-input-group-select] {
|
|
35
40
|
display: inline-grid;
|
|
36
41
|
grid-auto-flow: column;
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
data-size={ctx.size}
|
|
16
16
|
data-disabled={ctx.disabled || undefined}
|
|
17
17
|
data-invalid={ctx.invalid || undefined}
|
|
18
|
+
data-orientation={ctx.orientation}
|
|
18
19
|
{...rest}
|
|
19
20
|
data-input-group-separator
|
|
20
21
|
class={className}
|
|
@@ -25,4 +26,13 @@
|
|
|
25
26
|
align-self: stretch;
|
|
26
27
|
border-inline-start: 1px solid var(--dry-input-group-separator);
|
|
27
28
|
}
|
|
29
|
+
|
|
30
|
+
[data-input-group-separator][data-orientation='horizontal'] {
|
|
31
|
+
grid-column: 4;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[data-input-group-separator][data-orientation='vertical'] {
|
|
35
|
+
border-inline-start: 0;
|
|
36
|
+
border-top: 1px solid var(--dry-input-group-separator);
|
|
37
|
+
}
|
|
28
38
|
</style>
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
data-size={ctx.size}
|
|
18
18
|
data-disabled={ctx.disabled || undefined}
|
|
19
19
|
data-invalid={ctx.invalid || undefined}
|
|
20
|
+
data-orientation={ctx.orientation}
|
|
20
21
|
{...rest}
|
|
21
22
|
data-input-group-suffix
|
|
22
23
|
class={className}
|
|
@@ -35,4 +36,8 @@
|
|
|
35
36
|
color: var(--dry-input-group-muted);
|
|
36
37
|
white-space: nowrap;
|
|
37
38
|
}
|
|
39
|
+
|
|
40
|
+
[data-input-group-suffix][data-orientation='horizontal'] {
|
|
41
|
+
grid-column: 3;
|
|
42
|
+
}
|
|
38
43
|
</style>
|
|
@@ -81,3 +81,49 @@
|
|
|
81
81
|
>
|
|
82
82
|
{@render children()}
|
|
83
83
|
</button>
|
|
84
|
+
|
|
85
|
+
<style>
|
|
86
|
+
[data-option-swatch-group-item] {
|
|
87
|
+
--dry-option-swatch-bg: var(--dry-color-bg-raised);
|
|
88
|
+
--dry-option-swatch-border: var(--dry-color-stroke-weak);
|
|
89
|
+
--dry-option-swatch-border-selected: var(--dry-color-stroke-focus);
|
|
90
|
+
--dry-option-swatch-text: var(--dry-color-text-strong);
|
|
91
|
+
--dry-option-swatch-muted: var(--dry-color-text-weak);
|
|
92
|
+
|
|
93
|
+
display: grid;
|
|
94
|
+
grid-template-columns: 1.5rem minmax(0, 1fr);
|
|
95
|
+
align-items: center;
|
|
96
|
+
gap: var(--dry-space-3);
|
|
97
|
+
padding: var(--dry-space-3);
|
|
98
|
+
border: 1px solid var(--dry-option-swatch-border);
|
|
99
|
+
border-radius: var(--dry-radius-xl);
|
|
100
|
+
background: var(--dry-option-swatch-bg);
|
|
101
|
+
color: var(--dry-option-swatch-text);
|
|
102
|
+
box-shadow: var(--dry-shadow-xs);
|
|
103
|
+
cursor: pointer;
|
|
104
|
+
text-align: left;
|
|
105
|
+
transition:
|
|
106
|
+
border-color var(--dry-duration-fast) var(--dry-ease-default),
|
|
107
|
+
box-shadow var(--dry-duration-fast) var(--dry-ease-default),
|
|
108
|
+
transform var(--dry-duration-fast) var(--dry-ease-default);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
[data-option-swatch-group-item]:hover:not(:disabled) {
|
|
112
|
+
border-color: var(--dry-color-stroke-strong);
|
|
113
|
+
transform: translateY(-1px);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
[data-option-swatch-group-item]:focus-visible {
|
|
117
|
+
outline: 2px solid var(--dry-color-focus-ring);
|
|
118
|
+
outline-offset: 2px;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
[data-option-swatch-group-item][data-state='checked'] {
|
|
122
|
+
border-color: var(--dry-option-swatch-border-selected);
|
|
123
|
+
box-shadow: 0 0 0 1px var(--dry-option-swatch-border-selected);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
[data-option-swatch-group-item][data-unavailable] {
|
|
127
|
+
opacity: 0.6;
|
|
128
|
+
}
|
|
129
|
+
</style>
|
|
@@ -12,3 +12,13 @@
|
|
|
12
12
|
<span data-part="label" data-option-swatch-group-label class={className} {...rest}
|
|
13
13
|
>{@render children?.()}</span
|
|
14
14
|
>
|
|
15
|
+
|
|
16
|
+
<style>
|
|
17
|
+
[data-option-swatch-group-label] {
|
|
18
|
+
grid-column: 2;
|
|
19
|
+
grid-row: 1;
|
|
20
|
+
font-size: var(--dry-type-small-size);
|
|
21
|
+
font-weight: 600;
|
|
22
|
+
line-height: 1.2;
|
|
23
|
+
}
|
|
24
|
+
</style>
|
|
@@ -12,3 +12,13 @@
|
|
|
12
12
|
<span data-part="meta" data-option-swatch-group-meta class={className} {...rest}
|
|
13
13
|
>{@render children?.()}</span
|
|
14
14
|
>
|
|
15
|
+
|
|
16
|
+
<style>
|
|
17
|
+
[data-option-swatch-group-meta] {
|
|
18
|
+
grid-column: 2;
|
|
19
|
+
grid-row: 2;
|
|
20
|
+
color: var(--dry-option-swatch-muted);
|
|
21
|
+
font-size: var(--dry-type-tiny-size);
|
|
22
|
+
line-height: 1.2;
|
|
23
|
+
}
|
|
24
|
+
</style>
|
|
@@ -60,83 +60,4 @@
|
|
|
60
60
|
[data-option-swatch-group-root][data-orientation='vertical'] {
|
|
61
61
|
grid-template-columns: 1fr;
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
[data-option-swatch-group-item] {
|
|
65
|
-
--dry-option-swatch-bg: var(--dry-color-bg-raised);
|
|
66
|
-
--dry-option-swatch-border: var(--dry-color-stroke-weak);
|
|
67
|
-
--dry-option-swatch-border-selected: var(--dry-color-stroke-focus);
|
|
68
|
-
--dry-option-swatch-text: var(--dry-color-text-strong);
|
|
69
|
-
--dry-option-swatch-muted: var(--dry-color-text-weak);
|
|
70
|
-
|
|
71
|
-
display: grid;
|
|
72
|
-
grid-template-columns: 1.5rem minmax(0, 1fr);
|
|
73
|
-
align-items: center;
|
|
74
|
-
gap: var(--dry-space-3);
|
|
75
|
-
padding: var(--dry-space-3);
|
|
76
|
-
border: 1px solid var(--dry-option-swatch-border);
|
|
77
|
-
border-radius: var(--dry-radius-xl);
|
|
78
|
-
background: var(--dry-option-swatch-bg);
|
|
79
|
-
color: var(--dry-option-swatch-text);
|
|
80
|
-
box-shadow: var(--dry-shadow-xs);
|
|
81
|
-
cursor: pointer;
|
|
82
|
-
transition:
|
|
83
|
-
border-color var(--dry-duration-fast) var(--dry-ease-default),
|
|
84
|
-
box-shadow var(--dry-duration-fast) var(--dry-ease-default),
|
|
85
|
-
transform var(--dry-duration-fast) var(--dry-ease-default);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
[data-option-swatch-group-item]:hover:not(:disabled) {
|
|
89
|
-
border-color: var(--dry-color-stroke-strong);
|
|
90
|
-
transform: translateY(-1px);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
[data-option-swatch-group-item]:focus-visible {
|
|
94
|
-
outline: 2px solid var(--dry-color-focus-ring);
|
|
95
|
-
outline-offset: 2px;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
[data-option-swatch-group-item][data-state='checked'] {
|
|
99
|
-
border-color: var(--dry-option-swatch-border-selected);
|
|
100
|
-
box-shadow: 0 0 0 1px var(--dry-option-swatch-border-selected);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
[data-option-swatch-group-item][data-unavailable] {
|
|
104
|
-
opacity: 0.6;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
[data-option-swatch-group-swatch] {
|
|
108
|
-
--dry-option-swatch-chip: var(--dry-color-fill-brand);
|
|
109
|
-
|
|
110
|
-
display: inline-grid;
|
|
111
|
-
aspect-ratio: 1;
|
|
112
|
-
height: 1.5rem;
|
|
113
|
-
border-radius: 999px;
|
|
114
|
-
border: 1px solid color-mix(in srgb, black 16%, transparent);
|
|
115
|
-
background: var(--dry-option-swatch-chip);
|
|
116
|
-
box-shadow:
|
|
117
|
-
inset 0 0 0 1px rgb(255 255 255 / 0.24),
|
|
118
|
-
0 1px 3px rgb(15 23 42 / 0.15);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
[data-option-swatch-group-rounded] {
|
|
122
|
-
border-radius: var(--dry-radius-md);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
[data-option-swatch-group-content] {
|
|
126
|
-
display: grid;
|
|
127
|
-
gap: var(--dry-space-1);
|
|
128
|
-
text-align: left;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
[data-option-swatch-group-label] {
|
|
132
|
-
font-size: var(--dry-type-small-size);
|
|
133
|
-
font-weight: 600;
|
|
134
|
-
line-height: 1.2;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
[data-option-swatch-group-meta] {
|
|
138
|
-
color: var(--dry-option-swatch-muted);
|
|
139
|
-
font-size: var(--dry-type-tiny-size);
|
|
140
|
-
line-height: 1.2;
|
|
141
|
-
}
|
|
142
63
|
</style>
|
|
@@ -8,15 +8,11 @@
|
|
|
8
8
|
children?: Snippet;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
let { color, shape = 'circle', class: className, children, ...rest }: Props = $props();
|
|
11
|
+
let { color, shape = 'circle', class: className, style, children, ...rest }: Props = $props();
|
|
12
12
|
|
|
13
13
|
function setSwatchChip(node: HTMLSpanElement) {
|
|
14
14
|
$effect(() => {
|
|
15
|
-
|
|
16
|
-
node.style.setProperty('--dry-option-swatch-chip', color);
|
|
17
|
-
} else {
|
|
18
|
-
node.style.removeProperty('--dry-option-swatch-chip');
|
|
19
|
-
}
|
|
15
|
+
node.style.cssText = `${style ?? ''}${color ? `; --dry-option-swatch-chip: ${color};` : ''}`;
|
|
20
16
|
});
|
|
21
17
|
}
|
|
22
18
|
</script>
|
|
@@ -30,3 +26,26 @@
|
|
|
30
26
|
>
|
|
31
27
|
{@render children?.()}
|
|
32
28
|
</span>
|
|
29
|
+
|
|
30
|
+
<style>
|
|
31
|
+
[data-option-swatch-group-swatch] {
|
|
32
|
+
--dry-option-swatch-chip: var(--dry-color-fill-brand);
|
|
33
|
+
|
|
34
|
+
display: inline-grid;
|
|
35
|
+
grid-column: 1;
|
|
36
|
+
grid-row: 1 / span 2;
|
|
37
|
+
align-self: center;
|
|
38
|
+
aspect-ratio: 1;
|
|
39
|
+
height: 1.5rem;
|
|
40
|
+
border-radius: 999px;
|
|
41
|
+
border: 1px solid color-mix(in srgb, black 16%, transparent);
|
|
42
|
+
background: var(--dry-option-swatch-chip);
|
|
43
|
+
box-shadow:
|
|
44
|
+
inset 0 0 0 1px rgb(255 255 255 / 0.24),
|
|
45
|
+
0 1px 3px rgb(15 23 42 / 0.15);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[data-option-swatch-group-rounded] {
|
|
49
|
+
border-radius: var(--dry-radius-md);
|
|
50
|
+
}
|
|
51
|
+
</style>
|
|
@@ -60,7 +60,10 @@
|
|
|
60
60
|
position: relative;
|
|
61
61
|
user-select: none;
|
|
62
62
|
border: var(--dry-pin-cell-border, 2px solid var(--dry-pin-border));
|
|
63
|
-
border-bottom: var(
|
|
63
|
+
border-bottom: var(
|
|
64
|
+
--dry-pin-cell-border-bottom,
|
|
65
|
+
var(--dry-pin-cell-border, 2px solid var(--dry-pin-border))
|
|
66
|
+
);
|
|
64
67
|
border-radius: var(--dry-pin-cell-radius, var(--dry-pin-radius));
|
|
65
68
|
transition:
|
|
66
69
|
border-color var(--dry-duration-fast) var(--dry-ease-default),
|