@cloudvoyant/helix-svelte 0.12.0 → 0.13.0

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 (149) hide show
  1. package/dist/Input.svelte +17 -0
  2. package/dist/Input.svelte.d.ts +8 -0
  3. package/dist/Textarea.svelte +14 -0
  4. package/dist/Textarea.svelte.d.ts +4 -0
  5. package/dist/checkbox/Checkbox.svelte +23 -0
  6. package/dist/checkbox/Checkbox.svelte.d.ts +8 -0
  7. package/dist/checkbox/CheckboxContext.svelte.d.ts +1 -0
  8. package/dist/checkbox/CheckboxContext.svelte.js +3 -0
  9. package/dist/checkbox/CheckboxControl.svelte +17 -0
  10. package/dist/checkbox/CheckboxControl.svelte.d.ts +4 -0
  11. package/dist/checkbox/CheckboxGroup.svelte +14 -0
  12. package/dist/checkbox/CheckboxGroup.svelte.d.ts +4 -0
  13. package/dist/checkbox/CheckboxIndicator.svelte +14 -0
  14. package/dist/checkbox/CheckboxIndicator.svelte.d.ts +4 -0
  15. package/dist/checkbox/CheckboxLabel.svelte +14 -0
  16. package/dist/checkbox/CheckboxLabel.svelte.d.ts +4 -0
  17. package/dist/checkbox/index.d.ts +6 -0
  18. package/dist/checkbox/index.js +7 -0
  19. package/dist/combobox/Combobox.svelte +25 -0
  20. package/dist/combobox/Combobox.svelte.d.ts +9 -0
  21. package/dist/combobox/ComboboxClear.svelte +14 -0
  22. package/dist/combobox/ComboboxClear.svelte.d.ts +4 -0
  23. package/dist/combobox/ComboboxContent.svelte +19 -0
  24. package/dist/combobox/ComboboxContent.svelte.d.ts +4 -0
  25. package/dist/combobox/ComboboxContext.svelte.d.ts +1 -0
  26. package/dist/combobox/ComboboxContext.svelte.js +3 -0
  27. package/dist/combobox/ComboboxControl.svelte +14 -0
  28. package/dist/combobox/ComboboxControl.svelte.d.ts +4 -0
  29. package/dist/combobox/ComboboxEmpty.svelte +18 -0
  30. package/dist/combobox/ComboboxEmpty.svelte.d.ts +4 -0
  31. package/dist/combobox/ComboboxInput.svelte +17 -0
  32. package/dist/combobox/ComboboxInput.svelte.d.ts +8 -0
  33. package/dist/combobox/ComboboxItem.svelte +22 -0
  34. package/dist/combobox/ComboboxItem.svelte.d.ts +10 -0
  35. package/dist/combobox/ComboboxItemGroup.svelte +11 -0
  36. package/dist/combobox/ComboboxItemGroup.svelte.d.ts +4 -0
  37. package/dist/combobox/ComboboxItemGroupLabel.svelte +14 -0
  38. package/dist/combobox/ComboboxItemGroupLabel.svelte.d.ts +4 -0
  39. package/dist/combobox/ComboboxItemIndicator.svelte +14 -0
  40. package/dist/combobox/ComboboxItemIndicator.svelte.d.ts +4 -0
  41. package/dist/combobox/ComboboxItemText.svelte +11 -0
  42. package/dist/combobox/ComboboxItemText.svelte.d.ts +4 -0
  43. package/dist/combobox/ComboboxList.svelte +14 -0
  44. package/dist/combobox/ComboboxList.svelte.d.ts +4 -0
  45. package/dist/combobox/ComboboxTrigger.svelte +14 -0
  46. package/dist/combobox/ComboboxTrigger.svelte.d.ts +4 -0
  47. package/dist/combobox/index.d.ts +14 -0
  48. package/dist/combobox/index.js +15 -0
  49. package/dist/field/Field.svelte +14 -0
  50. package/dist/field/Field.svelte.d.ts +4 -0
  51. package/dist/field/FieldContext.svelte.d.ts +1 -0
  52. package/dist/field/FieldContext.svelte.js +3 -0
  53. package/dist/field/FieldError.svelte +14 -0
  54. package/dist/field/FieldError.svelte.d.ts +4 -0
  55. package/dist/field/FieldHelper.svelte +14 -0
  56. package/dist/field/FieldHelper.svelte.d.ts +4 -0
  57. package/dist/field/FieldLabel.svelte +14 -0
  58. package/dist/field/FieldLabel.svelte.d.ts +4 -0
  59. package/dist/field/FieldRequiredIndicator.svelte +14 -0
  60. package/dist/field/FieldRequiredIndicator.svelte.d.ts +4 -0
  61. package/dist/field/FieldSet.svelte +14 -0
  62. package/dist/field/FieldSet.svelte.d.ts +4 -0
  63. package/dist/field/FieldSetError.svelte +14 -0
  64. package/dist/field/FieldSetError.svelte.d.ts +4 -0
  65. package/dist/field/FieldSetHelper.svelte +14 -0
  66. package/dist/field/FieldSetHelper.svelte.d.ts +4 -0
  67. package/dist/field/FieldSetLegend.svelte +14 -0
  68. package/dist/field/FieldSetLegend.svelte.d.ts +4 -0
  69. package/dist/field/index.d.ts +10 -0
  70. package/dist/field/index.js +11 -0
  71. package/dist/index.d.ts +9 -0
  72. package/dist/index.js +9 -0
  73. package/dist/number-input/NumberInput.svelte +14 -0
  74. package/dist/number-input/NumberInput.svelte.d.ts +4 -0
  75. package/dist/number-input/NumberInputContext.svelte.d.ts +1 -0
  76. package/dist/number-input/NumberInputContext.svelte.js +3 -0
  77. package/dist/number-input/NumberInputControl.svelte +14 -0
  78. package/dist/number-input/NumberInputControl.svelte.d.ts +4 -0
  79. package/dist/number-input/NumberInputDecrement.svelte +14 -0
  80. package/dist/number-input/NumberInputDecrement.svelte.d.ts +4 -0
  81. package/dist/number-input/NumberInputIncrement.svelte +14 -0
  82. package/dist/number-input/NumberInputIncrement.svelte.d.ts +4 -0
  83. package/dist/number-input/NumberInputInput.svelte +12 -0
  84. package/dist/number-input/NumberInputInput.svelte.d.ts +4 -0
  85. package/dist/number-input/index.d.ts +6 -0
  86. package/dist/number-input/index.js +7 -0
  87. package/dist/select/Select.svelte +70 -0
  88. package/dist/select/Select.svelte.d.ts +11 -0
  89. package/dist/select/SelectClearTrigger.svelte +14 -0
  90. package/dist/select/SelectClearTrigger.svelte.d.ts +4 -0
  91. package/dist/select/SelectContent.svelte +19 -0
  92. package/dist/select/SelectContent.svelte.d.ts +4 -0
  93. package/dist/select/SelectContext.svelte.d.ts +1 -0
  94. package/dist/select/SelectContext.svelte.js +3 -0
  95. package/dist/select/SelectIndicator.svelte +14 -0
  96. package/dist/select/SelectIndicator.svelte.d.ts +4 -0
  97. package/dist/select/SelectItem.svelte +21 -0
  98. package/dist/select/SelectItem.svelte.d.ts +9 -0
  99. package/dist/select/SelectItemGroup.svelte +11 -0
  100. package/dist/select/SelectItemGroup.svelte.d.ts +4 -0
  101. package/dist/select/SelectItemGroupLabel.svelte +14 -0
  102. package/dist/select/SelectItemGroupLabel.svelte.d.ts +4 -0
  103. package/dist/select/SelectItemIndicator.svelte +14 -0
  104. package/dist/select/SelectItemIndicator.svelte.d.ts +4 -0
  105. package/dist/select/SelectItemText.svelte +14 -0
  106. package/dist/select/SelectItemText.svelte.d.ts +4 -0
  107. package/dist/select/SelectNative.svelte +73 -0
  108. package/dist/select/SelectNative.svelte.d.ts +16 -0
  109. package/dist/select/SelectTrigger.svelte +19 -0
  110. package/dist/select/SelectTrigger.svelte.d.ts +8 -0
  111. package/dist/select/SelectValue.svelte +18 -0
  112. package/dist/select/SelectValue.svelte.d.ts +4 -0
  113. package/dist/select/index.d.ts +13 -0
  114. package/dist/select/index.js +14 -0
  115. package/dist/switch/Switch.svelte +23 -0
  116. package/dist/switch/Switch.svelte.d.ts +8 -0
  117. package/dist/switch/SwitchContext.svelte.d.ts +1 -0
  118. package/dist/switch/SwitchContext.svelte.js +3 -0
  119. package/dist/switch/SwitchControl.svelte +17 -0
  120. package/dist/switch/SwitchControl.svelte.d.ts +4 -0
  121. package/dist/switch/SwitchLabel.svelte +14 -0
  122. package/dist/switch/SwitchLabel.svelte.d.ts +4 -0
  123. package/dist/switch/SwitchThumb.svelte +12 -0
  124. package/dist/switch/SwitchThumb.svelte.d.ts +4 -0
  125. package/dist/switch/index.d.ts +5 -0
  126. package/dist/switch/index.js +6 -0
  127. package/dist/tags-input/TagInput.svelte +19 -0
  128. package/dist/tags-input/TagInput.svelte.d.ts +4 -0
  129. package/dist/tags-input/TagInputClearTrigger.svelte +14 -0
  130. package/dist/tags-input/TagInputClearTrigger.svelte.d.ts +4 -0
  131. package/dist/tags-input/TagInputContext.svelte.d.ts +1 -0
  132. package/dist/tags-input/TagInputContext.svelte.js +3 -0
  133. package/dist/tags-input/TagInputControl.svelte +14 -0
  134. package/dist/tags-input/TagInputControl.svelte.d.ts +4 -0
  135. package/dist/tags-input/TagInputInput.svelte +12 -0
  136. package/dist/tags-input/TagInputInput.svelte.d.ts +4 -0
  137. package/dist/tags-input/TagInputItem.svelte +14 -0
  138. package/dist/tags-input/TagInputItem.svelte.d.ts +4 -0
  139. package/dist/tags-input/TagInputItemDeleteTrigger.svelte +14 -0
  140. package/dist/tags-input/TagInputItemDeleteTrigger.svelte.d.ts +4 -0
  141. package/dist/tags-input/TagInputItemInput.svelte +12 -0
  142. package/dist/tags-input/TagInputItemInput.svelte.d.ts +4 -0
  143. package/dist/tags-input/TagInputItemPreview.svelte +11 -0
  144. package/dist/tags-input/TagInputItemPreview.svelte.d.ts +4 -0
  145. package/dist/tags-input/TagInputItemText.svelte +14 -0
  146. package/dist/tags-input/TagInputItemText.svelte.d.ts +4 -0
  147. package/dist/tags-input/index.d.ts +11 -0
  148. package/dist/tags-input/index.js +12 -0
  149. package/package.json +2 -2
@@ -0,0 +1,73 @@
1
+ <!-- libs/helix-svelte/src/select/SelectNative.svelte -->
2
+ <!-- Closely based on: Shark UI native-select (@ark-ui/svelte/factory), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { Ark } from '@ark-ui/svelte/factory';
5
+ import { nativeSelectVariants, nativeSelectWrapperBase, nativeSelectIconBase, cn } from '@cloudvoyant/helix';
6
+ import type { SelectItemData } from '@cloudvoyant/helix';
7
+ import type { Snippet } from 'svelte';
8
+ import type { HTMLSelectAttributes } from 'svelte/elements';
9
+
10
+ type Props = Omit<HTMLSelectAttributes, 'value' | 'children' | 'size'> & {
11
+ items: SelectItemData[];
12
+ value?: string;
13
+ defaultValue?: string;
14
+ onValueChange?: (value: string) => void;
15
+ size?: 'sm' | 'md' | 'lg';
16
+ invalid?: boolean;
17
+ icon?: Snippet;
18
+ class?: string;
19
+ };
20
+
21
+ let {
22
+ items = [],
23
+ value,
24
+ defaultValue,
25
+ onValueChange,
26
+ size = 'md',
27
+ invalid,
28
+ icon,
29
+ class: className = '',
30
+ ...rest
31
+ }: Props = $props();
32
+
33
+ const classes = $derived(nativeSelectVariants({ size }));
34
+ const wrapperClasses = $derived(cn(nativeSelectWrapperBase, className));
35
+
36
+ let current = $state(value ?? defaultValue ?? '');
37
+
38
+ $effect(() => {
39
+ if (value !== undefined) current = value;
40
+ });
41
+
42
+ function handleChange(event: Event) {
43
+ const next = (event.currentTarget as HTMLSelectElement).value;
44
+ current = next;
45
+ onValueChange?.(next);
46
+ }
47
+ </script>
48
+
49
+ <Ark as="div" class={wrapperClasses}>
50
+ <Ark
51
+ as="select"
52
+ class={classes}
53
+ value={current}
54
+ aria-invalid={invalid}
55
+ onchange={handleChange}
56
+ {...rest}
57
+ >
58
+ {#each items as item (item.value)}
59
+ <option value={item.value} disabled={item.disabled}>
60
+ {item.label}
61
+ </option>
62
+ {/each}
63
+ </Ark>
64
+ <Ark as="span" class={nativeSelectIconBase} aria-hidden>
65
+ {#if icon}
66
+ {@render icon()}
67
+ {:else}
68
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
69
+ <path d="m6 9 6 6 6-6" />
70
+ </svg>
71
+ {/if}
72
+ </Ark>
73
+ </Ark>
@@ -0,0 +1,16 @@
1
+ import type { SelectItemData } from '@cloudvoyant/helix';
2
+ import type { Snippet } from 'svelte';
3
+ import type { HTMLSelectAttributes } from 'svelte/elements';
4
+ type Props = Omit<HTMLSelectAttributes, 'value' | 'children' | 'size'> & {
5
+ items: SelectItemData[];
6
+ value?: string;
7
+ defaultValue?: string;
8
+ onValueChange?: (value: string) => void;
9
+ size?: 'sm' | 'md' | 'lg';
10
+ invalid?: boolean;
11
+ icon?: Snippet;
12
+ class?: string;
13
+ };
14
+ declare const SelectNative: import("svelte").Component<Props, {}, "">;
15
+ type SelectNative = ReturnType<typeof SelectNative>;
16
+ export default SelectNative;
@@ -0,0 +1,19 @@
1
+ <!-- libs/helix-svelte/src/select/SelectTrigger.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { SelectTrigger, type SelectTriggerProps } from '@ark-ui/svelte/select';
5
+ import { inputVariants, selectTriggerBase, cn } from '@cloudvoyant/helix';
6
+
7
+ type Props = SelectTriggerProps & {
8
+ size?: 'sm' | 'md' | 'lg';
9
+ class?: string;
10
+ };
11
+
12
+ let { size = 'md', class: className = '', children, ...rest }: Props = $props();
13
+
14
+ const classes = $derived(cn(inputVariants({ size }), selectTriggerBase, className));
15
+ </script>
16
+
17
+ <SelectTrigger class={classes} {...rest}>
18
+ {@render children?.()}
19
+ </SelectTrigger>
@@ -0,0 +1,8 @@
1
+ import { SelectTrigger, type SelectTriggerProps } from '@ark-ui/svelte/select';
2
+ type Props = SelectTriggerProps & {
3
+ size?: 'sm' | 'md' | 'lg';
4
+ class?: string;
5
+ };
6
+ declare const SelectTrigger: import("svelte").Component<Props, {}, "">;
7
+ type SelectTrigger = ReturnType<typeof SelectTrigger>;
8
+ export default SelectTrigger;
@@ -0,0 +1,18 @@
1
+ <!-- libs/helix-svelte/src/select/SelectValue.svelte -->
2
+ <!-- Closely based on: Shark UI select (@ark-ui/svelte/select), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { SelectValueText, type SelectValueTextProps } from '@ark-ui/svelte/select';
5
+ import { selectValueBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', children, ...rest }: SelectValueTextProps = $props();
8
+
9
+ const classes = $derived(cn(selectValueBase, className));
10
+ </script>
11
+
12
+ {#if children}
13
+ <SelectValueText class={classes} {...rest}>
14
+ {@render children()}
15
+ </SelectValueText>
16
+ {:else}
17
+ <SelectValueText class={classes} {...rest} />
18
+ {/if}
@@ -0,0 +1,4 @@
1
+ import { type SelectValueTextProps } from '@ark-ui/svelte/select';
2
+ declare const SelectValue: import("svelte").Component<SelectValueTextProps, {}, "">;
3
+ type SelectValue = ReturnType<typeof SelectValue>;
4
+ export default SelectValue;
@@ -0,0 +1,13 @@
1
+ export { default as Select } from './Select.svelte';
2
+ export { default as SelectTrigger } from './SelectTrigger.svelte';
3
+ export { default as SelectValue } from './SelectValue.svelte';
4
+ export { default as SelectIndicator } from './SelectIndicator.svelte';
5
+ export { default as SelectClearTrigger } from './SelectClearTrigger.svelte';
6
+ export { default as SelectContent } from './SelectContent.svelte';
7
+ export { default as SelectItemGroup } from './SelectItemGroup.svelte';
8
+ export { default as SelectItemGroupLabel } from './SelectItemGroupLabel.svelte';
9
+ export { default as SelectItem } from './SelectItem.svelte';
10
+ export { default as SelectItemText } from './SelectItemText.svelte';
11
+ export { default as SelectItemIndicator } from './SelectItemIndicator.svelte';
12
+ export { default as SelectNative } from './SelectNative.svelte';
13
+ export { useSelect } from './SelectContext.svelte';
@@ -0,0 +1,14 @@
1
+ // libs/helix-svelte/src/select/index.ts
2
+ export { default as Select } from './Select.svelte';
3
+ export { default as SelectTrigger } from './SelectTrigger.svelte';
4
+ export { default as SelectValue } from './SelectValue.svelte';
5
+ export { default as SelectIndicator } from './SelectIndicator.svelte';
6
+ export { default as SelectClearTrigger } from './SelectClearTrigger.svelte';
7
+ export { default as SelectContent } from './SelectContent.svelte';
8
+ export { default as SelectItemGroup } from './SelectItemGroup.svelte';
9
+ export { default as SelectItemGroupLabel } from './SelectItemGroupLabel.svelte';
10
+ export { default as SelectItem } from './SelectItem.svelte';
11
+ export { default as SelectItemText } from './SelectItemText.svelte';
12
+ export { default as SelectItemIndicator } from './SelectItemIndicator.svelte';
13
+ export { default as SelectNative } from './SelectNative.svelte';
14
+ export { useSelect } from './SelectContext.svelte';
@@ -0,0 +1,23 @@
1
+ <!-- libs/helix-svelte/src/switch/Switch.svelte -->
2
+ <!-- Closely based on: Shark UI switch (@ark-ui/svelte/switch), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { setContext } from 'svelte';
5
+ import { SwitchRoot, SwitchHiddenInput, type SwitchRootProps } from '@ark-ui/svelte/switch';
6
+ import { cn } from '@cloudvoyant/helix';
7
+
8
+ type Props = SwitchRootProps & {
9
+ size?: 'sm' | 'md' | 'lg';
10
+ class?: string;
11
+ };
12
+
13
+ let { size = 'md', class: className = '', children, ...rest }: Props = $props();
14
+
15
+ setContext<'sm' | 'md' | 'lg'>('switch-size', size);
16
+
17
+ const classes = $derived(cn('flex items-center gap-2', className));
18
+ </script>
19
+
20
+ <SwitchRoot class={classes} {...rest}>
21
+ {@render children?.()}
22
+ <SwitchHiddenInput />
23
+ </SwitchRoot>
@@ -0,0 +1,8 @@
1
+ import { type SwitchRootProps } from '@ark-ui/svelte/switch';
2
+ type Props = SwitchRootProps & {
3
+ size?: 'sm' | 'md' | 'lg';
4
+ class?: string;
5
+ };
6
+ declare const Switch: import("svelte").Component<Props, {}, "">;
7
+ type Switch = ReturnType<typeof Switch>;
8
+ export default Switch;
@@ -0,0 +1 @@
1
+ export { useSwitchContext as useSwitch } from '@ark-ui/svelte/switch';
@@ -0,0 +1,3 @@
1
+ // libs/helix-svelte/src/switch/SwitchContext.svelte.ts
2
+ // Closely based on: @ark-ui/svelte/switch useSwitchContext, mirrored from @cloudvoyant/helix-react useSwitch
3
+ export { useSwitchContext as useSwitch } from '@ark-ui/svelte/switch';
@@ -0,0 +1,17 @@
1
+ <!-- libs/helix-svelte/src/switch/SwitchControl.svelte -->
2
+ <!-- Closely based on: Shark UI switch (@ark-ui/svelte/switch), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { getContext } from 'svelte';
5
+ import { SwitchControl, type SwitchControlProps } from '@ark-ui/svelte/switch';
6
+ import { switchVariants, switchControlBase, cn } from '@cloudvoyant/helix';
7
+
8
+ let { class: className = '', children, ...rest }: SwitchControlProps = $props();
9
+
10
+ const size = getContext<'sm' | 'md' | 'lg'>('switch-size');
11
+
12
+ const classes = $derived(cn(switchVariants({ size }), switchControlBase, className));
13
+ </script>
14
+
15
+ <SwitchControl class={classes} {...rest}>
16
+ {@render children?.()}
17
+ </SwitchControl>
@@ -0,0 +1,4 @@
1
+ import { SwitchControl, type SwitchControlProps } from '@ark-ui/svelte/switch';
2
+ declare const SwitchControl: import("svelte").Component<SwitchControlProps, {}, "">;
3
+ type SwitchControl = ReturnType<typeof SwitchControl>;
4
+ export default SwitchControl;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helix-svelte/src/switch/SwitchLabel.svelte -->
2
+ <!-- Closely based on: Shark UI switch (@ark-ui/svelte/switch), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { SwitchLabel, type SwitchLabelProps } from '@ark-ui/svelte/switch';
5
+ import { switchLabelBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', children, ...rest }: SwitchLabelProps = $props();
8
+
9
+ const classes = $derived(cn(switchLabelBase, className));
10
+ </script>
11
+
12
+ <SwitchLabel class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </SwitchLabel>
@@ -0,0 +1,4 @@
1
+ import { SwitchLabel, type SwitchLabelProps } from '@ark-ui/svelte/switch';
2
+ declare const SwitchLabel: import("svelte").Component<SwitchLabelProps, {}, "">;
3
+ type SwitchLabel = ReturnType<typeof SwitchLabel>;
4
+ export default SwitchLabel;
@@ -0,0 +1,12 @@
1
+ <!-- libs/helix-svelte/src/switch/SwitchThumb.svelte -->
2
+ <!-- Closely based on: Shark UI switch (@ark-ui/svelte/switch), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { SwitchThumb, type SwitchThumbProps } from '@ark-ui/svelte/switch';
5
+ import { switchThumbBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', ...rest }: SwitchThumbProps = $props();
8
+
9
+ const classes = $derived(cn(switchThumbBase, className));
10
+ </script>
11
+
12
+ <SwitchThumb class={classes} {...rest} />
@@ -0,0 +1,4 @@
1
+ import { SwitchThumb, type SwitchThumbProps } from '@ark-ui/svelte/switch';
2
+ declare const SwitchThumb: import("svelte").Component<SwitchThumbProps, {}, "">;
3
+ type SwitchThumb = ReturnType<typeof SwitchThumb>;
4
+ export default SwitchThumb;
@@ -0,0 +1,5 @@
1
+ export { default as Switch } from './Switch.svelte';
2
+ export { default as SwitchControl } from './SwitchControl.svelte';
3
+ export { default as SwitchThumb } from './SwitchThumb.svelte';
4
+ export { default as SwitchLabel } from './SwitchLabel.svelte';
5
+ export { useSwitch } from './SwitchContext.svelte';
@@ -0,0 +1,6 @@
1
+ // libs/helix-svelte/src/switch/index.ts
2
+ export { default as Switch } from './Switch.svelte';
3
+ export { default as SwitchControl } from './SwitchControl.svelte';
4
+ export { default as SwitchThumb } from './SwitchThumb.svelte';
5
+ export { default as SwitchLabel } from './SwitchLabel.svelte';
6
+ export { useSwitch } from './SwitchContext.svelte';
@@ -0,0 +1,19 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInput.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import {
5
+ TagsInputRoot,
6
+ TagsInputHiddenInput,
7
+ type TagsInputRootProps,
8
+ } from '@ark-ui/svelte/tags-input';
9
+ import { tagsInputRootBase, cn } from '@cloudvoyant/helix';
10
+
11
+ let { class: className = '', editable = false, children, ...rest }: TagsInputRootProps = $props();
12
+
13
+ const classes = $derived(cn(tagsInputRootBase, className));
14
+ </script>
15
+
16
+ <TagsInputRoot {editable} class={classes} {...rest}>
17
+ {@render children?.()}
18
+ <TagsInputHiddenInput />
19
+ </TagsInputRoot>
@@ -0,0 +1,4 @@
1
+ import { type TagsInputRootProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInput: import("svelte").Component<TagsInputRootProps, {}, "">;
3
+ type TagInput = ReturnType<typeof TagInput>;
4
+ export default TagInput;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInputClearTrigger.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { TagsInputClearTrigger, type TagsInputClearTriggerProps } from '@ark-ui/svelte/tags-input';
5
+ import { tagsInputClearTriggerBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', children, ...rest }: TagsInputClearTriggerProps = $props();
8
+
9
+ const classes = $derived(cn(tagsInputClearTriggerBase, className));
10
+ </script>
11
+
12
+ <TagsInputClearTrigger aria-label="Clear all tags" class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </TagsInputClearTrigger>
@@ -0,0 +1,4 @@
1
+ import { type TagsInputClearTriggerProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInputClearTrigger: import("svelte").Component<TagsInputClearTriggerProps, {}, "">;
3
+ type TagInputClearTrigger = ReturnType<typeof TagInputClearTrigger>;
4
+ export default TagInputClearTrigger;
@@ -0,0 +1 @@
1
+ export { useTagsInputContext as useTagInput } from '@ark-ui/svelte/tags-input';
@@ -0,0 +1,3 @@
1
+ // libs/helix-svelte/src/tags-input/TagInputContext.svelte.ts
2
+ // Closely based on: @ark-ui/svelte/tags-input useTagsInputContext, mirrored from @cloudvoyant/helix-react useTagInput
3
+ export { useTagsInputContext as useTagInput } from '@ark-ui/svelte/tags-input';
@@ -0,0 +1,14 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInputControl.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { TagsInputControl, type TagsInputControlProps } from '@ark-ui/svelte/tags-input';
5
+ import { tagsInputControlBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', children, ...rest }: TagsInputControlProps = $props();
8
+
9
+ const classes = $derived(cn(tagsInputControlBase, className));
10
+ </script>
11
+
12
+ <TagsInputControl class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </TagsInputControl>
@@ -0,0 +1,4 @@
1
+ import { type TagsInputControlProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInputControl: import("svelte").Component<TagsInputControlProps, {}, "">;
3
+ type TagInputControl = ReturnType<typeof TagInputControl>;
4
+ export default TagInputControl;
@@ -0,0 +1,12 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInputInput.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { TagsInputInput, type TagsInputInputProps } from '@ark-ui/svelte/tags-input';
5
+ import { tagsInputInputBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', ...rest }: TagsInputInputProps = $props();
8
+
9
+ const classes = $derived(cn(tagsInputInputBase, className));
10
+ </script>
11
+
12
+ <TagsInputInput class={classes} {...rest} />
@@ -0,0 +1,4 @@
1
+ import { type TagsInputInputProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInputInput: import("svelte").Component<TagsInputInputProps, {}, "">;
3
+ type TagInputInput = ReturnType<typeof TagInputInput>;
4
+ export default TagInputInput;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInputItem.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { TagsInputItem, type TagsInputItemProps } from '@ark-ui/svelte/tags-input';
5
+ import { tagsInputItemBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', children, ...rest }: TagsInputItemProps = $props();
8
+
9
+ const classes = $derived(cn(tagsInputItemBase, className));
10
+ </script>
11
+
12
+ <TagsInputItem class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </TagsInputItem>
@@ -0,0 +1,4 @@
1
+ import { type TagsInputItemProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInputItem: import("svelte").Component<TagsInputItemProps, {}, "">;
3
+ type TagInputItem = ReturnType<typeof TagInputItem>;
4
+ export default TagInputItem;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInputItemDeleteTrigger.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { TagsInputItemDeleteTrigger, type TagsInputItemDeleteTriggerProps } from '@ark-ui/svelte/tags-input';
5
+ import { tagsInputItemDeleteTriggerBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', children, ...rest }: TagsInputItemDeleteTriggerProps = $props();
8
+
9
+ const classes = $derived(cn(tagsInputItemDeleteTriggerBase, className));
10
+ </script>
11
+
12
+ <TagsInputItemDeleteTrigger aria-label="Remove tag" class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </TagsInputItemDeleteTrigger>
@@ -0,0 +1,4 @@
1
+ import { type TagsInputItemDeleteTriggerProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInputItemDeleteTrigger: import("svelte").Component<TagsInputItemDeleteTriggerProps, {}, "">;
3
+ type TagInputItemDeleteTrigger = ReturnType<typeof TagInputItemDeleteTrigger>;
4
+ export default TagInputItemDeleteTrigger;
@@ -0,0 +1,12 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInputItemInput.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { TagsInputItemInput, type TagsInputItemInputProps } from '@ark-ui/svelte/tags-input';
5
+ import { tagsInputItemInputBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', ...rest }: TagsInputItemInputProps = $props();
8
+
9
+ const classes = $derived(cn(tagsInputItemInputBase, className));
10
+ </script>
11
+
12
+ <TagsInputItemInput class={classes} {...rest} />
@@ -0,0 +1,4 @@
1
+ import { type TagsInputItemInputProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInputItemInput: import("svelte").Component<TagsInputItemInputProps, {}, "">;
3
+ type TagInputItemInput = ReturnType<typeof TagInputItemInput>;
4
+ export default TagInputItemInput;
@@ -0,0 +1,11 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInputItemPreview.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { TagsInputItemPreview, type TagsInputItemPreviewProps } from '@ark-ui/svelte/tags-input';
5
+
6
+ let { class: className = '', children, ...rest }: TagsInputItemPreviewProps = $props();
7
+ </script>
8
+
9
+ <TagsInputItemPreview class={className} {...rest}>
10
+ {@render children?.()}
11
+ </TagsInputItemPreview>
@@ -0,0 +1,4 @@
1
+ import { type TagsInputItemPreviewProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInputItemPreview: import("svelte").Component<TagsInputItemPreviewProps, {}, "">;
3
+ type TagInputItemPreview = ReturnType<typeof TagInputItemPreview>;
4
+ export default TagInputItemPreview;
@@ -0,0 +1,14 @@
1
+ <!-- libs/helix-svelte/src/tags-input/TagInputItemText.svelte -->
2
+ <!-- Closely based on: Shark UI tags input (@ark-ui/svelte/tags-input), mirrored from @cloudvoyant/helix-react -->
3
+ <script lang="ts">
4
+ import { TagsInputItemText, type TagsInputItemTextProps } from '@ark-ui/svelte/tags-input';
5
+ import { tagsInputItemTextBase, cn } from '@cloudvoyant/helix';
6
+
7
+ let { class: className = '', children, ...rest }: TagsInputItemTextProps = $props();
8
+
9
+ const classes = $derived(cn(tagsInputItemTextBase, className));
10
+ </script>
11
+
12
+ <TagsInputItemText class={classes} {...rest}>
13
+ {@render children?.()}
14
+ </TagsInputItemText>
@@ -0,0 +1,4 @@
1
+ import { type TagsInputItemTextProps } from '@ark-ui/svelte/tags-input';
2
+ declare const TagInputItemText: import("svelte").Component<TagsInputItemTextProps, {}, "">;
3
+ type TagInputItemText = ReturnType<typeof TagInputItemText>;
4
+ export default TagInputItemText;
@@ -0,0 +1,11 @@
1
+ export { default as TagInput } from './TagInput.svelte';
2
+ export { default as TagInputControl } from './TagInputControl.svelte';
3
+ export { default as TagInputInput } from './TagInputInput.svelte';
4
+ export { default as TagInputItem } from './TagInputItem.svelte';
5
+ export { default as TagInputItemPreview } from './TagInputItemPreview.svelte';
6
+ export { default as TagInputItemText } from './TagInputItemText.svelte';
7
+ export { default as TagInputItemInput } from './TagInputItemInput.svelte';
8
+ export { default as TagInputItemDeleteTrigger } from './TagInputItemDeleteTrigger.svelte';
9
+ export { default as TagInputClearTrigger } from './TagInputClearTrigger.svelte';
10
+ export { TagsInputContext as TagInputContext } from '@ark-ui/svelte/tags-input';
11
+ export { useTagInput } from './TagInputContext.svelte';
@@ -0,0 +1,12 @@
1
+ // libs/helix-svelte/src/tags-input/index.ts
2
+ export { default as TagInput } from './TagInput.svelte';
3
+ export { default as TagInputControl } from './TagInputControl.svelte';
4
+ export { default as TagInputInput } from './TagInputInput.svelte';
5
+ export { default as TagInputItem } from './TagInputItem.svelte';
6
+ export { default as TagInputItemPreview } from './TagInputItemPreview.svelte';
7
+ export { default as TagInputItemText } from './TagInputItemText.svelte';
8
+ export { default as TagInputItemInput } from './TagInputItemInput.svelte';
9
+ export { default as TagInputItemDeleteTrigger } from './TagInputItemDeleteTrigger.svelte';
10
+ export { default as TagInputClearTrigger } from './TagInputClearTrigger.svelte';
11
+ export { TagsInputContext as TagInputContext } from '@ark-ui/svelte/tags-input';
12
+ export { useTagInput } from './TagInputContext.svelte';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudvoyant/helix-svelte",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "helix Svelte UI components",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@ark-ui/svelte": "^5.23.1",
30
- "@cloudvoyant/helix": "0.12.0"
30
+ "@cloudvoyant/helix": "0.13.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@sveltejs/package": "^2.5.8",