@svelte-atoms/core 1.0.0-alpha.29 → 1.0.0-alpha.31

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 (176) hide show
  1. package/README.md +3 -2
  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 +65 -61
  5. package/dist/components/accordion/accordion-root.svelte.d.ts +1 -1
  6. package/dist/components/accordion/accordion.stories.svelte +70 -134
  7. package/dist/components/accordion/item/accordion-item-body.svelte +44 -42
  8. package/dist/components/accordion/item/accordion-item-header.svelte +51 -50
  9. package/dist/components/accordion/item/accordion-item-indicator.svelte +51 -50
  10. package/dist/components/accordion/item/accordion-item-root.svelte +66 -65
  11. package/dist/components/accordion/item/bond.svelte.d.ts +2 -0
  12. package/dist/components/accordion/item/index.d.ts +3 -0
  13. package/dist/components/accordion/item/index.js +3 -0
  14. package/dist/components/accordion/item/motion.svelte.d.ts +15 -0
  15. package/dist/components/accordion/item/motion.svelte.js +30 -0
  16. package/dist/components/accordion/item/types.d.ts +7 -24
  17. package/dist/components/alert/alert-close-button.svelte +66 -70
  18. package/dist/components/alert/alert-description.svelte +42 -42
  19. package/dist/components/alert/alert-description.svelte.d.ts +3 -6
  20. package/dist/components/alert/alert-root.svelte +68 -103
  21. package/dist/components/alert/alert-root.svelte.d.ts +2 -2
  22. package/dist/components/alert/alert.stories.svelte +10 -11
  23. package/dist/components/alert/bond.svelte.d.ts +0 -13
  24. package/dist/components/alert/bond.svelte.js +0 -32
  25. package/dist/components/alert/types.d.ts +8 -32
  26. package/dist/components/atom/html-atom.svelte +261 -207
  27. package/dist/components/avatar/avatar.stories.svelte +8 -13
  28. package/dist/components/badge/badge.stories.svelte +1 -6
  29. package/dist/components/badge/badge.svelte +1 -1
  30. package/dist/components/breadcrumb/breadcrumb.stories.svelte +16 -21
  31. package/dist/components/button/button.stories.svelte +1 -34
  32. package/dist/components/calendar/calendar-day.svelte +9 -4
  33. package/dist/components/calendar/calendar-header.svelte +29 -29
  34. package/dist/components/calendar/calendar-root.svelte +206 -206
  35. package/dist/components/calendar/calendar.stories.svelte +26 -31
  36. package/dist/components/card/card-body.svelte +1 -1
  37. package/dist/components/card/card-footer.svelte +1 -1
  38. package/dist/components/card/card-root.svelte +1 -1
  39. package/dist/components/card/card.stories.svelte +92 -104
  40. package/dist/components/checkbox/checkbox.stories.svelte +4 -9
  41. package/dist/components/checkbox/checkbox.svelte +159 -157
  42. package/dist/components/collapsible/collapsible.stories.svelte +2 -3
  43. package/dist/components/combobox/atoms.d.ts +1 -1
  44. package/dist/components/combobox/atoms.js +1 -1
  45. package/dist/components/combobox/combobox-root.svelte +1 -1
  46. package/dist/components/combobox/compobox.stories.svelte +19 -22
  47. package/dist/components/combobox/index.d.ts +1 -0
  48. package/dist/components/container/container.stories.svelte +8 -11
  49. package/dist/components/container/container.svelte.d.ts +1 -1
  50. package/dist/components/datagrid/datagrid-root.svelte +59 -59
  51. package/dist/components/datagrid/datagrid.css +5 -5
  52. package/dist/components/datagrid/datagrid.stories.svelte +47 -50
  53. package/dist/components/datagrid/tr/bond.svelte.d.ts +4 -2
  54. package/dist/components/datagrid/tr/bond.svelte.js +9 -7
  55. package/dist/components/datagrid/tr/datagrid-tr.svelte +90 -88
  56. package/dist/components/date-picker/date-picker-calendar.svelte +2 -2
  57. package/dist/components/date-picker/date-picker-header.svelte +100 -100
  58. package/dist/components/date-picker/date-picker-months.svelte +142 -142
  59. package/dist/components/date-picker/date-picker-root.svelte +95 -95
  60. package/dist/components/date-picker/date-picker-years.svelte +205 -205
  61. package/dist/components/date-picker/date-picker.stories.svelte +35 -42
  62. package/dist/components/dialog/bond.svelte.d.ts +13 -3
  63. package/dist/components/dialog/bond.svelte.js +66 -5
  64. package/dist/components/dialog/dialog-content.svelte +2 -20
  65. package/dist/components/dialog/dialog-root.svelte +91 -110
  66. package/dist/components/dialog/dialog.stories.svelte +34 -37
  67. package/dist/components/dialog/motion.svelte.d.ts +13 -0
  68. package/dist/components/dialog/motion.svelte.js +44 -0
  69. package/dist/components/drawer/attachments.svelte.d.ts +1 -1
  70. package/dist/components/drawer/attachments.svelte.js +7 -10
  71. package/dist/components/drawer/bond.svelte.d.ts +24 -5
  72. package/dist/components/drawer/bond.svelte.js +77 -11
  73. package/dist/components/drawer/drawer-content.svelte +49 -42
  74. package/dist/components/drawer/drawer.stories.svelte +144 -224
  75. package/dist/components/drawer/index.d.ts +2 -0
  76. package/dist/components/drawer/index.js +2 -0
  77. package/dist/components/drawer/motion.d.ts +15 -0
  78. package/dist/components/drawer/motion.js +28 -0
  79. package/dist/components/dropdown/atoms.d.ts +1 -1
  80. package/dist/components/dropdown/atoms.js +1 -1
  81. package/dist/components/dropdown/bond.svelte.d.ts +5 -1
  82. package/dist/components/dropdown/dropdown-root.svelte +1 -1
  83. package/dist/components/dropdown/dropdown.stories.svelte +38 -41
  84. package/dist/components/dropdown/index.d.ts +1 -0
  85. package/dist/components/form/form.stories.svelte +58 -61
  86. package/dist/components/image/image.stories.svelte +9 -12
  87. package/dist/components/input/input.stories.svelte +11 -14
  88. package/dist/components/label/label.stories.svelte +1 -12
  89. package/dist/components/label/label.stories.svelte.d.ts +24 -4
  90. package/dist/components/lazy/lazy.stories.svelte +28 -35
  91. package/dist/components/lazy/lazy.svelte +28 -28
  92. package/dist/components/link/link.stories.svelte +1 -12
  93. package/dist/components/link/link.stories.svelte.d.ts +24 -4
  94. package/dist/components/list/list-item.svelte +20 -20
  95. package/dist/components/menu/atoms.d.ts +1 -0
  96. package/dist/components/menu/atoms.js +1 -0
  97. package/dist/components/menu/index.d.ts +2 -1
  98. package/dist/components/menu/index.js +1 -1
  99. package/dist/components/menu/menu-item.svelte +69 -51
  100. package/dist/components/menu/menu-item.svelte.d.ts +1 -0
  101. package/dist/components/menu/menu-list.svelte +40 -40
  102. package/dist/components/menu/menu.stories.svelte +9 -12
  103. package/dist/components/popover/bond.svelte.d.ts +20 -7
  104. package/dist/components/popover/bond.svelte.js +104 -45
  105. package/dist/components/popover/motion.d.ts +6 -0
  106. package/dist/components/popover/motion.js +56 -0
  107. package/dist/components/popover/popover-arrow.svelte +4 -4
  108. package/dist/components/popover/popover-content.svelte +137 -178
  109. package/dist/components/popover/popover-indicator.svelte +2 -1
  110. package/dist/components/popover/popover-root.svelte +1 -1
  111. package/dist/components/popover/popover.stories.svelte +49 -52
  112. package/dist/components/popover/types.d.ts +9 -7
  113. package/dist/components/portal/active-portal.svelte +29 -22
  114. package/dist/components/portal/active-portal.svelte.d.ts +2 -9
  115. package/dist/components/portal/portal-root.svelte +76 -83
  116. package/dist/components/portal/portal-root.svelte.d.ts +4 -6
  117. package/dist/components/portal/teleport.svelte +49 -50
  118. package/dist/components/portal/teleport.svelte.d.ts +3 -4
  119. package/dist/components/qr-code/qr-code.stories.svelte +18 -27
  120. package/dist/components/qr-code/qr-code.svelte +75 -75
  121. package/dist/components/radio/radio-group.stories.svelte +21 -30
  122. package/dist/components/radio/radio.stories.svelte +1 -10
  123. package/dist/components/radio/radio.svelte +109 -109
  124. package/dist/components/radio/types.d.ts +98 -0
  125. package/dist/components/radio/types.js +2 -0
  126. package/dist/components/root/root.svelte +104 -121
  127. package/dist/components/scrollable/scrollable-root.svelte.d.ts +2 -2
  128. package/dist/components/scrollable/scrollable.stories.svelte +95 -105
  129. package/dist/components/sidebar/index.d.ts +2 -0
  130. package/dist/components/sidebar/index.js +2 -0
  131. package/dist/components/sidebar/motion.svelte.d.ts +11 -0
  132. package/dist/components/sidebar/motion.svelte.js +16 -0
  133. package/dist/components/sidebar/sidebar-content.svelte +3 -2
  134. package/dist/components/sidebar/sidebar-root.svelte +39 -41
  135. package/dist/components/sidebar/sidebar.stories.svelte +43 -54
  136. package/dist/components/sidebar/types.d.ts +3 -12
  137. package/dist/components/tabs/tab/bond.svelte.d.ts +4 -1
  138. package/dist/components/tabs/tab/bond.svelte.js +4 -1
  139. package/dist/components/tabs/tabs.stories.svelte +31 -34
  140. package/dist/components/textarea/atoms.d.ts +1 -0
  141. package/dist/components/textarea/atoms.js +1 -0
  142. package/dist/components/textarea/textarea-input.svelte +9 -6
  143. package/dist/components/textarea/textarea-root.svelte +9 -9
  144. package/dist/components/textarea/textarea-root.svelte.d.ts +2 -0
  145. package/dist/components/tooltip/tooltip-trigger.svelte +39 -37
  146. package/dist/components/tooltip/tooltip-trigger.svelte.d.ts +1 -0
  147. package/dist/components/tooltip/tooltip.stories.svelte +7 -10
  148. package/dist/components/tree/tree.stories.svelte +102 -94
  149. package/dist/context/preset.svelte.d.ts +3 -3
  150. package/dist/icons/icon-copy.svelte +6 -0
  151. package/dist/{components/radio/types.svelte.d.ts → icons/icon-copy.svelte.d.ts} +3 -3
  152. package/dist/utils/function.d.ts +2 -0
  153. package/dist/utils/function.js +6 -0
  154. package/dist/utils/markdown-to-llm.d.ts +28 -0
  155. package/dist/utils/markdown-to-llm.js +76 -0
  156. package/package.json +6 -10
  157. package/dist/actions/animation.svelte.d.ts +0 -6
  158. package/dist/actions/animation.svelte.js +0 -14
  159. package/dist/actions/clickout.svelte.d.ts +0 -2
  160. package/dist/actions/clickout.svelte.js +0 -15
  161. package/dist/actions/popover.svelte.d.ts +0 -19
  162. package/dist/actions/popover.svelte.js +0 -81
  163. package/dist/actions/portal.svelte.d.ts +0 -8
  164. package/dist/actions/portal.svelte.js +0 -32
  165. package/dist/attachments/gsap.svelte.d.ts +0 -2
  166. package/dist/attachments/gsap.svelte.js +0 -26
  167. package/dist/components/radio/types.svelte +0 -0
  168. package/llm/composition.md +0 -395
  169. package/llm/crafting.md +0 -838
  170. package/llm/motion.md +0 -970
  171. package/llm/philosophy.md +0 -23
  172. package/llm/preset-variant-integration.md +0 -516
  173. package/llm/preset.md +0 -383
  174. package/llm/styling.md +0 -216
  175. package/llm/usage.md +0 -46
  176. package/llm/variants.md +0 -1259
@@ -1,7 +1,6 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
3
  import { Dropdown as ADropdown } from '.';
4
- import Root from '../root/root.svelte';
5
4
  import { Input } from '../input';
6
5
  import { flip } from 'svelte/animate';
7
6
  import { filter } from './runes.svelte';
@@ -37,47 +36,45 @@
37
36
  </script>
38
37
 
39
38
  <Story name="Dropdown" args={{}}>
40
- <Root class="items-center justify-center p-4">
41
- <!-- Multi-select dropdown with search functionality -->
42
- <ADropdown.Root
43
- bind:open
44
- keys={data.map((item) => item.value)}
45
- multiple
46
- onquerychange={(q) => (dd.query = q)}
47
- >
48
- {#snippet children({ dropdown })}
49
- <!-- Compose ADropdown.Trigger with Input.Root for a custom trigger -->
50
- <ADropdown.Trigger
51
- base={Input.Root}
52
- class="h-auto min-h-12 max-w-sm min-w-sm items-center gap-2 rounded-sm px-4 transition-colors duration-200"
53
- onclick={(ev) => {
54
- ev.preventDefault();
39
+ <!-- Multi-select dropdown with search functionality -->
40
+ <ADropdown.Root
41
+ bind:open
42
+ keys={data.map((item) => item.value)}
43
+ multiple
44
+ onquerychange={(q) => (dd.query = q)}
45
+ >
46
+ {#snippet children({ dropdown })}
47
+ <!-- Compose ADropdown.Trigger with Input.Root for a custom trigger -->
48
+ <ADropdown.Trigger
49
+ base={Input.Root}
50
+ class="h-auto min-h-12 max-w-sm min-w-sm items-center gap-2 rounded-sm px-4 transition-colors duration-200"
51
+ onclick={(ev) => {
52
+ ev.preventDefault();
55
53
 
56
- dropdown.state.open();
57
- }}
58
- >
59
- <!-- Display selected values with animation -->
60
- {#each dropdown?.state?.selectedItems ?? [] as item (item.id)}
61
- <div animate:flip={{ duration: 200 }}>
62
- <ADropdown.Value value={item.value} class="text-foreground/80">
63
- {item.text}
64
- </ADropdown.Value>
65
- </div>
66
- {/each}
54
+ dropdown.state.open();
55
+ }}
56
+ >
57
+ <!-- Display selected values with animation -->
58
+ {#each dropdown?.state?.selectedItems ?? [] as item (item.id)}
59
+ <div animate:flip={{ duration: 200 }}>
60
+ <ADropdown.Value value={item.value} class="text-foreground/80">
61
+ {item.text}
62
+ </ADropdown.Value>
63
+ </div>
64
+ {/each}
67
65
 
68
- <!-- Inline search input within the trigger -->
69
- <ADropdown.Query class="flex-1 px-1" placeholder="Search for fruits..." />
70
- </ADropdown.Trigger>
66
+ <!-- Inline search input within the trigger -->
67
+ <ADropdown.Query class="flex-1 px-1" placeholder="Search for fruits..." />
68
+ </ADropdown.Trigger>
71
69
 
72
- <!-- ADropdown list with filtered items -->
73
- <ADropdown.List>
74
- {#each dd.current as item (item.id)}
75
- <div animate:flip={{ duration: 200 }}>
76
- <ADropdown.Item value={item.value}>{item.text}</ADropdown.Item>
77
- </div>
78
- {/each}
79
- </ADropdown.List>
80
- {/snippet}
81
- </ADropdown.Root>
82
- </Root>
70
+ <!-- ADropdown list with filtered items -->
71
+ <ADropdown.List>
72
+ {#each dd.current as item (item.id)}
73
+ <div animate:flip={{ duration: 200 }}>
74
+ <ADropdown.Item value={item.value}>{item.text}</ADropdown.Item>
75
+ </div>
76
+ {/each}
77
+ </ADropdown.List>
78
+ {/snippet}
79
+ </ADropdown.Root>
83
80
  </Story>
@@ -2,3 +2,4 @@ export * as Dropdown from './atoms';
2
2
  export { DropdownBond, type DropdownBondElements, DropdownBondState, type DropdownStateProps } from './bond.svelte';
3
3
  export { filter } from './runes.svelte';
4
4
  export * from './types';
5
+ export type { AnimatePopoverContentParams as AnimateDropdownContentParams, animatePopoverContent as animateDropdownContent } from '../popover/motion';
@@ -1,6 +1,5 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Root from '../root/root.svelte';
4
3
  import AForm from './form-root.svelte';
5
4
  import { Field } from './field';
6
5
  import { Input } from '../input';
@@ -30,70 +29,68 @@
30
29
  </script>
31
30
 
32
31
  <Story name="Form">
33
- <Root class="flex items-center justify-center p-4">
34
- {#snippet children({ args })}
35
- <AForm class="flex flex-col gap-2" {validator}>
36
- <div class="mb-4 flex flex-col">
37
- <h2 class="text-3xl font-semibold">Form Title</h2>
38
- <p class="text-sm text-gray-500">Form description goes here.</p>
39
- </div>
32
+ {#snippet children({ args })}
33
+ <AForm class="flex flex-col gap-2" {validator}>
34
+ <div class="mb-4 flex flex-col">
35
+ <h2 class="text-3xl font-semibold">Form Title</h2>
36
+ <p class="text-sm text-gray-500">Form description goes here.</p>
37
+ </div>
40
38
 
41
- <div class="flex gap-2">
42
- <Field.Root name="first name" schema={personSchema.shape.firstName}>
43
- {#snippet children({ field })}
44
- <Field.Label>First Name</Field.Label>
45
- <Input.Root>
46
- <Field.Control
47
- base={Input.Control}
48
- placeholder="Enter your first name"
49
- onblur={() => {
50
- const results = field?.state.validate();
51
- console.log(results);
52
- }}
53
- />
54
- </Input.Root>
55
- {#if field?.state?.errors?.length > 0}
56
- <div class="text-xs text-red-600">
57
- {#each field.state.errors as error}
58
- <div>{error.message}</div>
59
- {/each}
60
- </div>
61
- {/if}
62
- {/snippet}
63
- </Field.Root>
64
-
65
- <Field.Root name="last name" schema={personSchema.shape.lastName}>
66
- <Field.Label>Last Name</Field.Label>
39
+ <div class="flex gap-2">
40
+ <Field.Root name="first name" schema={personSchema.shape.firstName}>
41
+ {#snippet children({ field })}
42
+ <Field.Label>First Name</Field.Label>
67
43
  <Input.Root>
68
- <Field.Control base={Input.Control} placeholder="Enter your last name" />
44
+ <Field.Control
45
+ base={Input.Control}
46
+ placeholder="Enter your first name"
47
+ onblur={() => {
48
+ const results = field?.state.validate();
49
+ console.log(results);
50
+ }}
51
+ />
69
52
  </Input.Root>
70
- </Field.Root>
71
- </div>
53
+ {#if field?.state?.errors?.length > 0}
54
+ <div class="text-xs text-red-600">
55
+ {#each field.state.errors as error}
56
+ <div>{error.message}</div>
57
+ {/each}
58
+ </div>
59
+ {/if}
60
+ {/snippet}
61
+ </Field.Root>
72
62
 
73
- <div class="flex flex-col">
74
- <Field.Root name="is admin" schema={personSchema.shape.isAdmin}>
75
- <Field.Label>Is Admin?</Field.Label>
76
- <Field.Control base={Checkbox} />
77
- </Field.Root>
78
- </div>
63
+ <Field.Root name="last name" schema={personSchema.shape.lastName}>
64
+ <Field.Label>Last Name</Field.Label>
65
+ <Input.Root>
66
+ <Field.Control base={Input.Control} placeholder="Enter your last name" />
67
+ </Input.Root>
68
+ </Field.Root>
69
+ </div>
79
70
 
80
- <div class="flex flex-col">
81
- <Field.Root name="color" schema={personSchema.shape.color}>
82
- <Field.Label>Is current scheme black?</Field.Label>
83
- <Field.Control class="flex flex-col items-start text-sm" base={RadioGroup}>
84
- <div class="flex items-center gap-2">
85
- <Radio value="yes" />
86
- <div>Yes</div>
87
- </div>
71
+ <div class="flex flex-col">
72
+ <Field.Root name="is admin" schema={personSchema.shape.isAdmin}>
73
+ <Field.Label>Is Admin?</Field.Label>
74
+ <Field.Control base={Checkbox} />
75
+ </Field.Root>
76
+ </div>
88
77
 
89
- <div class="flex items-center gap-2">
90
- <Radio value="no" />
91
- <div>No</div>
92
- </div>
93
- </Field.Control>
94
- </Field.Root>
95
- </div>
96
- </AForm>
97
- {/snippet}
98
- </Root>
78
+ <div class="flex flex-col">
79
+ <Field.Root name="color" schema={personSchema.shape.color}>
80
+ <Field.Label>Is current scheme black?</Field.Label>
81
+ <Field.Control class="flex flex-col items-start text-sm" base={RadioGroup}>
82
+ <div class="flex items-center gap-2">
83
+ <Radio value="yes" />
84
+ <div>Yes</div>
85
+ </div>
86
+
87
+ <div class="flex items-center gap-2">
88
+ <Radio value="no" />
89
+ <div>No</div>
90
+ </div>
91
+ </Field.Control>
92
+ </Field.Root>
93
+ </div>
94
+ </AForm>
95
+ {/snippet}
99
96
  </Story>
@@ -1,6 +1,5 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Root from '../root/root.svelte';
4
3
  import ImageCmp from './image.svelte';
5
4
 
6
5
  const { Story } = defineMeta({
@@ -9,15 +8,13 @@
9
8
  </script>
10
9
 
11
10
  <Story name="Image">
12
- <Root class="p-4">
13
- {#snippet children({ args })}
14
- <ImageCmp
15
- class="h-[400px] w-[600px]"
16
- src="https://placehold.co/600x400/t"
17
- alt="Placeholder image"
18
- >
19
- <p>Failed Loading...</p>
20
- </ImageCmp>
21
- {/snippet}
22
- </Root>
11
+ {#snippet children({ args })}
12
+ <ImageCmp
13
+ class="h-[400px] w-[600px]"
14
+ src="https://placehold.co/600x400/t"
15
+ alt="Placeholder image"
16
+ >
17
+ <p>Failed Loading...</p>
18
+ </ImageCmp>
19
+ {/snippet}
23
20
  </Story>
@@ -1,7 +1,6 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
3
  import { Input as AInput } from '.';
4
- import Root from '../root/root.svelte';
5
4
  import { Label } from '../label';
6
5
 
7
6
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
@@ -21,18 +20,16 @@
21
20
  </script>
22
21
 
23
22
  <Story name="Input" args={{}}>
24
- <Root class="p-4">
25
- <div class="flex flex-col">
26
- <Label for="price-input">Price</Label>
27
- <AInput.Root>
28
- <AInput.Icon class="text-foreground box-content px-0">$</AInput.Icon>
29
- <AInput.Control id="price-input" class="border-border box-content border-x px-2 py-2">
30
- <!-- -->
31
- </AInput.Control>
32
- <AInput.Icon class="text-foreground box-content px-2">.00</AInput.Icon>
23
+ <div class="flex flex-col">
24
+ <Label for="price-input">Price</Label>
25
+ <AInput.Root>
26
+ <AInput.Icon class="text-foreground box-content px-0">$</AInput.Icon>
27
+ <AInput.Control id="price-input" class="border-border box-content border-x px-2 py-2">
28
+ <!-- -->
29
+ </AInput.Control>
30
+ <AInput.Icon class="text-foreground box-content px-2">.00</AInput.Icon>
33
31
 
34
- <AInput.Placeholder class="text-foreground/20 pl-2">Hello World</AInput.Placeholder>
35
- </AInput.Root>
36
- </div>
37
- </Root>
32
+ <AInput.Placeholder class="text-foreground/20 pl-2">Hello World</AInput.Placeholder>
33
+ </AInput.Root>
34
+ </div>
38
35
  </Story>
@@ -1,7 +1,6 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
3
  import { default as LabelCmp } from './label.svelte';
4
- import { Root } from '../root';
5
4
 
6
5
  const { Story } = defineMeta({
7
6
  title: 'ATOMS/Label'
@@ -9,18 +8,8 @@
9
8
  </script>
10
9
 
11
10
  <script>
12
- let value = $state(undefined);
13
- let checked = $state(false);
14
11
  </script>
15
12
 
16
13
  <Story name="Label">
17
- {#snippet children(args)}
18
- <Root>
19
- {#snippet children({})}
20
- <div class="flex h-full w-full items-center justify-center">
21
- <LabelCmp>Hello World</LabelCmp>
22
- </div>
23
- {/snippet}
24
- </Root>
25
- {/snippet}
14
+ <LabelCmp>Hello World</LabelCmp>
26
15
  </Story>
@@ -1,6 +1,26 @@
1
1
  export default Label;
2
- type Label = {
3
- $on?(type: string, callback: (e: any) => void): () => void;
4
- $set?(props: Partial<Record<string, never>>): void;
2
+ type Label = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string;
5
8
  };
6
- declare const Label: import("svelte").Component<Record<string, never>, {}, "">;
9
+ declare const Label: $$__sveltets_2_IsomorphicComponent<{
10
+ [x: string]: never;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {}, {}, string>;
14
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
+ new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
+ $$bindings?: Bindings;
17
+ } & Exports;
18
+ (internal: unknown, props: {
19
+ $$events?: Events;
20
+ $$slots?: Slots;
21
+ }): Exports & {
22
+ $set?: any;
23
+ $on?: any;
24
+ };
25
+ z_$$bindings?: Bindings;
26
+ }
@@ -1,35 +1,28 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
-
4
- const { Story } = defineMeta({
5
- title: 'Atoms/Lazy'
6
- });
7
- </script>
8
-
9
- <script lang="ts">
10
- import Lazy from './lazy.svelte';
11
- import { Root } from '../root';
12
- import { delay } from 'es-toolkit';
13
- </script>
14
-
15
- <Story name="Lazy">
16
- {#snippet children({ args })}
17
- <Root>
18
- {#snippet children({})}
19
- <Lazy
20
- promise={import('../button/button.svelte').then(async res=> {
21
- await delay(1000 * 5);
22
-
23
- return res.default;
24
- })}
25
- >
26
- Hello World
27
-
28
- {#snippet loading()}
29
- <span>Loading...</span>
30
- {/snippet}
31
- </Lazy>
32
- {/snippet}
33
- </Root>
34
- {/snippet}
35
- </Story>
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+
4
+ const { Story } = defineMeta({
5
+ title: 'Atoms/Lazy'
6
+ });
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import Lazy from './lazy.svelte';
11
+ import { delay } from 'es-toolkit';
12
+ </script>
13
+
14
+ <Story name="Lazy">
15
+ <Lazy
16
+ promise={import('../button/button.svelte').then(async res=> {
17
+ await delay(1000 * 2);
18
+
19
+ return res.default;
20
+ })}
21
+ >
22
+ Hello World
23
+
24
+ {#snippet loading()}
25
+ <span>Loading...</span>
26
+ {/snippet}
27
+ </Lazy>
28
+ </Story>
@@ -1,28 +1,28 @@
1
- <script lang="ts">
2
- import type { Component } from 'svelte';
3
- import type { LazyProps } from './types';
4
-
5
- let { promise, children, loading, error, ...restProps }: LazyProps = $props();
6
-
7
- let Lazy: Component | null = $state(null);
8
-
9
- let err = $state();
10
-
11
- promise
12
- .then((c) => {
13
- Lazy = c;
14
- })
15
- .catch((r) => {
16
- err = r;
17
- });
18
- </script>
19
-
20
- <Lazy {...restProps}>
21
- {@render children?.()}
22
- </Lazy>
23
-
24
- {#if err && error}
25
- {@render error?.()}
26
- {:else if !Lazy}
27
- {@render loading?.()}
28
- {/if}
1
+ <script lang="ts">
2
+ import type { Component } from 'svelte';
3
+ import type { LazyProps } from './types';
4
+
5
+ let { promise, children, loading, error, ...restProps }: LazyProps = $props();
6
+
7
+ let Lazy: Component | null = $state(null);
8
+
9
+ let err = $state();
10
+
11
+ promise
12
+ .then((c) => {
13
+ Lazy = c;
14
+ })
15
+ .catch((r) => {
16
+ err = r;
17
+ });
18
+ </script>
19
+
20
+ <Lazy {...restProps}>
21
+ {@render children?.()}
22
+ </Lazy>
23
+
24
+ {#if err && error}
25
+ {@render error?.()}
26
+ {:else if !Lazy}
27
+ {@render loading?.()}
28
+ {/if}
@@ -1,6 +1,5 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { Root } from '../root';
4
3
  import LinkComponent from './link.svelte';
5
4
 
6
5
  const { Story } = defineMeta({
@@ -9,18 +8,8 @@
9
8
  </script>
10
9
 
11
10
  <script>
12
- let value = $state(undefined);
13
- let checked = $state(false);
14
11
  </script>
15
12
 
16
13
  <Story name="Link">
17
- {#snippet children(args)}
18
- <Root>
19
- {#snippet children({})}
20
- <div class="flex h-full w-full items-center justify-center">
21
- <LinkComponent>Hello World</LinkComponent>
22
- </div>
23
- {/snippet}
24
- </Root>
25
- {/snippet}
14
+ <LinkComponent>Hello World</LinkComponent>
26
15
  </Story>
@@ -1,6 +1,26 @@
1
1
  export default Link;
2
- type Link = {
3
- $on?(type: string, callback: (e: any) => void): () => void;
4
- $set?(props: Partial<Record<string, never>>): void;
2
+ type Link = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string;
5
8
  };
6
- declare const Link: import("svelte").Component<Record<string, never>, {}, "">;
9
+ declare const Link: $$__sveltets_2_IsomorphicComponent<{
10
+ [x: string]: never;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {}, {}, string>;
14
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
+ new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
+ $$bindings?: Bindings;
17
+ } & Exports;
18
+ (internal: unknown, props: {
19
+ $$events?: Events;
20
+ $$slots?: Slots;
21
+ }): Exports & {
22
+ $set?: any;
23
+ $on?: any;
24
+ };
25
+ z_$$bindings?: Bindings;
26
+ }
@@ -1,20 +1,20 @@
1
- <script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'li', B extends Base = Base">
2
- import { HtmlAtom, type Base } from '../atom';
3
-
4
- let {
5
- class: klass = '',
6
- as = 'li' as T,
7
- preset: presetKey = 'list.item',
8
- children = undefined,
9
- ...restProps
10
- } = $props();
11
- </script>
12
-
13
- <HtmlAtom
14
- {as}
15
- preset={presetKey}
16
- class={['border-border flex w-full gap-2 px-4 py-1', '$preset', klass]}
17
- {...restProps}
18
- >
19
- {@render children?.()}
20
- </HtmlAtom>
1
+ <script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'li', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+
4
+ let {
5
+ class: klass = '',
6
+ as = 'li' as T,
7
+ preset = 'list.item',
8
+ children = undefined,
9
+ ...restProps
10
+ } = $props();
11
+ </script>
12
+
13
+ <HtmlAtom
14
+ {as}
15
+ {preset}
16
+ class={['border-border flex w-full gap-2 px-4 py-1', '$preset', klass]}
17
+ {...restProps}
18
+ >
19
+ {@render children?.()}
20
+ </HtmlAtom>
@@ -1,3 +1,4 @@
1
1
  export { Root, Trigger, Arrow, Indicator } from '../popover/atoms';
2
2
  export { default as List } from './menu-list.svelte';
3
3
  export { default as Item } from './menu-item.svelte';
4
+ export { Divider, Group, Title } from '../list/atoms';
@@ -1,3 +1,4 @@
1
1
  export { Root, Trigger, Arrow, Indicator } from '../popover/atoms';
2
2
  export { default as List } from './menu-list.svelte';
3
3
  export { default as Item } from './menu-item.svelte';
4
+ export { Divider, Group, Title } from '../list/atoms';
@@ -1,3 +1,4 @@
1
1
  export * as Menu from './atoms';
2
2
  export * from './types';
3
- export { PopoverBond, type PopoverDomElements, type PopoverParams, PopoverState, type PopoverStateProps, type TriggerParams } from '../popover/bond.svelte';
3
+ export { PopoverBond, type PopoverDomElements, type PopoverParams, PopoverState, type PopoverStateProps, type TriggerParams } from '../popover';
4
+ export type { AnimatePopoverContentParams as AnimateMenuContentParams, animatePopoverContent as animateMenuContent } from '../popover/motion';
@@ -1,3 +1,3 @@
1
1
  export * as Menu from './atoms';
2
2
  export * from './types';
3
- export { PopoverBond, PopoverState } from '../popover/bond.svelte';
3
+ export { PopoverBond, PopoverState } from '../popover';