@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
@@ -1,57 +1,57 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Root from '../root/root.svelte';
4
- import ButtonCmp from './button.svelte';
5
- import { defineVariants } from '../../utils/variant';
6
-
7
- const { Story } = defineMeta({
8
- title: 'ATOMS/Button'
9
- });
10
- </script>
11
-
12
- <script lang="ts">
13
- const variants = defineVariants((bond) => ({
14
- variants: {
15
- variant: {
16
- primary: {
17
- class: 'bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary/90'
18
- },
19
- secondary: {
20
- class:
21
- 'bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/90'
22
- },
23
- destructive: {
24
- class:
25
- 'bg-destructive text-destructive-foreground hover:bg-destructive/80 active:bg-destructive/90'
26
- },
27
- outline: {
28
- class:
29
- 'bg-transparent hover:bg-foreground/5 active:bg-foreground/10 border border-border text-foreground'
30
- },
31
- ghost: {
32
- class: 'hover:bg-accent hover:text-accent-foreground'
33
- }
34
- }
35
- },
36
- compounds: [],
37
- defaults: {
38
- variant: 'destructive'
39
- }
40
- }));
41
- </script>
42
-
43
- <Story name="Button">
44
- <Root class="p-4">
45
- {#snippet children({ args })}
46
- <ButtonCmp variant="primary">Clicke me</ButtonCmp>
47
- {/snippet}
48
- </Root>
49
- </Story>
50
-
51
- <Story name="Button - Local Variants">
52
- <Root class="p-4">
53
- {#snippet children({ args })}
54
- <ButtonCmp {variants} {...args}>Clicke me</ButtonCmp>
55
- {/snippet}
56
- </Root>
57
- </Story>
1
+ <script module>
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Root from '../root/root.svelte';
4
+ import ButtonCmp from './button.svelte';
5
+ import { defineVariants } from '../../utils/variant';
6
+
7
+ const { Story } = defineMeta({
8
+ title: 'ATOMS/Button'
9
+ });
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ const variants = defineVariants((bond) => ({
14
+ variants: {
15
+ variant: {
16
+ primary: {
17
+ class: 'bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary/90'
18
+ },
19
+ secondary: {
20
+ class:
21
+ 'bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/90'
22
+ },
23
+ destructive: {
24
+ class:
25
+ 'bg-destructive text-destructive-foreground hover:bg-destructive/80 active:bg-destructive/90'
26
+ },
27
+ outline: {
28
+ class:
29
+ 'bg-transparent hover:bg-foreground/5 active:bg-foreground/10 border border-border text-foreground'
30
+ },
31
+ ghost: {
32
+ class: 'hover:bg-accent hover:text-accent-foreground'
33
+ }
34
+ }
35
+ },
36
+ compounds: [],
37
+ defaults: {
38
+ variant: 'destructive'
39
+ }
40
+ }));
41
+ </script>
42
+
43
+ <Story name="Button">
44
+ <Root class="p-4">
45
+ {#snippet children({ args })}
46
+ <ButtonCmp variant="primary">Clicke me</ButtonCmp>
47
+ {/snippet}
48
+ </Root>
49
+ </Story>
50
+
51
+ <Story name="Button - Local Variants">
52
+ <Root class="p-4">
53
+ {#snippet children({ args })}
54
+ <ButtonCmp {variants} {...args}>Clicke me</ButtonCmp>
55
+ {/snippet}
56
+ </Root>
57
+ </Story>
@@ -21,7 +21,7 @@
21
21
  {preset}
22
22
  as="button"
23
23
  class={[
24
- 'button text-primary-foreground bg-primary hover:bg-primary/95 active:bg-primary/90 disabled:bg-muted disabled:text-muted-foreground w-fit cursor-pointer rounded-md px-3 py-2 transition-colors duration-200',
24
+ 'button text-primary-foreground bg-primary border-border hover:bg-primary/95 active:bg-primary/90 disabled:bg-muted disabled:text-muted-foreground w-fit cursor-pointer rounded-md px-3 py-2 transition-colors duration-200',
25
25
  '$preset',
26
26
  klass
27
27
  ]}
@@ -1,3 +1,6 @@
1
- declare const Button: import("svelte").Component<any, {}, "">;
1
+ import type { HTMLAttributes } from 'svelte/elements';
2
+ import type { ButtonProps } from './types';
3
+ type $$ComponentProps = ButtonProps & HTMLAttributes<HTMLButtonElement>;
4
+ declare const Button: import("svelte").Component<$$ComponentProps, {}, "">;
2
5
  type Button = ReturnType<typeof Button>;
3
6
  export default Button;
@@ -1,4 +1,4 @@
1
- import type { HtmlAtomProps } from '../../helpers';
1
+ import type { HtmlAtomProps } from '../atom/types';
2
2
  import type { Snippet } from 'svelte';
3
3
  export type ButtonProps = HtmlAtomProps<'button'> & {
4
4
  type?: 'button' | 'submit' | 'reset';
@@ -32,7 +32,7 @@
32
32
  <HtmlAtom
33
33
  {bond}
34
34
  preset="card.content"
35
- class={['card-content px-4', '$preset', klass]}
35
+ class={['card-content border-border px-4', '$preset', klass]}
36
36
  enter={enter?.bind(bond.state)}
37
37
  exit={exit?.bind(bond.state)}
38
38
  initial={initial?.bind(bond.state)}
@@ -35,7 +35,7 @@
35
35
  {as}
36
36
  {bond}
37
37
  preset="card.description"
38
- class={['card-description text-sm text-gray-500', '$preset', klass]}
38
+ class={['card-description border-border text-sm text-gray-500', '$preset', klass]}
39
39
  enter={enter?.bind(bond.state)}
40
40
  exit={exit?.bind(bond.state)}
41
41
  initial={initial?.bind(bond.state)}
@@ -35,7 +35,7 @@
35
35
  {as}
36
36
  {bond}
37
37
  preset="card.footer"
38
- class={['card-footer flex items-center gap-2 px-4 py-4', '$preset', klass]}
38
+ class={['card-footer border-border flex items-center gap-2 px-4 py-4', '$preset', klass]}
39
39
  enter={enter?.bind(bond.state)}
40
40
  exit={exit?.bind(bond.state)}
41
41
  initial={initial?.bind(bond.state)}
@@ -35,7 +35,7 @@
35
35
  {as}
36
36
  {bond}
37
37
  preset="card.header"
38
- class={['card-header flex flex-col space-y-1.5 px-4 py-4', '$preset', klass]}
38
+ class={['card-header border-border flex flex-col space-y-1.5 px-4 py-4', '$preset', klass]}
39
39
  enter={enter?.bind(bond.state)}
40
40
  exit={exit?.bind(bond.state)}
41
41
  initial={initial?.bind(bond.state)}
@@ -35,7 +35,7 @@
35
35
  {as}
36
36
  {bond}
37
37
  preset="card.media"
38
- class={['card-media overflow-hidden', '$preset', klass]}
38
+ class={['card-media border-border overflow-hidden', '$preset', klass]}
39
39
  enter={enter?.bind(bond.state)}
40
40
  exit={exit?.bind(bond.state)}
41
41
  initial={initial?.bind(bond.state)}
@@ -35,7 +35,7 @@
35
35
  {as}
36
36
  {bond}
37
37
  preset="card.subtitle"
38
- class={['card-subtitle text-sm font-medium text-gray-600', '$preset', klass]}
38
+ class={['card-subtitle border-border text-sm font-medium text-gray-600', '$preset', klass]}
39
39
  enter={enter?.bind(bond.state)}
40
40
  exit={exit?.bind(bond.state)}
41
41
  initial={initial?.bind(bond.state)}
@@ -35,7 +35,11 @@
35
35
  {as}
36
36
  {bond}
37
37
  preset="card.title"
38
- class={['card-title text-lg leading-none font-semibold tracking-tight', '$preset', klass]}
38
+ class={[
39
+ 'card-title border-border text-lg leading-none font-semibold tracking-tight',
40
+ '$preset',
41
+ klass
42
+ ]}
39
43
  enter={enter?.bind(bond.state)}
40
44
  exit={exit?.bind(bond.state)}
41
45
  initial={initial?.bind(bond.state)}
@@ -1,21 +1,22 @@
1
1
  <script lang="ts">
2
+ import { circOut } from 'svelte/easing';
2
3
  import type { HTMLInputAttributes } from 'svelte/elements';
3
4
  import { scale } from 'svelte/transition';
4
- import type { CheckboxProps } from './types';
5
5
  import { Icon } from '../icon';
6
6
  import { HtmlAtom } from '../atom';
7
7
  import CheckmarkRegularIcon from '../../icons/icon-checkmark.svelte';
8
- import './checkbox.css';
9
8
  import { DURATION } from '../../shared';
10
- import { circOut } from 'svelte/easing';
9
+ import type { CheckboxProps } from './types';
10
+ import './checkbox.css';
11
11
 
12
12
  let {
13
13
  class: klass = '',
14
14
  checked = $bindable(false),
15
- indeterminate = $bindable(),
15
+ indeterminate = $bindable(false),
16
16
  value = $bindable(undefined),
17
17
  group = $bindable([]),
18
18
  id,
19
+ name,
19
20
  checkedContent,
20
21
  indeterminateContent,
21
22
  enter,
@@ -31,29 +32,25 @@
31
32
 
32
33
  let checkboxElement: HTMLInputElement | undefined = $state();
33
34
 
34
- function handleChange(ev: Event) {
35
- const checked = (ev.currentTarget as HTMLInputElement)?.checked ?? false;
35
+ // Computed state for visual representation
36
+ const isChecked = $derived(checked === true);
37
+ const isIndeterminate = $derived(indeterminate === true);
38
+ const showCheckmark = $derived(isChecked && !isIndeterminate);
36
39
 
40
+ function handleChange(ev: Event) {
37
41
  onchange?.(ev, {
38
- checked,
42
+ checked: checked,
39
43
  value: checked,
40
44
  type: 'boolean'
41
45
  });
42
46
  }
43
47
 
44
48
  function handleInput(ev: Event) {
45
- const currentTarget = ev.currentTarget as HTMLInputElement;
46
- const _checked = currentTarget?.checked ?? false;
47
-
48
49
  oninput?.(ev, {
49
- checked: _checked,
50
- value: _checked,
50
+ checked: checked,
51
+ value: checked,
51
52
  type: 'boolean'
52
53
  });
53
-
54
- if (ev.defaultPrevented) {
55
- return;
56
- }
57
54
  }
58
55
 
59
56
  function handleClick(ev: MouseEvent) {
@@ -63,7 +60,18 @@
63
60
  return;
64
61
  }
65
62
 
66
- checkboxElement?.click();
63
+ // Handle indeterminate → checked → unchecked cycle
64
+ if (indeterminate) {
65
+ // Indeterminate → checked
66
+ indeterminate = false;
67
+ checked = true;
68
+ } else {
69
+ // Toggle checked state
70
+ checked = !checked;
71
+ }
72
+
73
+ // Trigger input event manually if needed
74
+ handleInput(ev);
67
75
  }
68
76
  </script>
69
77
 
@@ -71,15 +79,16 @@
71
79
  <!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
72
80
  <HtmlAtom
73
81
  preset="checkbox"
74
- as="button"
82
+ as="div"
75
83
  class={[
76
- 'checkbox-root border-border outline-primary bg-foreground/5 aspect-square h-5 w-fit cursor-pointer rounded-sm border outline-0 outline-offset-2 transition-colors duration-100',
77
- checked && 'bg-foreground',
78
- !checked && '',
84
+ 'checkbox-root border-border outline-primary bg-input text-foreground aspect-square h-5 w-fit cursor-pointer rounded-sm border outline-0 outline-offset-2 transition-colors duration-100',
85
+ isChecked && 'bg-foreground',
79
86
  '$preset',
80
87
  klass,
81
88
  'relative'
82
89
  ]}
90
+ role="checkbox"
91
+ aria-checked={isIndeterminate ? 'mixed' : isChecked}
83
92
  {enter}
84
93
  {exit}
85
94
  {initial}
@@ -87,6 +96,7 @@
87
96
  {...restProps}
88
97
  >
89
98
  <input
99
+ bind:this={checkboxElement}
90
100
  bind:checked
91
101
  bind:group
92
102
  bind:indeterminate
@@ -94,34 +104,35 @@
94
104
  class="checkbox-input pointer-events-none"
95
105
  {value}
96
106
  {id}
107
+ {name}
97
108
  onchange={handleChange}
98
109
  oninput={handleInput}
99
110
  {onblur}
100
111
  {onfocus}
101
112
  hidden
102
- {@attach (node) => {
103
- checkboxElement = node;
104
- }}
113
+ tabindex="-1"
105
114
  />
106
115
 
107
- {#if indeterminate}
116
+ {#if isIndeterminate}
108
117
  {#if indeterminateContent}
109
118
  <HtmlAtom
110
119
  preset="checkbox.indeterminate"
111
- class={['checkbox-indeterminate flex size-full items-center justify-center p-1']}
120
+ class={[
121
+ 'checkbox-indeterminate pointer-events-none flex size-full items-center justify-center p-1'
122
+ ]}
112
123
  base={indeterminateContent}
113
124
  />
114
125
  {:else}
115
126
  <HtmlAtom
116
127
  preset="checkbox.indeterminate"
117
128
  class={[
118
- 'checkbox-indeterminate text-foreground flex size-full items-center justify-center p-1'
129
+ 'checkbox-indeterminate text-foreground pointer-events-none flex size-full items-center justify-center p-1'
119
130
  ]}
120
131
  >
121
132
  <div class={['size-full rounded-xs bg-current']}></div>
122
133
  </HtmlAtom>
123
134
  {/if}
124
- {:else if checked === true}
135
+ {:else if showCheckmark}
125
136
  {#if checkedContent}
126
137
  <HtmlAtom
127
138
  preset="checkbox.checkmark"
@@ -39,7 +39,7 @@
39
39
  <HtmlAtom
40
40
  {bond}
41
41
  preset="collapsible.body"
42
- class={['$preset', klass]}
42
+ class={['border-border', '$preset', klass]}
43
43
  onmount={onmount?.bind(bond.state)}
44
44
  ondestroy={ondestroy?.bind(bond.state)}
45
45
  animate={animate?.bind(bond.state)}
@@ -39,7 +39,7 @@
39
39
  <HtmlAtom
40
40
  {bond}
41
41
  preset="collapsible.header"
42
- class={['flex cursor-pointer items-center gap-2', '$preset', klass]}
42
+ class={['border-border flex cursor-pointer items-center gap-2', '$preset', klass]}
43
43
  onmount={onmount?.bind(bond.state)}
44
44
  ondestroy={ondestroy?.bind(bond.state)}
45
45
  animate={animate?.bind(bond.state)}
@@ -48,7 +48,7 @@
48
48
  <HtmlAtom
49
49
  {bond}
50
50
  preset="collapsible.indicator"
51
- class={['flex size-4 items-center justify-center', '$preset', klass]}
51
+ class={['border-border flex size-4 items-center justify-center', '$preset', klass]}
52
52
  onmount={onmount?.bind(bond.state)}
53
53
  ondestroy={ondestroy?.bind(bond.state)}
54
54
  animate={animate?.bind(bond.state)}
@@ -72,7 +72,7 @@
72
72
  <HtmlAtom
73
73
  {bond}
74
74
  preset="collapsible"
75
- class={['flex w-full flex-col overflow-hidden', '$preset', klass]}
75
+ class={['border-border flex w-full flex-col overflow-hidden', '$preset', klass]}
76
76
  onmount={onmount?.bind(bond.state)}
77
77
  ondestroy={ondestroy?.bind(bond.state)}
78
78
  animate={animate?.bind(bond.state)}
@@ -1,5 +1,9 @@
1
1
  export { default as Root } from './combobox-root.svelte';
2
2
  export { default as Trigger } from './combobox-trigger.svelte';
3
3
  export { default as Item } from './compobox-item.svelte';
4
- export { default as Input } from './combobox-input.svelte';
4
+ /**
5
+ * @deprecated use Combobox.Control instead
6
+ */
7
+ export { default as Input } from './combobox-control.svelte';
8
+ export { default as Control } from './combobox-control.svelte';
5
9
  export { Arrow, Indicator, List } from '../dropdown/atoms';
@@ -1,5 +1,9 @@
1
1
  export { default as Root } from './combobox-root.svelte';
2
2
  export { default as Trigger } from './combobox-trigger.svelte';
3
3
  export { default as Item } from './compobox-item.svelte';
4
- export { default as Input } from './combobox-input.svelte';
4
+ /**
5
+ * @deprecated use Combobox.Control instead
6
+ */
7
+ export { default as Input } from './combobox-control.svelte';
8
+ export { default as Control } from './combobox-control.svelte';
5
9
  export { Arrow, Indicator, List } from '../dropdown/atoms';
@@ -37,10 +37,10 @@
37
37
  );
38
38
  </script>
39
39
 
40
- <Input.Value
40
+ <Input.Control
41
41
  {value}
42
- preset="combobox.input"
43
- class={['flex-1 py-1', '$preset', klass]}
42
+ preset="combobox.control"
43
+ class={['border-border flex-1 py-1', '$preset', klass]}
44
44
  enter={enter?.bind(bond.state)}
45
45
  exit={exit?.bind(bond.state)}
46
46
  initial={initial?.bind(bond.state)}
@@ -1,4 +1,4 @@
1
- declare const ComboboxInput: import("svelte").Component<{
1
+ declare const ComboboxControl: import("svelte").Component<{
2
2
  class?: string;
3
3
  children?: any;
4
4
  onmount?: any;
@@ -8,5 +8,5 @@ declare const ComboboxInput: import("svelte").Component<{
8
8
  exit?: any;
9
9
  initial?: any;
10
10
  } & Record<string, any>, {}, "">;
11
- type ComboboxInput = ReturnType<typeof ComboboxInput>;
12
- export default ComboboxInput;
11
+ type ComboboxControl = ReturnType<typeof ComboboxControl>;
12
+ export default ComboboxControl;
@@ -27,7 +27,7 @@
27
27
  {as}
28
28
  {bond}
29
29
  preset="dropdown.trigger"
30
- class={['h-8 w-40', '$preset', klass]}
30
+ class={['border-border h-8 w-40', '$preset', klass]}
31
31
  enter={enter?.bind(bond.state)}
32
32
  exit={exit?.bind(bond.state)}
33
33
  initial={initial?.bind(bond.state)}
@@ -55,7 +55,7 @@
55
55
  }}
56
56
  {bond}
57
57
  preset="combobox.item"
58
- class={['$preset', klass]}
58
+ class={['border-border', '$preset', klass]}
59
59
  enter={enter?.bind(bond.state)}
60
60
  exit={exit?.bind(bond.state)}
61
61
  initial={initial?.bind(bond.state)}
@@ -42,7 +42,7 @@
42
42
  };
43
43
  }}
44
44
  preset="container"
45
- class={['$preset', klass]}
45
+ class={['border-border', '$preset', klass]}
46
46
  style={[containerTypeStype, containerNameStyle].filter(Boolean).join('; ')}
47
47
  onmount={onmount?.bind(null)}
48
48
  ondestroy={ondestroy?.bind(null)}
@@ -31,7 +31,7 @@
31
31
  <HtmlAtom
32
32
  {bond}
33
33
  preset="datagrid.body"
34
- class={['$preset', klass, 'contents']}
34
+ class={['border-border', '$preset', klass, 'contents']}
35
35
  enter={enter?.bind(bond.state)}
36
36
  exit={exit?.bind(bond.state)}
37
37
  initial={initial?.bind(bond.state)}
@@ -21,7 +21,7 @@
21
21
  <HtmlAtom
22
22
  {bond}
23
23
  preset="datagrid.footer"
24
- class={['$preset', klass, 'contents']}
24
+ class={['border-border', '$preset', klass, 'contents']}
25
25
  enter={enter?.bind(bond.state)}
26
26
  exit={exit?.bind(bond.state)}
27
27
  initial={initial?.bind(bond.state)}
@@ -36,7 +36,7 @@
36
36
  <HtmlAtom
37
37
  {bond}
38
38
  preset="datagrid.header"
39
- class={['col-span-full grid grid-cols-subgrid', '$preset', klass]}
39
+ class={['border-border col-span-full grid grid-cols-subgrid', '$preset', klass]}
40
40
  enter={enter?.bind(bond.state)}
41
41
  exit={exit?.bind(bond.state)}
42
42
  initial={initial?.bind(bond.state)}
@@ -45,7 +45,7 @@
45
45
  <HtmlAtom
46
46
  {bond}
47
47
  preset="datagrid"
48
- class={['datagrid-root w-full gap-x-0 gap-y-0', '$preset', klass]}
48
+ class={['border-border', 'datagrid-root w-full gap-x-0 gap-y-0', '$preset', klass]}
49
49
  style="--template-columns:{bond.state.template}"
50
50
  enter={enter?.bind(bond.state)}
51
51
  exit={exit?.bind(bond.state)}