@svelte-atoms/core 1.0.0-alpha.32 → 1.0.0-alpha.34
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/atom/html-atom.svelte +95 -93
- package/dist/components/atom/html-atom.svelte.d.ts +1 -1
- package/dist/components/button/button.svelte +31 -31
- package/dist/components/chip/chip.svelte +41 -0
- package/dist/components/chip/chip.svelte.d.ts +6 -0
- package/dist/components/chip/index.d.ts +1 -0
- package/dist/components/chip/index.js +1 -0
- package/dist/components/chip/types.d.ts +11 -0
- package/dist/components/chip/types.js +1 -0
- package/dist/components/combobox/atoms.d.ts +2 -1
- package/dist/components/combobox/atoms.js +2 -1
- package/dist/components/combobox/bond.svelte.d.ts +16 -13
- package/dist/components/combobox/bond.svelte.js +57 -13
- package/dist/components/combobox/combobox-control.svelte +27 -13
- package/dist/components/combobox/combobox-control.svelte.d.ts +2 -10
- package/dist/components/combobox/combobox-item.svelte +3 -3
- package/dist/components/combobox/combobox-root.svelte +65 -65
- package/dist/components/combobox/combobox-root.svelte.d.ts +4 -4
- package/dist/components/combobox/combobox-selections.svelte +17 -0
- package/dist/components/combobox/combobox-selections.svelte.d.ts +4 -0
- package/dist/components/combobox/combobox.stories.svelte +25 -12
- package/dist/components/combobox/types.d.ts +17 -3
- package/dist/components/date-picker/bond.svelte.js +2 -1
- package/dist/components/date-picker/date-picker-calendar.svelte +60 -67
- package/dist/components/dropdown/atoms.d.ts +2 -3
- package/dist/components/dropdown/atoms.js +3 -3
- package/dist/components/dropdown/bond.svelte.d.ts +4 -4
- package/dist/components/dropdown/bond.svelte.js +10 -11
- package/dist/components/dropdown/dropdown-query.svelte +43 -54
- package/dist/components/dropdown/dropdown-query.svelte.d.ts +3 -34
- package/dist/components/dropdown/dropdown-root.svelte +15 -2
- package/dist/components/dropdown/dropdown-root.svelte.d.ts +4 -16
- package/dist/components/dropdown/dropdown-selection.svelte +55 -0
- package/dist/components/dropdown/{dropdown-value.svelte.d.ts → dropdown-selection.svelte.d.ts} +5 -15
- package/dist/components/dropdown/dropdown-selections.svelte +62 -0
- package/dist/components/dropdown/dropdown-selections.svelte.d.ts +5 -0
- package/dist/components/dropdown/dropdown.stories.svelte +93 -49
- package/dist/components/dropdown/index.d.ts +5 -1
- package/dist/components/dropdown/index.js +5 -1
- package/dist/components/dropdown/item/controller.svelte.d.ts +1 -1
- package/dist/components/dropdown/item/controller.svelte.js +2 -2
- package/dist/components/dropdown/item/dropdown-item.svelte +0 -2
- package/dist/components/dropdown/runes.svelte.d.ts +6 -2
- package/dist/components/dropdown/runes.svelte.js +1 -1
- package/dist/components/dropdown/types.d.ts +34 -2
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +2 -0
- package/dist/components/menu/bond.svelte.js +4 -2
- package/dist/components/menu/item/controller.svelte.d.ts +1 -0
- package/dist/components/menu/item/controller.svelte.js +5 -0
- package/dist/components/popover/bond.svelte.js +1 -2
- package/dist/components/root/root.css +119 -119
- package/dist/components/stepper/README.md +38 -0
- package/dist/components/stepper/atoms.d.ts +5 -0
- package/dist/components/stepper/atoms.js +5 -0
- package/dist/components/stepper/attachments.svelte.d.ts +2 -0
- package/dist/components/stepper/attachments.svelte.js +5 -0
- package/dist/components/stepper/bond.svelte.d.ts +56 -0
- package/dist/components/stepper/bond.svelte.js +99 -0
- package/dist/components/stepper/index.d.ts +3 -0
- package/dist/components/stepper/index.js +3 -0
- package/dist/components/stepper/step/README.md +97 -0
- package/dist/components/stepper/step/atoms.d.ts +7 -0
- package/dist/components/stepper/step/atoms.js +7 -0
- package/dist/components/stepper/step/attachments.svelte.d.ts +2 -0
- package/dist/components/stepper/step/attachments.svelte.js +5 -0
- package/dist/components/stepper/step/bond.svelte.d.ts +99 -0
- package/dist/components/stepper/step/bond.svelte.js +153 -0
- package/dist/components/stepper/step/index.d.ts +3 -0
- package/dist/components/stepper/step/index.js +2 -0
- package/dist/components/stepper/step/step-body.svelte +39 -0
- package/dist/components/stepper/step/step-body.svelte.d.ts +26 -0
- package/dist/components/stepper/step/step-description.svelte +33 -0
- package/dist/components/stepper/step/step-description.svelte.d.ts +26 -0
- package/dist/components/stepper/step/step-header.svelte +34 -0
- package/dist/components/stepper/step/step-header.svelte.d.ts +26 -0
- package/dist/components/stepper/step/step-indicator.svelte +63 -0
- package/dist/components/stepper/step/step-indicator.svelte.d.ts +26 -0
- package/dist/components/stepper/step/step-root.svelte +42 -0
- package/dist/components/stepper/step/step-root.svelte.d.ts +31 -0
- package/dist/components/stepper/step/step-separator.svelte +48 -0
- package/dist/components/stepper/step/step-separator.svelte.d.ts +26 -0
- package/dist/components/stepper/step/step-title.svelte +33 -0
- package/dist/components/stepper/step/step-title.svelte.d.ts +26 -0
- package/dist/components/stepper/step/types.d.ts +91 -0
- package/dist/components/stepper/step/types.js +1 -0
- package/dist/components/stepper/stepper-body.svelte +43 -0
- package/dist/components/stepper/stepper-body.svelte.d.ts +26 -0
- package/dist/components/stepper/stepper-content.svelte +45 -0
- package/dist/components/stepper/stepper-content.svelte.d.ts +26 -0
- package/dist/components/stepper/stepper-footer.svelte +31 -0
- package/dist/components/stepper/stepper-footer.svelte.d.ts +26 -0
- package/dist/components/stepper/stepper-header.svelte +39 -0
- package/dist/components/stepper/stepper-header.svelte.d.ts +26 -0
- package/dist/components/stepper/stepper-root.svelte +60 -0
- package/dist/components/stepper/stepper-root.svelte.d.ts +31 -0
- package/dist/components/stepper/stepper.stories.svelte +264 -0
- package/dist/components/stepper/stepper.stories.svelte.d.ts +4 -0
- package/dist/components/stepper/types.d.ts +63 -0
- package/dist/components/stepper/types.js +1 -0
- package/dist/components/tabs/atoms.d.ts +1 -0
- package/dist/components/tabs/atoms.js +1 -0
- package/dist/components/tabs/bond.svelte.d.ts +18 -5
- package/dist/components/tabs/bond.svelte.js +13 -0
- package/dist/components/tabs/tab/bond.svelte.d.ts +7 -7
- package/dist/components/tabs/tab/bond.svelte.js +9 -15
- package/dist/components/tabs/tab/tab-body.svelte +43 -52
- package/dist/components/tabs/tab/tab-description.svelte +33 -41
- package/dist/components/tabs/tab/tab-header.svelte +61 -71
- package/dist/components/tabs/tab/tab-header.svelte.d.ts +1 -1
- package/dist/components/tabs/tab/tab-root.svelte +51 -86
- package/dist/components/tabs/tab/tab-root.svelte.d.ts +1 -7
- package/dist/components/tabs/tabs-body.svelte +35 -41
- package/dist/components/tabs/tabs-body.svelte.d.ts +2 -11
- package/dist/components/tabs/tabs-content.svelte +51 -0
- package/dist/components/tabs/tabs-content.svelte.d.ts +26 -0
- package/dist/components/tabs/tabs-header.svelte +32 -40
- package/dist/components/tabs/tabs-header.svelte.d.ts +2 -10
- package/dist/components/tabs/tabs-root.svelte +55 -66
- package/dist/components/tabs/tabs-root.svelte.d.ts +5 -16
- package/dist/components/tabs/tabs.stories.svelte +70 -56
- package/dist/components/tabs/types.d.ts +24 -29
- package/dist/context/preset.svelte.d.ts +1 -1
- package/package.json +33 -6
- package/dist/components/dropdown/dropdown-value.svelte +0 -60
- package/dist/components/dropdown/dropdown-values.svelte +0 -17
- package/dist/components/dropdown/dropdown-values.svelte.d.ts +0 -5
|
@@ -1,66 +1,55 @@
|
|
|
1
|
-
<script
|
|
2
|
-
lang="ts"
|
|
3
|
-
generics="D extends string, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base"
|
|
4
|
-
>
|
|
5
|
-
import { TabsBond, TabsBondState, type TabsBondProps } from './bond.svelte';
|
|
6
|
-
import { defineProperty, defineState } from '../../utils';
|
|
7
|
-
import { HtmlAtom, type Base } from '../atom';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
children,
|
|
14
|
-
onchange,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
...
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
{bond}
|
|
55
|
-
|
|
56
|
-
class={['border-border flex w-full flex-1 flex-col gap-2', '$preset', klass]}
|
|
57
|
-
onmount={onmount?.bind(bond.state)}
|
|
58
|
-
ondestroy={ondestroy?.bind(bond.state)}
|
|
59
|
-
enter={enter?.bind(bond.state)}
|
|
60
|
-
exit={exit?.bind(bond.state)}
|
|
61
|
-
initial={initial?.bind(bond.state)}
|
|
62
|
-
animate={animate?.bind(bond.state)}
|
|
63
|
-
{...rootProps}
|
|
64
|
-
>
|
|
65
|
-
{@render children?.({ tabs: bond })}
|
|
66
|
-
</HtmlAtom>
|
|
1
|
+
<script
|
|
2
|
+
lang="ts"
|
|
3
|
+
generics="D extends string, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base"
|
|
4
|
+
>
|
|
5
|
+
import { TabsBond, TabsBondState, type TabsBondProps } from './bond.svelte';
|
|
6
|
+
import { defineProperty, defineState } from '../../utils';
|
|
7
|
+
import { HtmlAtom as Atom, type Base } from '../atom';
|
|
8
|
+
import type { TabsRootProps } from './types';
|
|
9
|
+
|
|
10
|
+
let {
|
|
11
|
+
class: klass = '',
|
|
12
|
+
value = $bindable(undefined),
|
|
13
|
+
children,
|
|
14
|
+
onchange,
|
|
15
|
+
preset = 'tabs' as const,
|
|
16
|
+
...restProps
|
|
17
|
+
}: TabsRootProps<D, E, B> = $props();
|
|
18
|
+
|
|
19
|
+
const bondProps = defineState<TabsBondProps>([
|
|
20
|
+
defineProperty(
|
|
21
|
+
'value',
|
|
22
|
+
() => value,
|
|
23
|
+
(v) => (value = v)
|
|
24
|
+
)
|
|
25
|
+
]);
|
|
26
|
+
|
|
27
|
+
function _factory(props: typeof bondProps = bondProps) {
|
|
28
|
+
const tabsState = new TabsBondState(() => props);
|
|
29
|
+
return new TabsBond(tabsState);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const bond = _factory(bondProps).share();
|
|
33
|
+
|
|
34
|
+
const rootProps = $derived({
|
|
35
|
+
...bond?.root(),
|
|
36
|
+
...restProps
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
$effect(() => {
|
|
40
|
+
onchange?.(value as D);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
export function getBond() {
|
|
44
|
+
return bond;
|
|
45
|
+
}
|
|
46
|
+
</script>
|
|
47
|
+
|
|
48
|
+
<Atom
|
|
49
|
+
{bond}
|
|
50
|
+
preset="tabs"
|
|
51
|
+
class={['border-border flex w-full flex-1 flex-col', '$preset', klass]}
|
|
52
|
+
{...rootProps}
|
|
53
|
+
>
|
|
54
|
+
{@render children?.({ tabs: bond })}
|
|
55
|
+
</Atom>
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
import { TabsBond
|
|
1
|
+
import { TabsBond } from './bond.svelte';
|
|
2
2
|
import { type Base } from '../atom';
|
|
3
|
+
import type { TabsRootProps } from './types';
|
|
3
4
|
declare function $$render<D extends string, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
|
|
4
|
-
props:
|
|
5
|
-
class?: string;
|
|
6
|
-
value?: any;
|
|
7
|
-
factory?: (props: TabsBondProps) => TabsBond<unknown>;
|
|
8
|
-
children: any;
|
|
9
|
-
onchange: any;
|
|
10
|
-
onmount?: any;
|
|
11
|
-
ondestroy?: any;
|
|
12
|
-
animate?: any;
|
|
13
|
-
enter?: any;
|
|
14
|
-
exit?: any;
|
|
15
|
-
initial?: any;
|
|
16
|
-
} & Record<string, any>;
|
|
5
|
+
props: TabsRootProps<D, E, B>;
|
|
17
6
|
exports: {
|
|
18
|
-
getBond: () => TabsBond<
|
|
7
|
+
getBond: () => TabsBond<unknown>;
|
|
19
8
|
};
|
|
20
9
|
bindings: "value";
|
|
21
10
|
slots: {};
|
|
@@ -27,7 +16,7 @@ declare class __sveltets_Render<D extends string, E extends keyof HTMLElementTag
|
|
|
27
16
|
slots(): ReturnType<typeof $$render<D, E, B>>['slots'];
|
|
28
17
|
bindings(): "value";
|
|
29
18
|
exports(): {
|
|
30
|
-
getBond: () => TabsBond<
|
|
19
|
+
getBond: () => TabsBond<unknown>;
|
|
31
20
|
};
|
|
32
21
|
}
|
|
33
22
|
interface $$IsomorphicComponent {
|
|
@@ -1,56 +1,70 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
-
const { Story } = defineMeta({
|
|
8
|
-
title: 'Atoms/Tabs',
|
|
9
|
-
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
10
|
-
|
|
11
|
-
parameters: {
|
|
12
|
-
// More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
|
|
13
|
-
layout: 'fullscreen'
|
|
14
|
-
},
|
|
15
|
-
args: {}
|
|
16
|
-
});
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<script lang="ts">
|
|
20
|
-
let value = $state('ar');
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import { animate } from 'motion';
|
|
4
|
+
import { Tabs as ATabs, Tab } from '.';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
title: 'Atoms/Tabs',
|
|
9
|
+
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
10
|
+
|
|
11
|
+
parameters: {
|
|
12
|
+
// More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
|
|
13
|
+
layout: 'fullscreen'
|
|
14
|
+
},
|
|
15
|
+
args: {}
|
|
16
|
+
});
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<script lang="ts">
|
|
20
|
+
let value = $state('ar');
|
|
21
|
+
|
|
22
|
+
const array = $state([
|
|
23
|
+
{
|
|
24
|
+
value: 'en',
|
|
25
|
+
label: "English",
|
|
26
|
+
description: "This content is teleported from Tab.Body to Tabs.Content component."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
value: "ar",
|
|
30
|
+
label: "Arabic",
|
|
31
|
+
description:"هذا المحتوى يتم نقله من Tab.Body إلى مكون Tabs.Content."
|
|
32
|
+
},{
|
|
33
|
+
value: "fr",
|
|
34
|
+
label: "French",
|
|
35
|
+
description:"Ce contenu est téléporté de Tab.Body vers le composant Tabs.Content."
|
|
36
|
+
}
|
|
37
|
+
])
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<Story name="Tabs" args={{}}>
|
|
41
|
+
<ATabs.Root bind:value>
|
|
42
|
+
<ATabs.Header class="border-b">
|
|
43
|
+
{#each array as item (item.value)}
|
|
44
|
+
<Tab.Root value={item.value}>
|
|
45
|
+
<Tab.Header>{item.label}</Tab.Header>
|
|
46
|
+
<Tab.Body class="p-4">
|
|
47
|
+
<h3 class="font-bold mb-2">{item.label} Content</h3>
|
|
48
|
+
<p>{item.description}</p>
|
|
49
|
+
</Tab.Body>
|
|
50
|
+
</Tab.Root>
|
|
51
|
+
{/each}
|
|
52
|
+
</ATabs.Header>
|
|
53
|
+
|
|
54
|
+
<ATabs.Body>
|
|
55
|
+
<!-- Tab bodies are defined separately and teleported to Tabs.Content -->
|
|
56
|
+
<ATabs.Content
|
|
57
|
+
enter={node=> {
|
|
58
|
+
const duration = 0.3;
|
|
59
|
+
animate(node, { opacity: [0, 1] }, { duration });
|
|
60
|
+
return { duration };
|
|
61
|
+
}}
|
|
62
|
+
exit={node=> {
|
|
63
|
+
const duration = 0.1;
|
|
64
|
+
animate(node, { opacity: [1, 0] }, { duration });
|
|
65
|
+
return { duration };
|
|
66
|
+
}}
|
|
67
|
+
/>
|
|
68
|
+
</ATabs.Body>
|
|
69
|
+
</ATabs.Root>
|
|
70
|
+
</Story>
|
|
@@ -3,53 +3,48 @@ import type { HtmlAtomProps, Base } from '../atom';
|
|
|
3
3
|
import type { Factory } from '../../types';
|
|
4
4
|
import type { TabsBond } from './bond.svelte';
|
|
5
5
|
import type { TabBond } from './tab/bond.svelte';
|
|
6
|
-
|
|
7
|
-
* Extend this interface to add custom tabs root properties in your application.
|
|
8
|
-
*/
|
|
9
|
-
export interface TabsRootExtendProps {
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Extend this interface to add custom tab header properties in your application.
|
|
13
|
-
*/
|
|
14
|
-
export interface TabHeaderExtendProps {
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Extend this interface to add custom tab body properties in your application.
|
|
18
|
-
*/
|
|
19
|
-
export interface TabBodyExtendProps {
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Extend this interface to add custom tab description properties in your application.
|
|
23
|
-
*/
|
|
24
|
-
export interface TabDescriptionExtendProps {
|
|
25
|
-
}
|
|
26
|
-
export type TabsRootProps<D extends string = string, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = Omit<HtmlAtomProps<E, B>, 'children'> & TabsRootExtendProps & {
|
|
6
|
+
export interface TabsRootProps<D extends string = string, E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B> {
|
|
27
7
|
value?: D;
|
|
28
8
|
factory?: Factory<TabsBond>;
|
|
29
9
|
children?: Snippet<[{
|
|
30
10
|
tabs: TabsBond;
|
|
31
11
|
}]>;
|
|
32
12
|
onchange?: (value: D) => void;
|
|
33
|
-
}
|
|
34
|
-
export
|
|
13
|
+
}
|
|
14
|
+
export interface TabHeaderProps<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base> extends HtmlAtomProps<E, B> {
|
|
35
15
|
children?: Snippet<[{
|
|
36
16
|
tab?: TabBond<unknown>;
|
|
37
17
|
}]>;
|
|
38
18
|
onpointerdown?: (ev: PointerEvent, context: {
|
|
39
19
|
tab?: TabBond<unknown>;
|
|
40
20
|
}) => void;
|
|
41
|
-
}
|
|
42
|
-
export
|
|
21
|
+
}
|
|
22
|
+
export interface TabBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B> {
|
|
43
23
|
children?: Snippet<[{
|
|
44
24
|
tab?: TabBond<unknown>;
|
|
45
25
|
}]>;
|
|
46
|
-
}
|
|
47
|
-
export
|
|
26
|
+
}
|
|
27
|
+
export interface TabDescriptionProps<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base> extends HtmlAtomProps<E, B> {
|
|
48
28
|
children?: Snippet<[{
|
|
49
29
|
tab?: TabBond<unknown>;
|
|
50
30
|
}]>;
|
|
51
|
-
}
|
|
31
|
+
}
|
|
32
|
+
export interface TabsHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B> {
|
|
33
|
+
children?: Snippet<[{
|
|
34
|
+
tabs?: TabsBond;
|
|
35
|
+
}]>;
|
|
36
|
+
}
|
|
37
|
+
export interface TabsBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B> {
|
|
38
|
+
children?: Snippet<[{
|
|
39
|
+
tabs?: TabsBond;
|
|
40
|
+
}]>;
|
|
41
|
+
}
|
|
42
|
+
export interface TabsContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B> {
|
|
43
|
+
children?: Snippet<[{
|
|
44
|
+
tabs?: TabsBond;
|
|
45
|
+
}]>;
|
|
46
|
+
}
|
|
52
47
|
/**
|
|
53
48
|
* @deprecated Use TabsRootExtendProps instead
|
|
54
49
|
*/
|
|
55
|
-
export type TabsExtendProps =
|
|
50
|
+
export type TabsExtendProps = TabsRootProps;
|
|
@@ -2,7 +2,7 @@ import type { ClassValue } from 'svelte/elements';
|
|
|
2
2
|
import type { Base } from '../components/atom';
|
|
3
3
|
import type { Bond } from '../shared';
|
|
4
4
|
import type { Attachment } from 'svelte/attachments';
|
|
5
|
-
export type PresetModuleName = 'accordion' | 'accordion.item.body' | 'accordion.item.header' | 'accordion.item.indicator' | 'accordion.item' | 'alert.actions' | 'alert.close-button' | 'alert.content' | 'alert.description' | 'alert.icon' | 'alert' | 'alert.title' | 'card.content' | 'card.description' | 'card.footer' | 'card.header' | 'card.body' | 'card.media' | 'card' | 'card.subtitle' | 'card.title' | 'collapsible.body' | 'collapsible.header' | 'collapsible.indicator' | 'collapsible' | 'combobox.control' | 'combobox.trigger' | 'combobox.item' | 'dialog.close-button' | 'dialog.body' | 'dialog.content' | 'dialog.description' | 'dialog.footer' | 'dialog.header' | 'dialog' | 'dialog.title' | 'divider' | 'dropdown.placeholder' | 'dropdown.query' | 'dropdown.trigger' | 'dropdown.
|
|
5
|
+
export type PresetModuleName = 'accordion' | 'accordion.item.body' | 'accordion.item.header' | 'accordion.item.indicator' | 'accordion.item' | 'alert.actions' | 'alert.close-button' | 'alert.content' | 'alert.description' | 'alert.icon' | 'alert' | 'alert.title' | 'card.content' | 'card.description' | 'card.footer' | 'card.header' | 'card.body' | 'card.media' | 'card' | 'card.subtitle' | 'card.title' | 'collapsible.body' | 'collapsible.header' | 'collapsible.indicator' | 'collapsible' | 'combobox.control' | 'combobox.trigger' | 'combobox.item' | 'dialog.close-button' | 'dialog.body' | 'dialog.content' | 'dialog.description' | 'dialog.footer' | 'dialog.header' | 'dialog' | 'dialog.title' | 'divider' | 'dropdown.placeholder' | 'dropdown.query' | 'dropdown.trigger' | 'dropdown.selections' | 'dropdown.selection' | 'dropdown' | 'field.control' | 'field.label' | 'field' | 'form' | 'icon' | 'input' | 'input.control' | 'input.placeholder' | 'label' | 'layer.inner' | 'layer' | 'link' | 'list.divider' | 'list.group' | 'list.item' | 'list.item' | 'list.item' | 'dropdown.item' | 'menu.content' | 'popover.arrow' | 'popover.indicator' | 'popover.content' | 'popover.trigger' | 'portal.inner' | 'portal' | 'root' | 'root.portals' | 'sidebar.content' | 'sidebar' | 'drawer.backdrop' | 'drawer.body' | 'drawer.content' | 'drawer.description' | 'drawer.title' | 'drawer.footer' | 'drawer.header' | 'drawer' | 'stack.root' | 'stack.item' | 'stepper' | 'stepper.header' | 'stepper.body' | 'stepper.footer' | 'stepper.step' | 'stepper.step.indicator' | 'stepper.step.header' | 'stepper.step.body' | 'stepper.step.separator' | 'tabs.body' | 'tabs.header' | 'tabs' | 'tab.header' | 'tab.body' | 'tab.description' | 'tab' | 'tree.body' | 'tree.header' | 'tree.indicator' | 'tree' | 'datagrid' | 'datagrid.header' | 'datagrid.th' | 'datagrid.body' | 'datagrid.tr' | 'datagrid.td' | 'datagrid.footer' | 'datagrid.checkbox' | 'datagrid.sort-icon' | 'scrollable' | 'scrollable.container' | 'scrollable.content' | 'scrollable.track' | 'scrollable.thumb' | 'breadcrumb' | 'breadcrumb.item' | 'breadcrumb.separator' | 'badge' | 'button' | 'checkbox' | 'checkbox.checkmark' | 'checkbox.indeterminate' | 'radio' | 'radio.group' | 'container' | 'calendar' | 'calendar.day' | 'calendar.header' | 'calendar.weekday' | 'calendar.body' | 'datepicker.trigger' | 'datepicker.calendar' | 'datepicker.years' | 'datepicker.months' | 'datepicker.header';
|
|
6
6
|
export interface PresetEntryRecord {
|
|
7
7
|
[key: string]: unknown;
|
|
8
8
|
class?: ClassValue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@svelte-atoms/core",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.34",
|
|
4
4
|
"description": "A modular, accessible, and extensible Svelte UI component library.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -126,6 +126,11 @@
|
|
|
126
126
|
"svelte": "./dist/components/checkbox/index.js",
|
|
127
127
|
"default": "./dist/components/checkbox/index.js"
|
|
128
128
|
},
|
|
129
|
+
"./chip": {
|
|
130
|
+
"types": "./dist/components/chip/index.d.ts",
|
|
131
|
+
"svelte": "./dist/components/chip/index.js",
|
|
132
|
+
"default": "./dist/components/chip/index.js"
|
|
133
|
+
},
|
|
129
134
|
"./combobox": {
|
|
130
135
|
"types": "./dist/components/combobox/index.d.ts",
|
|
131
136
|
"svelte": "./dist/components/combobox/index.js",
|
|
@@ -306,6 +311,26 @@
|
|
|
306
311
|
"svelte": "./dist/components/stack/atoms.js",
|
|
307
312
|
"default": "./dist/components/stack/atoms.js"
|
|
308
313
|
},
|
|
314
|
+
"./stepper": {
|
|
315
|
+
"types": "./dist/components/stepper/index.d.ts",
|
|
316
|
+
"svelte": "./dist/components/stepper/index.js",
|
|
317
|
+
"default": "./dist/components/stepper/index.js"
|
|
318
|
+
},
|
|
319
|
+
"./stepper/atoms": {
|
|
320
|
+
"types": "./dist/components/stepper/atoms.d.ts",
|
|
321
|
+
"svelte": "./dist/components/stepper/atoms.js",
|
|
322
|
+
"default": "./dist/components/stepper/atoms.js"
|
|
323
|
+
},
|
|
324
|
+
"./stepper/step": {
|
|
325
|
+
"types": "./dist/components/stepper/step/index.d.ts",
|
|
326
|
+
"svelte": "./dist/components/stepper/step/index.js",
|
|
327
|
+
"default": "./dist/components/stepper/step/index.js"
|
|
328
|
+
},
|
|
329
|
+
"./stepper/step/atoms": {
|
|
330
|
+
"types": "./dist/components/stepper/step/atoms.d.ts",
|
|
331
|
+
"svelte": "./dist/components/stepper/step/atoms.js",
|
|
332
|
+
"default": "./dist/components/stepper/step/atoms.js"
|
|
333
|
+
},
|
|
309
334
|
"./tabs": {
|
|
310
335
|
"types": "./dist/components/tabs/index.d.ts",
|
|
311
336
|
"svelte": "./dist/components/tabs/index.js",
|
|
@@ -376,7 +401,7 @@
|
|
|
376
401
|
}
|
|
377
402
|
},
|
|
378
403
|
"peerDependencies": {
|
|
379
|
-
"svelte": "^5.
|
|
404
|
+
"svelte": "^5.46.4"
|
|
380
405
|
},
|
|
381
406
|
"devDependencies": {
|
|
382
407
|
"@chromatic-com/storybook": "^4.1.1",
|
|
@@ -390,7 +415,7 @@
|
|
|
390
415
|
"@storybook/sveltekit": "^9.1.3",
|
|
391
416
|
"@sveltejs/adapter-auto": "^6.0.0",
|
|
392
417
|
"@sveltejs/adapter-netlify": "^5.2.4",
|
|
393
|
-
"@sveltejs/kit": "^2.
|
|
418
|
+
"@sveltejs/kit": "^2.49.5",
|
|
394
419
|
"@sveltejs/package": "^2.0.0",
|
|
395
420
|
"@sveltejs/vite-plugin-svelte": "^6.0.0",
|
|
396
421
|
"@tailwindcss/vite": "^4.0.0",
|
|
@@ -405,15 +430,16 @@
|
|
|
405
430
|
"mdsvex": "^0.12.3",
|
|
406
431
|
"playwright": "^1.53.0",
|
|
407
432
|
"prettier": "^3.4.2",
|
|
408
|
-
"prettier-plugin-svelte": "^3.
|
|
433
|
+
"prettier-plugin-svelte": "^3.4.1",
|
|
409
434
|
"prettier-plugin-tailwindcss": "^0.6.11",
|
|
410
435
|
"publint": "^0.3.2",
|
|
411
436
|
"shiki": "^3.9.2",
|
|
412
437
|
"storybook": "^9.1.3",
|
|
413
|
-
"svelte": "^5.
|
|
438
|
+
"svelte": "^5.46.4",
|
|
414
439
|
"svelte-check": "^4.0.0",
|
|
415
440
|
"svelte-render-scan": "^1.1.0",
|
|
416
441
|
"tailwindcss": "^4.0.0",
|
|
442
|
+
"ts-morph": "^24.0.0",
|
|
417
443
|
"typescript": "^5.0.0",
|
|
418
444
|
"typescript-eslint": "^8.20.0",
|
|
419
445
|
"vite": "^7.0.4",
|
|
@@ -451,11 +477,12 @@
|
|
|
451
477
|
},
|
|
452
478
|
"dependencies": {
|
|
453
479
|
"@floating-ui/dom": "^1.7.0",
|
|
454
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
480
|
+
"@modelcontextprotocol/sdk": "^1.25.2",
|
|
455
481
|
"@qrcode-js/browser": "^1.2.0",
|
|
456
482
|
"clsx": "^2.1.1",
|
|
457
483
|
"date-fns": "^4.1.0",
|
|
458
484
|
"es-toolkit": "^1.37.2",
|
|
485
|
+
"mcp-handler": "^1.0.6",
|
|
459
486
|
"motion": "^12.23.22",
|
|
460
487
|
"nanoid": "^5.1.5",
|
|
461
488
|
"tailwind-merge": "^3.2.0"
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
-
import { Icon } from '../icon';
|
|
3
|
-
import { HtmlAtom, type Base } from '../atom';
|
|
4
|
-
import CloseIcon from '../../icons/icon-close.svelte';
|
|
5
|
-
import { DropdownBond } from './bond.svelte';
|
|
6
|
-
|
|
7
|
-
const bond = DropdownBond.get();
|
|
8
|
-
|
|
9
|
-
if (!bond) {
|
|
10
|
-
throw new Error('DropdownValue must be used within a Dropdown');
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
let {
|
|
14
|
-
class: klass = '',
|
|
15
|
-
as = 'div' as T,
|
|
16
|
-
value,
|
|
17
|
-
children,
|
|
18
|
-
onmount = undefined,
|
|
19
|
-
ondestroy = undefined,
|
|
20
|
-
animate = undefined,
|
|
21
|
-
enter = undefined,
|
|
22
|
-
exit = undefined,
|
|
23
|
-
initial = undefined,
|
|
24
|
-
...restProps
|
|
25
|
-
} = $props();
|
|
26
|
-
|
|
27
|
-
function handleClick(ev: Event) {
|
|
28
|
-
ev.preventDefault();
|
|
29
|
-
ev.stopPropagation();
|
|
30
|
-
|
|
31
|
-
bond?.state.unselect([value]);
|
|
32
|
-
}
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<HtmlAtom
|
|
36
|
-
{as}
|
|
37
|
-
{bond}
|
|
38
|
-
preset="dropdown.value"
|
|
39
|
-
class={[
|
|
40
|
-
'dropdown-value border-border bg-foreground/5 inline-flex flex-nowrap items-center gap-1 rounded-xs px-1 whitespace-nowrap',
|
|
41
|
-
'$preset',
|
|
42
|
-
klass
|
|
43
|
-
]}
|
|
44
|
-
onmount={onmount?.bind(bond.state)}
|
|
45
|
-
ondestroy={ondestroy?.bind(bond.state)}
|
|
46
|
-
enter={enter?.bind(bond.state)}
|
|
47
|
-
exit={exit?.bind(bond.state)}
|
|
48
|
-
initial={initial?.bind(bond.state)}
|
|
49
|
-
animate={animate?.bind(bond.state)}
|
|
50
|
-
{...restProps}
|
|
51
|
-
>
|
|
52
|
-
{@render children?.()}
|
|
53
|
-
|
|
54
|
-
<button
|
|
55
|
-
class="bg-foreground/5 flex aspect-square h-4 cursor-pointer items-center justify-center rounded-xs p-0"
|
|
56
|
-
onclick={handleClick}
|
|
57
|
-
>
|
|
58
|
-
<Icon class="h-3" src={CloseIcon} />
|
|
59
|
-
</button>
|
|
60
|
-
</HtmlAtom>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { DropdownBond } from './bond.svelte';
|
|
3
|
-
|
|
4
|
-
const bond = DropdownBond.get();
|
|
5
|
-
|
|
6
|
-
if (!bond) {
|
|
7
|
-
throw new Error('DropdownValue must be used within a Dropdown');
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const selectedItems = $derived(bond.state.selectedItems);
|
|
11
|
-
|
|
12
|
-
let { children } = $props();
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<!-- <Render class={cn('dropdown-value inline-flex gap-2 items-center flex-wrap', klass)} {...restProps}>
|
|
16
|
-
</Render> -->
|
|
17
|
-
{@render children?.({ items: selectedItems })}
|