@websline/system-components 1.0.4 → 1.0.6
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/components/atoms/icon/components/WebslineSupport.svelte +30 -0
- package/dist/components/atoms/icon/components/WebslineSupport.svelte.d.ts +41 -0
- package/dist/components/atoms/icon/index.d.ts +18 -0
- package/dist/components/atoms/icon/index.js +2 -0
- package/dist/components/atoms/input/Input.svelte +5 -4
- package/dist/components/atoms/input/input.variants.d.ts +102 -9
- package/dist/components/atoms/input/input.variants.js +44 -5
- package/dist/components/atoms/radio/Radio.svelte +3 -2
- package/dist/components/atoms/select/Select.svelte +11 -10
- package/dist/components/atoms/select/select.variants.d.ts +34 -26
- package/dist/components/atoms/select/select.variants.js +12 -22
- package/dist/components/atoms/switch/Switch.svelte +3 -2
- package/dist/components/atoms/textarea/Textarea.svelte +5 -4
- package/dist/components/atoms/textarea/textarea.variants.d.ts +45 -21
- package/dist/components/atoms/textarea/textarea.variants.js +5 -7
- package/dist/components/atoms/utils/xScroll/XScroll.svelte +87 -0
- package/dist/components/atoms/utils/xScroll/XScroll.svelte.d.ts +25 -0
- package/dist/components/atoms/utils/xScroll/xScroll.variants.d.ts +39 -0
- package/dist/components/atoms/utils/xScroll/xScroll.variants.js +16 -0
- package/dist/components/molecules/formField/FormField.svelte +13 -8
- package/dist/components/molecules/formField/FormField.svelte.d.ts +14 -6
- package/dist/components/molecules/formField/formField.variants.d.ts +42 -6
- package/dist/components/molecules/formField/formField.variants.js +14 -2
- package/dist/components/molecules/selectorCard/SelectorCard.svelte +2 -2
- package/dist/components/molecules/toggleGroup/ToggleGroup.svelte +9 -6
- package/dist/components/molecules/toggleGroup/toggleGroup.variants.d.ts +49 -11
- package/dist/components/molecules/toggleGroup/toggleGroup.variants.js +16 -6
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +27 -27
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { onMount } from "svelte";
|
|
3
|
+
import { xScrollVariants } from "./xScroll.variants.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @typedef {Object} Props
|
|
7
|
+
* @property {import('svelte').Snippet} [children] Children content – can be text, HTML, or other Svelte components
|
|
8
|
+
* @property {string} [class=""] Additional CSS classes to apply to the component
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/** @type {Props} */
|
|
12
|
+
let { children, class: className = "", ...rest } = $props();
|
|
13
|
+
|
|
14
|
+
let ro;
|
|
15
|
+
let scroller = $state();
|
|
16
|
+
let edgeStart = $state(true);
|
|
17
|
+
let edgeEnd = $state(false);
|
|
18
|
+
|
|
19
|
+
let styles = $derived(xScrollVariants());
|
|
20
|
+
|
|
21
|
+
const updateEdges = ({ clientWidth, scrollLeft, scrollWidth }) => {
|
|
22
|
+
const threshold = 3; // px
|
|
23
|
+
edgeStart = scrollLeft < threshold;
|
|
24
|
+
edgeEnd = scrollLeft + threshold >= scrollWidth - clientWidth;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const onwheel = (event) => {
|
|
28
|
+
const scrollContainer = event.currentTarget;
|
|
29
|
+
if (event.deltaY === 0) return;
|
|
30
|
+
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
scrollContainer.scrollLeft += event.deltaY + event.deltaX;
|
|
33
|
+
|
|
34
|
+
updateEdges(scrollContainer);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
onMount(() => {
|
|
38
|
+
if (scroller) {
|
|
39
|
+
ro = new ResizeObserver(() => {
|
|
40
|
+
updateEdges(scroller);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
ro.observe(scroller);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return () => {
|
|
47
|
+
ro?.disconnect();
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
</script>
|
|
51
|
+
|
|
52
|
+
<div class={styles.base({ class: className })} {...rest}>
|
|
53
|
+
{#if !edgeStart}
|
|
54
|
+
<div class={styles.overflowStart()}></div>
|
|
55
|
+
{/if}
|
|
56
|
+
<div
|
|
57
|
+
class={styles.scroller()}
|
|
58
|
+
{onwheel}
|
|
59
|
+
onscrollend={(e) => updateEdges(e.target)}
|
|
60
|
+
bind:this={scroller}>
|
|
61
|
+
<div class={styles.inner()}>{@render children?.()}</div>
|
|
62
|
+
</div>
|
|
63
|
+
{#if !edgeEnd}
|
|
64
|
+
<div class={styles.overflowEnd()}></div>
|
|
65
|
+
{/if}
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<style>
|
|
69
|
+
.overflow-x-auto {
|
|
70
|
+
-ms-overflow-style: none;
|
|
71
|
+
scrollbar-width: none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.overflow-x-auto::-webkit-scrollbar {
|
|
75
|
+
width: 0;
|
|
76
|
+
height: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.overflow-x-auto:hover {
|
|
80
|
+
scrollbar-width: thin;
|
|
81
|
+
scrollbar-color: color-mix(in lab, black, currentColor 75%) currentColor;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
:global(.dark) .overflow-x-auto:hover {
|
|
85
|
+
scrollbar-color: color-mix(in lab, white, currentColor 50%) currentColor;
|
|
86
|
+
}
|
|
87
|
+
</style>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export default XScroll;
|
|
2
|
+
type XScroll = {
|
|
3
|
+
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
|
+
$set?(props: Partial<Props>): void;
|
|
5
|
+
};
|
|
6
|
+
declare const XScroll: import("svelte").Component<{
|
|
7
|
+
/**
|
|
8
|
+
* Children content – can be text, HTML, or other Svelte components
|
|
9
|
+
*/
|
|
10
|
+
children?: import("svelte").Snippet;
|
|
11
|
+
/**
|
|
12
|
+
* Additional CSS classes to apply to the component
|
|
13
|
+
*/
|
|
14
|
+
class?: string;
|
|
15
|
+
}, {}, "">;
|
|
16
|
+
type Props = {
|
|
17
|
+
/**
|
|
18
|
+
* Children content – can be text, HTML, or other Svelte components
|
|
19
|
+
*/
|
|
20
|
+
children?: import("svelte").Snippet;
|
|
21
|
+
/**
|
|
22
|
+
* Additional CSS classes to apply to the component
|
|
23
|
+
*/
|
|
24
|
+
class?: string;
|
|
25
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export const xScrollVariants: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
[key: string]: {
|
|
3
|
+
[key: string]: import("tailwind-variants").ClassValue | {
|
|
4
|
+
base?: import("tailwind-variants").ClassValue;
|
|
5
|
+
scroller?: import("tailwind-variants").ClassValue;
|
|
6
|
+
inner?: import("tailwind-variants").ClassValue;
|
|
7
|
+
overflowStart?: import("tailwind-variants").ClassValue;
|
|
8
|
+
overflowEnd?: import("tailwind-variants").ClassValue;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
} | {
|
|
12
|
+
[x: string]: {
|
|
13
|
+
[x: string]: import("tailwind-variants").ClassValue | {
|
|
14
|
+
base?: import("tailwind-variants").ClassValue;
|
|
15
|
+
scroller?: import("tailwind-variants").ClassValue;
|
|
16
|
+
inner?: import("tailwind-variants").ClassValue;
|
|
17
|
+
overflowStart?: import("tailwind-variants").ClassValue;
|
|
18
|
+
overflowEnd?: import("tailwind-variants").ClassValue;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
}, {
|
|
22
|
+
base: string;
|
|
23
|
+
scroller: string;
|
|
24
|
+
inner: string;
|
|
25
|
+
overflowStart: string[];
|
|
26
|
+
overflowEnd: string[];
|
|
27
|
+
}, undefined, any, {
|
|
28
|
+
base: string;
|
|
29
|
+
scroller: string;
|
|
30
|
+
inner: string;
|
|
31
|
+
overflowStart: string[];
|
|
32
|
+
overflowEnd: string[];
|
|
33
|
+
}, import("tailwind-variants").TVReturnType<any, {
|
|
34
|
+
base: string;
|
|
35
|
+
scroller: string;
|
|
36
|
+
inner: string;
|
|
37
|
+
overflowStart: string[];
|
|
38
|
+
overflowEnd: string[];
|
|
39
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
|
|
3
|
+
const EDGE_BASE =
|
|
4
|
+
"pointer-events-none absolute top-0 z-1000 h-full w-6 from-current to-transparent";
|
|
5
|
+
|
|
6
|
+
const xScrollVariants = tv({
|
|
7
|
+
slots: {
|
|
8
|
+
base: "relative",
|
|
9
|
+
scroller: "overflow-x-auto",
|
|
10
|
+
inner: "inline-block min-w-full",
|
|
11
|
+
overflowStart: [EDGE_BASE, "left-0 bg-linear-to-r"],
|
|
12
|
+
overflowEnd: [EDGE_BASE, "right-0 bg-linear-to-l"],
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { xScrollVariants };
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import { setContext } from "svelte";
|
|
3
3
|
import { formFieldVariants } from "./formField.variants.js";
|
|
4
|
-
import { HelperText, Label } from "../../../index.js";
|
|
4
|
+
import { HelperText, Label, utils } from "../../../index.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @typedef {Object} Props
|
|
8
8
|
* @property {import('svelte').Snippet} [children] Children content – can be text, HTML, or other Svelte components
|
|
9
9
|
* @property {string} [class=""] Additional CSS classes to apply to the component
|
|
10
|
-
* @property {boolean} [
|
|
10
|
+
* @property {boolean} [disabled=false] Whether the form field is disabled (passed down to the input)
|
|
11
|
+
* @property {boolean} [error=false] Whether the form field has an error (passed down to the input)
|
|
11
12
|
* @property {string} [errorText=""] The error text for the form field
|
|
12
13
|
* @property {string} [helperText=""] The helper text for the form field
|
|
13
|
-
* @property {string} [id=""] The id attribute for the form field
|
|
14
|
+
* @property {string} [id=""] The id attribute for the form field (passed down to the input)
|
|
14
15
|
* @property {string} [label=""] The label text for the form field
|
|
15
16
|
* @property {"stacked" | "inline"} [layout="stacked"] The layout of the input and label
|
|
16
|
-
* @property {boolean} [required=false] Whether the form field is required
|
|
17
|
+
* @property {boolean} [required=false] Whether the form field is required (passed down to the input)
|
|
17
18
|
*/
|
|
18
19
|
|
|
19
20
|
/** @type {Props} */
|
|
20
21
|
let {
|
|
21
22
|
children,
|
|
22
23
|
class: className,
|
|
24
|
+
disabled = false,
|
|
23
25
|
error = false,
|
|
24
26
|
errorText,
|
|
25
27
|
helperText,
|
|
26
|
-
id,
|
|
28
|
+
id = utils.generateId(),
|
|
27
29
|
label,
|
|
28
30
|
layout = "stacked",
|
|
29
31
|
required = false,
|
|
@@ -31,6 +33,7 @@
|
|
|
31
33
|
|
|
32
34
|
setContext("form-field-store", () => {
|
|
33
35
|
return {
|
|
36
|
+
disabled,
|
|
34
37
|
error,
|
|
35
38
|
id,
|
|
36
39
|
required,
|
|
@@ -44,17 +47,19 @@
|
|
|
44
47
|
|
|
45
48
|
return helperText;
|
|
46
49
|
});
|
|
50
|
+
|
|
51
|
+
let styles = $derived(formFieldVariants({ disabled, layout }));
|
|
47
52
|
</script>
|
|
48
53
|
|
|
49
|
-
<div class={
|
|
54
|
+
<div class={styles.base({ class: className })}>
|
|
50
55
|
{#if label}
|
|
51
|
-
<Label for={id} {error}>{label}
|
|
56
|
+
<Label class={styles.label()} for={id} {error} {required}>{label}</Label>
|
|
52
57
|
{/if}
|
|
53
58
|
|
|
54
59
|
{@render children?.()}
|
|
55
60
|
|
|
56
61
|
{#if localHelperText}
|
|
57
|
-
<HelperText class={
|
|
62
|
+
<HelperText class={styles.helperText()} {error}>
|
|
58
63
|
{localHelperText}
|
|
59
64
|
</HelperText>
|
|
60
65
|
{/if}
|
|
@@ -13,7 +13,11 @@ declare const FormField: import("svelte").Component<{
|
|
|
13
13
|
*/
|
|
14
14
|
class?: string;
|
|
15
15
|
/**
|
|
16
|
-
* Whether the form field
|
|
16
|
+
* Whether the form field is disabled (passed down to the input)
|
|
17
|
+
*/
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the form field has an error (passed down to the input)
|
|
17
21
|
*/
|
|
18
22
|
error?: boolean;
|
|
19
23
|
/**
|
|
@@ -25,7 +29,7 @@ declare const FormField: import("svelte").Component<{
|
|
|
25
29
|
*/
|
|
26
30
|
helperText?: string;
|
|
27
31
|
/**
|
|
28
|
-
* The id attribute for the form field
|
|
32
|
+
* The id attribute for the form field (passed down to the input)
|
|
29
33
|
*/
|
|
30
34
|
id?: string;
|
|
31
35
|
/**
|
|
@@ -37,7 +41,7 @@ declare const FormField: import("svelte").Component<{
|
|
|
37
41
|
*/
|
|
38
42
|
layout?: "stacked" | "inline";
|
|
39
43
|
/**
|
|
40
|
-
* Whether the form field is required
|
|
44
|
+
* Whether the form field is required (passed down to the input)
|
|
41
45
|
*/
|
|
42
46
|
required?: boolean;
|
|
43
47
|
}, {}, "">;
|
|
@@ -51,7 +55,11 @@ type Props = {
|
|
|
51
55
|
*/
|
|
52
56
|
class?: string;
|
|
53
57
|
/**
|
|
54
|
-
* Whether the form field
|
|
58
|
+
* Whether the form field is disabled (passed down to the input)
|
|
59
|
+
*/
|
|
60
|
+
disabled?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Whether the form field has an error (passed down to the input)
|
|
55
63
|
*/
|
|
56
64
|
error?: boolean;
|
|
57
65
|
/**
|
|
@@ -63,7 +71,7 @@ type Props = {
|
|
|
63
71
|
*/
|
|
64
72
|
helperText?: string;
|
|
65
73
|
/**
|
|
66
|
-
* The id attribute for the form field
|
|
74
|
+
* The id attribute for the form field (passed down to the input)
|
|
67
75
|
*/
|
|
68
76
|
id?: string;
|
|
69
77
|
/**
|
|
@@ -75,7 +83,7 @@ type Props = {
|
|
|
75
83
|
*/
|
|
76
84
|
layout?: "stacked" | "inline";
|
|
77
85
|
/**
|
|
78
|
-
* Whether the form field is required
|
|
86
|
+
* Whether the form field is required (passed down to the input)
|
|
79
87
|
*/
|
|
80
88
|
required?: boolean;
|
|
81
89
|
};
|
|
@@ -1,13 +1,49 @@
|
|
|
1
1
|
export const formFieldVariants: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
disabled: {
|
|
3
|
+
true: {
|
|
4
|
+
helperText: string;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
2
7
|
layout: {
|
|
3
|
-
inline:
|
|
8
|
+
inline: {
|
|
9
|
+
base: string;
|
|
10
|
+
helperText: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
}, {
|
|
14
|
+
base: string;
|
|
15
|
+
label: string;
|
|
16
|
+
helperText: string;
|
|
17
|
+
}, undefined, {
|
|
18
|
+
disabled: {
|
|
19
|
+
true: {
|
|
20
|
+
helperText: string;
|
|
21
|
+
};
|
|
4
22
|
};
|
|
5
|
-
}, undefined, "grid gap-2", {
|
|
6
23
|
layout: {
|
|
7
|
-
inline:
|
|
24
|
+
inline: {
|
|
25
|
+
base: string;
|
|
26
|
+
helperText: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}, {
|
|
30
|
+
base: string;
|
|
31
|
+
label: string;
|
|
32
|
+
helperText: string;
|
|
33
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
34
|
+
disabled: {
|
|
35
|
+
true: {
|
|
36
|
+
helperText: string;
|
|
37
|
+
};
|
|
8
38
|
};
|
|
9
|
-
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
10
39
|
layout: {
|
|
11
|
-
inline:
|
|
40
|
+
inline: {
|
|
41
|
+
base: string;
|
|
42
|
+
helperText: string;
|
|
43
|
+
};
|
|
12
44
|
};
|
|
13
|
-
},
|
|
45
|
+
}, {
|
|
46
|
+
base: string;
|
|
47
|
+
label: string;
|
|
48
|
+
helperText: string;
|
|
49
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import { tv } from "tailwind-variants";
|
|
2
2
|
|
|
3
3
|
const formFieldVariants = tv({
|
|
4
|
-
|
|
4
|
+
slots: {
|
|
5
|
+
base: "grid gap-2",
|
|
6
|
+
label: "",
|
|
7
|
+
helperText: "-mt-1 ml-4",
|
|
8
|
+
},
|
|
5
9
|
variants: {
|
|
10
|
+
disabled: {
|
|
11
|
+
true: {
|
|
12
|
+
helperText: "opacity-40",
|
|
13
|
+
},
|
|
14
|
+
},
|
|
6
15
|
layout: {
|
|
7
|
-
inline:
|
|
16
|
+
inline: {
|
|
17
|
+
base: "items-center sm:grid-cols-[minmax(120px,auto)_1fr]",
|
|
18
|
+
helperText: "sm:col-2",
|
|
19
|
+
},
|
|
8
20
|
},
|
|
9
21
|
},
|
|
10
22
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import { selectorCardVariants } from "./selectorCard.variants.js";
|
|
3
|
-
import { Switch, Radio, Label } from "../../../index.js";
|
|
3
|
+
import { Switch, Radio, Label, utils } from "../../../index.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @typedef {Object} Props
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
error = false,
|
|
27
27
|
errorText = "",
|
|
28
28
|
helperText = "",
|
|
29
|
-
id =
|
|
29
|
+
id = utils.generateId(),
|
|
30
30
|
label = "",
|
|
31
31
|
name,
|
|
32
32
|
required = false,
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
toggleGroupVariants,
|
|
7
7
|
toggleGroupTabVariants,
|
|
8
8
|
} from "./toggleGroup.variants.js";
|
|
9
|
+
import { XScroll } from "../../../index.js";
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* @typedef {Object} Props
|
|
@@ -48,15 +49,17 @@
|
|
|
48
49
|
};
|
|
49
50
|
});
|
|
50
51
|
|
|
51
|
-
let
|
|
52
|
+
let styles = $derived.by(() => {
|
|
52
53
|
if (variant === "tabs") {
|
|
53
|
-
return toggleGroupTabVariants(
|
|
54
|
+
return toggleGroupTabVariants();
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
return toggleGroupVariants({ appearance,
|
|
57
|
+
return toggleGroupVariants({ appearance, size, variant });
|
|
57
58
|
});
|
|
58
59
|
</script>
|
|
59
60
|
|
|
60
|
-
<
|
|
61
|
-
{
|
|
62
|
-
|
|
61
|
+
<XScroll class={styles.base({ class: className })}>
|
|
62
|
+
<div bind:this={toggleGroupEl} class={styles.tabs()} role="tablist">
|
|
63
|
+
{@render children?.()}
|
|
64
|
+
</div>
|
|
65
|
+
</XScroll>
|
|
@@ -4,32 +4,70 @@ export const toggleGroupVariants: import("tailwind-variants").TVReturnType<{
|
|
|
4
4
|
raised: string;
|
|
5
5
|
};
|
|
6
6
|
size: {
|
|
7
|
-
small:
|
|
8
|
-
|
|
7
|
+
small: {
|
|
8
|
+
tabs: string;
|
|
9
|
+
};
|
|
10
|
+
medium: {
|
|
11
|
+
tabs: string;
|
|
12
|
+
};
|
|
9
13
|
};
|
|
10
|
-
},
|
|
14
|
+
}, {
|
|
15
|
+
base: string;
|
|
16
|
+
tabs: string;
|
|
17
|
+
}, undefined, {
|
|
11
18
|
appearance: {
|
|
12
19
|
default: string;
|
|
13
20
|
raised: string;
|
|
14
21
|
};
|
|
15
22
|
size: {
|
|
16
|
-
small:
|
|
17
|
-
|
|
23
|
+
small: {
|
|
24
|
+
tabs: string;
|
|
25
|
+
};
|
|
26
|
+
medium: {
|
|
27
|
+
tabs: string;
|
|
28
|
+
};
|
|
18
29
|
};
|
|
19
|
-
},
|
|
30
|
+
}, {
|
|
31
|
+
base: string;
|
|
32
|
+
tabs: string;
|
|
33
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
20
34
|
appearance: {
|
|
21
35
|
default: string;
|
|
22
36
|
raised: string;
|
|
23
37
|
};
|
|
24
38
|
size: {
|
|
25
|
-
small:
|
|
26
|
-
|
|
39
|
+
small: {
|
|
40
|
+
tabs: string;
|
|
41
|
+
};
|
|
42
|
+
medium: {
|
|
43
|
+
tabs: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
}, {
|
|
47
|
+
base: string;
|
|
48
|
+
tabs: string;
|
|
49
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
50
|
+
export const toggleGroupTabVariants: import("tailwind-variants").TVReturnType<{
|
|
51
|
+
[key: string]: {
|
|
52
|
+
[key: string]: import("tailwind-variants").ClassValue | {
|
|
53
|
+
base?: import("tailwind-variants").ClassValue;
|
|
54
|
+
tabs?: import("tailwind-variants").ClassValue;
|
|
55
|
+
};
|
|
27
56
|
};
|
|
28
|
-
}
|
|
29
|
-
export const toggleGroupTabVariants: import("tailwind-variants").TVReturnType<{} | {
|
|
57
|
+
} | {
|
|
30
58
|
[x: string]: {
|
|
31
59
|
[x: string]: import("tailwind-variants").ClassValue | {
|
|
32
60
|
base?: import("tailwind-variants").ClassValue;
|
|
61
|
+
tabs?: import("tailwind-variants").ClassValue;
|
|
33
62
|
};
|
|
34
63
|
};
|
|
35
|
-
},
|
|
64
|
+
}, {
|
|
65
|
+
base: string;
|
|
66
|
+
tabs: string;
|
|
67
|
+
}, undefined, any, {
|
|
68
|
+
base: string;
|
|
69
|
+
tabs: string;
|
|
70
|
+
}, import("tailwind-variants").TVReturnType<any, {
|
|
71
|
+
base: string;
|
|
72
|
+
tabs: string;
|
|
73
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
import { tv } from "tailwind-variants";
|
|
2
2
|
|
|
3
3
|
const toggleGroupVariants = tv({
|
|
4
|
-
|
|
4
|
+
slots: {
|
|
5
|
+
base: "overflow-hidden rounded-sm bg-current",
|
|
6
|
+
tabs: "flex gap-1",
|
|
7
|
+
},
|
|
5
8
|
variants: {
|
|
6
9
|
appearance: {
|
|
7
|
-
default: "
|
|
8
|
-
raised: "
|
|
10
|
+
default: "text-neutral-100 dark:text-neutral-900",
|
|
11
|
+
raised: "text-neutral-300 dark:text-neutral-700",
|
|
9
12
|
},
|
|
10
13
|
size: {
|
|
11
|
-
small:
|
|
12
|
-
|
|
14
|
+
small: {
|
|
15
|
+
tabs: "h-6 p-0.5",
|
|
16
|
+
},
|
|
17
|
+
medium: {
|
|
18
|
+
tabs: "h-10 p-1",
|
|
19
|
+
},
|
|
13
20
|
},
|
|
14
21
|
},
|
|
15
22
|
});
|
|
16
23
|
|
|
17
24
|
const toggleGroupTabVariants = tv({
|
|
18
|
-
|
|
25
|
+
slots: {
|
|
26
|
+
base: "",
|
|
27
|
+
tabs: "flex h-10 gap-5 border-b border-b-neutral-500",
|
|
28
|
+
},
|
|
19
29
|
});
|
|
20
30
|
|
|
21
31
|
export { toggleGroupVariants, toggleGroupTabVariants };
|
package/dist/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export { default as Select } from "./components/atoms/select/Select.svelte";
|
|
|
16
16
|
export { default as Spinner } from "./components/atoms/feedback/spinner/Spinner.svelte";
|
|
17
17
|
export { default as Switch } from "./components/atoms/switch/Switch.svelte";
|
|
18
18
|
export { default as Textarea } from "./components/atoms/textarea/Textarea.svelte";
|
|
19
|
+
export { default as XScroll } from "./components/atoms/utils/xScroll/XScroll.svelte";
|
|
19
20
|
export * as ColorSwatch from "./components/molecules/pickers/colorSwatch/index.js";
|
|
20
21
|
export { default as FormActions } from "./components/molecules/formActions/formActions.svelte";
|
|
21
22
|
export { default as FormField } from "./components/molecules/formField/FormField.svelte";
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ export { default as Select } from "./components/atoms/select/Select.svelte";
|
|
|
21
21
|
export { default as Spinner } from "./components/atoms/feedback/spinner/Spinner.svelte";
|
|
22
22
|
export { default as Switch } from "./components/atoms/switch/Switch.svelte";
|
|
23
23
|
export { default as Textarea } from "./components/atoms/textarea/Textarea.svelte";
|
|
24
|
+
export { default as XScroll } from "./components/atoms/utils/xScroll/XScroll.svelte";
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* Molecules
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@websline/system-components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -26,55 +26,55 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@tiptap/core": "^3.
|
|
30
|
-
"@tiptap/extension-color": "^3.
|
|
31
|
-
"@tiptap/extension-highlight": "^3.
|
|
32
|
-
"@tiptap/extension-placeholder": "^3.
|
|
33
|
-
"@tiptap/extension-text-align": "^3.
|
|
34
|
-
"@tiptap/extension-text-style": "^3.
|
|
35
|
-
"@tiptap/pm": "^3.
|
|
36
|
-
"@tiptap/starter-kit": "^3.
|
|
37
|
-
"bits-ui": "^2.14.
|
|
29
|
+
"@tiptap/core": "^3.11.1",
|
|
30
|
+
"@tiptap/extension-color": "^3.11.1",
|
|
31
|
+
"@tiptap/extension-highlight": "^3.11.1",
|
|
32
|
+
"@tiptap/extension-placeholder": "^3.11.1",
|
|
33
|
+
"@tiptap/extension-text-align": "^3.11.1",
|
|
34
|
+
"@tiptap/extension-text-style": "^3.11.1",
|
|
35
|
+
"@tiptap/pm": "^3.11.1",
|
|
36
|
+
"@tiptap/starter-kit": "^3.11.1",
|
|
37
|
+
"bits-ui": "^2.14.4",
|
|
38
38
|
"dompurify": "^3.3.0",
|
|
39
|
-
"tailwind-merge": "3.
|
|
40
|
-
"tailwind-variants": "^3.
|
|
39
|
+
"tailwind-merge": "^3.4.0",
|
|
40
|
+
"tailwind-variants": "^3.2.2",
|
|
41
41
|
"uuid": "^13.0.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"svelte": "^5.38.7"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@eslint/compat": "^
|
|
47
|
+
"@eslint/compat": "^2.0.0",
|
|
48
48
|
"@eslint/js": "^9.39.1",
|
|
49
|
-
"@storybook/addon-a11y": "^10.0
|
|
50
|
-
"@storybook/addon-docs": "^10.0
|
|
49
|
+
"@storybook/addon-a11y": "^10.1.0",
|
|
50
|
+
"@storybook/addon-docs": "^10.1.0",
|
|
51
51
|
"@storybook/addon-svelte-csf": "^5.0.10",
|
|
52
|
-
"@storybook/sveltekit": "^10.0
|
|
52
|
+
"@storybook/sveltekit": "^10.1.0",
|
|
53
53
|
"@sveltejs/adapter-auto": "^7.0.0",
|
|
54
|
-
"@sveltejs/kit": "^2.
|
|
55
|
-
"@sveltejs/package": "^2.5.
|
|
54
|
+
"@sveltejs/kit": "^2.49.0",
|
|
55
|
+
"@sveltejs/package": "^2.5.7",
|
|
56
56
|
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
57
57
|
"@tailwindcss/forms": "^0.5.10",
|
|
58
58
|
"@tailwindcss/typography": "^0.5.19",
|
|
59
59
|
"@tailwindcss/vite": "^4.1.17",
|
|
60
|
-
"@types/node": "^24.10.
|
|
61
|
-
"@vitest/browser": "^4.0.
|
|
60
|
+
"@types/node": "^24.10.1",
|
|
61
|
+
"@vitest/browser": "^4.0.14",
|
|
62
62
|
"eslint": "^9.39.1",
|
|
63
63
|
"eslint-config-prettier": "^10.1.8",
|
|
64
|
-
"eslint-plugin-storybook": "^10.0
|
|
64
|
+
"eslint-plugin-storybook": "^10.1.0",
|
|
65
65
|
"eslint-plugin-svelte": "^3.13.0",
|
|
66
66
|
"globals": "^16.5.0",
|
|
67
|
-
"playwright": "^1.
|
|
68
|
-
"prettier": "^3.
|
|
67
|
+
"playwright": "^1.57.0",
|
|
68
|
+
"prettier": "^3.7.1",
|
|
69
69
|
"prettier-plugin-svelte": "^3.4.0",
|
|
70
70
|
"prettier-plugin-tailwindcss": "^0.7.1",
|
|
71
71
|
"publint": "^0.3.15",
|
|
72
|
-
"storybook": "^10.0
|
|
73
|
-
"svelte": "^5.
|
|
72
|
+
"storybook": "^10.1.0",
|
|
73
|
+
"svelte": "^5.45.2",
|
|
74
74
|
"tailwindcss": "^4.1.17",
|
|
75
75
|
"typescript": "^5.9.3",
|
|
76
|
-
"vite": "^7.2.
|
|
77
|
-
"vitest": "^4.0.
|
|
76
|
+
"vite": "^7.2.4",
|
|
77
|
+
"vitest": "^4.0.14",
|
|
78
78
|
"vitest-browser-svelte": "^2.0.1"
|
|
79
79
|
},
|
|
80
80
|
"keywords": [
|