@dryui/ui 0.1.3 → 0.1.4

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 (54) hide show
  1. package/dist/accordion/accordion-trigger.svelte +5 -6
  2. package/dist/alert-dialog/alert-dialog-action.svelte +42 -6
  3. package/dist/alert-dialog/alert-dialog-cancel.svelte +44 -5
  4. package/dist/alert-dialog/alert-dialog-footer.svelte +3 -2
  5. package/dist/aurora/aurora.svelte.d.ts +6 -0
  6. package/dist/beam/beam.svelte +17 -10
  7. package/dist/chromatic-aberration/chromatic-aberration.svelte +60 -18
  8. package/dist/collapsible/collapsible-trigger.svelte +4 -7
  9. package/dist/color-picker/color-picker-eyedropper.svelte +4 -11
  10. package/dist/data-grid/data-grid-pagination.svelte +20 -2
  11. package/dist/data-grid/data-grid-root.svelte +1 -0
  12. package/dist/date-field/date-field-root.svelte +66 -20
  13. package/dist/date-field/date-field-segment.svelte +11 -9
  14. package/dist/date-field/date-field-separator.svelte +9 -1
  15. package/dist/date-picker/datepicker-calendar.svelte +168 -13
  16. package/dist/date-picker/datepicker-trigger.svelte +3 -8
  17. package/dist/date-range-picker/date-range-picker-calendar.svelte +177 -13
  18. package/dist/date-range-picker/date-range-picker-trigger.svelte +18 -12
  19. package/dist/dialog/dialog-content.svelte +1 -0
  20. package/dist/field/field-root.svelte +0 -1
  21. package/dist/file-select/file-select-clear.svelte +2 -8
  22. package/dist/file-upload/file-upload-item-delete.svelte +4 -7
  23. package/dist/flip-card/flip-card-back.svelte +2 -2
  24. package/dist/flip-card/flip-card-front.svelte +2 -2
  25. package/dist/flip-card/flip-card-root.svelte +2 -0
  26. package/dist/float-button/float-button-root.svelte +2 -1
  27. package/dist/image-comparison/image-comparison.svelte +16 -24
  28. package/dist/input-group/input-group-action.svelte +5 -0
  29. package/dist/input-group/input-group-input.svelte +7 -2
  30. package/dist/input-group/input-group-prefix.svelte +5 -0
  31. package/dist/input-group/input-group-root.svelte +10 -2
  32. package/dist/input-group/input-group-select.svelte +5 -0
  33. package/dist/input-group/input-group-separator.svelte +10 -0
  34. package/dist/input-group/input-group-suffix.svelte +5 -0
  35. package/dist/option-swatch-group/option-swatch-group-item.svelte +46 -0
  36. package/dist/option-swatch-group/option-swatch-group-label.svelte +10 -0
  37. package/dist/option-swatch-group/option-swatch-group-meta.svelte +10 -0
  38. package/dist/option-swatch-group/option-swatch-group-root.svelte +0 -79
  39. package/dist/option-swatch-group/option-swatch-group-swatch.svelte +25 -6
  40. package/dist/pin-input/pin-input-cell.svelte +4 -1
  41. package/dist/range-calendar/range-calendar-grid.svelte +219 -181
  42. package/dist/range-calendar/range-calendar-root.svelte +24 -10
  43. package/dist/select/select-trigger.svelte +5 -8
  44. package/dist/system-map/system-map.svelte +120 -674
  45. package/dist/tags-input/tags-input-input.svelte +3 -0
  46. package/dist/tags-input/tags-input-root.svelte +4 -13
  47. package/dist/tags-input/tags-input-tag.svelte +3 -0
  48. package/dist/themes/dark.css +6 -0
  49. package/dist/themes/default.css +3 -0
  50. package/dist/toast/toast-action.svelte +1 -0
  51. package/dist/toast/toast-close.svelte +4 -0
  52. package/dist/toast/toast-provider.svelte +5 -26
  53. package/dist/toast/toast-root.svelte +5 -10
  54. package/package.json +3 -3
@@ -23,6 +23,7 @@
23
23
  type="button"
24
24
  disabled={ctx.disabled}
25
25
  data-disabled={ctx.disabled || undefined}
26
+ data-fu-item-delete
26
27
  aria-label="Remove file"
27
28
  onclick={handleClick}
28
29
  {...rest}
@@ -30,6 +31,8 @@
30
31
  >
31
32
  {#if children}
32
33
  {@render children()}
34
+ {:else}
35
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>
33
36
  {/if}
34
37
  </button>
35
38
 
@@ -50,15 +53,9 @@
50
53
  background var(--dry-duration-fast) var(--dry-ease-default);
51
54
  }
52
55
 
53
- [data-fu-item-delete]::before {
54
- content: '';
55
- display: block;
56
+ [data-fu-item-delete] svg {
56
57
  height: 1rem;
57
58
  aspect-ratio: 1;
58
- background: currentColor;
59
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
60
- mask-size: contain;
61
- mask-repeat: no-repeat;
62
59
  }
63
60
 
64
61
  [data-fu-item-delete]:hover:not([data-disabled]) {
@@ -27,8 +27,8 @@
27
27
  z-index: 1;
28
28
  backface-visibility: hidden;
29
29
  transition: transform var(--dry-flip-card-duration, 0.6s) ease;
30
- position: absolute;
31
- inset: 0;
30
+ grid-area: 1 / 1;
32
31
  transform: var(--dry-flip-card-back-transform, rotateY(180deg));
32
+ transform-origin: center;
33
33
  }
34
34
  </style>
@@ -18,8 +18,8 @@
18
18
  z-index: 2;
19
19
  backface-visibility: hidden;
20
20
  transition: transform var(--dry-flip-card-duration, 0.6s) ease;
21
- position: absolute;
22
- inset: 0;
21
+ grid-area: 1 / 1;
23
22
  transform: var(--dry-flip-card-front-transform, rotateY(0deg));
23
+ transform-origin: center;
24
24
  }
25
25
  </style>
@@ -66,8 +66,10 @@
66
66
  --dry-flip-card-front-transform: rotateY(0deg);
67
67
  --dry-flip-card-back-transform: rotateY(180deg);
68
68
 
69
+ display: grid;
69
70
  perspective: var(--dry-flip-card-perspective);
70
71
  position: relative;
72
+ transform-style: preserve-3d;
71
73
  }
72
74
 
73
75
  [data-flip-card][data-direction='horizontal'][data-flipped] {
@@ -35,9 +35,10 @@
35
35
  [data-float-button] {
36
36
  --dry-fab-offset: var(--dry-space-6);
37
37
  --dry-fab-gap: var(--dry-space-3);
38
+ --dry-fab-position: fixed;
38
39
  --dry-fab-z-index: var(--dry-layer-overlay);
39
40
 
40
- position: fixed;
41
+ position: var(--dry-fab-position);
41
42
  z-index: var(--dry-fab-z-index);
42
43
  display: grid;
43
44
  justify-items: center;
@@ -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 setContainer(node: HTMLDivElement) {
28
- containerEl = node;
29
- return {
30
- destroy() {
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
- (e.currentTarget as HTMLElement).setPointerCapture(e.pointerId);
51
- updatePosition(e.clientX, e.clientY);
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 setContainer}
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
- position: absolute;
152
- inset: 0;
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-auto-flow: column;
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
- if (color) {
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(--dry-pin-cell-border-bottom, none);
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),