@dryui/ui 0.0.6 → 0.1.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 (71) hide show
  1. package/dist/accordion/accordion-content.svelte +1 -8
  2. package/dist/alert/alert-close.svelte +2 -1
  3. package/dist/alert/alert-icon.svelte +1 -0
  4. package/dist/alert/alert-root.svelte +2 -18
  5. package/dist/button-group/button-group.svelte +4 -5
  6. package/dist/calendar/calendar-root.svelte +1 -1
  7. package/dist/checkbox/checkbox.svelte +82 -27
  8. package/dist/color-picker/color-picker-root.svelte +1 -0
  9. package/dist/combobox/combobox-group.svelte +0 -1
  10. package/dist/country-select/country-select.svelte +3 -5
  11. package/dist/date-range-picker/date-range-picker-root.svelte +0 -1
  12. package/dist/dialog/dialog-footer.svelte +0 -1
  13. package/dist/field/field-root.svelte +1 -9
  14. package/dist/file-select/file-select-clear.svelte +1 -0
  15. package/dist/file-select/file-select-root.svelte +3 -2
  16. package/dist/file-select/file-select-trigger.svelte +2 -0
  17. package/dist/file-select/file-select-value.svelte +1 -0
  18. package/dist/file-upload/file-upload-dropzone.svelte +2 -0
  19. package/dist/file-upload/file-upload-root.svelte +0 -1
  20. package/dist/flip-card/flip-card-back.svelte +5 -0
  21. package/dist/flip-card/flip-card-front.svelte +5 -0
  22. package/dist/flip-card/flip-card-root.svelte +11 -35
  23. package/dist/float-button/float-button-action.svelte +2 -6
  24. package/dist/float-button/float-button-root.svelte +4 -9
  25. package/dist/float-button/float-button-trigger.svelte +5 -9
  26. package/dist/input-group/input-group-action.svelte +33 -0
  27. package/dist/input-group/input-group-input.svelte +35 -8
  28. package/dist/input-group/input-group-prefix.svelte +13 -0
  29. package/dist/input-group/input-group-root.svelte +0 -94
  30. package/dist/input-group/input-group-select.svelte +38 -0
  31. package/dist/input-group/input-group-separator.svelte +7 -0
  32. package/dist/input-group/input-group-suffix.svelte +13 -0
  33. package/dist/label/label.svelte +1 -0
  34. package/dist/list/list-root.svelte +0 -1
  35. package/dist/map/map-root.svelte +7 -11
  36. package/dist/markdown-renderer/markdown-renderer.svelte +109 -108
  37. package/dist/multi-select-combobox/multi-select-combobox-group.svelte +0 -1
  38. package/dist/navigation-menu/navigation-menu-item.svelte +6 -0
  39. package/dist/navigation-menu/navigation-menu-list.svelte +0 -4
  40. package/dist/notification-center/notification-center-group.svelte +12 -0
  41. package/dist/notification-center/notification-center-item.svelte +28 -0
  42. package/dist/notification-center/notification-center-panel.svelte +34 -0
  43. package/dist/notification-center/notification-center-root.svelte +1 -82
  44. package/dist/notification-center/notification-center-trigger.svelte +1 -0
  45. package/dist/option-swatch-group/option-swatch-group-root.svelte +1 -1
  46. package/dist/pin-input/pin-input-cell.svelte +1 -2
  47. package/dist/radio-group/radio-group.svelte +0 -1
  48. package/dist/range-calendar/range-calendar-grid.svelte +139 -0
  49. package/dist/range-calendar/range-calendar-root.svelte +0 -164
  50. package/dist/rich-text-editor/rich-text-editor-content.svelte +73 -0
  51. package/dist/rich-text-editor/rich-text-editor-root.svelte +0 -221
  52. package/dist/rich-text-editor/rich-text-editor-toolbar.svelte +149 -0
  53. package/dist/shader-canvas/shader-canvas.svelte +0 -1
  54. package/dist/sidebar/sidebar-content.svelte +7 -14
  55. package/dist/sidebar/sidebar-group-label.svelte +10 -4
  56. package/dist/sidebar/sidebar-group.svelte +8 -0
  57. package/dist/sidebar/sidebar-header.svelte +9 -5
  58. package/dist/sidebar/sidebar-root.svelte +1 -1
  59. package/dist/sidebar/sidebar-trigger.svelte +0 -1
  60. package/dist/system-map/system-map.svelte +0 -1
  61. package/dist/tabs/tabs-root.svelte +17 -1
  62. package/dist/tabs/tabs-trigger.svelte +4 -13
  63. package/dist/tags-input/tags-input-root.svelte +12 -5
  64. package/dist/tags-input/tags-input-tag-delete.svelte +2 -2
  65. package/dist/tags-input/tags-input-tag.svelte +1 -1
  66. package/dist/themes/default.css +8 -0
  67. package/dist/themes/practical-ui-foundation-map.md +2 -2
  68. package/dist/transfer/transfer-item.svelte +2 -1
  69. package/dist/transfer/transfer-list.svelte +7 -18
  70. package/dist/virtual-list/virtual-list.svelte +0 -1
  71. package/package.json +1183 -447
@@ -1,13 +1,12 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import type { HTMLAttributes } from 'svelte/elements';
2
+ import type { HTMLInputAttributes } from 'svelte/elements';
4
3
  import { getAffixGroupCtx } from './context.svelte.js';
5
4
 
6
- interface Props extends HTMLAttributes<HTMLDivElement> {
7
- children: Snippet;
5
+ interface Props extends HTMLInputAttributes {
6
+ value?: string;
8
7
  }
9
8
 
10
- let { children, class: className, ...rest }: Props = $props();
9
+ let { value = $bindable(''), class: className, ...rest }: Props = $props();
11
10
 
12
11
  const ctx = getAffixGroupCtx();
13
12
  </script>
@@ -17,9 +16,37 @@
17
16
  data-size={ctx.size}
18
17
  data-disabled={ctx.disabled || undefined}
19
18
  data-invalid={ctx.invalid || undefined}
20
- {...rest}
21
19
  data-input-group-inputWrap
22
- class={className}
23
20
  >
24
- {@render children()}
21
+ <input
22
+ bind:value
23
+ disabled={ctx.disabled || undefined}
24
+ data-input-group-input
25
+ class={className}
26
+ {...rest}
27
+ />
25
28
  </div>
29
+
30
+ <style>
31
+ [data-input-group-inputWrap] {
32
+ display: grid;
33
+ grid-auto-flow: column;
34
+ grid-auto-columns: minmax(0, 1fr);
35
+ align-items: center;
36
+ }
37
+
38
+ [data-input-group-input] {
39
+ border: 0;
40
+ background: transparent;
41
+ color: inherit;
42
+ font: inherit;
43
+ font-size: var(--dry-input-group-font-size);
44
+ line-height: 1.4;
45
+ padding: var(--dry-input-group-padding-y) var(--dry-input-group-padding-x);
46
+ outline: none;
47
+ }
48
+
49
+ [data-input-group-input]::placeholder {
50
+ color: var(--dry-input-group-muted);
51
+ }
52
+ </style>
@@ -23,3 +23,16 @@
23
23
  >
24
24
  {@render children()}
25
25
  </span>
26
+
27
+ <style>
28
+ [data-input-group-prefix] {
29
+ display: inline-grid;
30
+ grid-auto-flow: column;
31
+ grid-auto-columns: max-content;
32
+ align-items: center;
33
+ gap: 0.5rem;
34
+ padding: 0 var(--dry-input-group-padding-x);
35
+ color: var(--dry-input-group-muted);
36
+ white-space: nowrap;
37
+ }
38
+ </style>
@@ -98,98 +98,4 @@
98
98
  min-height: 3.5rem;
99
99
  }
100
100
 
101
- [data-input-group-prefix],
102
- [data-input-group-suffix],
103
- [data-input-group-action],
104
- [data-input-group-select] {
105
- display: inline-grid;
106
- grid-auto-flow: column;
107
- grid-auto-columns: max-content;
108
- align-items: center;
109
- gap: 0.5rem;
110
- padding: 0 var(--dry-input-group-padding-x);
111
- color: var(--dry-input-group-muted);
112
- white-space: nowrap;
113
- }
114
-
115
- [data-input-group-inputWrap] {
116
- display: grid;
117
- grid-auto-flow: column;
118
- grid-auto-columns: minmax(0, 1fr);
119
- align-items: center;
120
- }
121
-
122
- [data-input-group-input] {
123
- border: 0;
124
- background: transparent;
125
- color: inherit;
126
- font: inherit;
127
- font-size: var(--dry-input-group-font-size);
128
- line-height: 1.4;
129
- padding: var(--dry-input-group-padding-y) var(--dry-input-group-padding-x);
130
- outline: none;
131
- }
132
-
133
- [data-input-group-input]::placeholder {
134
- color: var(--dry-input-group-muted);
135
- }
136
-
137
- [data-input-group-separator] {
138
- align-self: stretch;
139
- border-inline-start: 1px solid var(--dry-input-group-separator);
140
- }
141
-
142
- [data-input-group-action] {
143
- appearance: none;
144
- border: 0;
145
- background: transparent;
146
- color: var(--dry-color-text-strong);
147
- cursor: pointer;
148
- font: inherit;
149
- font-size: var(--dry-input-group-font-size);
150
- transition: background-color 160ms ease;
151
- }
152
-
153
- [data-input-group-action]:hover:not(:disabled) {
154
- background: var(--dry-color-fill-weak);
155
- }
156
-
157
- [data-input-group-action]:focus-visible {
158
- outline: none;
159
- background: var(--dry-color-fill-weak);
160
- }
161
-
162
- [data-input-group-action]:disabled {
163
- cursor: not-allowed;
164
- }
165
-
166
- [data-input-group-selectWrap] {
167
- position: relative;
168
- }
169
-
170
- [data-input-group-select] {
171
- appearance: none;
172
- border: 0;
173
- background: transparent;
174
- color: var(--dry-color-text-strong);
175
- font: inherit;
176
- font-size: var(--dry-input-group-font-size);
177
- line-height: 1.4;
178
- padding: var(--dry-input-group-padding-y) calc(var(--dry-input-group-padding-x) * 1.75)
179
- var(--dry-input-group-padding-y) var(--dry-input-group-padding-x);
180
- outline: none;
181
- cursor: pointer;
182
- }
183
-
184
- [data-input-group-caret] {
185
- position: absolute;
186
- right: 0.875rem;
187
- top: 50%;
188
- aspect-ratio: 1;
189
- height: 0.5rem;
190
- border-right: 1.5px solid currentColor;
191
- border-bottom: 1.5px solid currentColor;
192
- transform: translateY(-65%) rotate(45deg);
193
- pointer-events: none;
194
- }
195
101
  </style>
@@ -25,3 +25,41 @@
25
25
  </select>
26
26
  <span data-input-group-caret aria-hidden="true"></span>
27
27
  </div>
28
+
29
+ <style>
30
+ [data-input-group-selectWrap] {
31
+ position: relative;
32
+ }
33
+
34
+ [data-input-group-select] {
35
+ display: inline-grid;
36
+ grid-auto-flow: column;
37
+ grid-auto-columns: max-content;
38
+ align-items: center;
39
+ gap: 0.5rem;
40
+ padding: var(--dry-input-group-padding-y) calc(var(--dry-input-group-padding-x) * 1.75)
41
+ var(--dry-input-group-padding-y) var(--dry-input-group-padding-x);
42
+ white-space: nowrap;
43
+ appearance: none;
44
+ border: 0;
45
+ background: transparent;
46
+ color: var(--dry-color-text-strong);
47
+ font: inherit;
48
+ font-size: var(--dry-input-group-font-size);
49
+ line-height: 1.4;
50
+ outline: none;
51
+ cursor: pointer;
52
+ }
53
+
54
+ [data-input-group-caret] {
55
+ position: absolute;
56
+ right: 0.875rem;
57
+ top: 50%;
58
+ aspect-ratio: 1;
59
+ height: 0.5rem;
60
+ border-right: 1.5px solid currentColor;
61
+ border-bottom: 1.5px solid currentColor;
62
+ transform: translateY(-65%) rotate(45deg);
63
+ pointer-events: none;
64
+ }
65
+ </style>
@@ -19,3 +19,10 @@
19
19
  data-input-group-separator
20
20
  class={className}
21
21
  ></span>
22
+
23
+ <style>
24
+ [data-input-group-separator] {
25
+ align-self: stretch;
26
+ border-inline-start: 1px solid var(--dry-input-group-separator);
27
+ }
28
+ </style>
@@ -23,3 +23,16 @@
23
23
  >
24
24
  {@render children()}
25
25
  </div>
26
+
27
+ <style>
28
+ [data-input-group-suffix] {
29
+ display: inline-grid;
30
+ grid-auto-flow: column;
31
+ grid-auto-columns: max-content;
32
+ align-items: center;
33
+ gap: 0.5rem;
34
+ padding: 0 var(--dry-input-group-padding-x);
35
+ color: var(--dry-input-group-muted);
36
+ white-space: nowrap;
37
+ }
38
+ </style>
@@ -35,6 +35,7 @@
35
35
  --dry-label-leading: var(--dry-type-small-leading, var(--dry-type-small-leading));
36
36
  --dry-label-weight: 500;
37
37
 
38
+ order: var(--dry-field-label-order, unset);
38
39
  display: inline-block;
39
40
  font-family: var(--dry-font-sans);
40
41
  font-size: var(--dry-label-font-size);
@@ -38,7 +38,6 @@
38
38
  {@render children()}
39
39
  </ul>
40
40
 
41
- <!-- svelte-ignore css_unused_selector -->
42
41
  <style>
43
42
  [data-list-root] {
44
43
  --dry-list-gap: var(--dry-space-1);
@@ -197,18 +197,19 @@
197
197
  });
198
198
  </script>
199
199
 
200
- <div bind:this={containerEl} class={className} data-part="map-root" data-map-root {...rest}>
201
- {#if error}
200
+ {#if error}
201
+ <div class={className} data-part="map-root" data-map-root {...rest}>
202
202
  <div data-part="map-error">
203
203
  {error}
204
204
  </div>
205
+ </div>
206
+ {:else}
207
+ <div bind:this={containerEl} class={className} data-part="map-root" data-map-root {...rest}></div>
208
+ {#if children}
209
+ {@render children()}
205
210
  {/if}
206
- </div>
207
- {#if children && !error}
208
- {@render children()}
209
211
  {/if}
210
212
 
211
- <!-- svelte-ignore css_unused_selector -->
212
213
  <style>
213
214
  [data-map-root] {
214
215
  --dry-map-radius: var(--dry-radius-lg, 0.5rem);
@@ -252,11 +253,6 @@
252
253
  border: 1px solid var(--dry-color-stroke-weak, #e2e8f0);
253
254
  }
254
255
 
255
- [data-theme='dark'] [data-map-popup] [data-map-mapboxgl]-popup-content,
256
- [data-theme='dark'] [data-map-popup] [data-map-maplibregl]-popup-content {
257
- background: var(--dry-color-bg-raised, #1e1e2e);
258
- }
259
-
260
256
  [data-part='map-error'] {
261
257
  display: grid;
262
258
  place-items: center;
@@ -53,7 +53,6 @@
53
53
  {@render renderNodes(nodes)}
54
54
  </div>
55
55
 
56
- <!-- svelte-ignore css_unused_selector -->
57
56
  <style>
58
57
  [data-markdown-renderer-root] {
59
58
  /* Component tokens (Tier 3) — use semantic tokens so dark mode works */
@@ -79,140 +78,142 @@
79
78
  color: var(--dry-markdown-color);
80
79
  }
81
80
 
82
- /* ── Headings ─────────────────────────────────────────────────────────────── */
83
-
84
- [data-markdown-renderer-root] h1,
85
- [data-markdown-renderer-root] h2,
86
- [data-markdown-renderer-root] h3,
87
- [data-markdown-renderer-root] h4,
88
- [data-markdown-renderer-root] h5,
89
- [data-markdown-renderer-root] h6 {
90
- color: var(--dry-markdown-heading-color);
91
- font-weight: 600;
92
- line-height: 1.25;
93
- margin-top: 1.5em;
94
- margin-bottom: 0.5em;
95
- }
81
+ [data-markdown-renderer-root] :global {
82
+ /* ── Headings ─────────────────────────────────────────────────────────────── */
83
+
84
+ h1,
85
+ h2,
86
+ h3,
87
+ h4,
88
+ h5,
89
+ h6 {
90
+ color: var(--dry-markdown-heading-color);
91
+ font-weight: 600;
92
+ line-height: 1.25;
93
+ margin-top: 1.5em;
94
+ margin-bottom: 0.5em;
95
+ }
96
96
 
97
- [data-markdown-renderer-root] h1 {
98
- font-size: var(--dry-type-heading-2-size, var(--dry-type-heading-2-size));
99
- margin-top: 0;
100
- }
97
+ h1 {
98
+ font-size: var(--dry-type-heading-2-size, var(--dry-type-heading-2-size));
99
+ margin-top: 0;
100
+ }
101
101
 
102
- [data-markdown-renderer-root] h2 {
103
- font-size: var(--dry-type-heading-2-size, var(--dry-type-heading-2-size));
104
- padding-bottom: 0.25em;
105
- border-bottom: 1px solid var(--dry-markdown-hr-color);
106
- }
102
+ h2 {
103
+ font-size: var(--dry-type-heading-2-size, var(--dry-type-heading-2-size));
104
+ padding-bottom: 0.25em;
105
+ border-bottom: 1px solid var(--dry-markdown-hr-color);
106
+ }
107
107
 
108
- [data-markdown-renderer-root] h3 {
109
- font-size: var(--dry-type-heading-3-size, var(--dry-type-heading-3-size));
110
- }
108
+ h3 {
109
+ font-size: var(--dry-type-heading-3-size, var(--dry-type-heading-3-size));
110
+ }
111
111
 
112
- [data-markdown-renderer-root] h4 {
113
- font-size: var(--dry-type-heading-4-size, var(--dry-type-heading-4-size));
114
- }
112
+ h4 {
113
+ font-size: var(--dry-type-heading-4-size, var(--dry-type-heading-4-size));
114
+ }
115
115
 
116
- [data-markdown-renderer-root] h5 {
117
- font-size: var(--dry-markdown-font-size);
118
- }
116
+ h5 {
117
+ font-size: var(--dry-markdown-font-size);
118
+ }
119
119
 
120
- [data-markdown-renderer-root] h6 {
121
- font-size: var(--dry-type-small-size, var(--dry-type-small-size));
122
- color: var(--dry-color-text-weak);
123
- }
120
+ h6 {
121
+ font-size: var(--dry-type-small-size, var(--dry-type-small-size));
122
+ color: var(--dry-color-text-weak);
123
+ }
124
124
 
125
- /* ── Paragraph ────────────────────────────────────────────────────────────── */
125
+ /* ── Paragraph ────────────────────────────────────────────────────────────── */
126
126
 
127
- [data-markdown-renderer-root] p {
128
- margin-top: 0;
129
- margin-bottom: 1em;
130
- }
127
+ p {
128
+ margin-top: 0;
129
+ margin-bottom: 1em;
130
+ }
131
131
 
132
- /* ── Links ────────────────────────────────────────────────────────────────── */
132
+ /* ── Links ────────────────────────────────────────────────────────────────── */
133
133
 
134
- [data-markdown-renderer-root] a {
135
- color: var(--dry-markdown-link-color);
136
- text-decoration: underline;
137
- text-underline-offset: 2px;
134
+ a {
135
+ color: var(--dry-markdown-link-color);
136
+ text-decoration: underline;
137
+ text-underline-offset: 2px;
138
138
 
139
- &:hover {
140
- color: var(--dry-markdown-link-hover-color);
139
+ &:hover {
140
+ color: var(--dry-markdown-link-hover-color);
141
+ }
141
142
  }
142
- }
143
143
 
144
- /* ── Images ───────────────────────────────────────────────────────────────── */
144
+ /* ── Images ───────────────────────────────────────────────────────────────── */
145
145
 
146
- [data-markdown-renderer-root] img {
147
- height: auto;
148
- border-radius: var(--dry-radius-md);
149
- margin-top: 0.5em;
150
- margin-bottom: 0.5em;
151
- }
146
+ img {
147
+ height: auto;
148
+ border-radius: var(--dry-radius-md);
149
+ margin-top: 0.5em;
150
+ margin-bottom: 0.5em;
151
+ }
152
152
 
153
- /* ── Lists ────────────────────────────────────────────────────────────────── */
153
+ /* ── Lists ────────────────────────────────────────────────────────────────── */
154
154
 
155
- [data-markdown-renderer-root] ul,
156
- [data-markdown-renderer-root] ol {
157
- margin-top: 0;
158
- margin-bottom: 1em;
159
- padding-left: 1.5em;
160
- }
155
+ ul,
156
+ ol {
157
+ margin-top: 0;
158
+ margin-bottom: 1em;
159
+ padding-left: 1.5em;
160
+ }
161
161
 
162
- [data-markdown-renderer-root] li {
163
- margin-bottom: 0.25em;
164
- }
162
+ li {
163
+ margin-bottom: 0.25em;
164
+ }
165
165
 
166
- [data-markdown-renderer-root] ul {
167
- list-style-type: disc;
168
- }
166
+ ul {
167
+ list-style-type: disc;
168
+ }
169
169
 
170
- [data-markdown-renderer-root] ol {
171
- list-style-type: decimal;
172
- }
170
+ ol {
171
+ list-style-type: decimal;
172
+ }
173
173
 
174
- /* ── Blockquotes ──────────────────────────────────────────────────────────── */
174
+ /* ── Blockquotes ──────────────────────────────────────────────────────────── */
175
175
 
176
- [data-markdown-renderer-root] blockquote {
177
- margin: 0 0 1em 0;
178
- padding: var(--dry-space-2) var(--dry-space-4);
179
- border-left: 3px solid var(--dry-markdown-blockquote-border);
180
- color: var(--dry-markdown-blockquote-color);
181
- }
176
+ blockquote {
177
+ margin: 0 0 1em 0;
178
+ padding: var(--dry-space-2) var(--dry-space-4);
179
+ border-left: 3px solid var(--dry-markdown-blockquote-border);
180
+ color: var(--dry-markdown-blockquote-color);
181
+ }
182
182
 
183
- [data-markdown-renderer-root] blockquote p:last-child {
184
- margin-bottom: 0;
185
- }
183
+ blockquote p:last-child {
184
+ margin-bottom: 0;
185
+ }
186
186
 
187
- /* ── Inline code ──────────────────────────────────────────────────────────── */
187
+ /* ── Inline code ──────────────────────────────────────────────────────────── */
188
188
 
189
- [data-markdown-renderer-root] code {
190
- font-family: var(--dry-font-mono);
191
- font-size: 0.875em;
192
- padding: 0.125em 0.375em;
193
- background: var(--dry-markdown-code-bg);
194
- color: var(--dry-markdown-code-color);
195
- border: 1px solid var(--dry-markdown-code-border);
196
- border-radius: var(--dry-radius-sm);
197
- }
189
+ code {
190
+ font-family: var(--dry-font-mono);
191
+ font-size: 0.875em;
192
+ padding: 0.125em 0.375em;
193
+ background: var(--dry-markdown-code-bg);
194
+ color: var(--dry-markdown-code-color);
195
+ border: 1px solid var(--dry-markdown-code-border);
196
+ border-radius: var(--dry-radius-sm);
197
+ }
198
198
 
199
- /* Reset inline code styles inside CodeBlock */
200
- [data-markdown-renderer-root] [data-code-block] code {
201
- padding: 0;
202
- background: none;
203
- color: inherit;
204
- border: none;
205
- border-radius: 0;
206
- }
199
+ /* Reset inline code styles inside CodeBlock */
200
+ [data-code-block] code {
201
+ padding: 0;
202
+ background: none;
203
+ color: inherit;
204
+ border: none;
205
+ border-radius: 0;
206
+ }
207
207
 
208
- /* ── Strong & Em ──────────────────────────────────────────────────────────── */
208
+ /* ── Strong & Em ──────────────────────────────────────────────────────────── */
209
209
 
210
- [data-markdown-renderer-root] strong {
211
- font-weight: 600;
212
- color: var(--dry-markdown-heading-color);
213
- }
210
+ strong {
211
+ font-weight: 600;
212
+ color: var(--dry-markdown-heading-color);
213
+ }
214
214
 
215
- [data-markdown-renderer-root] em {
216
- font-style: italic;
215
+ em {
216
+ font-style: italic;
217
+ }
217
218
  }
218
219
  </style>
@@ -15,7 +15,6 @@
15
15
  {@render children()}
16
16
  </div>
17
17
 
18
- <!-- svelte-ignore css_unused_selector -->
19
18
  <style>
20
19
  [data-multi-select-group] [data-part='group-label'] {
21
20
  padding: var(--dry-space-1_5) var(--dry-space-2);
@@ -30,3 +30,9 @@
30
30
  <li>
31
31
  {@render children()}
32
32
  </li>
33
+
34
+ <style>
35
+ li {
36
+ position: relative;
37
+ }
38
+ </style>
@@ -13,7 +13,6 @@
13
13
  {@render children()}
14
14
  </ul>
15
15
 
16
- <!-- svelte-ignore css_unused_selector -->
17
16
  <style>
18
17
  [data-nav-menu-list] {
19
18
  --dry-nav-menu-bg: var(--dry-color-bg-raised);
@@ -46,7 +45,4 @@
46
45
  box-shadow: var(--dry-nav-menu-shadow);
47
46
  }
48
47
 
49
- [data-nav-menu-list] > :is(li) {
50
- position: relative;
51
- }
52
48
  </style>
@@ -16,3 +16,15 @@
16
16
  </div>
17
17
  {@render children()}
18
18
  </div>
19
+
20
+ <style>
21
+ [data-part='group-header'] {
22
+ padding: var(--dry-space-2, 0.5rem) var(--dry-nc-item-padding, 0.75rem);
23
+ font-size: var(--dry-type-ui-caption-size, var(--dry-text-xs-size, 0.75rem));
24
+ font-weight: 600;
25
+ color: var(--dry-color-text-weak, #64748b);
26
+ text-transform: uppercase;
27
+ letter-spacing: 0.05em;
28
+ background: var(--dry-color-fill, #f8fafc);
29
+ }
30
+ </style>
@@ -39,3 +39,31 @@
39
39
  </div>
40
40
  {/if}
41
41
  </div>
42
+
43
+ <style>
44
+ [data-notification-center-item] {
45
+ padding: var(--dry-nc-item-padding, 0.75rem);
46
+ border-bottom: 1px solid var(--dry-color-stroke-weak, #e2e8f0);
47
+ transition: background var(--dry-duration-fast, 100ms) ease;
48
+ }
49
+
50
+ [data-notification-center-item]:last-child {
51
+ border-bottom: none;
52
+ }
53
+
54
+ [data-notification-center-item][data-state='unread'] {
55
+ background: var(--dry-nc-unread-bg, #eff6ff);
56
+ }
57
+
58
+ [data-notification-center-item][data-variant='warning'] {
59
+ border-left: 3px solid var(--dry-color-fill-warning);
60
+ }
61
+
62
+ [data-notification-center-item][data-variant='critical'] {
63
+ border-left: 3px solid var(--dry-color-fill-error);
64
+ }
65
+
66
+ [data-notification-center-item][data-variant='info'] {
67
+ border-left: 3px solid var(--dry-color-fill-brand);
68
+ }
69
+ </style>