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

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 (186) hide show
  1. package/README.md +852 -645
  2. package/dist/components/accordion/accordion-root.svelte +61 -61
  3. package/dist/components/accordion/item/accordion-item-body.svelte +42 -42
  4. package/dist/components/accordion/item/accordion-item-header.svelte +50 -50
  5. package/dist/components/accordion/item/accordion-item-indicator.svelte +50 -50
  6. package/dist/components/accordion/item/accordion-item-root.svelte +65 -65
  7. package/dist/components/alert/alert-actions.svelte +43 -42
  8. package/dist/components/alert/alert-close-button.svelte +70 -72
  9. package/dist/components/alert/alert-content.svelte +43 -42
  10. package/dist/components/alert/alert-description.svelte +42 -41
  11. package/dist/components/alert/alert-icon.svelte +47 -46
  12. package/dist/components/alert/alert-root.svelte +103 -102
  13. package/dist/components/alert/alert-title.svelte +42 -41
  14. package/dist/components/alert/alert.stories.svelte +384 -23
  15. package/dist/components/alert/alert.stories.svelte.d.ts +2 -5
  16. package/dist/components/atom/html-atom.svelte +207 -201
  17. package/dist/components/atom/html-atom.svelte.d.ts +1 -1
  18. package/dist/components/atom/snippet-renderer.svelte +5 -0
  19. package/dist/components/atom/snippet-renderer.svelte.d.ts +5 -0
  20. package/dist/components/avatar/avatar.stories.svelte.d.ts +1 -1
  21. package/dist/components/badge/badge.stories.svelte.d.ts +1 -1
  22. package/dist/components/breadcrumb/breadcrumb.stories.svelte.d.ts +1 -1
  23. package/dist/components/button/button.stories.svelte +17 -14
  24. package/dist/components/calendar/atoms.d.ts +5 -0
  25. package/dist/components/calendar/atoms.js +5 -0
  26. package/dist/components/calendar/bond.svelte.d.ts +72 -0
  27. package/dist/components/calendar/bond.svelte.js +132 -0
  28. package/dist/components/calendar/calendar-body.svelte +107 -0
  29. package/dist/components/calendar/calendar-body.svelte.d.ts +8 -0
  30. package/dist/components/calendar/calendar-day.svelte +96 -0
  31. package/dist/components/calendar/calendar-day.svelte.d.ts +4 -0
  32. package/dist/components/calendar/calendar-header.svelte +29 -0
  33. package/dist/components/calendar/calendar-header.svelte.d.ts +6 -0
  34. package/dist/components/calendar/calendar-root.svelte +206 -0
  35. package/dist/components/calendar/calendar-root.svelte.d.ts +8 -0
  36. package/dist/components/calendar/calendar-week-day.svelte +34 -0
  37. package/dist/components/calendar/calendar-week-day.svelte.d.ts +9 -0
  38. package/dist/components/calendar/calendar.css +26 -0
  39. package/dist/components/calendar/calendar.stories.svelte +31 -0
  40. package/dist/components/calendar/calendar.stories.svelte.d.ts +26 -0
  41. package/dist/components/calendar/index.d.ts +4 -0
  42. package/dist/components/calendar/index.js +4 -0
  43. package/dist/components/calendar/runes.svelte.d.ts +3 -0
  44. package/dist/components/calendar/runes.svelte.js +25 -0
  45. package/dist/components/calendar/types.d.ts +62 -0
  46. package/dist/components/calendar/types.js +1 -0
  47. package/dist/components/card/card-body.svelte +39 -39
  48. package/dist/components/card/card-description.svelte +41 -41
  49. package/dist/components/card/card-footer.svelte +41 -41
  50. package/dist/components/card/card-header.svelte +41 -41
  51. package/dist/components/card/card-media.svelte +41 -41
  52. package/dist/components/card/card-root.svelte +91 -91
  53. package/dist/components/card/card-subtitle.svelte +41 -41
  54. package/dist/components/card/card-title.svelte +45 -45
  55. package/dist/components/collapsible/collapsible-body.svelte +39 -39
  56. package/dist/components/collapsible/collapsible-header.svelte +39 -39
  57. package/dist/components/collapsible/collapsible-indicator.svelte +50 -50
  58. package/dist/components/collapsible/collapsible-root.svelte +66 -66
  59. package/dist/components/combobox/combobox-root.svelte +65 -65
  60. package/dist/components/container/container.stories.svelte.d.ts +1 -1
  61. package/dist/components/contextmenu/contextmenu-trigger.svelte.d.ts +1 -1
  62. package/dist/components/datagrid/bond.svelte.d.ts +2 -2
  63. package/dist/components/datagrid/datagrid-body.svelte +37 -37
  64. package/dist/components/datagrid/datagrid-checkbox.svelte +101 -101
  65. package/dist/components/datagrid/datagrid-footer.svelte +34 -34
  66. package/dist/components/datagrid/datagrid-header.svelte +49 -49
  67. package/dist/components/datagrid/datagrid-root.svelte +2 -2
  68. package/dist/components/datagrid/datagrid.css +5 -47
  69. package/dist/components/datagrid/td/datagrid-td.svelte +66 -66
  70. package/dist/components/datagrid/th/datagrid-th.svelte +106 -106
  71. package/dist/components/datagrid/tr/datagrid-tr.svelte +88 -88
  72. package/dist/components/datagrid/types.d.ts +1 -1
  73. package/dist/components/date-picker/atoms.d.ts +3 -0
  74. package/dist/components/date-picker/atoms.js +3 -0
  75. package/dist/components/date-picker/bond.svelte.d.ts +67 -0
  76. package/dist/components/date-picker/bond.svelte.js +174 -0
  77. package/dist/components/date-picker/date-picker-calendar.svelte +67 -0
  78. package/dist/components/date-picker/date-picker-calendar.svelte.d.ts +4 -0
  79. package/dist/components/date-picker/date-picker-header.svelte +100 -0
  80. package/dist/components/date-picker/date-picker-header.svelte.d.ts +4 -0
  81. package/dist/components/date-picker/date-picker-months.svelte +142 -0
  82. package/dist/components/date-picker/date-picker-months.svelte.d.ts +4 -0
  83. package/dist/components/date-picker/date-picker-root.svelte +95 -0
  84. package/dist/components/date-picker/date-picker-root.svelte.d.ts +4 -0
  85. package/dist/components/date-picker/date-picker-years.svelte +205 -0
  86. package/dist/components/date-picker/date-picker-years.svelte.d.ts +4 -0
  87. package/dist/components/date-picker/date-picker.stories.svelte +42 -0
  88. package/dist/components/date-picker/date-picker.stories.svelte.d.ts +3 -0
  89. package/dist/components/date-picker/index.d.ts +3 -0
  90. package/dist/components/date-picker/index.js +3 -0
  91. package/dist/components/date-picker/types.d.ts +53 -0
  92. package/dist/components/date-picker/types.js +1 -0
  93. package/dist/components/dialog/dialog-body.svelte +39 -39
  94. package/dist/components/dialog/dialog-close-button.svelte +58 -58
  95. package/dist/components/dialog/dialog-content.svelte +1 -1
  96. package/dist/components/dialog/dialog-description.svelte +40 -40
  97. package/dist/components/dialog/dialog-footer.svelte +39 -39
  98. package/dist/components/dialog/dialog-header.svelte +39 -39
  99. package/dist/components/dialog/dialog-root.svelte +110 -110
  100. package/dist/components/dialog/dialog-title.svelte +41 -41
  101. package/dist/components/drawer/drawer-backdrop.svelte +38 -38
  102. package/dist/components/drawer/drawer-body.svelte +42 -42
  103. package/dist/components/drawer/drawer-content.svelte +42 -42
  104. package/dist/components/drawer/drawer-description.svelte +44 -44
  105. package/dist/components/drawer/drawer-footer.svelte +41 -41
  106. package/dist/components/drawer/drawer-header.svelte +43 -43
  107. package/dist/components/drawer/drawer-root.svelte +93 -93
  108. package/dist/components/drawer/drawer-title.svelte +44 -44
  109. package/dist/components/dropdown/dropdown-query.svelte +54 -54
  110. package/dist/components/dropdown/dropdown-root.svelte +59 -59
  111. package/dist/components/dropdown/dropdown-trigger.svelte +41 -41
  112. package/dist/components/dropdown/dropdown-value.svelte +60 -60
  113. package/dist/components/element/types.d.ts +1 -1
  114. package/dist/components/form/bond.svelte.d.ts +1 -1
  115. package/dist/components/form/field/field-control.svelte +48 -48
  116. package/dist/components/form/field/field-label.svelte +24 -24
  117. package/dist/components/form/field/field-root.svelte +59 -59
  118. package/dist/components/icon/icon.svelte +44 -44
  119. package/dist/components/image/image.stories.svelte.d.ts +1 -1
  120. package/dist/components/index.d.ts +4 -0
  121. package/dist/components/index.js +4 -0
  122. package/dist/components/input/input-control.svelte +103 -103
  123. package/dist/components/label/label.svelte +25 -25
  124. package/dist/components/lazy/index.d.ts +1 -0
  125. package/dist/components/lazy/index.js +1 -0
  126. package/dist/components/lazy/lazy.stories.svelte +35 -0
  127. package/dist/components/lazy/lazy.stories.svelte.d.ts +19 -0
  128. package/dist/components/lazy/lazy.svelte +28 -0
  129. package/dist/components/lazy/lazy.svelte.d.ts +5 -0
  130. package/dist/components/lazy/types.d.ts +10 -0
  131. package/dist/components/lazy/types.js +1 -0
  132. package/dist/components/menu/menu-list.svelte +40 -39
  133. package/dist/components/menu/menu-list.svelte.d.ts +1 -0
  134. package/dist/components/popover/popover-arrow.svelte +111 -111
  135. package/dist/components/popover/popover-content.svelte +178 -139
  136. package/dist/components/popover/popover-root.svelte +16 -17
  137. package/dist/components/popover/popover.stories.svelte +0 -15
  138. package/dist/components/portal/portal-root.svelte +83 -83
  139. package/dist/components/portal/teleport.svelte +50 -50
  140. package/dist/components/qr-code/index.d.ts +2 -0
  141. package/dist/components/qr-code/index.js +2 -0
  142. package/dist/components/qr-code/qr-code.stories.svelte +27 -0
  143. package/dist/components/qr-code/qr-code.stories.svelte.d.ts +26 -0
  144. package/dist/components/qr-code/qr-code.svelte +75 -0
  145. package/dist/components/qr-code/qr-code.svelte.d.ts +4 -0
  146. package/dist/components/qr-code/types.d.ts +14 -0
  147. package/dist/components/qr-code/types.js +1 -0
  148. package/dist/components/radio/radio.svelte +109 -109
  149. package/dist/components/radio/types.svelte.d.ts +1 -1
  150. package/dist/components/scrollable/scrollable-container.svelte +82 -82
  151. package/dist/components/scrollable/scrollable-content.svelte +41 -41
  152. package/dist/components/scrollable/scrollable-root.svelte +100 -100
  153. package/dist/components/scrollable/scrollable-thumb.svelte +75 -75
  154. package/dist/components/scrollable/scrollable-track.svelte +59 -59
  155. package/dist/components/scrollable/scrollable.stories.svelte.d.ts +1 -1
  156. package/dist/components/sidebar/bond.svelte.d.ts +0 -5
  157. package/dist/components/sidebar/bond.svelte.js +1 -12
  158. package/dist/components/sidebar/sidebar-content.svelte +39 -39
  159. package/dist/components/sidebar/sidebar-content.svelte.d.ts +2 -2
  160. package/dist/components/sidebar/sidebar-root.svelte +41 -68
  161. package/dist/components/sidebar/sidebar-root.svelte.d.ts +2 -2
  162. package/dist/components/sidebar/sidebar.stories.svelte +54 -52
  163. package/dist/components/sidebar/types.d.ts +6 -6
  164. package/dist/components/tabs/tab/tab-body.svelte +52 -52
  165. package/dist/components/tabs/tab/tab-description.svelte +41 -41
  166. package/dist/components/tabs/tab/tab-header.svelte +71 -71
  167. package/dist/components/tabs/tab/tab-root.svelte +86 -86
  168. package/dist/components/toast/toast-description.svelte +38 -38
  169. package/dist/components/toast/toast-root.svelte +61 -61
  170. package/dist/components/toast/toast-title.svelte +35 -35
  171. package/dist/components/tree/tree-body.svelte +39 -39
  172. package/dist/components/tree/tree-header.svelte +54 -54
  173. package/dist/components/tree/tree-indicator.svelte +40 -40
  174. package/dist/components/tree/tree-root.svelte +65 -65
  175. package/dist/components/virtual/virtual-root.svelte +239 -239
  176. package/dist/context/preset.svelte.d.ts +1 -1
  177. package/dist/icons/icon-arrow-down.svelte.d.ts +1 -1
  178. package/dist/icons/icon-checkmark.svelte.d.ts +1 -1
  179. package/dist/icons/icon-close.svelte.d.ts +1 -1
  180. package/dist/icons/icon-more-vert.svelte.d.ts +1 -1
  181. package/dist/runes/container.svelte.d.ts +2 -2
  182. package/dist/shared/bond.svelte.d.ts +1 -1
  183. package/dist/utils/state.d.ts +1 -1
  184. package/dist/utils/state.js +2 -1
  185. package/llm/variants.md +650 -103
  186. package/package.json +465 -437
@@ -0,0 +1,31 @@
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { Calendar as CalendarModule } from '.';
4
+
5
+ const { Story } = defineMeta({
6
+ title: 'Atoms/Calendar'
7
+ });
8
+ </script>
9
+
10
+ <script>
11
+ import { Root } from '../root';
12
+ </script>
13
+
14
+ <Story name="Calendar">
15
+ {#snippet children({ args })}
16
+ <Root>
17
+ {#snippet children({})}
18
+ <div class="flex h-fit items-center justify-center">
19
+ <CalendarModule.Root>
20
+ <CalendarModule.Header></CalendarModule.Header>
21
+ <CalendarModule.Body>
22
+ {#snippet children({ day })}
23
+ <CalendarModule.Day {day}></CalendarModule.Day>
24
+ {/snippet}
25
+ </CalendarModule.Body>
26
+ </CalendarModule.Root>
27
+ </div>
28
+ {/snippet}
29
+ </Root>
30
+ {/snippet}
31
+ </Story>
@@ -0,0 +1,26 @@
1
+ export default Calendar;
2
+ type Calendar = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string;
8
+ };
9
+ declare const Calendar: $$__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
+ }
@@ -0,0 +1,4 @@
1
+ export * as Calendar from './atoms';
2
+ export * from './bond.svelte';
3
+ export * from './runes.svelte';
4
+ export * from './types';
@@ -0,0 +1,4 @@
1
+ export * as Calendar from './atoms';
2
+ export * from './bond.svelte';
3
+ export * from './runes.svelte';
4
+ export * from './types';
@@ -0,0 +1,3 @@
1
+ export declare function today(ms?: number): {
2
+ readonly current: Date;
3
+ };
@@ -0,0 +1,25 @@
1
+ export function today(ms = 1000 * 60) {
2
+ // eslint-disable-next-line svelte/prefer-svelte-reactivity
3
+ let date = $state(new Date());
4
+ const date_readonly = $derived(date);
5
+ let timeout_id = undefined;
6
+ let interval_id = undefined;
7
+ $effect(() => {
8
+ timeout_id = setTimeout(() => {
9
+ interval_id = setInterval(() => {
10
+ // eslint-disable-next-line svelte/prefer-svelte-reactivity
11
+ date = new Date();
12
+ }, ms);
13
+ // eslint-disable-next-line svelte/prefer-svelte-reactivity
14
+ }, 1000 - new Date().getMilliseconds());
15
+ return () => {
16
+ clearTimeout(timeout_id);
17
+ clearInterval(interval_id);
18
+ };
19
+ });
20
+ return {
21
+ get current() {
22
+ return date_readonly;
23
+ }
24
+ };
25
+ }
@@ -0,0 +1,62 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { Factory } from '../../types';
3
+ import type { CalendarBond } from './bond.svelte';
4
+ export type Day = {
5
+ id: number;
6
+ date: Date;
7
+ dayOfMonth: number;
8
+ offmonth: boolean;
9
+ today: boolean;
10
+ week: number;
11
+ month: number;
12
+ disabled: boolean;
13
+ weekend: boolean;
14
+ name: string;
15
+ fullname: string;
16
+ readonly fromNextMonth: boolean;
17
+ readonly fromPreviousMonth: boolean;
18
+ };
19
+ export type Month = {
20
+ name: string;
21
+ fullname: string;
22
+ start: Date;
23
+ end: Date | undefined;
24
+ days: Day[];
25
+ };
26
+ export type CalendarRange = [Date | undefined, Date | undefined];
27
+ export interface CalendarRootProps {
28
+ class?: string;
29
+ preset?: string;
30
+ value?: Date;
31
+ range?: CalendarRange;
32
+ start?: Date;
33
+ end?: Date;
34
+ min?: Date;
35
+ max?: Date;
36
+ pivote?: Date;
37
+ type?: 'range' | 'single';
38
+ extend?: Record<string, unknown>;
39
+ factory?: Factory<CalendarBond>;
40
+ onchange?: (ev: CustomEvent, params: {
41
+ range: CalendarRange;
42
+ pivote: Date;
43
+ }) => void;
44
+ children?: Snippet<[
45
+ {
46
+ calendar: CalendarBond;
47
+ }
48
+ ]>;
49
+ }
50
+ export interface CalendarDayProps {
51
+ class?: string;
52
+ preset?: string;
53
+ day: Day;
54
+ as?: string;
55
+ onclick?: () => void;
56
+ readonly element?: HTMLElement;
57
+ children?: Snippet<[
58
+ {
59
+ calendar: CalendarBond;
60
+ }
61
+ ]>;
62
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,39 +1,39 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { HtmlAtom, type Base } from '../atom';
3
- export type { CardContentProps } from './types';
4
- import { CardBond } from './bond.svelte';
5
-
6
- const bond = CardBond.get();
7
-
8
- let {
9
- class: klass = '',
10
- children = undefined,
11
- onmount = undefined,
12
- ondestroy = undefined,
13
- animate = undefined,
14
- enter = undefined,
15
- exit = undefined,
16
- initial = undefined,
17
- ...restProps
18
- }: CardContentProps<E, B> = $props();
19
-
20
- const contentProps = $derived({
21
- ...bond?.content(),
22
- ...restProps
23
- });
24
- </script>
25
-
26
- <HtmlAtom
27
- {bond}
28
- preset="card.content"
29
- class={['card-content border-border px-4', '$preset', klass]}
30
- enter={enter?.bind(bond.state)}
31
- exit={exit?.bind(bond.state)}
32
- initial={initial?.bind(bond.state)}
33
- animate={animate?.bind(bond.state)}
34
- onmount={onmount?.bind(bond.state)}
35
- ondestroy={ondestroy?.bind(bond.state)}
36
- {...contentProps}
37
- >
38
- {@render children?.()}
39
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ export type { CardContentProps } from './types';
4
+ import { CardBond } from './bond.svelte';
5
+
6
+ const bond = CardBond.get();
7
+
8
+ let {
9
+ class: klass = '',
10
+ children = undefined,
11
+ onmount = undefined,
12
+ ondestroy = undefined,
13
+ animate = undefined,
14
+ enter = undefined,
15
+ exit = undefined,
16
+ initial = undefined,
17
+ ...restProps
18
+ }: CardContentProps<E, B> = $props();
19
+
20
+ const contentProps = $derived({
21
+ ...bond?.content(),
22
+ ...restProps
23
+ });
24
+ </script>
25
+
26
+ <HtmlAtom
27
+ {bond}
28
+ preset="card.content"
29
+ class={['card-content border-border px-4', '$preset', klass]}
30
+ enter={enter?.bind(bond.state)}
31
+ exit={exit?.bind(bond.state)}
32
+ initial={initial?.bind(bond.state)}
33
+ animate={animate?.bind(bond.state)}
34
+ onmount={onmount?.bind(bond.state)}
35
+ ondestroy={ondestroy?.bind(bond.state)}
36
+ {...contentProps}
37
+ >
38
+ {@render children?.()}
39
+ </HtmlAtom>
@@ -1,41 +1,41 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { HtmlAtom, type Base } from '../atom';
3
- import type { CardDescriptionProps } from './types';
4
- import { CardBond } from './bond.svelte';
5
-
6
- const bond = CardBond.get();
7
-
8
- let {
9
- class: klass = '',
10
- as = 'p' as E,
11
- children = undefined,
12
- onmount = undefined,
13
- ondestroy = undefined,
14
- animate = undefined,
15
- enter = undefined,
16
- exit = undefined,
17
- initial = undefined,
18
- ...restProps
19
- }: CardDescriptionProps<E, B> = $props();
20
-
21
- const descriptionProps = $derived({
22
- ...bond?.description(),
23
- ...restProps
24
- });
25
- </script>
26
-
27
- <HtmlAtom
28
- {as}
29
- {bond}
30
- preset="card.description"
31
- class={['card-description border-border text-sm text-gray-500', '$preset', klass]}
32
- enter={enter?.bind(bond.state)}
33
- exit={exit?.bind(bond.state)}
34
- initial={initial?.bind(bond.state)}
35
- animate={animate?.bind(bond.state)}
36
- onmount={onmount?.bind(bond.state)}
37
- ondestroy={ondestroy?.bind(bond.state)}
38
- {...descriptionProps}
39
- >
40
- {@render children?.()}
41
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import type { CardDescriptionProps } from './types';
4
+ import { CardBond } from './bond.svelte';
5
+
6
+ const bond = CardBond.get();
7
+
8
+ let {
9
+ class: klass = '',
10
+ as = 'p' as E,
11
+ children = undefined,
12
+ onmount = undefined,
13
+ ondestroy = undefined,
14
+ animate = undefined,
15
+ enter = undefined,
16
+ exit = undefined,
17
+ initial = undefined,
18
+ ...restProps
19
+ }: CardDescriptionProps<E, B> = $props();
20
+
21
+ const descriptionProps = $derived({
22
+ ...bond?.description(),
23
+ ...restProps
24
+ });
25
+ </script>
26
+
27
+ <HtmlAtom
28
+ {as}
29
+ {bond}
30
+ preset="card.description"
31
+ class={['card-description border-border text-sm text-gray-500', '$preset', klass]}
32
+ enter={enter?.bind(bond.state)}
33
+ exit={exit?.bind(bond.state)}
34
+ initial={initial?.bind(bond.state)}
35
+ animate={animate?.bind(bond.state)}
36
+ onmount={onmount?.bind(bond.state)}
37
+ ondestroy={ondestroy?.bind(bond.state)}
38
+ {...descriptionProps}
39
+ >
40
+ {@render children?.()}
41
+ </HtmlAtom>
@@ -1,41 +1,41 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { HtmlAtom, type Base } from '../atom';
3
- import { CardBond } from './bond.svelte';
4
- export type { CardFooterProps } from './types';
5
-
6
- const bond = CardBond.get();
7
-
8
- let {
9
- class: klass = '',
10
- as = 'div' as E,
11
- children = undefined,
12
- onmount = undefined,
13
- ondestroy = undefined,
14
- animate = undefined,
15
- enter = undefined,
16
- exit = undefined,
17
- initial = undefined,
18
- ...restProps
19
- }: CardFooterProps<E, B> = $props();
20
-
21
- const footerProps = $derived({
22
- ...bond?.footer(),
23
- ...restProps
24
- });
25
- </script>
26
-
27
- <HtmlAtom
28
- {as}
29
- {bond}
30
- preset="card.footer"
31
- class={['card-footer border-border flex items-center gap-2 px-4 py-4', '$preset', klass]}
32
- enter={enter?.bind(bond.state)}
33
- exit={exit?.bind(bond.state)}
34
- initial={initial?.bind(bond.state)}
35
- animate={animate?.bind(bond.state)}
36
- onmount={onmount?.bind(bond.state)}
37
- ondestroy={ondestroy?.bind(bond.state)}
38
- {...footerProps}
39
- >
40
- {@render children?.()}
41
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import { CardBond } from './bond.svelte';
4
+ export type { CardFooterProps } from './types';
5
+
6
+ const bond = CardBond.get();
7
+
8
+ let {
9
+ class: klass = '',
10
+ as = 'div' as E,
11
+ children = undefined,
12
+ onmount = undefined,
13
+ ondestroy = undefined,
14
+ animate = undefined,
15
+ enter = undefined,
16
+ exit = undefined,
17
+ initial = undefined,
18
+ ...restProps
19
+ }: CardFooterProps<E, B> = $props();
20
+
21
+ const footerProps = $derived({
22
+ ...bond?.footer(),
23
+ ...restProps
24
+ });
25
+ </script>
26
+
27
+ <HtmlAtom
28
+ {as}
29
+ {bond}
30
+ preset="card.footer"
31
+ class={['card-footer border-border flex items-center gap-2 px-4 py-4', '$preset', klass]}
32
+ enter={enter?.bind(bond.state)}
33
+ exit={exit?.bind(bond.state)}
34
+ initial={initial?.bind(bond.state)}
35
+ animate={animate?.bind(bond.state)}
36
+ onmount={onmount?.bind(bond.state)}
37
+ ondestroy={ondestroy?.bind(bond.state)}
38
+ {...footerProps}
39
+ >
40
+ {@render children?.()}
41
+ </HtmlAtom>
@@ -1,41 +1,41 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { HtmlAtom, type Base } from '../atom';
3
- import { CardBond } from './bond.svelte';
4
- export type { CardHeaderProps } from './types';
5
-
6
- const bond = CardBond.get();
7
-
8
- let {
9
- class: klass = '',
10
- as = 'div' as E,
11
- children = undefined,
12
- onmount = undefined,
13
- ondestroy = undefined,
14
- animate = undefined,
15
- enter = undefined,
16
- exit = undefined,
17
- initial = undefined,
18
- ...restProps
19
- }: CardHeaderProps<E, B> = $props();
20
-
21
- const headerProps = $derived({
22
- ...bond?.header(),
23
- ...restProps
24
- });
25
- </script>
26
-
27
- <HtmlAtom
28
- {as}
29
- {bond}
30
- preset="card.header"
31
- class={['card-header border-border flex flex-col space-y-1.5 px-4 py-4', '$preset', klass]}
32
- enter={enter?.bind(bond.state)}
33
- exit={exit?.bind(bond.state)}
34
- initial={initial?.bind(bond.state)}
35
- animate={animate?.bind(bond.state)}
36
- onmount={onmount?.bind(bond.state)}
37
- ondestroy={ondestroy?.bind(bond.state)}
38
- {...headerProps}
39
- >
40
- {@render children?.()}
41
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import { CardBond } from './bond.svelte';
4
+ export type { CardHeaderProps } from './types';
5
+
6
+ const bond = CardBond.get();
7
+
8
+ let {
9
+ class: klass = '',
10
+ as = 'div' as E,
11
+ children = undefined,
12
+ onmount = undefined,
13
+ ondestroy = undefined,
14
+ animate = undefined,
15
+ enter = undefined,
16
+ exit = undefined,
17
+ initial = undefined,
18
+ ...restProps
19
+ }: CardHeaderProps<E, B> = $props();
20
+
21
+ const headerProps = $derived({
22
+ ...bond?.header(),
23
+ ...restProps
24
+ });
25
+ </script>
26
+
27
+ <HtmlAtom
28
+ {as}
29
+ {bond}
30
+ preset="card.header"
31
+ class={['card-header border-border flex flex-col space-y-1.5 px-4 py-4', '$preset', klass]}
32
+ enter={enter?.bind(bond.state)}
33
+ exit={exit?.bind(bond.state)}
34
+ initial={initial?.bind(bond.state)}
35
+ animate={animate?.bind(bond.state)}
36
+ onmount={onmount?.bind(bond.state)}
37
+ ondestroy={ondestroy?.bind(bond.state)}
38
+ {...headerProps}
39
+ >
40
+ {@render children?.()}
41
+ </HtmlAtom>
@@ -1,41 +1,41 @@
1
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
- import { HtmlAtom, type Base } from '../atom';
3
- import { CardBond } from './bond.svelte';
4
- export type { CardMediaProps } from './types';
5
-
6
- const bond = CardBond.get();
7
-
8
- let {
9
- class: klass = '',
10
- as = 'div' as E,
11
- children = undefined,
12
- onmount = undefined,
13
- ondestroy = undefined,
14
- animate = undefined,
15
- enter = undefined,
16
- exit = undefined,
17
- initial = undefined,
18
- ...restProps
19
- }: CardMediaProps<E, B> = $props();
20
-
21
- const mediaProps = $derived({
22
- ...bond?.media(),
23
- ...restProps
24
- });
25
- </script>
26
-
27
- <HtmlAtom
28
- {as}
29
- {bond}
30
- preset="card.media"
31
- class={['card-media border-border overflow-hidden', '$preset', klass]}
32
- enter={enter?.bind(bond.state)}
33
- exit={exit?.bind(bond.state)}
34
- initial={initial?.bind(bond.state)}
35
- animate={animate?.bind(bond.state)}
36
- onmount={onmount?.bind(bond.state)}
37
- ondestroy={ondestroy?.bind(bond.state)}
38
- {...mediaProps}
39
- >
40
- {@render children?.()}
41
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import { CardBond } from './bond.svelte';
4
+ export type { CardMediaProps } from './types';
5
+
6
+ const bond = CardBond.get();
7
+
8
+ let {
9
+ class: klass = '',
10
+ as = 'div' as E,
11
+ children = undefined,
12
+ onmount = undefined,
13
+ ondestroy = undefined,
14
+ animate = undefined,
15
+ enter = undefined,
16
+ exit = undefined,
17
+ initial = undefined,
18
+ ...restProps
19
+ }: CardMediaProps<E, B> = $props();
20
+
21
+ const mediaProps = $derived({
22
+ ...bond?.media(),
23
+ ...restProps
24
+ });
25
+ </script>
26
+
27
+ <HtmlAtom
28
+ {as}
29
+ {bond}
30
+ preset="card.media"
31
+ class={['card-media border-border overflow-hidden', '$preset', klass]}
32
+ enter={enter?.bind(bond.state)}
33
+ exit={exit?.bind(bond.state)}
34
+ initial={initial?.bind(bond.state)}
35
+ animate={animate?.bind(bond.state)}
36
+ onmount={onmount?.bind(bond.state)}
37
+ ondestroy={ondestroy?.bind(bond.state)}
38
+ {...mediaProps}
39
+ >
40
+ {@render children?.()}
41
+ </HtmlAtom>