@svelte-atoms/core 1.0.0-alpha.24 → 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 (177) hide show
  1. package/dist/components/accordion/accordion-root.svelte +1 -1
  2. package/dist/components/accordion/accordion-root.svelte.d.ts +2 -2
  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-actions.svelte.d.ts +1 -0
  9. package/dist/components/alert/alert-close-button.svelte +1 -1
  10. package/dist/components/alert/alert-close-button.svelte.d.ts +1 -0
  11. package/dist/components/alert/alert-content.svelte +1 -1
  12. package/dist/components/alert/alert-content.svelte.d.ts +1 -0
  13. package/dist/components/alert/alert-description.svelte +1 -1
  14. package/dist/components/alert/alert-icon.svelte +1 -1
  15. package/dist/components/alert/alert-root.svelte +1 -1
  16. package/dist/components/alert/alert-title.svelte +1 -1
  17. package/dist/components/atom/html-atom.svelte +147 -16
  18. package/dist/components/atom/html-atom.svelte.d.ts +4 -2
  19. package/dist/components/atom/types.d.ts +7 -0
  20. package/dist/components/badge/badge.svelte +1 -1
  21. package/dist/components/breadcrumb/breadcrumb-item.svelte +1 -1
  22. package/dist/components/breadcrumb/breadcrumb-root.svelte +1 -1
  23. package/dist/components/breadcrumb/breadcrumb-separator.svelte +1 -1
  24. package/dist/components/button/button.stories.svelte +41 -1
  25. package/dist/components/button/button.stories.svelte.d.ts +6 -14
  26. package/dist/components/button/button.svelte +1 -1
  27. package/dist/components/button/button.svelte.d.ts +4 -1
  28. package/dist/components/button/types.d.ts +1 -1
  29. package/dist/components/card/card-body.svelte +1 -1
  30. package/dist/components/card/card-description.svelte +1 -1
  31. package/dist/components/card/card-footer.svelte +1 -1
  32. package/dist/components/card/card-header.svelte +1 -1
  33. package/dist/components/card/card-media.svelte +1 -1
  34. package/dist/components/card/card-subtitle.svelte +1 -1
  35. package/dist/components/card/card-title.svelte +5 -1
  36. package/dist/components/checkbox/checkbox.svelte +39 -28
  37. package/dist/components/checkbox/checkbox.svelte.d.ts +1 -1
  38. package/dist/components/collapsible/collapsible-body.svelte +1 -1
  39. package/dist/components/collapsible/collapsible-header.svelte +1 -1
  40. package/dist/components/collapsible/collapsible-indicator.svelte +1 -1
  41. package/dist/components/collapsible/collapsible-root.svelte +1 -1
  42. package/dist/components/combobox/atoms.d.ts +5 -1
  43. package/dist/components/combobox/atoms.js +5 -1
  44. package/dist/components/combobox/{combobox-input.svelte → combobox-control.svelte} +3 -3
  45. package/dist/components/combobox/{combobox-input.svelte.d.ts → combobox-control.svelte.d.ts} +3 -3
  46. package/dist/components/combobox/combobox-root.svelte.d.ts +2 -2
  47. package/dist/components/combobox/combobox-trigger.svelte +1 -1
  48. package/dist/components/combobox/compobox-item.svelte +1 -1
  49. package/dist/components/container/container.svelte +1 -1
  50. package/dist/components/datagrid/datagrid-body.svelte +1 -1
  51. package/dist/components/datagrid/datagrid-footer.svelte +1 -1
  52. package/dist/components/datagrid/datagrid-header.svelte +1 -1
  53. package/dist/components/datagrid/datagrid-root.svelte +1 -1
  54. package/dist/components/datagrid/td/datagrid-td.svelte +1 -1
  55. package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte +1 -1
  56. package/dist/components/datagrid/th/datagrid-th.svelte +1 -1
  57. package/dist/components/dialog/dialog-body.svelte +1 -1
  58. package/dist/components/dialog/dialog-close-button.svelte +1 -1
  59. package/dist/components/dialog/dialog-content.svelte +8 -11
  60. package/dist/components/dialog/dialog-description.svelte +1 -1
  61. package/dist/components/dialog/dialog-footer.svelte +1 -1
  62. package/dist/components/dialog/dialog-header.svelte +1 -1
  63. package/dist/components/dialog/dialog-root.svelte +123 -120
  64. package/dist/components/dialog/dialog-root.svelte.d.ts +3 -1
  65. package/dist/components/dialog/dialog-title.svelte +1 -1
  66. package/dist/components/drawer/drawer-backdrop.svelte +1 -1
  67. package/dist/components/drawer/drawer-backdrop.svelte.d.ts +1 -0
  68. package/dist/components/drawer/drawer-body.svelte +1 -1
  69. package/dist/components/drawer/drawer-description.svelte +1 -1
  70. package/dist/components/drawer/drawer-footer.svelte +1 -1
  71. package/dist/components/drawer/drawer-header.svelte +1 -1
  72. package/dist/components/drawer/drawer-root.svelte +118 -113
  73. package/dist/components/drawer/drawer-root.svelte.d.ts +5 -2
  74. package/dist/components/drawer/drawer-title.svelte +1 -1
  75. package/dist/components/dropdown/dropdown-placeholder.svelte +1 -1
  76. package/dist/components/dropdown/dropdown-query.svelte +1 -1
  77. package/dist/components/dropdown/dropdown-trigger.svelte +1 -1
  78. package/dist/components/dropdown/dropdown-value.svelte +1 -3
  79. package/dist/components/dropdown/item/bond.svelte.d.ts +4 -0
  80. package/dist/components/dropdown/item/bond.svelte.js +9 -0
  81. package/dist/components/dropdown/item/dropdown-item.svelte +10 -6
  82. package/dist/components/form/field/bond.svelte.d.ts +8 -0
  83. package/dist/components/form/field/bond.svelte.js +13 -1
  84. package/dist/components/form/field/field-control.svelte +7 -0
  85. package/dist/components/form/field/field-control.svelte.d.ts +2 -2
  86. package/dist/components/form/form.stories.svelte +3 -3
  87. package/dist/components/icon/icon.svelte.d.ts +1 -0
  88. package/dist/components/input/atoms.d.ts +5 -1
  89. package/dist/components/input/atoms.js +5 -1
  90. package/dist/components/input/{input-value.svelte → input-control.svelte} +14 -20
  91. package/dist/components/input/input-control.svelte.d.ts +27 -0
  92. package/dist/components/input/input-icon.svelte +1 -1
  93. package/dist/components/input/input-placeholder.svelte +1 -3
  94. package/dist/components/input/input-placeholder.svelte.d.ts +1 -0
  95. package/dist/components/input/input-root.svelte +5 -12
  96. package/dist/components/input/input-root.svelte.d.ts +3 -19
  97. package/dist/components/input/input.stories.svelte +2 -2
  98. package/dist/components/input/types.d.ts +22 -0
  99. package/dist/components/input/types.js +1 -0
  100. package/dist/components/label/label.svelte.d.ts +1 -0
  101. package/dist/components/layer/layer-inner.svelte.d.ts +1 -0
  102. package/dist/components/layer/layer-root.svelte.d.ts +1 -0
  103. package/dist/components/list/list-group.svelte +1 -1
  104. package/dist/components/list/list-item.svelte +1 -1
  105. package/dist/components/list/list-root.svelte +6 -1
  106. package/dist/components/list/list-title.svelte +1 -1
  107. package/dist/components/menu/menu-list.svelte +1 -1
  108. package/dist/components/popover/bond.svelte.d.ts +2 -0
  109. package/dist/components/popover/bond.svelte.js +1 -1
  110. package/dist/components/popover/popover-arrow.svelte +111 -117
  111. package/dist/components/popover/popover-arrow.svelte.d.ts +2 -2
  112. package/dist/components/popover/popover-content.svelte +139 -147
  113. package/dist/components/popover/popover-content.svelte.d.ts +3 -17
  114. package/dist/components/popover/popover-indicator.svelte +1 -1
  115. package/dist/components/popover/popover-root.svelte +49 -63
  116. package/dist/components/popover/popover-root.svelte.d.ts +1 -15
  117. package/dist/components/popover/popover-trigger.svelte +47 -56
  118. package/dist/components/popover/popover-trigger.svelte.d.ts +2 -8
  119. package/dist/components/popover/types.d.ts +39 -0
  120. package/dist/components/popover/types.js +1 -0
  121. package/dist/components/portal/active-portal.svelte +22 -16
  122. package/dist/components/portal/active-portal.svelte.d.ts +2 -2
  123. package/dist/components/portal/portal-inner.svelte +1 -1
  124. package/dist/components/portal/portal-inner.svelte.d.ts +1 -0
  125. package/dist/components/portal/portal-root.svelte +1 -1
  126. package/dist/components/portal/portal-root.svelte.d.ts +1 -0
  127. package/dist/components/portal/teleport.svelte +55 -49
  128. package/dist/components/portal/teleport.svelte.d.ts +4 -2
  129. package/dist/components/radio/radio-group.stories.svelte +4 -4
  130. package/dist/components/radio/radio.svelte +3 -3
  131. package/dist/components/radio/radio.svelte.d.ts +2 -2
  132. package/dist/components/root/root.css +24 -66
  133. package/dist/components/root/root.svelte +1 -1
  134. package/dist/components/sidebar/sidebar-content.svelte +2 -16
  135. package/dist/components/sidebar/sidebar-content.svelte.d.ts +2 -9
  136. package/dist/components/sidebar/sidebar-root.svelte +4 -23
  137. package/dist/components/sidebar/sidebar-root.svelte.d.ts +2 -13
  138. package/dist/components/sidebar/types.d.ts +19 -0
  139. package/dist/components/sidebar/types.js +1 -0
  140. package/dist/components/stack/stack-item.svelte +5 -1
  141. package/dist/components/stack/stack-root.svelte +5 -1
  142. package/dist/components/stack/stack-root.svelte.d.ts +1 -0
  143. package/dist/components/tabs/tab/tab-body.svelte +1 -1
  144. package/dist/components/tabs/tab/tab-description.svelte +1 -1
  145. package/dist/components/tabs/tab/tab-header.svelte +2 -2
  146. package/dist/components/tabs/tab/tab-root.svelte +6 -1
  147. package/dist/components/tabs/tabs-body.svelte +1 -1
  148. package/dist/components/tabs/tabs-header.svelte +1 -1
  149. package/dist/components/tabs/tabs-root.svelte +1 -1
  150. package/dist/components/textarea/textarea-input.svelte +2 -1
  151. package/dist/components/toast/toast-description.svelte +1 -1
  152. package/dist/components/toast/toast-description.svelte.d.ts +1 -0
  153. package/dist/components/toast/toast-root.svelte +1 -1
  154. package/dist/components/toast/toast-root.svelte.d.ts +1 -0
  155. package/dist/components/toast/toast-title.svelte +1 -1
  156. package/dist/components/toast/toast-title.svelte.d.ts +1 -0
  157. package/dist/components/tree/tree-body.svelte +1 -1
  158. package/dist/components/tree/tree-header.svelte +1 -1
  159. package/dist/components/tree/tree-header.svelte.d.ts +1 -0
  160. package/dist/components/tree/tree-indicator.svelte +1 -1
  161. package/dist/components/tree/tree-root.svelte +1 -1
  162. package/dist/context/preset.svelte.d.ts +4 -1
  163. package/dist/utils/index.d.ts +1 -0
  164. package/dist/utils/index.js +1 -0
  165. package/dist/utils/variant.d.ts +213 -0
  166. package/dist/utils/variant.js +137 -0
  167. package/llm/composition.md +395 -0
  168. package/llm/crafting.md +838 -0
  169. package/llm/motion.md +970 -0
  170. package/llm/philosophy.md +23 -0
  171. package/llm/preset-variant-integration.md +516 -0
  172. package/llm/preset.md +383 -0
  173. package/llm/styling.md +216 -0
  174. package/llm/usage.md +46 -0
  175. package/llm/variants.md +712 -0
  176. package/package.json +2 -1
  177. package/dist/components/input/input-value.svelte.d.ts +0 -19
@@ -1,63 +1,49 @@
1
- <script module lang="ts">
2
- import type { Factory } from '../../types';
3
-
4
- export type PopoverRootProps = {
5
- open?: boolean;
6
- disabled?: boolean;
7
- placements?: Placement[];
8
- placement?: Placement;
9
- offset?: number;
10
- extend?: Record<string, unknown>;
11
- factory?: Factory<PopoverBond>;
12
- children?: Snippet<[{ popover: PopoverBond }]>;
13
- };
14
- </script>
15
-
16
- <script lang="ts">
17
- import type { Snippet } from 'svelte';
18
- import type { Placement } from '@floating-ui/dom';
19
- import { PopoverState, PopoverBond, type PopoverStateProps } from './bond.svelte';
20
- import { defineProperty, defineState } from '../../utils';
21
-
22
- let {
23
- open = $bindable(false),
24
- disabled = false,
25
- placements = ['bottom-start', 'bottom-end', 'top-start', 'top-end'],
26
- placement = 'bottom-start',
27
- offset = 0,
28
- extend = {},
29
- factory = _factory,
30
- children = undefined
31
- }: PopoverRootProps = $props();
32
-
33
- const bondProps = defineState<PopoverStateProps>(
34
- [
35
- defineProperty(
36
- 'open',
37
- () => open,
38
- (v) => {
39
- open = v;
40
- }
41
- ),
42
- defineProperty('disabled', () => disabled),
43
- defineProperty('placement', () => placement),
44
- defineProperty('offset', () => offset),
45
- defineProperty('placements', () => placements ?? [])
46
- ],
47
- () => ({ extend })
48
- );
49
- const bond = factory(bondProps).share();
50
-
51
- function _factory(props: typeof bondProps) {
52
- const popoverState = new PopoverState(() => props);
53
- const popoverBond = new PopoverBond(popoverState);
54
-
55
- return popoverBond;
56
- }
57
-
58
- export function getBond() {
59
- return bond;
60
- }
61
- </script>
62
-
63
- {@render children?.({ popover: bond })}
1
+ <script lang="ts">
2
+ import { PopoverState, PopoverBond, type PopoverStateProps } from './bond.svelte';
3
+ import { defineProperty, defineState } from '../../utils';
4
+ import type { PopoverRootProps } from './types';
5
+
6
+ let {
7
+ open = $bindable(false),
8
+ disabled = false,
9
+ placements = ['bottom-start', 'bottom-end', 'top-start', 'top-end'],
10
+ placement = 'bottom-start',
11
+ offset = 0,
12
+ portal = undefined,
13
+ extend = {},
14
+ factory = _factory,
15
+ children = undefined
16
+ }: PopoverRootProps = $props();
17
+
18
+ const bondProps = defineState<PopoverStateProps>(
19
+ [
20
+ defineProperty(
21
+ 'open',
22
+ () => open,
23
+ (v) => {
24
+ open = v;
25
+ }
26
+ ),
27
+ defineProperty('disabled', () => disabled),
28
+ defineProperty('placement', () => placement),
29
+ defineProperty('offset', () => offset),
30
+ defineProperty('placements', () => placements ?? []),
31
+ defineProperty('portal', () => portal)
32
+ ],
33
+ () => ({ extend })
34
+ );
35
+ const bond = factory(bondProps).share();
36
+
37
+ function _factory(props: typeof bondProps) {
38
+ const popoverState = new PopoverState(() => props);
39
+ const popoverBond = new PopoverBond(popoverState);
40
+
41
+ return popoverBond;
42
+ }
43
+
44
+ export function getBond() {
45
+ return bond;
46
+ }
47
+ </script>
48
+
49
+ {@render children?.({ popover: bond })}
@@ -1,19 +1,5 @@
1
- import type { Factory } from '../../types';
2
- export type PopoverRootProps = {
3
- open?: boolean;
4
- disabled?: boolean;
5
- placements?: Placement[];
6
- placement?: Placement;
7
- offset?: number;
8
- extend?: Record<string, unknown>;
9
- factory?: Factory<PopoverBond>;
10
- children?: Snippet<[{
11
- popover: PopoverBond;
12
- }]>;
13
- };
14
- import type { Snippet } from 'svelte';
15
- import type { Placement } from '@floating-ui/dom';
16
1
  import { PopoverState, PopoverBond, type PopoverStateProps } from './bond.svelte';
2
+ import type { PopoverRootProps } from './types';
17
3
  declare const PopoverRoot: import("svelte").Component<PopoverRootProps, {
18
4
  getBond: () => PopoverBond<PopoverStateProps<Record<string, unknown>>, PopoverState<PopoverStateProps<Record<string, unknown>>>, import("./bond.svelte").PopoverDomElements>;
19
5
  }, "open">;
@@ -1,56 +1,47 @@
1
- <script module lang="ts">
2
- export type PopoverTriggerProps<
3
- T extends keyof HTMLElementTagNameMap,
4
- B extends Base = Base
5
- > = HtmlAtomProps<T, B> & {
6
- children?: Snippet<[{ popover?: PopoverBond }]>;
7
- };
8
- </script>
9
-
10
- <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
11
- import type { Snippet } from 'svelte';
12
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
13
- import { PopoverBond } from './bond.svelte';
14
-
15
- const bond = PopoverBond.get();
16
-
17
- if (!bond) {
18
- throw new Error('');
19
- }
20
-
21
- let {
22
- class: klass = '',
23
- as = 'button' as E,
24
- preset = 'popover.trigger',
25
- children = undefined,
26
- onmount = undefined,
27
- ondestroy = undefined,
28
- animate = undefined,
29
- enter = undefined,
30
- exit = undefined,
31
- initial = undefined,
32
- ...restProps
33
- }: PopoverTriggerProps<E, B> = $props();
34
-
35
- const triggerProps = $derived({
36
- ...bond.trigger(),
37
- ...restProps
38
- });
39
- </script>
40
-
41
- <HtmlAtom
42
- {as}
43
- {bond}
44
- {preset}
45
- class={['flex w-fit cursor-pointer rounded-md p-2', '$preset', klass]}
46
- onmount={onmount?.bind(bond.state)}
47
- ondestroy={ondestroy?.bind(bond.state)}
48
- animate={animate?.bind(bond.state)}
49
- enter={enter?.bind(bond.state)}
50
- exit={exit?.bind(bond.state)}
51
- initial={initial?.bind(bond.state)}
52
- type={as === 'button' ? 'button' : undefined}
53
- {...triggerProps}
54
- >
55
- {@render children?.({ popover: bond })}
56
- </HtmlAtom>
1
+ <script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
2
+ import { HtmlAtom, type Base } from '../atom';
3
+ import { PopoverBond } from './bond.svelte';
4
+ import type { PopoverTriggerProps } from './types';
5
+
6
+ const bond = PopoverBond.get();
7
+
8
+ if (!bond) {
9
+ throw new Error('');
10
+ }
11
+
12
+ let {
13
+ class: klass = '',
14
+ as = 'button' as E,
15
+ preset = 'popover.trigger',
16
+ children = undefined,
17
+ onmount = undefined,
18
+ ondestroy = undefined,
19
+ animate = undefined,
20
+ enter = undefined,
21
+ exit = undefined,
22
+ initial = undefined,
23
+ ...restProps
24
+ }: PopoverTriggerProps<E, B> = $props();
25
+
26
+ const triggerProps = $derived({
27
+ ...bond.trigger(),
28
+ ...restProps
29
+ });
30
+ </script>
31
+
32
+ <HtmlAtom
33
+ {as}
34
+ {bond}
35
+ {preset}
36
+ class={['border-border flex w-fit cursor-pointer rounded-md p-2', '$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
+ type={as === 'button' ? 'button' : undefined}
44
+ {...triggerProps}
45
+ >
46
+ {@render children?.({ popover: bond })}
47
+ </HtmlAtom>
@@ -1,11 +1,5 @@
1
- export type PopoverTriggerProps<T extends keyof HTMLElementTagNameMap, B extends Base = Base> = HtmlAtomProps<T, B> & {
2
- children?: Snippet<[{
3
- popover?: PopoverBond;
4
- }]>;
5
- };
6
- import type { Snippet } from 'svelte';
7
- import { type HtmlAtomProps, type Base } from '../atom';
8
- import { PopoverBond } from './bond.svelte';
1
+ import { type Base } from '../atom';
2
+ import type { PopoverTriggerProps } from './types';
9
3
  declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
10
4
  props: PopoverTriggerProps<E, B>;
11
5
  exports: {};
@@ -0,0 +1,39 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { Placement } from '@floating-ui/dom';
3
+ import type { Factory } from '../../types';
4
+ import type { PopoverBond } from './bond.svelte';
5
+ import type { Override } from '../../types';
6
+ import type { Base, HtmlAtomProps } from '../atom';
7
+ import type { HtmlElementTagName } from '../element';
8
+ import type { PortalBond } from '../portal';
9
+ export type PopoverRootProps = {
10
+ open?: boolean;
11
+ disabled?: boolean;
12
+ placements?: Placement[];
13
+ placement?: Placement;
14
+ offset?: number;
15
+ portal?: string | PortalBond;
16
+ extend?: Record<string, unknown>;
17
+ factory?: Factory<PopoverBond>;
18
+ children?: Snippet<[{
19
+ popover: PopoverBond;
20
+ }]>;
21
+ };
22
+ export type AnimateParams = {
23
+ x: number;
24
+ y: number;
25
+ xOffset: number;
26
+ yOffset: number;
27
+ open: boolean;
28
+ };
29
+ export type PopoverContentProps<T extends HtmlElementTagName, B extends Base = Base> = Override<HtmlAtomProps<T, B>, {
30
+ children?: Snippet<[{
31
+ popover?: PopoverBond;
32
+ }]>;
33
+ }>;
34
+ export type PopoverArrowProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B>;
35
+ export type PopoverTriggerProps<T extends keyof HTMLElementTagNameMap, B extends Base = Base> = HtmlAtomProps<T, B> & {
36
+ children?: Snippet<[{
37
+ popover?: PopoverBond;
38
+ }]>;
39
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,16 +1,22 @@
1
- <script>
2
- import { PortalsBond } from './portals/bond.svelte';
3
-
4
- let { id, children = undefined } = $props();
5
-
6
- const portalsBond = PortalsBond.get();
7
- const activePortal = portalsBond?.state.get(id)?.share();
8
-
9
- if (!portalsBond) {
10
- throw new Error('Portals bond is not found');
11
- }
12
- </script>
13
-
14
- {#if activePortal}
15
- {@render children?.()}
16
- {/if}
1
+ <script>
2
+ import { PortalsBond } from './portals/bond.svelte';
3
+
4
+ let { portal, children = undefined } = $props();
5
+
6
+ const portalsBond = PortalsBond.get();
7
+ const activePortal = (() => {
8
+ if (typeof portal === 'string') {
9
+ return portalsBond?.state?.get(portal) ?? undefined;
10
+ }
11
+
12
+ return portal;
13
+ })()?.share();
14
+
15
+ if (!portalsBond) {
16
+ throw new Error('Portals bond is not found');
17
+ }
18
+ </script>
19
+
20
+ {#if activePortal}
21
+ {@render children?.()}
22
+ {/if}
@@ -4,10 +4,10 @@ type ActivePortal = {
4
4
  $set?(props: Partial<$$ComponentProps>): void;
5
5
  };
6
6
  declare const ActivePortal: import("svelte").Component<{
7
- id: any;
7
+ portal: any;
8
8
  children?: any;
9
9
  }, {}, "">;
10
10
  type $$ComponentProps = {
11
- id: any;
11
+ portal: any;
12
12
  children?: any;
13
13
  };
@@ -33,7 +33,7 @@
33
33
  <HtmlAtom
34
34
  {bond}
35
35
  preset="portal.inner"
36
- class={['relative size-full', '$preset', klass]}
36
+ class={['border-border relative size-full', '$preset', klass]}
37
37
  enter={enter?.bind(bond.state)}
38
38
  exit={exit?.bind(bond.state)}
39
39
  initial={initial?.bind(bond.state)}
@@ -17,6 +17,7 @@ declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B exten
17
17
  bond?: import("../..").Bond;
18
18
  base?: B | undefined;
19
19
  preset?: import("../..").ModuleName | (string & {});
20
+ variants?: import("../..").VariantDefinition<any> | ((bond: import("../..").Bond, variantProps: Record<string, any>) => Record<string, any>);
20
21
  } & HTMLAttributes<ElementType<E>>;
21
22
  exports: {};
22
23
  bindings: "";
@@ -75,7 +75,7 @@
75
75
  <HtmlAtom
76
76
  {bond}
77
77
  preset="portal"
78
- class={['pointer-events-none', '$preset', klass]}
78
+ class={['border-border pointer-events-none', '$preset', klass]}
79
79
  enter={enter?.bind(bond.state)}
80
80
  exit={exit?.bind(bond.state)}
81
81
  initial={initial?.bind(bond.state)}
@@ -24,6 +24,7 @@ declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B exten
24
24
  bond?: import("../..").Bond;
25
25
  base?: B | undefined;
26
26
  preset?: import("../..").ModuleName | (string & {});
27
+ variants?: import("../../utils").VariantDefinition<any> | ((bond: import("../..").Bond, variantProps: Record<string, any>) => Record<string, any>);
27
28
  } & {
28
29
  id: RootPortals | (string & {});
29
30
  children?: Snippet;
@@ -1,49 +1,55 @@
1
- <script module lang="ts">
2
- import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
3
- import type { HtmlElementTagName, HtmlElementType } from '../element';
4
-
5
- export type TeleportProps<
6
- E extends HtmlElementTagName = 'div',
7
- B extends Base = Base
8
- > = HtmlAtomProps<E, B> & {
9
- portal?: string;
10
- };
11
- </script>
12
-
13
- <script lang="ts" generics="E extends HtmlElementTagName = 'div', B extends Base = Base">
14
- import type { HTMLAttributes } from 'svelte/elements';
15
- import { PortalsBond } from './portals';
16
- import { RootBond } from '../root/bond.svelte';
17
- import { port } from './utils';
18
-
19
- type Element = HtmlElementType<E>;
20
-
21
- let { portal, as, base, children, ...restProps }: TeleportProps<E, B> & HTMLAttributes<Element> =
22
- $props();
23
-
24
- const portalsBond = PortalsBond.get();
25
- const rootBond = RootBond.get();
26
-
27
- const portalBond = $derived(
28
- portalsBond?.state?.get(portal!) ?? rootBond?.state?.getPortal(portal!)
29
- );
30
- const targetElement = $derived(portalBond?.targetElement);
31
-
32
- function _port(node: HTMLElement) {
33
- const hidden = node.hidden;
34
-
35
- node.hidden = true;
36
-
37
- const unport = port(node, targetElement);
38
-
39
- node.hidden = hidden;
40
-
41
- return unport;
42
- }
43
- </script>
44
-
45
- {#if targetElement && portal}
46
- <HtmlAtom {@attach _port} as={as as E} {base} {...restProps}>
47
- {@render children?.({ portal: portalBond })}
48
- </HtmlAtom>
49
- {/if}
1
+ <script module lang="ts">
2
+ import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
3
+ import type { HtmlElementTagName, HtmlElementType } from '../element';
4
+
5
+ export type TeleportProps<
6
+ E extends HtmlElementTagName = 'div',
7
+ B extends Base = Base
8
+ > = HtmlAtomProps<E, B> & {
9
+ portal?: string | PortalBond;
10
+ };
11
+ </script>
12
+
13
+ <script lang="ts" generics="E extends HtmlElementTagName = 'div', B extends Base = Base">
14
+ import type { HTMLAttributes } from 'svelte/elements';
15
+ import { PortalsBond } from './portals';
16
+ import { RootBond } from '../root/bond.svelte';
17
+ import { port } from './utils';
18
+ import type { PortalBond } from '.';
19
+
20
+ type Element = HtmlElementType<E>;
21
+
22
+ let { portal, as, base, children, ...restProps }: TeleportProps<E, B> & HTMLAttributes<Element> =
23
+ $props();
24
+
25
+ const portalsBond = PortalsBond.get();
26
+ const rootBond = RootBond.get();
27
+
28
+ const portalBond = $derived.by(() => {
29
+ if (typeof portal === 'string') {
30
+ return portalsBond?.state?.get(portal!) ?? rootBond?.state?.getPortal(portal!);
31
+ }
32
+
33
+ return portal;
34
+ });
35
+
36
+ const targetElement = $derived(portalBond?.targetElement);
37
+
38
+ function _port(node: HTMLElement) {
39
+ const hidden = node.hidden;
40
+
41
+ node.hidden = true;
42
+
43
+ const unport = port(node, targetElement);
44
+
45
+ node.hidden = hidden;
46
+
47
+ return unport;
48
+ }
49
+ </script>
50
+
51
+ {#if targetElement && portal}
52
+ <HtmlAtom {@attach _port} as={as as E} {base} {...restProps}>
53
+ {@render children?.({ portal: portalBond })}
54
+ </HtmlAtom>
55
+ {/if}
@@ -1,9 +1,10 @@
1
1
  import { type HtmlAtomProps, type Base } from '../atom';
2
2
  import type { HtmlElementTagName, HtmlElementType } from '../element';
3
3
  export type TeleportProps<E extends HtmlElementTagName = 'div', B extends Base = Base> = HtmlAtomProps<E, B> & {
4
- portal?: string;
4
+ portal?: string | PortalBond;
5
5
  };
6
6
  import type { HTMLAttributes } from 'svelte/elements';
7
+ import type { PortalBond } from '.';
7
8
  declare function $$render<E extends HtmlElementTagName = 'div', B extends Base = Base>(): {
8
9
  props: Record<string, unknown> & {
9
10
  [key: string]: unknown;
@@ -21,8 +22,9 @@ declare function $$render<E extends HtmlElementTagName = 'div', B extends Base =
21
22
  bond?: import("../..").Bond;
22
23
  base?: B | undefined;
23
24
  preset?: import("../..").ModuleName | (string & {});
25
+ variants?: import("../..").VariantDefinition<any> | ((bond: import("../..").Bond, variantProps: Record<string, any>) => Record<string, any>);
24
26
  } & {
25
- portal?: string;
27
+ portal?: string | PortalBond;
26
28
  } & HTMLAttributes<HtmlElementType<E>>;
27
29
  exports: {};
28
30
  bindings: "";
@@ -20,22 +20,22 @@
20
20
  <div class="flex h-full w-full flex-col items-center justify-center">
21
21
  <RadioGroupComponent class="gap-4" name="choice" bind:value>
22
22
  <label class="flex items-center gap-2">
23
- <RadioComponent class="size-8 p-1.5" value="t1" />
23
+ <RadioComponent class="size-8" value="t1" />
24
24
  <div>Test 1</div>
25
25
  </label>
26
26
 
27
27
  <label class="flex items-center gap-2">
28
- <RadioComponent class="size-8 p-1.5" value="t2" />
28
+ <RadioComponent class="size-8" value="t2" />
29
29
  <div>Test 2</div>
30
30
  </label>
31
31
 
32
32
  <label class="flex items-center gap-2">
33
- <RadioComponent class="size-8 p-1.5" value="t3" />
33
+ <RadioComponent class="size-8" value="t3" />
34
34
  <div>Test 3</div>
35
35
  </label>
36
36
 
37
37
  <label class="flex items-center gap-2">
38
- <RadioComponent class="size-8 p-1.5" value="t4" />
38
+ <RadioComponent class="size-8" value="t4" />
39
39
  <div>Test 4</div>
40
40
  </label>
41
41
  </RadioGroupComponent>
@@ -72,7 +72,7 @@
72
72
  <Stack.Root
73
73
  preset="radio"
74
74
  class={[
75
- 'text-foreground box-border inline-flex aspect-square size-4 max-w-fit cursor-pointer place-items-center rounded-full border p-[3px]',
75
+ 'text-foreground bg-input box-border inline-flex aspect-square size-4 max-w-fit cursor-pointer place-items-center rounded-full border p-0',
76
76
  isDisabled && 'pointer-events-none opacity-50',
77
77
  '$preset',
78
78
  toClassValue.apply(null, [klass, {}])
@@ -99,11 +99,11 @@
99
99
  {#if isChecked}
100
100
  {#if checkedContent}
101
101
  <HtmlAtom
102
- class="rounded-inherit pointer-events-none size-full bg-current"
102
+ class="rounded-inherit pointer-events-none size-1/2 bg-current"
103
103
  base={checkedContent}
104
104
  />
105
105
  {:else}
106
- <Stack.Item class="rounded-inherit pointer-events-none size-full bg-current"></Stack.Item>
106
+ <Stack.Item class="rounded-inherit pointer-events-none size-1/2 bg-current"></Stack.Item>
107
107
  {/if}
108
108
  {/if}
109
109
  </Stack.Root>
@@ -14,7 +14,7 @@ declare function $$render<B extends Base = Base>(): {
14
14
  checkedContent?: any;
15
15
  } & Record<string, any>;
16
16
  exports: {};
17
- bindings: "group" | "value";
17
+ bindings: "value" | "group";
18
18
  slots: {};
19
19
  events: {};
20
20
  };
@@ -22,7 +22,7 @@ declare class __sveltets_Render<B extends Base = Base> {
22
22
  props(): ReturnType<typeof $$render<B>>['props'];
23
23
  events(): ReturnType<typeof $$render<B>>['events'];
24
24
  slots(): ReturnType<typeof $$render<B>>['slots'];
25
- bindings(): "group" | "value";
25
+ bindings(): "value" | "group";
26
26
  exports(): {};
27
27
  }
28
28
  interface $$IsomorphicComponent {