@svelte-atoms/core 1.0.0-alpha.29 → 1.0.0-alpha.30
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 +852 -852
- package/dist/attachments/clickout.svelte.d.ts +1 -1
- package/dist/attachments/clickout.svelte.js +2 -2
- package/dist/components/accordion/accordion-root.svelte +61 -61
- package/dist/components/accordion/accordion-root.svelte.d.ts +1 -1
- package/dist/components/accordion/accordion.stories.svelte +145 -134
- package/dist/components/alert/alert.stories.svelte +400 -401
- package/dist/components/atom/html-atom.svelte +71 -17
- package/dist/components/avatar/avatar.stories.svelte +22 -27
- package/dist/components/badge/badge.stories.svelte +12 -17
- package/dist/components/badge/badge.svelte +19 -19
- package/dist/components/breadcrumb/breadcrumb.stories.svelte +16 -21
- package/dist/components/button/button.stories.svelte +27 -60
- package/dist/components/calendar/calendar-day.svelte +96 -96
- package/dist/components/calendar/calendar-header.svelte +29 -29
- package/dist/components/calendar/calendar-root.svelte +206 -206
- package/dist/components/calendar/calendar.stories.svelte +10 -15
- package/dist/components/card/card-body.svelte +39 -39
- package/dist/components/card/card-footer.svelte +41 -41
- package/dist/components/card/card-root.svelte +91 -91
- package/dist/components/card/card.stories.svelte +133 -145
- package/dist/components/checkbox/checkbox.stories.svelte +22 -27
- package/dist/components/checkbox/checkbox.svelte +155 -157
- package/dist/components/collapsible/collapsible.stories.svelte +172 -173
- package/dist/components/combobox/combobox-root.svelte +65 -65
- package/dist/components/combobox/compobox.stories.svelte +51 -54
- package/dist/components/container/container.stories.svelte +20 -23
- package/dist/components/datagrid/datagrid-root.svelte +59 -59
- package/dist/components/datagrid/datagrid.css +5 -5
- package/dist/components/datagrid/datagrid.stories.svelte +72 -75
- package/dist/components/date-picker/date-picker-calendar.svelte +67 -67
- package/dist/components/date-picker/date-picker-header.svelte +100 -100
- package/dist/components/date-picker/date-picker-months.svelte +142 -142
- package/dist/components/date-picker/date-picker-root.svelte +1 -1
- package/dist/components/date-picker/date-picker-years.svelte +205 -205
- package/dist/components/date-picker/date-picker.stories.svelte +11 -18
- package/dist/components/dialog/dialog-content.svelte +62 -62
- package/dist/components/dialog/dialog.stories.svelte +64 -67
- package/dist/components/drawer/attachments.svelte.js +8 -9
- package/dist/components/drawer/drawer-content.svelte +57 -42
- package/dist/components/drawer/drawer.stories.svelte +212 -224
- package/dist/components/dropdown/dropdown-root.svelte +59 -59
- package/dist/components/dropdown/dropdown.stories.svelte +80 -83
- package/dist/components/form/form.stories.svelte +96 -99
- package/dist/components/image/image.stories.svelte +20 -23
- package/dist/components/input/input.stories.svelte +35 -38
- package/dist/components/label/label.stories.svelte +15 -26
- package/dist/components/label/label.stories.svelte.d.ts +24 -4
- package/dist/components/lazy/lazy.stories.svelte +9 -16
- package/dist/components/lazy/lazy.svelte +28 -28
- package/dist/components/link/link.stories.svelte +15 -26
- package/dist/components/link/link.stories.svelte.d.ts +24 -4
- package/dist/components/menu/menu-list.svelte +40 -40
- package/dist/components/menu/menu.stories.svelte +33 -36
- package/dist/components/popover/bond.svelte.js +31 -25
- package/dist/components/popover/popover-arrow.svelte +111 -111
- package/dist/components/popover/popover-content.svelte +175 -178
- package/dist/components/popover/popover-indicator.svelte +44 -43
- package/dist/components/popover/popover-root.svelte +48 -48
- package/dist/components/popover/popover.stories.svelte +49 -52
- package/dist/components/qr-code/qr-code.stories.svelte +4 -13
- package/dist/components/qr-code/qr-code.svelte +75 -75
- package/dist/components/radio/radio-group.stories.svelte +41 -50
- package/dist/components/radio/radio.stories.svelte +17 -26
- package/dist/components/radio/radio.svelte +109 -109
- package/dist/components/root/root.svelte +121 -121
- package/dist/components/root/root.svelte.d.ts +1 -1
- package/dist/components/scrollable/scrollable.stories.svelte +116 -126
- package/dist/components/sidebar/sidebar-content.svelte +13 -2
- package/dist/components/sidebar/sidebar-root.svelte +10 -12
- package/dist/components/sidebar/sidebar.stories.svelte +8 -19
- package/dist/components/sidebar/types.d.ts +1 -0
- package/dist/components/tabs/tab/bond.svelte.d.ts +4 -1
- package/dist/components/tabs/tab/bond.svelte.js +4 -1
- package/dist/components/tabs/tabs.stories.svelte +56 -59
- package/dist/components/tooltip/tooltip-trigger.svelte +39 -37
- package/dist/components/tooltip/tooltip.stories.svelte +32 -35
- package/dist/components/tree/tree.stories.svelte +142 -134
- package/dist/context/preset.svelte.d.ts +3 -3
- package/dist/utils/function.d.ts +2 -0
- package/dist/utils/function.js +6 -0
- package/package.json +6 -9
- package/dist/actions/animation.svelte.d.ts +0 -6
- package/dist/actions/animation.svelte.js +0 -14
- package/dist/actions/clickout.svelte.d.ts +0 -2
- package/dist/actions/clickout.svelte.js +0 -15
- package/dist/actions/popover.svelte.d.ts +0 -19
- package/dist/actions/popover.svelte.js +0 -81
- package/dist/actions/portal.svelte.d.ts +0 -8
- package/dist/actions/portal.svelte.js +0 -32
- package/dist/attachments/gsap.svelte.d.ts +0 -2
- package/dist/attachments/gsap.svelte.js +0 -26
|
@@ -1,67 +1,64 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
-
import { Dialog as ADialog } from '.';
|
|
4
|
-
import { Dropdown } from '../dropdown';
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
let
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<ADialog.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<Dropdown.
|
|
50
|
-
<Dropdown.
|
|
51
|
-
<Dropdown.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
</ADialog.Root>
|
|
66
|
-
</Root>
|
|
67
|
-
</Story>
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import { Dialog as ADialog } from '.';
|
|
4
|
+
import { Dropdown } from '../dropdown';
|
|
5
|
+
import { dialog } from './attachements.svelte';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
title: 'Atoms/Dialog',
|
|
10
|
+
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
11
|
+
|
|
12
|
+
parameters: {
|
|
13
|
+
// More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
|
|
14
|
+
layout: 'fullscreen'
|
|
15
|
+
},
|
|
16
|
+
args: {}
|
|
17
|
+
});
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<script lang="ts">
|
|
21
|
+
let isDialogOpen = $state(false);
|
|
22
|
+
let isDropdownOpen = $state(false);
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<Story name="Dialog" args={{}}>
|
|
26
|
+
<div class="size-10 bg-red-500"></div>
|
|
27
|
+
<button onclick={() => (isDialogOpen = !isDialogOpen)}>Open Dialog</button>
|
|
28
|
+
|
|
29
|
+
<ADialog.Root class="bg-neutral-900/20" bind:open={isDialogOpen}>
|
|
30
|
+
<ADialog.Content>
|
|
31
|
+
<ADialog.Header>
|
|
32
|
+
<div>Open Popover</div>
|
|
33
|
+
<ADialog.CloseButton class="ml-auto"></ADialog.CloseButton>
|
|
34
|
+
</ADialog.Header>
|
|
35
|
+
|
|
36
|
+
<ADialog.Body>
|
|
37
|
+
<p
|
|
38
|
+
{@attach dialog((node, atom) => {
|
|
39
|
+
console.log(atom);
|
|
40
|
+
})}
|
|
41
|
+
>
|
|
42
|
+
Mauris et habitasse cubilia potenti at condimentum iaculis nam. Ante fusce litora
|
|
43
|
+
tristique letius libero. Curabitur vitae cursus consectetur feugiat aenean viverra vel
|
|
44
|
+
dolor diam nascetur.
|
|
45
|
+
</p>
|
|
46
|
+
|
|
47
|
+
<Dropdown.Root open={isDialogOpen && isDropdownOpen} class="w-full">
|
|
48
|
+
<Dropdown.Trigger>Hello World</Dropdown.Trigger>
|
|
49
|
+
<Dropdown.List>
|
|
50
|
+
<Dropdown.Item id="ar">Arabic</Dropdown.Item>
|
|
51
|
+
<Dropdown.Item id="en">English</Dropdown.Item>
|
|
52
|
+
<Dropdown.Item id="sp">Spanish</Dropdown.Item>
|
|
53
|
+
<Dropdown.Item id="it">Italian</Dropdown.Item>
|
|
54
|
+
</Dropdown.List>
|
|
55
|
+
</Dropdown.Root>
|
|
56
|
+
</ADialog.Body>
|
|
57
|
+
|
|
58
|
+
<ADialog.Footer class="gap-4">
|
|
59
|
+
<button onclick={() => (isDialogOpen = false)}>Cancel</button>
|
|
60
|
+
<button>Save</button>
|
|
61
|
+
</ADialog.Footer>
|
|
62
|
+
</ADialog.Content>
|
|
63
|
+
</ADialog.Root>
|
|
64
|
+
</Story>
|
|
@@ -65,18 +65,17 @@ export function clickoutDrawer(onclickout) {
|
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
67
|
const target = ev.target;
|
|
68
|
-
if (!bond.elements.root.contains(target)) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
68
|
if (bond.elements.content?.contains(target)) {
|
|
72
69
|
return;
|
|
73
70
|
}
|
|
71
|
+
console.log('clickoutDrawer invoked', bond.state.props.open);
|
|
74
72
|
onclickout?.(ev);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
73
|
+
if (ev.defaultPrevented) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
bond.state.close();
|
|
77
|
+
}, {
|
|
78
|
+
capture: true,
|
|
79
|
+
passive: true
|
|
81
80
|
});
|
|
82
81
|
}
|
|
@@ -1,42 +1,57 @@
|
|
|
1
|
-
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
-
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
-
import { HtmlAtom, type Base } from '../atom';
|
|
4
|
-
import type { SlideoverContentProps } from './types';
|
|
5
|
-
import { DrawerBond } from './bond.svelte';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
1
|
+
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { HtmlAtom, type Base } from '../atom';
|
|
4
|
+
import type { SlideoverContentProps } from './types';
|
|
5
|
+
import { DrawerBond } from './bond.svelte';
|
|
6
|
+
import { animate as motion } from 'motion';
|
|
7
|
+
|
|
8
|
+
type Element = HTMLElementTagNameMap[E];
|
|
9
|
+
|
|
10
|
+
const bond = DrawerBond.get();
|
|
11
|
+
const isOpen = $derived(bond?.state.props.open);
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
class: klass = '',
|
|
15
|
+
children = undefined,
|
|
16
|
+
onmount = undefined,
|
|
17
|
+
ondestroy = undefined,
|
|
18
|
+
animate = _animate,
|
|
19
|
+
enter = undefined,
|
|
20
|
+
exit = undefined,
|
|
21
|
+
initial = _initial,
|
|
22
|
+
...restProps
|
|
23
|
+
}: SlideoverContentProps<E, B> & HTMLAttributes<Element> = $props();
|
|
24
|
+
|
|
25
|
+
const contentProps = $derived({
|
|
26
|
+
...bond?.content(),
|
|
27
|
+
...restProps
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
function _initial(node: HTMLElement) {
|
|
31
|
+
motion(node, { x: isOpen ? 0 : -100 + '%', left: 0 }, { duration: 0.3, ease: 'anticipate' });
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function _animate(node: HTMLElement) {
|
|
35
|
+
motion(node, { x: isOpen ? 0 : -100 + '%', left: 0 }, { duration: 0.3, ease: 'anticipate' });
|
|
36
|
+
}
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<HtmlAtom
|
|
40
|
+
preset="drawer.content"
|
|
41
|
+
class={[
|
|
42
|
+
'bg-card text-foreground border-border pointer-events-none absolute',
|
|
43
|
+
isOpen && 'pointer-events-auto',
|
|
44
|
+
'$preset',
|
|
45
|
+
klass
|
|
46
|
+
]}
|
|
47
|
+
{bond}
|
|
48
|
+
onmount={onmount?.bind(bond.state)}
|
|
49
|
+
ondestroy={ondestroy?.bind(bond.state)}
|
|
50
|
+
enter={enter?.bind(bond.state)}
|
|
51
|
+
exit={exit?.bind(bond.state)}
|
|
52
|
+
initial={initial?.bind(bond.state)}
|
|
53
|
+
animate={animate?.bind(bond.state)}
|
|
54
|
+
{...contentProps}
|
|
55
|
+
>
|
|
56
|
+
{@render children?.({ drawer: bond })}
|
|
57
|
+
</HtmlAtom>
|