@svelte-atoms/core 1.0.0-alpha.25 → 1.0.0-alpha.26

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 (152) hide show
  1. package/README.md +645 -645
  2. package/dist/components/accordion/accordion-root.svelte +1 -1
  3. package/dist/components/accordion/item/accordion-item-body.svelte +1 -1
  4. package/dist/components/accordion/item/accordion-item-header.svelte +5 -1
  5. package/dist/components/accordion/item/accordion-item-indicator.svelte +1 -1
  6. package/dist/components/accordion/item/accordion-item-root.svelte +1 -1
  7. package/dist/components/alert/alert-actions.svelte +1 -1
  8. package/dist/components/alert/alert-close-button.svelte +1 -1
  9. package/dist/components/alert/alert-content.svelte +1 -1
  10. package/dist/components/alert/alert-description.svelte +1 -1
  11. package/dist/components/alert/alert-icon.svelte +1 -1
  12. package/dist/components/alert/alert-root.svelte +1 -1
  13. package/dist/components/alert/alert-title.svelte +1 -1
  14. package/dist/components/atom/html-atom.svelte +201 -217
  15. package/dist/components/badge/badge.svelte +1 -1
  16. package/dist/components/breadcrumb/breadcrumb-item.svelte +1 -1
  17. package/dist/components/breadcrumb/breadcrumb-root.svelte +1 -1
  18. package/dist/components/breadcrumb/breadcrumb-separator.svelte +1 -1
  19. package/dist/components/button/button.stories.svelte +57 -57
  20. package/dist/components/button/button.svelte +1 -1
  21. package/dist/components/button/button.svelte.d.ts +4 -1
  22. package/dist/components/button/types.d.ts +1 -1
  23. package/dist/components/card/card-body.svelte +1 -1
  24. package/dist/components/card/card-description.svelte +1 -1
  25. package/dist/components/card/card-footer.svelte +1 -1
  26. package/dist/components/card/card-header.svelte +1 -1
  27. package/dist/components/card/card-media.svelte +1 -1
  28. package/dist/components/card/card-subtitle.svelte +1 -1
  29. package/dist/components/card/card-title.svelte +5 -1
  30. package/dist/components/checkbox/checkbox.svelte +39 -28
  31. package/dist/components/collapsible/collapsible-body.svelte +1 -1
  32. package/dist/components/collapsible/collapsible-header.svelte +1 -1
  33. package/dist/components/collapsible/collapsible-indicator.svelte +1 -1
  34. package/dist/components/collapsible/collapsible-root.svelte +1 -1
  35. package/dist/components/combobox/atoms.d.ts +5 -1
  36. package/dist/components/combobox/atoms.js +5 -1
  37. package/dist/components/combobox/{combobox-input.svelte → combobox-control.svelte} +3 -3
  38. package/dist/components/combobox/{combobox-input.svelte.d.ts → combobox-control.svelte.d.ts} +3 -3
  39. package/dist/components/combobox/combobox-trigger.svelte +1 -1
  40. package/dist/components/combobox/compobox-item.svelte +1 -1
  41. package/dist/components/container/container.svelte +1 -1
  42. package/dist/components/datagrid/datagrid-body.svelte +1 -1
  43. package/dist/components/datagrid/datagrid-footer.svelte +1 -1
  44. package/dist/components/datagrid/datagrid-header.svelte +1 -1
  45. package/dist/components/datagrid/datagrid-root.svelte +1 -1
  46. package/dist/components/datagrid/datagrid.stories.svelte +75 -75
  47. package/dist/components/datagrid/td/datagrid-td.svelte +1 -1
  48. package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte +1 -1
  49. package/dist/components/datagrid/th/datagrid-th.svelte +1 -1
  50. package/dist/components/dialog/dialog-body.svelte +1 -1
  51. package/dist/components/dialog/dialog-close-button.svelte +1 -1
  52. package/dist/components/dialog/dialog-content.svelte +8 -11
  53. package/dist/components/dialog/dialog-description.svelte +1 -1
  54. package/dist/components/dialog/dialog-footer.svelte +1 -1
  55. package/dist/components/dialog/dialog-header.svelte +1 -1
  56. package/dist/components/dialog/dialog-root.svelte +123 -120
  57. package/dist/components/dialog/dialog-root.svelte.d.ts +3 -1
  58. package/dist/components/dialog/dialog-title.svelte +1 -1
  59. package/dist/components/drawer/drawer-backdrop.svelte +1 -1
  60. package/dist/components/drawer/drawer-body.svelte +1 -1
  61. package/dist/components/drawer/drawer-description.svelte +1 -1
  62. package/dist/components/drawer/drawer-footer.svelte +1 -1
  63. package/dist/components/drawer/drawer-header.svelte +1 -1
  64. package/dist/components/drawer/drawer-root.svelte +118 -113
  65. package/dist/components/drawer/drawer-root.svelte.d.ts +5 -2
  66. package/dist/components/drawer/drawer-title.svelte +1 -1
  67. package/dist/components/dropdown/dropdown-placeholder.svelte +1 -1
  68. package/dist/components/dropdown/dropdown-query.svelte +1 -1
  69. package/dist/components/dropdown/dropdown-trigger.svelte +1 -1
  70. package/dist/components/dropdown/dropdown-value.svelte +1 -3
  71. package/dist/components/dropdown/item/bond.svelte.d.ts +4 -0
  72. package/dist/components/dropdown/item/bond.svelte.js +9 -0
  73. package/dist/components/dropdown/item/dropdown-item.svelte +10 -6
  74. package/dist/components/form/field/bond.svelte.d.ts +8 -0
  75. package/dist/components/form/field/bond.svelte.js +13 -1
  76. package/dist/components/form/field/field-control.svelte +7 -0
  77. package/dist/components/form/field/field-control.svelte.d.ts +2 -2
  78. package/dist/components/form/form.stories.svelte +3 -3
  79. package/dist/components/input/atoms.d.ts +5 -1
  80. package/dist/components/input/atoms.js +5 -1
  81. package/dist/components/input/{input-value.svelte → input-control.svelte} +107 -113
  82. package/dist/components/input/input-control.svelte.d.ts +27 -0
  83. package/dist/components/input/input-icon.svelte +1 -1
  84. package/dist/components/input/input-placeholder.svelte +54 -56
  85. package/dist/components/input/input-root.svelte +5 -12
  86. package/dist/components/input/input-root.svelte.d.ts +3 -20
  87. package/dist/components/input/input.stories.svelte +2 -2
  88. package/dist/components/input/types.d.ts +22 -0
  89. package/dist/components/input/types.js +1 -0
  90. package/dist/components/list/list-group.svelte +1 -1
  91. package/dist/components/list/list-item.svelte +1 -1
  92. package/dist/components/list/list-root.svelte +6 -1
  93. package/dist/components/list/list-title.svelte +1 -1
  94. package/dist/components/menu/menu-list.svelte +1 -1
  95. package/dist/components/popover/bond.svelte.d.ts +2 -0
  96. package/dist/components/popover/bond.svelte.js +1 -1
  97. package/dist/components/popover/popover-arrow.svelte +111 -117
  98. package/dist/components/popover/popover-arrow.svelte.d.ts +1 -2
  99. package/dist/components/popover/popover-content.svelte +139 -147
  100. package/dist/components/popover/popover-content.svelte.d.ts +3 -17
  101. package/dist/components/popover/popover-indicator.svelte +1 -1
  102. package/dist/components/popover/popover-root.svelte +49 -63
  103. package/dist/components/popover/popover-root.svelte.d.ts +1 -15
  104. package/dist/components/popover/popover-trigger.svelte +47 -56
  105. package/dist/components/popover/popover-trigger.svelte.d.ts +2 -8
  106. package/dist/components/popover/types.d.ts +39 -0
  107. package/dist/components/popover/types.js +1 -0
  108. package/dist/components/portal/active-portal.svelte +22 -16
  109. package/dist/components/portal/active-portal.svelte.d.ts +2 -2
  110. package/dist/components/portal/portal-inner.svelte +1 -1
  111. package/dist/components/portal/portal-root.svelte +1 -1
  112. package/dist/components/portal/teleport.svelte +55 -49
  113. package/dist/components/portal/teleport.svelte.d.ts +3 -2
  114. package/dist/components/radio/radio-group.stories.svelte +4 -4
  115. package/dist/components/radio/radio.svelte +3 -3
  116. package/dist/components/root/root.css +24 -66
  117. package/dist/components/root/root.svelte +1 -1
  118. package/dist/components/sidebar/sidebar-content.svelte +2 -16
  119. package/dist/components/sidebar/sidebar-content.svelte.d.ts +2 -9
  120. package/dist/components/sidebar/sidebar-root.svelte +4 -23
  121. package/dist/components/sidebar/sidebar-root.svelte.d.ts +2 -13
  122. package/dist/components/sidebar/types.d.ts +19 -0
  123. package/dist/components/sidebar/types.js +1 -0
  124. package/dist/components/stack/stack-item.svelte +5 -1
  125. package/dist/components/stack/stack-root.svelte +5 -1
  126. package/dist/components/tabs/tab/tab-body.svelte +1 -1
  127. package/dist/components/tabs/tab/tab-description.svelte +1 -1
  128. package/dist/components/tabs/tab/tab-header.svelte +2 -2
  129. package/dist/components/tabs/tab/tab-root.svelte +6 -1
  130. package/dist/components/tabs/tabs-body.svelte +1 -1
  131. package/dist/components/tabs/tabs-header.svelte +1 -1
  132. package/dist/components/tabs/tabs-root.svelte +1 -1
  133. package/dist/components/textarea/textarea-input.svelte +2 -1
  134. package/dist/components/toast/toast-description.svelte +1 -1
  135. package/dist/components/toast/toast-root.svelte +1 -1
  136. package/dist/components/toast/toast-title.svelte +1 -1
  137. package/dist/components/tree/tree-body.svelte +1 -1
  138. package/dist/components/tree/tree-header.svelte +1 -1
  139. package/dist/components/tree/tree-indicator.svelte +1 -1
  140. package/dist/components/tree/tree-root.svelte +1 -1
  141. package/dist/context/preset.svelte.d.ts +1 -1
  142. package/llm/composition.md +395 -395
  143. package/llm/crafting.md +838 -838
  144. package/llm/motion.md +970 -970
  145. package/llm/philosophy.md +23 -23
  146. package/llm/preset-variant-integration.md +516 -516
  147. package/llm/preset.md +383 -383
  148. package/llm/styling.md +216 -216
  149. package/llm/usage.md +46 -46
  150. package/llm/variants.md +712 -712
  151. package/package.json +437 -437
  152. package/dist/components/input/input-value.svelte.d.ts +0 -19
@@ -20,11 +20,12 @@
20
20
  --border: oklch(0.922 0 0);
21
21
  --input: oklch(0.922 0 0);
22
22
  --ring: oklch(0.708 0 0);
23
- --chart-1: oklch(0.81 0.1 252);
24
- --chart-2: oklch(0.62 0.19 260);
25
- --chart-3: oklch(0.55 0.22 263);
26
- --chart-4: oklch(0.49 0.22 264);
27
- --chart-5: oklch(0.42 0.18 266);
23
+ --chart-1: oklch(0.646 0.222 41.116);
24
+ --chart-2: oklch(0.6 0.118 184.704);
25
+ --chart-3: oklch(0.398 0.07 227.392);
26
+ --chart-4: oklch(0.828 0.189 84.429);
27
+ --chart-5: oklch(0.769 0.188 70.08);
28
+ --radius: 0.625rem;
28
29
  --sidebar: oklch(0.985 0 0);
29
30
  --sidebar-foreground: oklch(0.145 0 0);
30
31
  --sidebar-primary: oklch(0.205 0 0);
@@ -33,23 +34,13 @@
33
34
  --sidebar-accent-foreground: oklch(0.205 0 0);
34
35
  --sidebar-border: oklch(0.922 0 0);
35
36
  --sidebar-ring: oklch(0.708 0 0);
36
- --font-sans:
37
- ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
38
- 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
39
- 'Segoe UI Symbol', 'Noto Color Emoji';
40
- --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
41
- --font-mono:
42
- ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
43
- monospace;
44
37
  --radius: 0.625rem;
45
- --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
46
- --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
47
- --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
48
- --shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
49
- --shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);
50
- --shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1);
51
- --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1);
52
- --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25);
38
+ --shadow-x: 0px;
39
+ --shadow-y: 1px;
40
+ --shadow-blur: 2px;
41
+ --shadow-spread: 0px;
42
+ --shadow-opacity: 0.18;
43
+ --shadow-color: hsl(0 0% 0%);
53
44
  --tracking-normal: 0em;
54
45
  --spacing: 0.25rem;
55
46
  }
@@ -59,7 +50,7 @@
59
50
  --foreground: oklch(0.985 0 0);
60
51
  --card: oklch(0.205 0 0);
61
52
  --card-foreground: oklch(0.985 0 0);
62
- --popover: oklch(0.269 0 0);
53
+ --popover: oklch(0.205 0 0);
63
54
  --popover-foreground: oklch(0.985 0 0);
64
55
  --primary: oklch(0.922 0 0);
65
56
  --primary-foreground: oklch(0.205 0 0);
@@ -67,43 +58,27 @@
67
58
  --secondary-foreground: oklch(0.985 0 0);
68
59
  --muted: oklch(0.269 0 0);
69
60
  --muted-foreground: oklch(0.708 0 0);
70
- --accent: oklch(0.371 0 0);
61
+ --accent: oklch(0.269 0 0);
71
62
  --accent-foreground: oklch(0.985 0 0);
72
63
  --destructive: oklch(0.704 0.191 22.216);
73
64
  --destructive-foreground: oklch(0.985 0 0);
74
- --border: oklch(0.275 0 0);
75
- --input: oklch(0.325 0 0);
65
+ --border: oklch(1 0 0 / 10%);
66
+ --input: oklch(1 0 0 / 15%);
76
67
  --ring: oklch(0.556 0 0);
77
- --chart-1: oklch(0.81 0.1 252);
78
- --chart-2: oklch(0.62 0.19 260);
79
- --chart-3: oklch(0.55 0.22 263);
80
- --chart-4: oklch(0.49 0.22 264);
81
- --chart-5: oklch(0.42 0.18 266);
68
+ --chart-1: oklch(0.488 0.243 264.376);
69
+ --chart-2: oklch(0.696 0.17 162.48);
70
+ --chart-3: oklch(0.769 0.188 70.08);
71
+ --chart-4: oklch(0.627 0.265 303.9);
72
+ --chart-5: oklch(0.645 0.246 16.439);
82
73
  --sidebar: oklch(0.205 0 0);
83
74
  --sidebar-foreground: oklch(0.985 0 0);
84
75
  --sidebar-primary: oklch(0.488 0.243 264.376);
85
76
  --sidebar-primary-foreground: oklch(0.985 0 0);
86
77
  --sidebar-accent: oklch(0.269 0 0);
87
78
  --sidebar-accent-foreground: oklch(0.985 0 0);
88
- --sidebar-border: oklch(0.275 0 0);
89
- --sidebar-ring: oklch(0.439 0 0);
90
- --font-sans:
91
- ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
92
- 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
93
- 'Segoe UI Symbol', 'Noto Color Emoji';
94
- --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
95
- --font-mono:
96
- ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
97
- monospace;
98
- --radius: 0.625rem;
99
- --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
100
- --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
101
- --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
102
- --shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
103
- --shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);
104
- --shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1);
105
- --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1);
106
- --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25);
79
+ --sidebar-border: oklch(1 0 0 / 10%);
80
+ --sidebar-ring: oklch(0.556 0 0);
81
+ --shadow-color: hsl(0, 0%, 100%);
107
82
  }
108
83
 
109
84
  @theme inline {
@@ -140,22 +115,5 @@
140
115
  --color-sidebar-border: var(--sidebar-border);
141
116
  --color-sidebar-ring: var(--sidebar-ring);
142
117
 
143
- --font-sans: var(--font-sans);
144
- --font-mono: var(--font-mono);
145
- --font-serif: var(--font-serif);
146
-
147
- --radius-sm: calc(var(--radius) - 4px);
148
- --radius-md: calc(var(--radius) - 2px);
149
- --radius-lg: var(--radius);
150
- --radius-xl: calc(var(--radius) + 4px);
151
118
  --radius-inherit: inherit;
152
-
153
- --shadow-2xs: var(--shadow-2xs);
154
- --shadow-xs: var(--shadow-xs);
155
- --shadow-sm: var(--shadow-sm);
156
- --shadow: var(--shadow);
157
- --shadow-md: var(--shadow-md);
158
- --shadow-lg: var(--shadow-lg);
159
- --shadow-xl: var(--shadow-xl);
160
- --shadow-2xl: var(--shadow-2xl);
161
119
  }
@@ -114,7 +114,7 @@
114
114
  </Portal.Outer>
115
115
  {/if}
116
116
 
117
- <ActivePortal id="root.l0">
117
+ <ActivePortal portal="root.l0">
118
118
  {@render children?.()}
119
119
  </ActivePortal>
120
120
  </HtmlAtom>
@@ -1,21 +1,7 @@
1
- <script module lang="ts">
2
- import type { Snippet } from 'svelte';
3
-
4
- export type SlideoverContentProps<
5
- E extends keyof HTMLElementTagNameMap,
6
- B extends Base = Base
7
- > = Override<
8
- HtmlAtomProps<E, B>,
9
- {
10
- children?: Snippet<[{ sidebar?: SidebarBond<any> }]>;
11
- }
12
- >;
13
- </script>
14
-
15
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
16
3
  import { SidebarBond } from './bond.svelte';
17
- import type { Override } from '../../types';
18
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
4
+ import type { SlideoverContentProps } from './types';
19
5
 
20
6
  const bond = SidebarBond.get();
21
7
 
@@ -1,12 +1,5 @@
1
- import type { Snippet } from 'svelte';
2
- export type SlideoverContentProps<E extends keyof HTMLElementTagNameMap, B extends Base = Base> = Override<HtmlAtomProps<E, B>, {
3
- children?: Snippet<[{
4
- sidebar?: SidebarBond<any>;
5
- }]>;
6
- }>;
7
- import { SidebarBond } from './bond.svelte';
8
- import type { Override } from '../../types';
9
- import { type HtmlAtomProps, type Base } from '../atom';
1
+ import { type Base } from '../atom';
2
+ import type { SlideoverContentProps } from './types';
10
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
11
4
  props: SlideoverContentProps<E, B>;
12
5
  exports: {};
@@ -1,27 +1,8 @@
1
- <script module lang="ts">
2
- import type { Snippet } from 'svelte';
3
- import type { Factory } from '../../types';
4
-
5
- export type SlideoverRootProps<
6
- E extends keyof HTMLElementTagNameMap = 'div',
7
- B extends Base = Base
8
- > = Override<
9
- HtmlAtomProps<E, B>,
10
- {
11
- children?: Snippet<[{ sidebar?: SidebarBond }]>;
12
- }
13
- > & {
14
- open?: boolean;
15
- disabled?: boolean;
16
- factory?: Factory<SidebarBond>;
17
- };
18
- </script>
19
-
20
1
  <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
21
- import { SidebarBond, SidebarBondState, type SidebarBondProps } from './bond.svelte';
22
2
  import { defineProperty, defineState } from '../../utils';
23
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
24
- import type { Override } from '../../types';
3
+ import { HtmlAtom, type Base } from '../atom';
4
+ import { SidebarBond, SidebarBondState, type SidebarBondProps } from './bond.svelte';
5
+ import type { SlideoverRootProps } from './types';
25
6
 
26
7
  let {
27
8
  open = $bindable(false),
@@ -74,7 +55,7 @@
74
55
  <HtmlAtom
75
56
  {bond}
76
57
  preset="sidebar"
77
- class={['flex min-h-full w-full flex-1 flex-nowrap', '$preset', klass]}
58
+ class={['border-border flex min-h-full w-full flex-1 flex-nowrap', '$preset', klass]}
78
59
  enter={enter?.bind(bond.state)}
79
60
  exit={exit?.bind(bond.state)}
80
61
  initial={initial?.bind(bond.state)}
@@ -1,17 +1,6 @@
1
- import type { Snippet } from 'svelte';
2
- import type { Factory } from '../../types';
3
- export type SlideoverRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = Override<HtmlAtomProps<E, B>, {
4
- children?: Snippet<[{
5
- sidebar?: SidebarBond;
6
- }]>;
7
- }> & {
8
- open?: boolean;
9
- disabled?: boolean;
10
- factory?: Factory<SidebarBond>;
11
- };
1
+ import { type Base } from '../atom';
12
2
  import { SidebarBond, SidebarBondState, type SidebarBondProps } from './bond.svelte';
13
- import { type HtmlAtomProps, type Base } from '../atom';
14
- import type { Override } from '../../types';
3
+ import type { SlideoverRootProps } from './types';
15
4
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
16
5
  props: SlideoverRootProps<E, B>;
17
6
  exports: {
@@ -0,0 +1,19 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { Override } from '../../types';
3
+ import type { Factory } from '../../types';
4
+ import type { SidebarBond } from './bond.svelte';
5
+ import type { Base, HtmlAtomProps } from '../atom';
6
+ export type SlideoverRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = Override<HtmlAtomProps<E, B>, {
7
+ children?: Snippet<[{
8
+ sidebar?: SidebarBond;
9
+ }]>;
10
+ }> & {
11
+ open?: boolean;
12
+ disabled?: boolean;
13
+ factory?: Factory<SidebarBond>;
14
+ };
15
+ export type SlideoverContentProps<E extends keyof HTMLElementTagNameMap, B extends Base = Base> = Override<HtmlAtomProps<E, B>, {
16
+ children?: Snippet<[{
17
+ sidebar?: SidebarBond<any>;
18
+ }]>;
19
+ }>;
@@ -0,0 +1 @@
1
+ export {};
@@ -4,6 +4,10 @@
4
4
  let { class: klass = '', children, ...restProps } = $props();
5
5
  </script>
6
6
 
7
- <HtmlAtom preset="stack.item" class={['stack-item flex flex-1', '$preset', klass]} {...restProps}>
7
+ <HtmlAtom
8
+ preset="stack.item"
9
+ class={['stack-item border-border flex flex-1', '$preset', klass]}
10
+ {...restProps}
11
+ >
8
12
  {@render children?.()}
9
13
  </HtmlAtom>
@@ -18,6 +18,10 @@
18
18
  }: HtmlAtomProps<E, B> & HTMLAttributes<Element> = $props();
19
19
  </script>
20
20
 
21
- <HtmlAtom preset="stack.root" class={['stack-root flex flex-1', '$preset', klass]} {...restProps}>
21
+ <HtmlAtom
22
+ preset="stack.root"
23
+ class={['stack-root border-border flex flex-1', '$preset', klass]}
24
+ {...restProps}
25
+ >
22
26
  {@render children?.()}
23
27
  </HtmlAtom>
@@ -45,7 +45,7 @@
45
45
  <HtmlAtom
46
46
  preset="tab.body"
47
47
  class={[
48
- 'tab-body pointer-events-auto flex h-auto w-full min-w-full flex-1 flex-col',
48
+ 'tab-body border-border pointer-events-auto flex h-auto w-full min-w-full flex-1 flex-col',
49
49
  '$preset',
50
50
  klass
51
51
  ]}
@@ -36,7 +36,7 @@
36
36
  <HtmlAtom
37
37
  {bond}
38
38
  preset="tab.description"
39
- class={['$preset', klass]}
39
+ class={['border-border', '$preset', klass]}
40
40
  onmount={onmount?.bind(bond.state)}
41
41
  ondestroy={ondestroy?.bind(bond.state)}
42
42
  enter={enter?.bind(bond.state)}
@@ -58,8 +58,8 @@
58
58
  preset="tab.header"
59
59
  as="button"
60
60
  class={[
61
- 'text-foreground/60 hover:text-foreground/80 active:text-foreground/100 flex cursor-pointer items-center px-2 py-2 text-sm font-medium transition-colors duration-100',
62
- isActive && 'text-primary',
61
+ 'border-border text-foreground/60 hover:text-foreground/80 active:text-foreground/100 bg-foreground/0 hover:bg-foreground/5 active:bg-foreground/10 flex cursor-pointer items-center px-2 py-2 text-sm font-medium transition-colors duration-100',
62
+ isActive && 'text-primary bg-accent/10 hover:bg-accent/15 active:bg-accent/20',
63
63
  isDisabled && 'opacity-50',
64
64
  '$preset',
65
65
  klass
@@ -67,7 +67,12 @@
67
67
  <Stack.Item
68
68
  {bond}
69
69
  preset="tab"
70
- class={['tab-root flex flex-col', !isActive && 'pointer-events-none', '$preset', klass]}
70
+ class={[
71
+ 'border-border tab-root flex flex-col',
72
+ !isActive && 'pointer-events-none',
73
+ '$preset',
74
+ klass
75
+ ]}
71
76
  onmount={onmount?.bind(bond.state)}
72
77
  ondestroy={ondestroy?.bind(bond.state)}
73
78
  enter={enter?.bind(bond.state)}
@@ -27,7 +27,7 @@
27
27
  <Stack.Root
28
28
  {bond}
29
29
  preset="tabs.body"
30
- class={['tabs-body relative flex-1', '$preset', klass]}
30
+ class={['tabs-body border-border relative flex-1', '$preset', klass]}
31
31
  onmount={onmount?.bind(bond.state)}
32
32
  ondestroy={ondestroy?.bind(bond.state)}
33
33
  enter={enter?.bind(bond.state)}
@@ -25,7 +25,7 @@
25
25
  <HtmlAtom
26
26
  {bond}
27
27
  preset="tabs.header"
28
- class={['border-border relative flex min-w-full', '$preset', klass]}
28
+ class={['border-border border-border relative flex min-w-full', '$preset', klass]}
29
29
  onmount={onmount?.bind(bond.state)}
30
30
  ondestroy={ondestroy?.bind(bond.state)}
31
31
  enter={enter?.bind(bond.state)}
@@ -53,7 +53,7 @@
53
53
  <HtmlAtom
54
54
  {bond}
55
55
  preset="tabs"
56
- class={['flex w-full flex-1 flex-col gap-2', '$preset', klass]}
56
+ class={['border-border flex w-full flex-1 flex-col gap-2', '$preset', klass]}
57
57
  onmount={onmount?.bind(bond.state)}
58
58
  ondestroy={ondestroy?.bind(bond.state)}
59
59
  enter={enter?.bind(bond.state)}
@@ -2,4 +2,5 @@
2
2
  let { class: klass = '', value = $bindable(), ...restProps } = $props();
3
3
  </script>
4
4
 
5
- <textarea class={['w-full outline-none', '$preset', klass]} bind:value {...restProps}></textarea>
5
+ <textarea class={['border-border w-full outline-none', '$preset', klass]} bind:value {...restProps}
6
+ ></textarea>
@@ -31,7 +31,7 @@
31
31
  {as}
32
32
  {bond}
33
33
  preset="toast.description"
34
- class={['$preset', klass]}
34
+ class={['border-border', '$preset', klass]}
35
35
  enter={enter?.bind(bond.state)}
36
36
  exit={exit?.bind(bond.state)}
37
37
  initial={initial?.bind(bond.state)}
@@ -61,7 +61,7 @@
61
61
 
62
62
  <HtmlAtom
63
63
  {bond}
64
- class={['$preset', klass]}
64
+ class={['border-border', '$preset', klass]}
65
65
  enter={enter?.bind(bond.state)}
66
66
  exit={exit?.bind(bond.state)}
67
67
  initial={initial?.bind(bond.state)}
@@ -30,7 +30,7 @@
30
30
  <HtmlAtom
31
31
  {bond}
32
32
  preset="toast.title"
33
- class={['$preset', klass]}
33
+ class={['border-border', '$preset', klass]}
34
34
  enter={enter?.bind(bond.state)}
35
35
  exit={exit?.bind(bond.state)}
36
36
  initial={initial?.bind(bond.state)}
@@ -37,7 +37,7 @@
37
37
  <HtmlAtom
38
38
  {bond}
39
39
  preset="tree.body"
40
- class={['pl-4', '$preset', klass]}
40
+ class={['border-border pl-4', '$preset', klass]}
41
41
  onmount={onmount?.bind(bond.state)}
42
42
  ondestroy={ondestroy?.bind(bond.state)}
43
43
  animate={animate?.bind(bond.state)}
@@ -52,7 +52,7 @@
52
52
  <HtmlAtom
53
53
  {bond}
54
54
  preset="tree.header"
55
- class={['cursor-pointer', '$preset', klass]}
55
+ class={['border-border cursor-pointer', '$preset', klass]}
56
56
  onmount={onmount?.bind(bond.state)}
57
57
  ondestroy={ondestroy?.bind(bond.state)}
58
58
  animate={animate?.bind(bond.state)}
@@ -37,7 +37,7 @@
37
37
  <HtmlAtom
38
38
  {bond}
39
39
  preset="tree.indicator"
40
- class={['aspect-square h-fit', '$preset', klass]}
40
+ class={['border-border aspect-square h-fit', '$preset', klass]}
41
41
  onmount={onmount?.bind(bond.state)}
42
42
  ondestroy={ondestroy?.bind(bond.state)}
43
43
  animate={animate?.bind(bond.state)}
@@ -67,7 +67,7 @@
67
67
  <HtmlAtom
68
68
  {bond}
69
69
  preset="tree"
70
- class={['flex flex-col', '$preset', klass]}
70
+ class={['border-border flex flex-col', '$preset', klass]}
71
71
  onmount={onmount?.bind(bond.state)}
72
72
  ondestroy={ondestroy?.bind(bond.state)}
73
73
  animate={animate?.bind(bond.state)}
@@ -1,7 +1,7 @@
1
1
  import type { ClassValue } from 'svelte/elements';
2
2
  import type { Base } from '../components/atom';
3
3
  import type { Bond } from '../shared';
4
- export type PresetModuleName = 'accordion' | 'accordion.item.body' | 'accordion.item.header' | 'accordion.item.indicator' | 'accordion.item' | 'alert.actions' | 'alert.close-button' | 'alert.content' | 'alert.description' | 'alert.icon' | 'alert' | 'alert.title' | 'card.content' | 'card.description' | 'card.footer' | 'card.header' | 'card.media' | 'card' | 'card.subtitle' | 'card.title' | 'collapsible.body' | 'collapsible.header' | 'collapsible.indicator' | 'collapsible' | 'combobox.input' | 'combobox.trigger' | 'combobox.item' | 'dialog.close-button' | 'dialog.body' | 'dialog.content' | 'dialog.description' | 'dialog.footer' | 'dialog.header' | 'dialog' | 'dialog.title' | 'divider' | 'dropdown.placeholder' | 'dropdown.query' | 'dropdown.trigger' | 'dropdown.value' | 'dropdown' | 'field.control' | 'field.label' | 'field' | 'form' | 'icon' | 'input' | 'input.value' | 'input.placeholder' | 'label' | 'layer.inner' | 'layer' | 'link' | 'list.divider' | 'list.group' | 'list.item' | 'list.item' | 'list.item' | 'dropdown.item' | 'menu.body' | 'popover.arrow' | 'popover.indicator' | 'popover.content' | 'popover.trigger' | 'portal.inner' | 'portal' | 'root' | 'root.portals' | 'sidebar.content' | 'sidebar' | 'drawer.backdrop' | 'drawer.body' | 'drawer.content' | 'drawer.description' | 'drawer.title' | 'drawer.footer' | 'drawer.header' | 'drawer' | 'stack.root' | 'stack.item' | 'tabs.body' | 'tabs.header' | 'tabs' | 'tab.header' | 'tab.body' | 'tab.description' | 'tab' | 'tree.body' | 'tree.header' | 'tree.indicator' | 'tree' | 'datagrid' | 'datagrid.header' | 'datagrid.th' | 'datagrid.body' | 'datagrid.tr' | 'datagrid.td' | 'datagrid.footer' | 'datagrid.checkbox' | 'datagrid.sort-icon' | 'scrollable' | 'scrollable.container' | 'scrollable.content' | 'scrollable.track' | 'scrollable.thumb' | 'breadcrumb' | 'breadcrumb.item' | 'breadcrumb.separator' | 'badge' | 'button' | 'checkbox' | 'checkbox.checkmark' | 'checkbox.indeterminate' | 'radio' | 'radio.group' | 'container';
4
+ export type PresetModuleName = 'accordion' | 'accordion.item.body' | 'accordion.item.header' | 'accordion.item.indicator' | 'accordion.item' | 'alert.actions' | 'alert.close-button' | 'alert.content' | 'alert.description' | 'alert.icon' | 'alert' | 'alert.title' | 'card.content' | 'card.description' | 'card.footer' | 'card.header' | 'card.media' | 'card' | 'card.subtitle' | 'card.title' | 'collapsible.body' | 'collapsible.header' | 'collapsible.indicator' | 'collapsible' | 'combobox.control' | 'combobox.trigger' | 'combobox.item' | 'dialog.close-button' | 'dialog.body' | 'dialog.content' | 'dialog.description' | 'dialog.footer' | 'dialog.header' | 'dialog' | 'dialog.title' | 'divider' | 'dropdown.placeholder' | 'dropdown.query' | 'dropdown.trigger' | 'dropdown.value' | 'dropdown' | 'field.control' | 'field.label' | 'field' | 'form' | 'icon' | 'input' | 'input.control' | 'input.placeholder' | 'label' | 'layer.inner' | 'layer' | 'link' | 'list.divider' | 'list.group' | 'list.item' | 'list.item' | 'list.item' | 'dropdown.item' | 'menu.body' | 'popover.arrow' | 'popover.indicator' | 'popover.content' | 'popover.trigger' | 'portal.inner' | 'portal' | 'root' | 'root.portals' | 'sidebar.content' | 'sidebar' | 'drawer.backdrop' | 'drawer.body' | 'drawer.content' | 'drawer.description' | 'drawer.title' | 'drawer.footer' | 'drawer.header' | 'drawer' | 'stack.root' | 'stack.item' | 'tabs.body' | 'tabs.header' | 'tabs' | 'tab.header' | 'tab.body' | 'tab.description' | 'tab' | 'tree.body' | 'tree.header' | 'tree.indicator' | 'tree' | 'datagrid' | 'datagrid.header' | 'datagrid.th' | 'datagrid.body' | 'datagrid.tr' | 'datagrid.td' | 'datagrid.footer' | 'datagrid.checkbox' | 'datagrid.sort-icon' | 'scrollable' | 'scrollable.container' | 'scrollable.content' | 'scrollable.track' | 'scrollable.thumb' | 'breadcrumb' | 'breadcrumb.item' | 'breadcrumb.separator' | 'badge' | 'button' | 'checkbox' | 'checkbox.checkmark' | 'checkbox.indeterminate' | 'radio' | 'radio.group' | 'container';
5
5
  export type PresetEntryRecord = {
6
6
  [key: string]: unknown;
7
7
  class?: ClassValue;