@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,50 +1,51 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { animate as motion } from 'motion';
3
- import { Icon } from '../../icon';
4
- import IconArrowDown from '../../../icons/icon-arrow-down.svelte';
5
- import { HtmlAtom, type Base } from '../../atom';
6
- import { AccordionItemBond } from './bond.svelte';
7
- import type { AccordionItemIndicatorProps } from './types';
8
-
9
- const bond = AccordionItemBond.get();
10
- const isOpen = $derived(bond?.state?.isOpen ?? false);
11
-
12
- let {
13
- class: klass = '',
14
- children = undefined,
15
- onmount = undefined,
16
- ondestroy = undefined,
17
- animate = _animate,
18
- enter = undefined,
19
- exit = undefined,
20
- initial = undefined,
21
- ...restProps
22
- }: AccordionItemIndicatorProps<E, B> = $props();
23
-
24
- const indicatorProps = $derived({
25
- ...bond?.indicator(),
26
- ...restProps
27
- });
28
-
29
- function _animate(node: HTMLElement) {
30
- return motion(node, { rotate: 180 * +isOpen }, { duration: 0.3, ease: 'anticipate' });
31
- }
32
- </script>
33
-
34
- <HtmlAtom
35
- preset="accordion.item.indicator"
36
- class={['border-border pointer-events-none flex items-center justify-center', '$preset', klass]}
37
- onmount={onmount?.bind(bond.state)}
38
- ondestroy={ondestroy?.bind(bond.state)}
39
- animate={animate?.bind(bond.state)}
40
- enter={enter?.bind(bond.state)}
41
- exit={exit?.bind(bond.state)}
42
- initial={initial?.bind(bond.state)}
43
- {...indicatorProps}
44
- >
45
- {#if children}
46
- {@render children({ accordionItem: bond })}
47
- {:else}
48
- <Icon src={IconArrowDown} />
49
- {/if}
50
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { animate as motion } from 'motion';
3
+ import { Icon } from '../../icon';
4
+ import IconArrowDown from '../../../icons/icon-arrow-down.svelte';
5
+ import { HtmlAtom, type Base } from '../../atom';
6
+ import { AccordionItemBond } from './bond.svelte';
7
+ import type { AccordionItemIndicatorProps } from './types';
8
+
9
+ const bond = AccordionItemBond.get();
10
+ const isOpen = $derived(bond?.state?.isOpen ?? false);
11
+
12
+ let {
13
+ class: klass = '',
14
+ children = undefined,
15
+ onmount = undefined,
16
+ ondestroy = undefined,
17
+ animate = _animate,
18
+ enter = undefined,
19
+ exit = undefined,
20
+ initial = undefined,
21
+ preset = 'accordion.item.indicator',
22
+ ...restProps
23
+ }: AccordionItemIndicatorProps<E, B> = $props();
24
+
25
+ const indicatorProps = $derived({
26
+ ...bond?.indicator(),
27
+ ...restProps
28
+ });
29
+
30
+ function _animate(node: HTMLElement) {
31
+ return motion(node, { rotate: 180 * +isOpen }, { duration: 0.3, ease: 'anticipate' });
32
+ }
33
+ </script>
34
+
35
+ <HtmlAtom
36
+ {preset}
37
+ class={['border-border pointer-events-none flex items-center justify-center', '$preset', klass]}
38
+ onmount={onmount?.bind(bond.state)}
39
+ ondestroy={ondestroy?.bind(bond.state)}
40
+ animate={animate?.bind(bond.state)}
41
+ enter={enter?.bind(bond.state)}
42
+ exit={exit?.bind(bond.state)}
43
+ initial={initial?.bind(bond.state)}
44
+ {...indicatorProps}
45
+ >
46
+ {#if children}
47
+ {@render children({ accordionItem: bond })}
48
+ {:else}
49
+ <Icon src={IconArrowDown} />
50
+ {/if}
51
+ </HtmlAtom>
@@ -1,65 +1,66 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { nanoid } from 'nanoid';
3
- import { defineProperty, defineState } from '../../../utils';
4
- import { HtmlAtom, type Base } from '../../atom';
5
- import {
6
- AccordionItemBond,
7
- AccordionItemBondState,
8
- type AccordionItemBondProps
9
- } from './bond.svelte';
10
- import type { AccordionItemRootProps } from './types';
11
-
12
- let {
13
- class: klass = '',
14
- value = nanoid(),
15
- data = undefined,
16
- disabled = false,
17
- factory = _factory,
18
- children = undefined,
19
- onmount = undefined,
20
- ondestroy = undefined,
21
- animate = undefined,
22
- enter = undefined,
23
- exit = undefined,
24
- initial = undefined,
25
- ...restProps
26
- }: AccordionItemRootProps<E, B> = $props();
27
-
28
- const accordionItemProps = defineState<AccordionItemBondProps>([
29
- defineProperty('data', () => data),
30
- defineProperty('disabled', () => disabled),
31
- defineProperty('value', () => value)
32
- ]);
33
- const bond = factory(accordionItemProps).share();
34
-
35
- bond.state.mount();
36
-
37
- const rootProps = $derived({
38
- ...bond.root(),
39
- ...restProps
40
- });
41
-
42
- function _factory(props: typeof accordionItemProps) {
43
- const accordionItemState = new AccordionItemBondState(() => props);
44
- return new AccordionItemBond(accordionItemState);
45
- }
46
-
47
- export function getBond() {
48
- return bond;
49
- }
50
- </script>
51
-
52
- <HtmlAtom
53
- {bond}
54
- preset="accordion.item"
55
- class={['border-border', '$preset', klass]}
56
- onmount={onmount?.bind(bond.state)}
57
- ondestroy={ondestroy?.bind(bond.state)}
58
- animate={animate?.bind(bond.state)}
59
- enter={enter?.bind(bond.state)}
60
- exit={exit?.bind(bond.state)}
61
- initial={initial?.bind(bond.state)}
62
- {...rootProps}
63
- >
64
- {@render children?.({ accordionItem: bond })}
65
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { nanoid } from 'nanoid';
3
+ import { defineProperty, defineState } from '../../../utils';
4
+ import { HtmlAtom, type Base } from '../../atom';
5
+ import {
6
+ AccordionItemBond,
7
+ AccordionItemBondState,
8
+ type AccordionItemBondProps
9
+ } from './bond.svelte';
10
+ import type { AccordionItemRootProps } from './types';
11
+
12
+ let {
13
+ class: klass = '',
14
+ value = nanoid(),
15
+ data = undefined,
16
+ disabled = false,
17
+ factory = _factory,
18
+ children = undefined,
19
+ onmount = undefined,
20
+ ondestroy = undefined,
21
+ animate = undefined,
22
+ enter = undefined,
23
+ exit = undefined,
24
+ initial = undefined,
25
+ preset = 'accordion.item',
26
+ ...restProps
27
+ }: AccordionItemRootProps<E, B> = $props();
28
+
29
+ const accordionItemProps = defineState<AccordionItemBondProps>([
30
+ defineProperty('data', () => data),
31
+ defineProperty('disabled', () => disabled),
32
+ defineProperty('value', () => value)
33
+ ]);
34
+ const bond = factory(accordionItemProps).share();
35
+
36
+ bond.state.mount();
37
+
38
+ const rootProps = $derived({
39
+ ...bond.root(),
40
+ ...restProps
41
+ });
42
+
43
+ function _factory(props: typeof accordionItemProps) {
44
+ const accordionItemState = new AccordionItemBondState(() => props);
45
+ return new AccordionItemBond(accordionItemState);
46
+ }
47
+
48
+ export function getBond() {
49
+ return bond;
50
+ }
51
+ </script>
52
+
53
+ <HtmlAtom
54
+ {bond}
55
+ {preset}
56
+ class={['border-border', '$preset', klass]}
57
+ onmount={onmount?.bind(bond.state)}
58
+ ondestroy={ondestroy?.bind(bond.state)}
59
+ animate={animate?.bind(bond.state)}
60
+ enter={enter?.bind(bond.state)}
61
+ exit={exit?.bind(bond.state)}
62
+ initial={initial?.bind(bond.state)}
63
+ {...rootProps}
64
+ >
65
+ {@render children?.({ accordionItem: bond })}
66
+ </HtmlAtom>
@@ -3,6 +3,8 @@ import { Bond, BondState, type BondStateProps } from '../../../shared/bond.svelt
3
3
  export type AccordionItemBondProps = BondStateProps & {
4
4
  value: string;
5
5
  disabled: boolean;
6
+ multiple: boolean;
7
+ collapsible: boolean;
6
8
  };
7
9
  export type AccordionItemBondElements = {
8
10
  root: HTMLElement;
@@ -1,2 +1,5 @@
1
1
  export * as AccordionItem from './atoms';
2
+ export * from './bond.svelte';
3
+ export * from './attachments.svelte';
4
+ export * from './motion.svelte';
2
5
  export type * from './types';
@@ -1 +1,4 @@
1
1
  export * as AccordionItem from './atoms';
2
+ export * from './bond.svelte';
3
+ export * from './attachments.svelte';
4
+ export * from './motion.svelte';
@@ -0,0 +1,15 @@
1
+ import { type Easing } from 'motion';
2
+ export type EnterAccordionItemBodyParams = {
3
+ duration?: number;
4
+ delay?: number;
5
+ ease?: Easing | Easing[] | (string & {});
6
+ };
7
+ export declare function enterAccordionItemBody(params?: EnterAccordionItemBodyParams): (node: HTMLElement) => {
8
+ duration: number;
9
+ delay: number;
10
+ };
11
+ export type ExitAccordionItemBodyParams = EnterAccordionItemBodyParams;
12
+ export declare function exitAccordionItemBody(params?: ExitAccordionItemBodyParams): (node: HTMLElement) => {
13
+ duration: number;
14
+ delay: number;
15
+ };
@@ -0,0 +1,30 @@
1
+ import { DURATION } from '../../../shared';
2
+ import { animate } from 'motion';
3
+ export function enterAccordionItemBody(params = {}) {
4
+ return (node) => {
5
+ const { duration = DURATION.normal / 1000, delay = 0, ease = 'linear' } = params;
6
+ animate(node, {
7
+ opacity: [0, 1],
8
+ height: 'auto'
9
+ }, {
10
+ duration,
11
+ delay,
12
+ ease
13
+ });
14
+ return { duration: duration * 1000, delay: delay * 1000 };
15
+ };
16
+ }
17
+ export function exitAccordionItemBody(params = {}) {
18
+ return (node) => {
19
+ const { duration = DURATION.normal / 1000, delay = 0.1, ease = 'linear' } = params;
20
+ animate(node, {
21
+ opacity: [1, 0],
22
+ height: 0
23
+ }, {
24
+ duration,
25
+ delay,
26
+ ease
27
+ });
28
+ return { duration: duration * 1000, delay: delay * 1000 };
29
+ };
30
+ }
@@ -1,6 +1,5 @@
1
- import type { Snippet } from 'svelte';
2
1
  import type { HtmlAtomProps, Base } from '../../atom';
3
- import type { Factory, Override } from '../../../types';
2
+ import type { Factory } from '../../../types';
4
3
  import type { AccordionItemBond } from './bond.svelte';
5
4
  /**
6
5
  * Extend this interface to add custom accordion item root properties in your application.
@@ -22,31 +21,15 @@ export interface AccordionItemBodyExtendProps {
22
21
  */
23
22
  export interface AccordionItemIndicatorExtendProps {
24
23
  }
25
- export interface AccordionItemRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
26
- children?: Snippet<[{
27
- accordionItem: AccordionItemBond;
28
- }]>;
29
- }>, AccordionItemRootExtendProps {
24
+ export interface AccordionItemRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AccordionItemRootExtendProps {
30
25
  value?: string;
31
26
  data?: any;
32
27
  disabled?: boolean;
33
28
  factory?: Factory<AccordionItemBond>;
34
29
  }
35
- export interface AccordionItemHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
36
- children?: Snippet<[{
37
- accordionItem: AccordionItemBond;
38
- }]>;
39
- }>, AccordionItemHeaderExtendProps {
40
- }
41
- export interface AccordionItemBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
42
- children?: Snippet<[{
43
- accordionItem: AccordionItemBond;
44
- }]>;
45
- }>, AccordionItemBodyExtendProps {
46
- }
47
- export interface AccordionItemIndicatorProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<HtmlAtomProps<E, B>, {
48
- children?: Snippet<[{
49
- accordionItem: AccordionItemBond;
50
- }]>;
51
- }>, AccordionItemIndicatorExtendProps {
30
+ export interface AccordionItemHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AccordionItemHeaderExtendProps {
31
+ }
32
+ export interface AccordionItemBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AccordionItemBodyExtendProps {
33
+ }
34
+ export interface AccordionItemIndicatorProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AccordionItemIndicatorExtendProps {
52
35
  }
@@ -1,70 +1,66 @@
1
- <script
2
- lang="ts"
3
- generics="E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base"
4
- >
5
- import type { HTMLAttributes } from 'svelte/elements';
6
- import { HtmlAtom, type Base } from '../atom';
7
- import { AlertBond } from './bond.svelte';
8
- import type { AlertCloseButtonProps } from './types';
9
- import { Icon } from '../icon';
10
-
11
- type Element = HTMLElementTagNameMap[E];
12
-
13
- const bond = AlertBond.get();
14
-
15
- let {
16
- class: klass = '',
17
- as = 'button' as E,
18
- preset = 'alert.close-button',
19
- children = undefined,
20
- onmount = undefined,
21
- ondestroy = undefined,
22
- animate = undefined,
23
- enter = undefined,
24
- exit = undefined,
25
- initial = undefined,
26
- ...restProps
27
- }: AlertCloseButtonProps<E, B> & HTMLAttributes<Element> = $props();
28
-
29
- const isDismissible = $derived(bond?.state.isDismissible ?? false);
30
-
31
- const closeButtonProps = $derived({
32
- ...bond?.closeButton(),
33
- ...restProps
34
- });
35
- </script>
36
-
37
- {#if isDismissible}
38
- <HtmlAtom
39
- {as}
40
- {bond}
41
- {preset}
42
- class={[
43
- 'alert-close-button border-border flex size-6 items-center justify-center rounded p-0.5 transition-colors hover:bg-black/10 dark:hover:bg-white/10',
44
- '$preset',
45
- klass
46
- ]}
47
- onmount={onmount?.bind(bond.state)}
48
- ondestroy={ondestroy?.bind(bond.state)}
49
- animate={animate?.bind(bond.state)}
50
- enter={enter?.bind(bond.state)}
51
- exit={exit?.bind(bond.state)}
52
- initial={initial?.bind(bond.state)}
53
- {...closeButtonProps}
54
- >
55
- {#if children}
56
- {@render children({ alert: bond! })}
57
- {:else}
58
- <Icon class="h-full">
59
- <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
60
- <path
61
- stroke-linecap="round"
62
- stroke-linejoin="round"
63
- stroke-width="2"
64
- d="M6 18L18 6M6 6l12 12"
65
- />
66
- </svg>
67
- </Icon>
68
- {/if}
69
- </HtmlAtom>
70
- {/if}
1
+ <script
2
+ lang="ts"
3
+ generics="E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base"
4
+ >
5
+ import type { HTMLAttributes } from 'svelte/elements';
6
+ import { HtmlAtom, type Base } from '../atom';
7
+ import { AlertBond } from './bond.svelte';
8
+ import type { AlertCloseButtonProps } from './types';
9
+ import { Icon } from '../icon';
10
+
11
+ type Element = HTMLElementTagNameMap[E];
12
+
13
+ const bond = AlertBond.get();
14
+
15
+ let {
16
+ class: klass = '',
17
+ as = 'button' as E,
18
+ preset = 'alert.close-button',
19
+ children = undefined,
20
+ onmount = undefined,
21
+ ondestroy = undefined,
22
+ animate = undefined,
23
+ enter = undefined,
24
+ exit = undefined,
25
+ initial = undefined,
26
+ ...restProps
27
+ }: AlertCloseButtonProps<E, B> & HTMLAttributes<Element> = $props();
28
+
29
+ const closeButtonProps = $derived({
30
+ ...bond?.closeButton(),
31
+ ...restProps
32
+ });
33
+ </script>
34
+
35
+ <HtmlAtom
36
+ {as}
37
+ {bond}
38
+ {preset}
39
+ class={[
40
+ 'alert-close-button border-border flex size-6 items-center justify-center rounded p-0.5 transition-colors hover:bg-black/10 dark:hover:bg-white/10',
41
+ '$preset',
42
+ klass
43
+ ]}
44
+ onmount={onmount?.bind(bond.state)}
45
+ ondestroy={ondestroy?.bind(bond.state)}
46
+ animate={animate?.bind(bond.state)}
47
+ enter={enter?.bind(bond.state)}
48
+ exit={exit?.bind(bond.state)}
49
+ initial={initial?.bind(bond.state)}
50
+ {...closeButtonProps}
51
+ >
52
+ {#if children}
53
+ {@render children({ alert: bond! })}
54
+ {:else}
55
+ <Icon class="h-full">
56
+ <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
57
+ <path
58
+ stroke-linecap="round"
59
+ stroke-linejoin="round"
60
+ stroke-width="2"
61
+ d="M6 18L18 6M6 6l12 12"
62
+ />
63
+ </svg>
64
+ </Icon>
65
+ {/if}
66
+ </HtmlAtom>
@@ -1,42 +1,42 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { HtmlAtom, type Base } from '../atom';
3
- import { AlertBond } from './bond.svelte';
4
- export type { AlertDescriptionProps } from './types';
5
-
6
- const bond = AlertBond.get();
7
-
8
- let {
9
- class: klass = '',
10
- as = 'p' as E,
11
- preset = 'alert.description',
12
- children = undefined,
13
- onmount = undefined,
14
- ondestroy = undefined,
15
- animate = undefined,
16
- enter = undefined,
17
- exit = undefined,
18
- initial = undefined,
19
- ...restProps
20
- }: AlertDescriptionProps<E, B> = $props();
21
-
22
- const descriptionProps = $derived({
23
- ...bond?.description(),
24
- ...restProps
25
- });
26
- </script>
27
-
28
- <HtmlAtom
29
- {bond}
30
- {preset}
31
- class={['alert-description border-border mt-1 text-sm leading-relaxed', '$preset', klass]}
32
- onmount={onmount?.bind(bond.state)}
33
- ondestroy={ondestroy?.bind(bond.state)}
34
- animate={animate?.bind(bond.state)}
35
- enter={enter?.bind(bond.state)}
36
- exit={exit?.bind(bond.state)}
37
- initial={initial?.bind(bond.state)}
38
- {as}
39
- {...descriptionProps}
40
- >
41
- {@render children?.({ alert: bond! })}
42
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import { AlertBond } from './bond.svelte';
4
+ import type { AlertDescriptionProps } from './types';
5
+
6
+ const bond = AlertBond.get();
7
+
8
+ let {
9
+ class: klass = '',
10
+ as = 'p' as E,
11
+ preset = 'alert.description',
12
+ children = undefined,
13
+ onmount = undefined,
14
+ ondestroy = undefined,
15
+ animate = undefined,
16
+ enter = undefined,
17
+ exit = undefined,
18
+ initial = undefined,
19
+ ...restProps
20
+ }: AlertDescriptionProps<E, B> = $props();
21
+
22
+ const descriptionProps = $derived({
23
+ ...bond?.description(),
24
+ ...restProps
25
+ });
26
+ </script>
27
+
28
+ <HtmlAtom
29
+ {bond}
30
+ {preset}
31
+ class={['alert-description border-border mt-1 text-sm leading-relaxed', '$preset', klass]}
32
+ onmount={onmount?.bind(bond.state)}
33
+ ondestroy={ondestroy?.bind(bond.state)}
34
+ animate={animate?.bind(bond.state)}
35
+ enter={enter?.bind(bond.state)}
36
+ exit={exit?.bind(bond.state)}
37
+ initial={initial?.bind(bond.state)}
38
+ {as}
39
+ {...descriptionProps}
40
+ >
41
+ {@render children?.({ alert: bond! })}
42
+ </HtmlAtom>
@@ -1,9 +1,8 @@
1
1
  import { type Base } from '../atom';
2
+ import type { AlertDescriptionProps } from './types';
2
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
3
4
  props: AlertDescriptionProps<E, B>;
4
- exports: {
5
- AlertDescriptionProps: typeof AlertDescriptionProps;
6
- };
5
+ exports: {};
7
6
  bindings: "";
8
7
  slots: {};
9
8
  events: {};
@@ -13,9 +12,7 @@ declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B
13
12
  events(): ReturnType<typeof $$render<E, B>>['events'];
14
13
  slots(): ReturnType<typeof $$render<E, B>>['slots'];
15
14
  bindings(): "";
16
- exports(): {
17
- AlertDescriptionProps: typeof AlertDescriptionProps;
18
- };
15
+ exports(): {};
19
16
  }
20
17
  interface $$IsomorphicComponent {
21
18
  new <E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<E, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<E, B>['props']>, ReturnType<__sveltets_Render<E, B>['events']>, ReturnType<__sveltets_Render<E, B>['slots']>> & {