@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.
Files changed (92) hide show
  1. package/README.md +852 -852
  2. package/dist/attachments/clickout.svelte.d.ts +1 -1
  3. package/dist/attachments/clickout.svelte.js +2 -2
  4. package/dist/components/accordion/accordion-root.svelte +61 -61
  5. package/dist/components/accordion/accordion-root.svelte.d.ts +1 -1
  6. package/dist/components/accordion/accordion.stories.svelte +145 -134
  7. package/dist/components/alert/alert.stories.svelte +400 -401
  8. package/dist/components/atom/html-atom.svelte +71 -17
  9. package/dist/components/avatar/avatar.stories.svelte +22 -27
  10. package/dist/components/badge/badge.stories.svelte +12 -17
  11. package/dist/components/badge/badge.svelte +19 -19
  12. package/dist/components/breadcrumb/breadcrumb.stories.svelte +16 -21
  13. package/dist/components/button/button.stories.svelte +27 -60
  14. package/dist/components/calendar/calendar-day.svelte +96 -96
  15. package/dist/components/calendar/calendar-header.svelte +29 -29
  16. package/dist/components/calendar/calendar-root.svelte +206 -206
  17. package/dist/components/calendar/calendar.stories.svelte +10 -15
  18. package/dist/components/card/card-body.svelte +39 -39
  19. package/dist/components/card/card-footer.svelte +41 -41
  20. package/dist/components/card/card-root.svelte +91 -91
  21. package/dist/components/card/card.stories.svelte +133 -145
  22. package/dist/components/checkbox/checkbox.stories.svelte +22 -27
  23. package/dist/components/checkbox/checkbox.svelte +155 -157
  24. package/dist/components/collapsible/collapsible.stories.svelte +172 -173
  25. package/dist/components/combobox/combobox-root.svelte +65 -65
  26. package/dist/components/combobox/compobox.stories.svelte +51 -54
  27. package/dist/components/container/container.stories.svelte +20 -23
  28. package/dist/components/datagrid/datagrid-root.svelte +59 -59
  29. package/dist/components/datagrid/datagrid.css +5 -5
  30. package/dist/components/datagrid/datagrid.stories.svelte +72 -75
  31. package/dist/components/date-picker/date-picker-calendar.svelte +67 -67
  32. package/dist/components/date-picker/date-picker-header.svelte +100 -100
  33. package/dist/components/date-picker/date-picker-months.svelte +142 -142
  34. package/dist/components/date-picker/date-picker-root.svelte +1 -1
  35. package/dist/components/date-picker/date-picker-years.svelte +205 -205
  36. package/dist/components/date-picker/date-picker.stories.svelte +11 -18
  37. package/dist/components/dialog/dialog-content.svelte +62 -62
  38. package/dist/components/dialog/dialog.stories.svelte +64 -67
  39. package/dist/components/drawer/attachments.svelte.js +8 -9
  40. package/dist/components/drawer/drawer-content.svelte +57 -42
  41. package/dist/components/drawer/drawer.stories.svelte +212 -224
  42. package/dist/components/dropdown/dropdown-root.svelte +59 -59
  43. package/dist/components/dropdown/dropdown.stories.svelte +80 -83
  44. package/dist/components/form/form.stories.svelte +96 -99
  45. package/dist/components/image/image.stories.svelte +20 -23
  46. package/dist/components/input/input.stories.svelte +35 -38
  47. package/dist/components/label/label.stories.svelte +15 -26
  48. package/dist/components/label/label.stories.svelte.d.ts +24 -4
  49. package/dist/components/lazy/lazy.stories.svelte +9 -16
  50. package/dist/components/lazy/lazy.svelte +28 -28
  51. package/dist/components/link/link.stories.svelte +15 -26
  52. package/dist/components/link/link.stories.svelte.d.ts +24 -4
  53. package/dist/components/menu/menu-list.svelte +40 -40
  54. package/dist/components/menu/menu.stories.svelte +33 -36
  55. package/dist/components/popover/bond.svelte.js +31 -25
  56. package/dist/components/popover/popover-arrow.svelte +111 -111
  57. package/dist/components/popover/popover-content.svelte +175 -178
  58. package/dist/components/popover/popover-indicator.svelte +44 -43
  59. package/dist/components/popover/popover-root.svelte +48 -48
  60. package/dist/components/popover/popover.stories.svelte +49 -52
  61. package/dist/components/qr-code/qr-code.stories.svelte +4 -13
  62. package/dist/components/qr-code/qr-code.svelte +75 -75
  63. package/dist/components/radio/radio-group.stories.svelte +41 -50
  64. package/dist/components/radio/radio.stories.svelte +17 -26
  65. package/dist/components/radio/radio.svelte +109 -109
  66. package/dist/components/root/root.svelte +121 -121
  67. package/dist/components/root/root.svelte.d.ts +1 -1
  68. package/dist/components/scrollable/scrollable.stories.svelte +116 -126
  69. package/dist/components/sidebar/sidebar-content.svelte +13 -2
  70. package/dist/components/sidebar/sidebar-root.svelte +10 -12
  71. package/dist/components/sidebar/sidebar.stories.svelte +8 -19
  72. package/dist/components/sidebar/types.d.ts +1 -0
  73. package/dist/components/tabs/tab/bond.svelte.d.ts +4 -1
  74. package/dist/components/tabs/tab/bond.svelte.js +4 -1
  75. package/dist/components/tabs/tabs.stories.svelte +56 -59
  76. package/dist/components/tooltip/tooltip-trigger.svelte +39 -37
  77. package/dist/components/tooltip/tooltip.stories.svelte +32 -35
  78. package/dist/components/tree/tree.stories.svelte +142 -134
  79. package/dist/context/preset.svelte.d.ts +3 -3
  80. package/dist/utils/function.d.ts +2 -0
  81. package/dist/utils/function.js +6 -0
  82. package/package.json +6 -9
  83. package/dist/actions/animation.svelte.d.ts +0 -6
  84. package/dist/actions/animation.svelte.js +0 -14
  85. package/dist/actions/clickout.svelte.d.ts +0 -2
  86. package/dist/actions/clickout.svelte.js +0 -15
  87. package/dist/actions/popover.svelte.d.ts +0 -19
  88. package/dist/actions/popover.svelte.js +0 -81
  89. package/dist/actions/portal.svelte.d.ts +0 -8
  90. package/dist/actions/portal.svelte.js +0 -32
  91. package/dist/attachments/gsap.svelte.d.ts +0 -2
  92. package/dist/attachments/gsap.svelte.js +0 -26
@@ -1,14 +0,0 @@
1
- import { gsap } from 'gsap';
2
- export function animate(node, fn) {
3
- gsap.set(node, fn());
4
- $effect(() => {
5
- gsap.to(node, fn());
6
- });
7
- }
8
- export function gsapFromTo(node, fn) {
9
- gsap.set(node, { ...fn().from });
10
- $effect(() => {
11
- const { from, to } = fn();
12
- gsap.fromTo(node, { ...from }, { ...to });
13
- });
14
- }
@@ -1,2 +0,0 @@
1
- export declare function clickout(node: HTMLElement, onclick?: (ev: MouseEvent) => void): () => void;
2
- export declare function clickoutAction(node: HTMLElement, onclick?: (ev: MouseEvent) => void): void;
@@ -1,15 +0,0 @@
1
- export function clickout(node, onclick) {
2
- const handler = (ev) => {
3
- const target = ev.target;
4
- if (!node.contains(target)) {
5
- onclick?.(ev);
6
- }
7
- };
8
- document.addEventListener('click', handler);
9
- return () => {
10
- document.removeEventListener('click', handler);
11
- };
12
- }
13
- export function clickoutAction(node, onclick) {
14
- $effect(() => clickout(node, onclick));
15
- }
@@ -1,19 +0,0 @@
1
- import { type AutoPlacementOptions, type ComputePositionReturn } from '@floating-ui/dom';
2
- type PopoverElement = HTMLElement;
3
- type OnChangeParams = ComputePositionReturn & {
4
- dx: number;
5
- dy: number;
6
- };
7
- type OnMountCallback = (p: OnChangeParams) => void;
8
- export type PopoverParams = AutoPlacementOptions & {
9
- open?: boolean;
10
- target?: HTMLElement;
11
- reference?: HTMLElement;
12
- offset?: number;
13
- animate?: (node: PopoverElement, params: ComputePositionReturn) => void;
14
- onMount?: () => void | (() => void);
15
- onDestroy?: () => void;
16
- onChange?: OnMountCallback;
17
- };
18
- export declare function popover(node: HTMLElement, fn: () => PopoverParams): void;
19
- export {};
@@ -1,81 +0,0 @@
1
- import { tick, untrack } from 'svelte';
2
- import { autoPlacement, autoUpdate, computePosition, offset } from '@floating-ui/dom';
3
- import { port } from './portal.svelte';
4
- // This function is responsible of applying position calculation on the element and notify caller
5
- const positionate = async (node, params) => {
6
- const d = await calculatePosition(node, params);
7
- params?.onChange?.({ ...d, ...direction(d.placement) });
8
- params?.animate(node, d);
9
- };
10
- export function popover(node, fn) {
11
- node.hidden = true;
12
- // if (!fn.target) {
13
- // return;
14
- // }
15
- // $effect(() => )
16
- // This function is used to keep a reference of the `autoUpdate` cleanup function
17
- let cleanups = [];
18
- const { target } = fn();
19
- if (!target) {
20
- return;
21
- }
22
- const unport = port(node, target);
23
- $effect(() => unport);
24
- $effect(() => {
25
- const { target, reference, animate = defaultAnimate, open = false, ...restParams } = fn();
26
- if (!target) {
27
- return;
28
- }
29
- if (!reference) {
30
- return;
31
- }
32
- if (!reference) {
33
- return;
34
- }
35
- if (open) {
36
- // Keep position updated
37
- const cleanup = autoUpdate(reference, node, () => {
38
- // positionate(node, { ...restParams, target, reference, animate })
39
- }, {});
40
- cleanups.push(cleanup);
41
- }
42
- else {
43
- positionate(node, { ...restParams, target, reference, animate });
44
- }
45
- return () => {
46
- try {
47
- cleanups.forEach((fn) => fn());
48
- cleanups = [];
49
- }
50
- catch (err) {
51
- //
52
- }
53
- };
54
- });
55
- }
56
- async function calculatePosition(node, { alignment, allowedPlacements, offset: off, reference }) {
57
- if (!reference) {
58
- throw new Error('Reference element is not found');
59
- }
60
- return computePosition(reference, node, {
61
- middleware: [
62
- offset(off),
63
- autoPlacement({
64
- autoAlignment: true,
65
- crossAxis: true,
66
- allowedPlacements: allowedPlacements,
67
- alignment: alignment
68
- })
69
- ]
70
- });
71
- }
72
- function direction(placement) {
73
- const dy = placement.startsWith('top') ? 1 : placement.startsWith('bottom') ? -1 : 0;
74
- const dx = placement.startsWith('left') ? 1 : placement.startsWith('right') ? -1 : 0;
75
- return { dx, dy };
76
- }
77
- function defaultAnimate(node, params) {
78
- requestAnimationFrame(() => {
79
- node.style.transform = `translate(${params.x}px, ${params.y}px)`;
80
- });
81
- }
@@ -1,8 +0,0 @@
1
- export type PortalParams = {
2
- target: HTMLElement;
3
- onMount?: () => void;
4
- onUpdate?: () => void;
5
- onDestroy?: () => void;
6
- };
7
- export declare function portal(node: HTMLElement, fn: () => PortalParams): void;
8
- export declare function port(node: HTMLElement, target?: HTMLElement): () => void;
@@ -1,32 +0,0 @@
1
- export function portal(node, fn) {
2
- let unport = () => { };
3
- const { onMount = () => { } } = fn();
4
- onMount?.();
5
- $effect(() => {
6
- const { target = document.body, onUpdate = () => { }, onDestroy = () => { } } = fn();
7
- if (!target) {
8
- return;
9
- }
10
- unport = port(node, target);
11
- onUpdate();
12
- return () => {
13
- onDestroy();
14
- unport?.();
15
- };
16
- });
17
- }
18
- export function port(node, target = document.body) {
19
- if (!target) {
20
- throw Error('[actions] portal: Target element is undefined !');
21
- }
22
- node.hidden = true;
23
- // Check if element is already mounted on target
24
- if (node.parentElement !== target) {
25
- target.appendChild(node);
26
- node.hidden = false;
27
- }
28
- return () => {
29
- node.hidden = true;
30
- node.remove();
31
- };
32
- }
@@ -1,2 +0,0 @@
1
- export declare function animate<T extends Element>(callback: (node: T, parentTween?: gsap.core.Tween) => gsap.core.Tween): (node: T) => () => void;
2
- export declare function timeline<T>(callback: (node: T, parentTimeline?: gsap.core.Timeline) => gsap.core.Timeline, id?: string, parentId?: string): (node: T) => () => void;
@@ -1,26 +0,0 @@
1
- import { getContext, setContext } from 'svelte';
2
- const ELEMENT_CONTEXT_KEY = '@atom-ui/context/gsap/element';
3
- export function animate(callback) {
4
- return (node) => {
5
- const parentTween = getContext(ELEMENT_CONTEXT_KEY);
6
- const tween = callback(node, parentTween);
7
- setContext(ELEMENT_CONTEXT_KEY, tween);
8
- return () => { };
9
- };
10
- }
11
- const TIMELINE_CONTEXT_KEY = '@atom-ui/context/gsap/timeline';
12
- function timelineIdKey(id) {
13
- return [TIMELINE_CONTEXT_KEY, id].join('/');
14
- }
15
- export function timeline(callback, id, parentId) {
16
- return (node) => {
17
- const parentKey = parentId ? timelineIdKey(parentId) : TIMELINE_CONTEXT_KEY;
18
- const parentTimeline = getContext(parentKey);
19
- const timeline = callback(node, parentTimeline);
20
- if (id) {
21
- setContext(timelineIdKey(id), timeline);
22
- }
23
- setContext(TIMELINE_CONTEXT_KEY, timeline);
24
- return () => { };
25
- };
26
- }