@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.
- package/dist/Input.svelte +17 -0
- package/dist/Input.svelte.d.ts +8 -0
- package/dist/Textarea.svelte +14 -0
- package/dist/Textarea.svelte.d.ts +4 -0
- package/dist/checkbox/Checkbox.svelte +23 -0
- package/dist/checkbox/Checkbox.svelte.d.ts +8 -0
- package/dist/checkbox/CheckboxContext.svelte.d.ts +1 -0
- package/dist/checkbox/CheckboxContext.svelte.js +3 -0
- package/dist/checkbox/CheckboxControl.svelte +17 -0
- package/dist/checkbox/CheckboxControl.svelte.d.ts +4 -0
- package/dist/checkbox/CheckboxGroup.svelte +14 -0
- package/dist/checkbox/CheckboxGroup.svelte.d.ts +4 -0
- package/dist/checkbox/CheckboxIndicator.svelte +14 -0
- package/dist/checkbox/CheckboxIndicator.svelte.d.ts +4 -0
- package/dist/checkbox/CheckboxLabel.svelte +14 -0
- package/dist/checkbox/CheckboxLabel.svelte.d.ts +4 -0
- package/dist/checkbox/index.d.ts +6 -0
- package/dist/checkbox/index.js +7 -0
- package/dist/combobox/Combobox.svelte +25 -0
- package/dist/combobox/Combobox.svelte.d.ts +9 -0
- package/dist/combobox/ComboboxClear.svelte +14 -0
- package/dist/combobox/ComboboxClear.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxContent.svelte +19 -0
- package/dist/combobox/ComboboxContent.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxContext.svelte.d.ts +1 -0
- package/dist/combobox/ComboboxContext.svelte.js +3 -0
- package/dist/combobox/ComboboxControl.svelte +14 -0
- package/dist/combobox/ComboboxControl.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxEmpty.svelte +18 -0
- package/dist/combobox/ComboboxEmpty.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxInput.svelte +17 -0
- package/dist/combobox/ComboboxInput.svelte.d.ts +8 -0
- package/dist/combobox/ComboboxItem.svelte +22 -0
- package/dist/combobox/ComboboxItem.svelte.d.ts +10 -0
- package/dist/combobox/ComboboxItemGroup.svelte +11 -0
- package/dist/combobox/ComboboxItemGroup.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxItemGroupLabel.svelte +14 -0
- package/dist/combobox/ComboboxItemGroupLabel.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxItemIndicator.svelte +14 -0
- package/dist/combobox/ComboboxItemIndicator.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxItemText.svelte +11 -0
- package/dist/combobox/ComboboxItemText.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxList.svelte +14 -0
- package/dist/combobox/ComboboxList.svelte.d.ts +4 -0
- package/dist/combobox/ComboboxTrigger.svelte +14 -0
- package/dist/combobox/ComboboxTrigger.svelte.d.ts +4 -0
- package/dist/combobox/index.d.ts +14 -0
- package/dist/combobox/index.js +15 -0
- package/dist/field/Field.svelte +14 -0
- package/dist/field/Field.svelte.d.ts +4 -0
- package/dist/field/FieldContext.svelte.d.ts +1 -0
- package/dist/field/FieldContext.svelte.js +3 -0
- package/dist/field/FieldError.svelte +14 -0
- package/dist/field/FieldError.svelte.d.ts +4 -0
- package/dist/field/FieldHelper.svelte +14 -0
- package/dist/field/FieldHelper.svelte.d.ts +4 -0
- package/dist/field/FieldLabel.svelte +14 -0
- package/dist/field/FieldLabel.svelte.d.ts +4 -0
- package/dist/field/FieldRequiredIndicator.svelte +14 -0
- package/dist/field/FieldRequiredIndicator.svelte.d.ts +4 -0
- package/dist/field/FieldSet.svelte +14 -0
- package/dist/field/FieldSet.svelte.d.ts +4 -0
- package/dist/field/FieldSetError.svelte +14 -0
- package/dist/field/FieldSetError.svelte.d.ts +4 -0
- package/dist/field/FieldSetHelper.svelte +14 -0
- package/dist/field/FieldSetHelper.svelte.d.ts +4 -0
- package/dist/field/FieldSetLegend.svelte +14 -0
- package/dist/field/FieldSetLegend.svelte.d.ts +4 -0
- package/dist/field/index.d.ts +10 -0
- package/dist/field/index.js +11 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +9 -0
- package/dist/number-input/NumberInput.svelte +14 -0
- package/dist/number-input/NumberInput.svelte.d.ts +4 -0
- package/dist/number-input/NumberInputContext.svelte.d.ts +1 -0
- package/dist/number-input/NumberInputContext.svelte.js +3 -0
- package/dist/number-input/NumberInputControl.svelte +14 -0
- package/dist/number-input/NumberInputControl.svelte.d.ts +4 -0
- package/dist/number-input/NumberInputDecrement.svelte +14 -0
- package/dist/number-input/NumberInputDecrement.svelte.d.ts +4 -0
- package/dist/number-input/NumberInputIncrement.svelte +14 -0
- package/dist/number-input/NumberInputIncrement.svelte.d.ts +4 -0
- package/dist/number-input/NumberInputInput.svelte +12 -0
- package/dist/number-input/NumberInputInput.svelte.d.ts +4 -0
- package/dist/number-input/index.d.ts +6 -0
- package/dist/number-input/index.js +7 -0
- package/dist/select/Select.svelte +70 -0
- package/dist/select/Select.svelte.d.ts +11 -0
- package/dist/select/SelectClearTrigger.svelte +14 -0
- package/dist/select/SelectClearTrigger.svelte.d.ts +4 -0
- package/dist/select/SelectContent.svelte +19 -0
- package/dist/select/SelectContent.svelte.d.ts +4 -0
- package/dist/select/SelectContext.svelte.d.ts +1 -0
- package/dist/select/SelectContext.svelte.js +3 -0
- package/dist/select/SelectIndicator.svelte +14 -0
- package/dist/select/SelectIndicator.svelte.d.ts +4 -0
- package/dist/select/SelectItem.svelte +21 -0
- package/dist/select/SelectItem.svelte.d.ts +9 -0
- package/dist/select/SelectItemGroup.svelte +11 -0
- package/dist/select/SelectItemGroup.svelte.d.ts +4 -0
- package/dist/select/SelectItemGroupLabel.svelte +14 -0
- package/dist/select/SelectItemGroupLabel.svelte.d.ts +4 -0
- package/dist/select/SelectItemIndicator.svelte +14 -0
- package/dist/select/SelectItemIndicator.svelte.d.ts +4 -0
- package/dist/select/SelectItemText.svelte +14 -0
- package/dist/select/SelectItemText.svelte.d.ts +4 -0
- package/dist/select/SelectNative.svelte +73 -0
- package/dist/select/SelectNative.svelte.d.ts +16 -0
- package/dist/select/SelectTrigger.svelte +19 -0
- package/dist/select/SelectTrigger.svelte.d.ts +8 -0
- package/dist/select/SelectValue.svelte +18 -0
- package/dist/select/SelectValue.svelte.d.ts +4 -0
- package/dist/select/index.d.ts +13 -0
- package/dist/select/index.js +14 -0
- package/dist/switch/Switch.svelte +23 -0
- package/dist/switch/Switch.svelte.d.ts +8 -0
- package/dist/switch/SwitchContext.svelte.d.ts +1 -0
- package/dist/switch/SwitchContext.svelte.js +3 -0
- package/dist/switch/SwitchControl.svelte +17 -0
- package/dist/switch/SwitchControl.svelte.d.ts +4 -0
- package/dist/switch/SwitchLabel.svelte +14 -0
- package/dist/switch/SwitchLabel.svelte.d.ts +4 -0
- package/dist/switch/SwitchThumb.svelte +12 -0
- package/dist/switch/SwitchThumb.svelte.d.ts +4 -0
- package/dist/switch/index.d.ts +5 -0
- package/dist/switch/index.js +6 -0
- package/dist/tags-input/TagInput.svelte +19 -0
- package/dist/tags-input/TagInput.svelte.d.ts +4 -0
- package/dist/tags-input/TagInputClearTrigger.svelte +14 -0
- package/dist/tags-input/TagInputClearTrigger.svelte.d.ts +4 -0
- package/dist/tags-input/TagInputContext.svelte.d.ts +1 -0
- package/dist/tags-input/TagInputContext.svelte.js +3 -0
- package/dist/tags-input/TagInputControl.svelte +14 -0
- package/dist/tags-input/TagInputControl.svelte.d.ts +4 -0
- package/dist/tags-input/TagInputInput.svelte +12 -0
- package/dist/tags-input/TagInputInput.svelte.d.ts +4 -0
- package/dist/tags-input/TagInputItem.svelte +14 -0
- package/dist/tags-input/TagInputItem.svelte.d.ts +4 -0
- package/dist/tags-input/TagInputItemDeleteTrigger.svelte +14 -0
- package/dist/tags-input/TagInputItemDeleteTrigger.svelte.d.ts +4 -0
- package/dist/tags-input/TagInputItemInput.svelte +12 -0
- package/dist/tags-input/TagInputItemInput.svelte.d.ts +4 -0
- package/dist/tags-input/TagInputItemPreview.svelte +11 -0
- package/dist/tags-input/TagInputItemPreview.svelte.d.ts +4 -0
- package/dist/tags-input/TagInputItemText.svelte +14 -0
- package/dist/tags-input/TagInputItemText.svelte.d.ts +4 -0
- package/dist/tags-input/index.d.ts +11 -0
- package/dist/tags-input/index.js +12 -0
- 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,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,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,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,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,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,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,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,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,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,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,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,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.
|
|
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.
|
|
30
|
+
"@cloudvoyant/helix": "0.13.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@sveltejs/package": "^2.5.8",
|