@streamscloud/kit 0.10.7-1781528892980 → 0.11.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.
- package/dist/ui/button/cmp.button.svelte +63 -63
- package/dist/ui/grid-card/fields/cmp.grid-card-badge-field.svelte +2 -1
- package/dist/ui/grid-card/fields/cmp.grid-card-badge-field.svelte.d.ts +2 -1
- package/dist/ui/icon/icon-utils.d.ts +4 -1
- package/dist/ui/icon/icon-utils.js +4 -1
- package/dist/ui/page-toolbar/cmp.toolbar-search-input.svelte.d.ts +1 -1
- package/dist/ui/select/select-internals.js +2 -2
- package/package.json +1 -1
|
@@ -112,13 +112,13 @@ Pass `type="anchor"` to render as `<a>` with `href`. Otherwise `type` is the nat
|
|
|
112
112
|
-->
|
|
113
113
|
|
|
114
114
|
<style>.btn {
|
|
115
|
-
--_btn--color: var(--sc-kit--button--color, var(--
|
|
116
|
-
--_btn--background: var(--sc-kit--button--background, var(--
|
|
117
|
-
--_btn--background-hover: var(--sc-kit--button--background--hover, var(--
|
|
118
|
-
--_btn--background-active: var(--sc-kit--button--background--active, var(--
|
|
119
|
-
--_btn--border: var(--sc-kit--button--border,
|
|
120
|
-
--_btn--box-shadow: var(--sc-kit--button--box-shadow,
|
|
121
|
-
--_btn--focus-ring-color: var(--sc-kit--button--focus-ring-color, var(--
|
|
115
|
+
--_btn--color: var(--sc-kit--button--color, var(--_btn--variant-color));
|
|
116
|
+
--_btn--background: var(--sc-kit--button--background, var(--_btn--variant-background));
|
|
117
|
+
--_btn--background-hover: var(--sc-kit--button--background--hover, var(--_btn--variant-background-hover));
|
|
118
|
+
--_btn--background-active: var(--sc-kit--button--background--active, var(--_btn--variant-background-active));
|
|
119
|
+
--_btn--border: var(--sc-kit--button--border, var(--_btn--variant-border));
|
|
120
|
+
--_btn--box-shadow: var(--sc-kit--button--box-shadow, var(--_btn--variant-box-shadow));
|
|
121
|
+
--_btn--focus-ring-color: var(--sc-kit--button--focus-ring-color, var(--_btn--variant-focus-ring-color));
|
|
122
122
|
--_btn--height: var(--sc-kit--button--height, var(--_btn--size-height));
|
|
123
123
|
--_btn--padding-inline: var(--sc-kit--button--padding-inline, var(--_btn--size-padding-inline));
|
|
124
124
|
--_btn--font-size: var(--sc-kit--button--font-size, var(--_btn--size-font-size));
|
|
@@ -228,78 +228,78 @@ Pass `type="anchor"` to render as `<a>` with `href`. Otherwise `type` is the nat
|
|
|
228
228
|
aspect-ratio: 1/1;
|
|
229
229
|
}
|
|
230
230
|
.btn--primary {
|
|
231
|
-
--
|
|
232
|
-
--
|
|
233
|
-
--
|
|
234
|
-
--
|
|
235
|
-
--
|
|
236
|
-
--
|
|
237
|
-
--
|
|
231
|
+
--_btn--variant-color: var(--sc-kit--color--text--on-accent);
|
|
232
|
+
--_btn--variant-background: var(--sc-kit--color--accent);
|
|
233
|
+
--_btn--variant-background-hover: var(--sc-kit--color--accent--hover);
|
|
234
|
+
--_btn--variant-background-active: var(--sc-kit--color--accent--hover);
|
|
235
|
+
--_btn--variant-border: 1px solid transparent;
|
|
236
|
+
--_btn--variant-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.3);
|
|
237
|
+
--_btn--variant-focus-ring-color: var(--sc-kit--color--border--focus);
|
|
238
238
|
}
|
|
239
239
|
.btn--danger {
|
|
240
|
-
--
|
|
241
|
-
--
|
|
242
|
-
--
|
|
243
|
-
--
|
|
244
|
-
--
|
|
245
|
-
--
|
|
246
|
-
--
|
|
240
|
+
--_btn--variant-color: var(--sc-kit--color--text--on-accent);
|
|
241
|
+
--_btn--variant-background: var(--sc-kit--color--danger);
|
|
242
|
+
--_btn--variant-background-hover: var(--sc-kit--color--danger--hover);
|
|
243
|
+
--_btn--variant-background-active: var(--sc-kit--color--danger--hover);
|
|
244
|
+
--_btn--variant-border: 1px solid transparent;
|
|
245
|
+
--_btn--variant-box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.3);
|
|
246
|
+
--_btn--variant-focus-ring-color: var(--sc-kit--color--danger);
|
|
247
247
|
}
|
|
248
248
|
.btn--info {
|
|
249
|
-
--
|
|
250
|
-
--
|
|
251
|
-
--
|
|
252
|
-
--
|
|
253
|
-
--
|
|
254
|
-
--
|
|
255
|
-
--
|
|
249
|
+
--_btn--variant-color: var(--sc-kit--color--info);
|
|
250
|
+
--_btn--variant-background: var(--sc-kit--color--info--soft);
|
|
251
|
+
--_btn--variant-background-hover: color-mix(in srgb, var(--sc-kit--color--info) 18%, var(--sc-kit--color--bg--panel));
|
|
252
|
+
--_btn--variant-background-active: color-mix(in srgb, var(--sc-kit--color--info) 26%, var(--sc-kit--color--bg--panel));
|
|
253
|
+
--_btn--variant-border: 1px solid var(--sc-kit--color--info);
|
|
254
|
+
--_btn--variant-box-shadow: none;
|
|
255
|
+
--_btn--variant-focus-ring-color: var(--sc-kit--color--info);
|
|
256
256
|
}
|
|
257
257
|
.btn--success {
|
|
258
|
-
--
|
|
259
|
-
--
|
|
260
|
-
--
|
|
261
|
-
--
|
|
262
|
-
--
|
|
263
|
-
--
|
|
264
|
-
--
|
|
258
|
+
--_btn--variant-color: var(--sc-kit--color--success);
|
|
259
|
+
--_btn--variant-background: var(--sc-kit--color--success--soft);
|
|
260
|
+
--_btn--variant-background-hover: color-mix(in srgb, var(--sc-kit--color--success) 18%, var(--sc-kit--color--bg--panel));
|
|
261
|
+
--_btn--variant-background-active: color-mix(in srgb, var(--sc-kit--color--success) 26%, var(--sc-kit--color--bg--panel));
|
|
262
|
+
--_btn--variant-border: 1px solid var(--sc-kit--color--success);
|
|
263
|
+
--_btn--variant-box-shadow: none;
|
|
264
|
+
--_btn--variant-focus-ring-color: var(--sc-kit--color--success);
|
|
265
265
|
}
|
|
266
266
|
.btn--warning {
|
|
267
|
-
--
|
|
268
|
-
--
|
|
269
|
-
--
|
|
270
|
-
--
|
|
271
|
-
--
|
|
272
|
-
--
|
|
273
|
-
--
|
|
267
|
+
--_btn--variant-color: var(--sc-kit--color--warning);
|
|
268
|
+
--_btn--variant-background: var(--sc-kit--color--warning--soft);
|
|
269
|
+
--_btn--variant-background-hover: color-mix(in srgb, var(--sc-kit--color--warning) 18%, var(--sc-kit--color--bg--panel));
|
|
270
|
+
--_btn--variant-background-active: color-mix(in srgb, var(--sc-kit--color--warning) 26%, var(--sc-kit--color--bg--panel));
|
|
271
|
+
--_btn--variant-border: 1px solid var(--sc-kit--color--warning);
|
|
272
|
+
--_btn--variant-box-shadow: none;
|
|
273
|
+
--_btn--variant-focus-ring-color: var(--sc-kit--color--warning);
|
|
274
274
|
}
|
|
275
275
|
.btn--secondary {
|
|
276
|
-
--
|
|
277
|
-
--
|
|
278
|
-
--
|
|
279
|
-
--
|
|
280
|
-
--
|
|
281
|
-
--
|
|
282
|
-
--
|
|
276
|
+
--_btn--variant-color: var(--sc-kit--color--text--primary);
|
|
277
|
+
--_btn--variant-background: var(--sc-kit--color--bg--panel);
|
|
278
|
+
--_btn--variant-background-hover: var(--sc-kit--color--bg--hover);
|
|
279
|
+
--_btn--variant-background-active: var(--sc-kit--color--bg--active);
|
|
280
|
+
--_btn--variant-border: 1px solid var(--sc-kit--color--border);
|
|
281
|
+
--_btn--variant-box-shadow: none;
|
|
282
|
+
--_btn--variant-focus-ring-color: var(--sc-kit--color--border--focus);
|
|
283
283
|
}
|
|
284
284
|
.btn--ghost {
|
|
285
|
-
--
|
|
286
|
-
--
|
|
287
|
-
--
|
|
288
|
-
--
|
|
289
|
-
--
|
|
290
|
-
--
|
|
291
|
-
--
|
|
285
|
+
--_btn--variant-color: var(--sc-kit--color--text--primary);
|
|
286
|
+
--_btn--variant-background: transparent;
|
|
287
|
+
--_btn--variant-background-hover: var(--sc-kit--color--bg--hover);
|
|
288
|
+
--_btn--variant-background-active: var(--sc-kit--color--bg--active);
|
|
289
|
+
--_btn--variant-border: 1px solid transparent;
|
|
290
|
+
--_btn--variant-box-shadow: none;
|
|
291
|
+
--_btn--variant-focus-ring-color: var(--sc-kit--color--border--focus);
|
|
292
292
|
}
|
|
293
293
|
.btn--primary-disabled, .btn--danger-disabled {
|
|
294
|
-
--
|
|
295
|
-
--
|
|
296
|
-
--
|
|
294
|
+
--_btn--variant-background: var(--sc-kit--color--bg--hover);
|
|
295
|
+
--_btn--variant-color: var(--sc-kit--color--text--muted);
|
|
296
|
+
--_btn--variant-box-shadow: none;
|
|
297
297
|
}
|
|
298
298
|
.btn--secondary-disabled, .btn--info-disabled, .btn--success-disabled, .btn--warning-disabled {
|
|
299
|
-
--
|
|
300
|
-
--
|
|
301
|
-
--
|
|
299
|
+
--_btn--variant-background: var(--sc-kit--color--bg--panel);
|
|
300
|
+
--_btn--variant-color: var(--sc-kit--color--text--muted);
|
|
301
|
+
--_btn--variant-border: 1px solid var(--sc-kit--color--border);
|
|
302
302
|
}
|
|
303
303
|
.btn--ghost-disabled {
|
|
304
|
-
--
|
|
304
|
+
--_btn--variant-color: var(--sc-kit--color--text--muted);
|
|
305
305
|
}</style>
|
|
@@ -15,7 +15,8 @@ const { label, text, variant = 'neutral', style = 'soft', icon } = $props();
|
|
|
15
15
|
@component
|
|
16
16
|
Status badge row. Wraps a kit `<Badge>` with optional leading icon (SVG string or snippet)
|
|
17
17
|
inside a `<GridCardField>` so it aligns with text rows. Use for content status, asset state,
|
|
18
|
-
plan / tier indicators, etc.
|
|
18
|
+
plan / tier indicators, etc. Deliberately sizes the badge's icon to `0.875em` (12% below the
|
|
19
|
+
badge font) via a cascade override — `Badge` itself stays size-agnostic.
|
|
19
20
|
-->
|
|
20
21
|
|
|
21
22
|
<style>.grid-card-badge-field {
|
|
@@ -13,7 +13,8 @@ type Props = {
|
|
|
13
13
|
/**
|
|
14
14
|
* Status badge row. Wraps a kit `<Badge>` with optional leading icon (SVG string or snippet)
|
|
15
15
|
* inside a `<GridCardField>` so it aligns with text rows. Use for content status, asset state,
|
|
16
|
-
* plan / tier indicators, etc.
|
|
16
|
+
* plan / tier indicators, etc. Deliberately sizes the badge's icon to `0.875em` (12% below the
|
|
17
|
+
* badge font) via a cascade override — `Badge` itself stays size-agnostic.
|
|
17
18
|
*/
|
|
18
19
|
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
19
20
|
type Cmp = ReturnType<typeof Cmp>;
|
|
@@ -14,6 +14,9 @@ export type SplitIcon = {
|
|
|
14
14
|
color: IconColor | null;
|
|
15
15
|
size: IconSize | null;
|
|
16
16
|
};
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* One step up the icon-size scale (caps at the largest in each scale). Backs IconSlot's `scale: 'large'` fallback.
|
|
19
|
+
* Steps within a scale (control → control, standalone → standalone); in a control context always pass a `control-*` size.
|
|
20
|
+
*/
|
|
18
21
|
export declare const scaleUp: (size: IconSize | null | undefined) => IconSize | undefined;
|
|
19
22
|
export declare const splitIcon: (icon: IconProp | undefined | null) => SplitIcon;
|
|
@@ -17,7 +17,10 @@ const SIZE_STEP_UP = {
|
|
|
17
17
|
'control-lg': 'control-xl',
|
|
18
18
|
'control-xl': 'control-xl'
|
|
19
19
|
};
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* One step up the icon-size scale (caps at the largest in each scale). Backs IconSlot's `scale: 'large'` fallback.
|
|
22
|
+
* Steps within a scale (control → control, standalone → standalone); in a control context always pass a `control-*` size.
|
|
23
|
+
*/
|
|
21
24
|
export const scaleUp = (size) => (!size ? undefined : SIZE_STEP_UP[size]);
|
|
22
25
|
export const splitIcon = (icon) => {
|
|
23
26
|
if (icon === null || icon === undefined) {
|
|
@@ -2,7 +2,7 @@ import { type IconColor, type IconSize } from '../icon';
|
|
|
2
2
|
type Props = {
|
|
3
3
|
value: string;
|
|
4
4
|
collapsedIconColor?: IconColor;
|
|
5
|
-
/** Icon size while collapsed (icon-only).
|
|
5
|
+
/** Icon size while collapsed (icon-only). @default one step larger than the inline icon — `scaleUp(CONTROL_ICON_SIZE[size])` */
|
|
6
6
|
collapsedIconSize?: IconSize;
|
|
7
7
|
placeholder?: string;
|
|
8
8
|
/** Size preset (shared with Input / DatePicker / Select). @default 'sm' */
|
|
@@ -82,8 +82,8 @@ export const runFuseSearch = (fuse, query, items) => {
|
|
|
82
82
|
.search(query)
|
|
83
83
|
.map((r) => ({ flat: r.item, rank: rankOf(r.item.option.label, r.score ?? 1) }))
|
|
84
84
|
.sort((a, b) => a.rank - b.rank);
|
|
85
|
-
const
|
|
86
|
-
const matches =
|
|
85
|
+
const hasPrefixOrSubstring = ranked.some((r) => r.rank < 2);
|
|
86
|
+
const matches = hasPrefixOrSubstring ? ranked.filter((r) => r.rank < 2) : ranked;
|
|
87
87
|
const groups = items.filter(isSelectGroup);
|
|
88
88
|
const labelMatches = new Set();
|
|
89
89
|
if (groups.length > 0) {
|