@dorsk/tsumikit 0.74.0 → 0.76.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.
- package/README.md +38 -1
- package/dist/autoresize.d.ts +2 -0
- package/dist/autoresize.js +8 -1
- package/dist/components/atoms/Artwork.svelte +12 -5
- package/dist/components/atoms/Avatar.svelte +1 -1
- package/dist/components/atoms/Badge.svelte +59 -23
- package/dist/components/atoms/Button.svelte +130 -96
- package/dist/components/atoms/Button.svelte.d.ts +2 -0
- package/dist/components/atoms/Card.svelte +10 -4
- package/dist/components/atoms/Checkbox.svelte +36 -9
- package/dist/components/atoms/Checkbox.svelte.d.ts +2 -0
- package/dist/components/atoms/Gauge.svelte +20 -14
- package/dist/components/atoms/Heading.svelte +1 -1
- package/dist/components/atoms/Icon.svelte +1 -0
- package/dist/components/atoms/Input.svelte +67 -13
- package/dist/components/atoms/Kbd.svelte +3 -3
- package/dist/components/atoms/Link.svelte +7 -2
- package/dist/components/atoms/Progress.svelte +4 -2
- package/dist/components/atoms/Scrim.svelte +3 -8
- package/dist/components/atoms/SegmentedProgress.svelte +5 -4
- package/dist/components/atoms/Select.svelte +58 -27
- package/dist/components/atoms/Slider.svelte +79 -22
- package/dist/components/atoms/Slider.svelte.d.ts +2 -0
- package/dist/components/atoms/Swatch.svelte +19 -8
- package/dist/components/atoms/Switch.svelte +34 -21
- package/dist/components/atoms/Switch.svelte.d.ts +2 -0
- package/dist/components/atoms/Text.svelte +1 -1
- package/dist/components/atoms/Textarea.svelte +34 -12
- package/dist/components/atoms/TimeDisplay.svelte +4 -2
- package/dist/components/layouts/AppShell.svelte +26 -15
- package/dist/components/layouts/MasterDetail.svelte +23 -21
- package/dist/components/layouts/NavBar.svelte +11 -8
- package/dist/components/layouts/NavItem.svelte +15 -7
- package/dist/components/layouts/NavSection.svelte +1 -1
- package/dist/components/layouts/ResizablePanel.svelte +37 -16
- package/dist/components/layouts/TabBar.svelte +24 -14
- package/dist/components/layouts/TabBar.svelte.d.ts +2 -0
- package/dist/components/molecules/Accordion.svelte +4 -0
- package/dist/components/molecules/Accordion.svelte.d.ts +2 -0
- package/dist/components/molecules/AttachmentList.svelte +14 -11
- package/dist/components/molecules/Breadcrumb.svelte +13 -9
- package/dist/components/molecules/Callout.svelte +3 -3
- package/dist/components/molecules/CapBar.svelte +23 -22
- package/dist/components/molecules/Carousel.svelte +27 -17
- package/dist/components/molecules/ChatBubble.svelte +2 -2
- package/dist/components/molecules/CodeBlock.svelte +2 -2
- package/dist/components/molecules/Combobox.svelte +30 -1
- package/dist/components/molecules/Combobox.svelte.d.ts +4 -0
- package/dist/components/molecules/Composer.svelte +2 -2
- package/dist/components/molecules/ConfirmModal.svelte +4 -0
- package/dist/components/molecules/ConfirmModal.svelte.d.ts +2 -0
- package/dist/components/molecules/CopyButton.svelte +46 -2
- package/dist/components/molecules/CopyButton.svelte.d.ts +2 -0
- package/dist/components/molecules/Disclosure.svelte +23 -12
- package/dist/components/molecules/Disclosure.svelte.d.ts +2 -0
- package/dist/components/molecules/Drawer.svelte +43 -23
- package/dist/components/molecules/Drawer.svelte.d.ts +2 -0
- package/dist/components/molecules/Dropzone.svelte +24 -8
- package/dist/components/molecules/EmojiPicker.svelte +27 -8
- package/dist/components/molecules/EmojiPicker.svelte.d.ts +2 -0
- package/dist/components/molecules/EmptyState.svelte +5 -5
- package/dist/components/molecules/Fieldset.svelte +8 -13
- package/dist/components/molecules/FileButton.svelte +57 -31
- package/dist/components/molecules/FileButton.svelte.d.ts +2 -0
- package/dist/components/molecules/FilterInput.svelte +51 -11
- package/dist/components/molecules/FontScalePicker.svelte +20 -9
- package/dist/components/molecules/GitRef.svelte +9 -7
- package/dist/components/molecules/GlyphStack.svelte +46 -14
- package/dist/components/molecules/IconButton.svelte +6 -3
- package/dist/components/molecules/IconButton.svelte.d.ts +2 -0
- package/dist/components/molecules/InputGroup.svelte +13 -12
- package/dist/components/molecules/LoadMore.svelte +6 -1
- package/dist/components/molecules/LoadMore.svelte.d.ts +2 -0
- package/dist/components/molecules/Menu.svelte +33 -7
- package/dist/components/molecules/Menu.svelte.d.ts +2 -0
- package/dist/components/molecules/Metric.svelte +11 -9
- package/dist/components/molecules/Modal.svelte +76 -26
- package/dist/components/molecules/Modal.svelte.d.ts +2 -0
- package/dist/components/molecules/OptionButton.svelte +28 -10
- package/dist/components/molecules/OptionButton.svelte.d.ts +2 -0
- package/dist/components/molecules/Pagination.svelte +26 -9
- package/dist/components/molecules/Pagination.svelte.d.ts +2 -0
- package/dist/components/molecules/Popover.svelte +107 -51
- package/dist/components/molecules/Popover.svelte.d.ts +2 -0
- package/dist/components/molecules/Prose.svelte +1 -1
- package/dist/components/molecules/PullToRefresh.svelte +14 -10
- package/dist/components/molecules/PullToRefresh.svelte.d.ts +2 -0
- package/dist/components/molecules/RadialMenu.svelte +52 -19
- package/dist/components/molecules/RadialMenu.svelte.d.ts +2 -0
- package/dist/components/molecules/RadioGroup.svelte +38 -23
- package/dist/components/molecules/RadioGroup.svelte.d.ts +2 -0
- package/dist/components/molecules/RichSelect.svelte +583 -0
- package/dist/components/molecules/RichSelect.svelte.d.ts +68 -0
- package/dist/components/molecules/SectionHeader.svelte +13 -8
- package/dist/components/molecules/SeekSlider.svelte +38 -27
- package/dist/components/molecules/SeekSlider.svelte.d.ts +2 -0
- package/dist/components/molecules/SegmentedControl.svelte +139 -86
- package/dist/components/molecules/SegmentedControl.svelte.d.ts +2 -0
- package/dist/components/molecules/SelectButton.svelte +21 -6
- package/dist/components/molecules/SelectButton.svelte.d.ts +2 -0
- package/dist/components/molecules/SortableList.svelte +10 -11
- package/dist/components/molecules/SoundSettings.svelte +161 -0
- package/dist/components/molecules/SoundSettings.svelte.d.ts +17 -0
- package/dist/components/molecules/SplitButton.svelte +30 -3
- package/dist/components/molecules/SplitButton.svelte.d.ts +2 -0
- package/dist/components/molecules/SwipeRow.svelte +18 -15
- package/dist/components/molecules/SwipeRow.svelte.d.ts +2 -0
- package/dist/components/molecules/Tabs.svelte +92 -10
- package/dist/components/molecules/Tabs.svelte.d.ts +2 -0
- package/dist/components/molecules/ThemePicker.svelte +25 -10
- package/dist/components/molecules/Timestamp.svelte +12 -7
- package/dist/components/molecules/Toaster.svelte +65 -14
- package/dist/components/molecules/Toaster.svelte.d.ts +2 -0
- package/dist/components/molecules/Toggle.svelte +36 -13
- package/dist/components/molecules/Toggle.svelte.d.ts +2 -0
- package/dist/components/molecules/Tooltip.svelte +41 -10
- package/dist/components/molecules/Tooltip.svelte.d.ts +1 -1
- package/dist/components/molecules/VolumeSlider.svelte +34 -14
- package/dist/components/molecules/VolumeSlider.svelte.d.ts +2 -0
- package/dist/components/molecules/WorkingDir.svelte +1 -0
- package/dist/components/molecules/rich-select-keyboard.d.ts +82 -0
- package/dist/components/molecules/rich-select-keyboard.js +114 -0
- package/dist/components/organisms/ConversationFeed.svelte +24 -1
- package/dist/components/organisms/DataTable.svelte +37 -14
- package/dist/floating.js +26 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/sound-synth.js +17 -12
- package/dist/stores/toast.svelte.d.ts +9 -0
- package/dist/stores/toast.svelte.js +45 -9
- package/dist/styles/reset.css +3 -3
- package/package.json +1 -1
|
@@ -15,6 +15,8 @@ type Own = {
|
|
|
15
15
|
open?: boolean;
|
|
16
16
|
onopen?: () => void;
|
|
17
17
|
onclose?: () => void;
|
|
18
|
+
/** Play UI sounds when enabled globally; false silences this instance. */
|
|
19
|
+
sound?: boolean;
|
|
18
20
|
/** Replaces the default FAB content. */
|
|
19
21
|
trigger?: Snippet<[{
|
|
20
22
|
open: boolean;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
<script lang="ts">
|
|
16
16
|
import type { Snippet } from 'svelte';
|
|
17
|
+
import { playSound } from '../../sound';
|
|
17
18
|
|
|
18
19
|
// Native <input type="radio"> sharing one `name`: the browser handles
|
|
19
20
|
// single-selection, arrow keys and form participation. `variant="rows"`
|
|
@@ -28,6 +29,7 @@
|
|
|
28
29
|
action,
|
|
29
30
|
below,
|
|
30
31
|
onfocuschange,
|
|
32
|
+
sound = true,
|
|
31
33
|
class: klass = ''
|
|
32
34
|
}: {
|
|
33
35
|
options: RadioOption[];
|
|
@@ -41,6 +43,8 @@
|
|
|
41
43
|
/** Fires once each time a different option becomes active — by keyboard
|
|
42
44
|
* focus or by pointer hover — so a consumer can drive a preview pane. */
|
|
43
45
|
onfocuschange?: (value: string) => void;
|
|
46
|
+
/** Play UI sounds when enabled globally; false silences this instance. */
|
|
47
|
+
sound?: boolean;
|
|
44
48
|
class?: string;
|
|
45
49
|
} = $props();
|
|
46
50
|
|
|
@@ -53,6 +57,7 @@
|
|
|
53
57
|
active = v;
|
|
54
58
|
onfocuschange?.(v);
|
|
55
59
|
}
|
|
60
|
+
const onchange = () => playSound('click', sound);
|
|
56
61
|
</script>
|
|
57
62
|
|
|
58
63
|
<div
|
|
@@ -76,6 +81,7 @@
|
|
|
76
81
|
aria-label={o.label}
|
|
77
82
|
aria-describedby={descId(o)}
|
|
78
83
|
onfocus={() => activate(o.value)}
|
|
84
|
+
{onchange}
|
|
79
85
|
/>
|
|
80
86
|
{#if o.description}<span class="sr-only" id={descId(o)}>{o.description}</span>{/if}
|
|
81
87
|
<span class="swatch-chip" aria-hidden="true" style="--swatch: {o.color ?? 'var(--accent)'}"></span>
|
|
@@ -92,6 +98,7 @@
|
|
|
92
98
|
disabled={o.disabled}
|
|
93
99
|
aria-describedby={descId(o)}
|
|
94
100
|
onfocus={() => activate(o.value)}
|
|
101
|
+
{onchange}
|
|
95
102
|
/>
|
|
96
103
|
<span class="dot-ctl" aria-hidden="true"></span>
|
|
97
104
|
<span class="texts">
|
|
@@ -117,6 +124,7 @@
|
|
|
117
124
|
disabled={o.disabled}
|
|
118
125
|
aria-describedby={descId(o)}
|
|
119
126
|
onfocus={() => activate(o.value)}
|
|
127
|
+
{onchange}
|
|
120
128
|
/>
|
|
121
129
|
<span class="dot-ctl" aria-hidden="true"></span>
|
|
122
130
|
<span class="texts">
|
|
@@ -149,7 +157,7 @@
|
|
|
149
157
|
}
|
|
150
158
|
.radio.disabled,
|
|
151
159
|
.row.disabled {
|
|
152
|
-
opacity:
|
|
160
|
+
opacity: var(--disabled-opacity);
|
|
153
161
|
}
|
|
154
162
|
input {
|
|
155
163
|
position: absolute;
|
|
@@ -161,40 +169,47 @@
|
|
|
161
169
|
.dot-ctl {
|
|
162
170
|
position: relative;
|
|
163
171
|
flex: none;
|
|
164
|
-
width:
|
|
165
|
-
height:
|
|
166
|
-
margin-top:
|
|
172
|
+
width: var(--chip-sm);
|
|
173
|
+
height: var(--chip-sm);
|
|
174
|
+
margin-top: var(--sp-px);
|
|
167
175
|
border: 1px solid var(--border-strong);
|
|
168
176
|
border-radius: var(--r-pill);
|
|
169
177
|
background: var(--bg);
|
|
170
|
-
transition: border-color
|
|
178
|
+
transition: border-color var(--dur-fast) var(--ease);
|
|
171
179
|
}
|
|
172
180
|
.dot-ctl::after {
|
|
173
181
|
content: '';
|
|
174
182
|
position: absolute;
|
|
175
|
-
inset:
|
|
176
|
-
width:
|
|
177
|
-
height:
|
|
178
|
-
margin:
|
|
183
|
+
inset: 0;
|
|
184
|
+
width: var(--sp-2);
|
|
185
|
+
height: var(--sp-2);
|
|
186
|
+
margin: auto;
|
|
179
187
|
border-radius: var(--r-pill);
|
|
180
188
|
background: var(--accent);
|
|
181
|
-
|
|
182
|
-
|
|
189
|
+
opacity: 0;
|
|
190
|
+
scale: 0.5;
|
|
191
|
+
transition:
|
|
192
|
+
opacity var(--dur-exit-fast) var(--ease-out),
|
|
193
|
+
scale var(--dur-exit-fast) var(--ease-out);
|
|
183
194
|
}
|
|
184
195
|
input:checked + .dot-ctl {
|
|
185
196
|
border-color: var(--accent);
|
|
186
197
|
}
|
|
187
198
|
input:checked + .dot-ctl::after {
|
|
188
|
-
|
|
199
|
+
opacity: 1;
|
|
200
|
+
scale: 1;
|
|
201
|
+
transition:
|
|
202
|
+
opacity var(--dur-spring) var(--ease-spring),
|
|
203
|
+
scale var(--dur-spring) var(--ease-spring);
|
|
189
204
|
}
|
|
190
205
|
input:focus-visible + .dot-ctl {
|
|
191
|
-
outline:
|
|
192
|
-
outline-offset:
|
|
206
|
+
outline: var(--focus-ring);
|
|
207
|
+
outline-offset: var(--focus-ring-offset);
|
|
193
208
|
}
|
|
194
209
|
.texts {
|
|
195
210
|
display: flex;
|
|
196
211
|
flex-direction: column;
|
|
197
|
-
gap:
|
|
212
|
+
gap: var(--sp-px);
|
|
198
213
|
min-width: 0;
|
|
199
214
|
}
|
|
200
215
|
.hint {
|
|
@@ -218,8 +233,8 @@
|
|
|
218
233
|
border: 1px solid var(--border);
|
|
219
234
|
border-radius: var(--r-md);
|
|
220
235
|
transition:
|
|
221
|
-
border-color
|
|
222
|
-
background-color
|
|
236
|
+
border-color var(--dur-fast) var(--ease),
|
|
237
|
+
background-color var(--dur-fast) var(--ease);
|
|
223
238
|
}
|
|
224
239
|
.row.selected {
|
|
225
240
|
border-color: var(--accent-dim);
|
|
@@ -240,7 +255,7 @@
|
|
|
240
255
|
min-width: 0;
|
|
241
256
|
}
|
|
242
257
|
.row .label-text {
|
|
243
|
-
font-weight:
|
|
258
|
+
font-weight: var(--fw-semibold);
|
|
244
259
|
}
|
|
245
260
|
.note {
|
|
246
261
|
font-size: var(--fs-xs);
|
|
@@ -287,17 +302,17 @@
|
|
|
287
302
|
cursor: pointer;
|
|
288
303
|
}
|
|
289
304
|
.swatch.disabled {
|
|
290
|
-
opacity:
|
|
305
|
+
opacity: var(--disabled-opacity);
|
|
291
306
|
cursor: not-allowed;
|
|
292
307
|
}
|
|
293
308
|
.swatch-chip {
|
|
294
|
-
width:
|
|
295
|
-
height:
|
|
309
|
+
width: var(--chip-md);
|
|
310
|
+
height: var(--chip-md);
|
|
296
311
|
border-radius: var(--r-pill);
|
|
297
312
|
background: var(--swatch);
|
|
298
313
|
border: 2px solid transparent;
|
|
299
314
|
box-shadow: 0 0 0 1px var(--border-strong);
|
|
300
|
-
transition: box-shadow
|
|
315
|
+
transition: box-shadow var(--dur-fast) var(--ease);
|
|
301
316
|
}
|
|
302
317
|
.swatch input:checked + .swatch-chip {
|
|
303
318
|
border-color: var(--bg);
|
|
@@ -305,6 +320,6 @@
|
|
|
305
320
|
}
|
|
306
321
|
.swatch input:focus-visible + .swatch-chip {
|
|
307
322
|
outline: var(--focus-ring);
|
|
308
|
-
outline-offset:
|
|
323
|
+
outline-offset: var(--focus-ring-offset);
|
|
309
324
|
}
|
|
310
325
|
</style>
|
|
@@ -22,6 +22,8 @@ type $$ComponentProps = {
|
|
|
22
22
|
/** Fires once each time a different option becomes active — by keyboard
|
|
23
23
|
* focus or by pointer hover — so a consumer can drive a preview pane. */
|
|
24
24
|
onfocuschange?: (value: string) => void;
|
|
25
|
+
/** Play UI sounds when enabled globally; false silences this instance. */
|
|
26
|
+
sound?: boolean;
|
|
25
27
|
class?: string;
|
|
26
28
|
};
|
|
27
29
|
declare const RadioGroup: import("svelte").Component<$$ComponentProps, {}, "value">;
|