@ark-ui/svelte 5.0.5 → 5.1.1
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/components/angle-slider/angle-slider-context.svelte +17 -0
- package/dist/components/angle-slider/angle-slider-context.svelte.d.ts +8 -0
- package/dist/components/angle-slider/angle-slider-control.svelte +18 -0
- package/dist/components/angle-slider/angle-slider-control.svelte.d.ts +8 -0
- package/dist/components/angle-slider/angle-slider-hidden-input.svelte +18 -0
- package/dist/components/angle-slider/angle-slider-hidden-input.svelte.d.ts +8 -0
- package/dist/components/angle-slider/angle-slider-label.svelte +18 -0
- package/dist/components/angle-slider/angle-slider-label.svelte.d.ts +8 -0
- package/dist/components/angle-slider/angle-slider-marker-group.svelte +18 -0
- package/dist/components/angle-slider/angle-slider-marker-group.svelte.d.ts +8 -0
- package/dist/components/angle-slider/angle-slider-marker.svelte +22 -0
- package/dist/components/angle-slider/angle-slider-marker.svelte.d.ts +9 -0
- package/dist/components/angle-slider/angle-slider-root-provider.svelte +24 -0
- package/dist/components/angle-slider/angle-slider-root-provider.svelte.d.ts +12 -0
- package/dist/components/angle-slider/angle-slider-root.svelte +54 -0
- package/dist/components/angle-slider/angle-slider-root.svelte.d.ts +9 -0
- package/dist/components/angle-slider/angle-slider-thumb.svelte +18 -0
- package/dist/components/angle-slider/angle-slider-thumb.svelte.d.ts +8 -0
- package/dist/components/angle-slider/angle-slider-value-text.svelte +18 -0
- package/dist/components/angle-slider/angle-slider-value-text.svelte.d.ts +8 -0
- package/dist/components/angle-slider/angle-slider.anatomy.d.ts +1 -0
- package/dist/components/angle-slider/angle-slider.anatomy.js +1 -0
- package/dist/components/angle-slider/angle-slider.d.ts +10 -0
- package/dist/components/angle-slider/angle-slider.js +10 -0
- package/dist/components/angle-slider/index.d.ts +14 -0
- package/dist/components/angle-slider/index.js +14 -0
- package/dist/components/angle-slider/use-angle-slider-context.d.ts +4 -0
- package/dist/components/angle-slider/use-angle-slider-context.js +4 -0
- package/dist/components/angle-slider/use-angle-slider.svelte.d.ts +9 -0
- package/dist/components/angle-slider/use-angle-slider.svelte.js +20 -0
- package/dist/components/checkbox/split-checkbox-props.svelte.d.ts +1 -1
- package/dist/components/collection/use-list-collection.svelte.d.ts +59 -5
- package/dist/components/collection/use-list-collection.svelte.js +60 -33
- package/dist/components/color-picker/color-picker-content.svelte +1 -1
- package/dist/components/color-picker/split-color-picker-props.svelte.d.ts +1 -1
- package/dist/components/color-picker/split-color-picker-props.svelte.js +1 -0
- package/dist/components/combobox/combobox-content.svelte +2 -2
- package/dist/components/combobox/combobox-positioner.svelte +5 -1
- package/dist/components/date-picker/date-picker-root.svelte +1 -0
- package/dist/components/dialog/dialog-backdrop.svelte +1 -1
- package/dist/components/dialog/dialog-content.svelte +1 -1
- package/dist/components/editable/editable-split-props.d.ts +1 -1
- package/dist/components/factory/svg-factory.svelte +1 -1
- package/dist/components/field/field-root.svelte +1 -1
- package/dist/components/fieldset/fieldset-root.svelte +1 -1
- package/dist/components/focus-trap/focus-trap.svelte +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/number-input/split-number-input-props.svelte.d.ts +1 -1
- package/dist/components/rating-group/split-rating-group-props.svelte.d.ts +1 -1
- package/dist/components/select/select.d.ts +15 -13
- package/dist/components/select/select.js +13 -13
- package/package.json +70 -70
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { Snippet } from 'svelte'
|
|
3
|
+
import type { UseAngleSliderContext } from './use-angle-slider-context'
|
|
4
|
+
|
|
5
|
+
export interface AngleSliderContextProps {
|
|
6
|
+
render: Snippet<[UseAngleSliderContext]>
|
|
7
|
+
}
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<script lang="ts">
|
|
11
|
+
import { useAngleSliderContext } from './use-angle-slider-context'
|
|
12
|
+
|
|
13
|
+
const { render }: AngleSliderContextProps = $props()
|
|
14
|
+
const angleSlider = useAngleSliderContext()
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
{@render render?.(angleSlider)}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { UseAngleSliderContext } from './use-angle-slider-context';
|
|
3
|
+
export interface AngleSliderContextProps {
|
|
4
|
+
render: Snippet<[UseAngleSliderContext]>;
|
|
5
|
+
}
|
|
6
|
+
declare const AngleSliderContext: import("svelte").Component<AngleSliderContextProps, {}, "">;
|
|
7
|
+
type AngleSliderContext = ReturnType<typeof AngleSliderContext>;
|
|
8
|
+
export default AngleSliderContext;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
|
|
4
|
+
export interface AngleSliderControlBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
|
|
5
|
+
export interface AngleSliderControlProps extends HTMLProps<'div'>, AngleSliderControlBaseProps {}
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
10
|
+
import { Ark } from '../factory'
|
|
11
|
+
import { useAngleSliderContext } from './use-angle-slider-context'
|
|
12
|
+
|
|
13
|
+
let { ref = $bindable(null), ...props }: AngleSliderControlProps = $props()
|
|
14
|
+
const angleSlider = useAngleSliderContext()
|
|
15
|
+
const mergedProps = $derived(mergeProps(angleSlider().getControlProps(), props))
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Ark as="div" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
|
|
2
|
+
export interface AngleSliderControlBaseProps extends PolymorphicProps<'div'>, RefAttribute {
|
|
3
|
+
}
|
|
4
|
+
export interface AngleSliderControlProps extends HTMLProps<'div'>, AngleSliderControlBaseProps {
|
|
5
|
+
}
|
|
6
|
+
declare const AngleSliderControl: import("svelte").Component<AngleSliderControlProps, {}, "ref">;
|
|
7
|
+
type AngleSliderControl = ReturnType<typeof AngleSliderControl>;
|
|
8
|
+
export default AngleSliderControl;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
|
|
4
|
+
export interface AngleSliderHiddenInputBaseProps extends PolymorphicProps<'input'>, RefAttribute {}
|
|
5
|
+
export interface AngleSliderHiddenInputProps extends HTMLProps<'input'>, AngleSliderHiddenInputBaseProps {}
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
10
|
+
import { Ark } from '../factory'
|
|
11
|
+
import { useAngleSliderContext } from './use-angle-slider-context'
|
|
12
|
+
|
|
13
|
+
let { ref = $bindable(null), ...props }: AngleSliderHiddenInputProps = $props()
|
|
14
|
+
const angleSlider = useAngleSliderContext()
|
|
15
|
+
const mergedProps = $derived(mergeProps(angleSlider().getHiddenInputProps(), props))
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Ark as="input" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
|
|
2
|
+
export interface AngleSliderHiddenInputBaseProps extends PolymorphicProps<'input'>, RefAttribute {
|
|
3
|
+
}
|
|
4
|
+
export interface AngleSliderHiddenInputProps extends HTMLProps<'input'>, AngleSliderHiddenInputBaseProps {
|
|
5
|
+
}
|
|
6
|
+
declare const AngleSliderHiddenInput: import("svelte").Component<AngleSliderHiddenInputProps, {}, "ref">;
|
|
7
|
+
type AngleSliderHiddenInput = ReturnType<typeof AngleSliderHiddenInput>;
|
|
8
|
+
export default AngleSliderHiddenInput;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
|
|
4
|
+
export interface AngleSliderLabelBaseProps extends PolymorphicProps<'label'>, RefAttribute {}
|
|
5
|
+
export interface AngleSliderLabelProps extends HTMLProps<'label'>, AngleSliderLabelBaseProps {}
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
10
|
+
import { Ark } from '../factory'
|
|
11
|
+
import { useAngleSliderContext } from './use-angle-slider-context'
|
|
12
|
+
|
|
13
|
+
let { ref = $bindable(null), ...props }: AngleSliderLabelProps = $props()
|
|
14
|
+
const angleSlider = useAngleSliderContext()
|
|
15
|
+
const mergedProps = $derived(mergeProps(angleSlider().getLabelProps(), props))
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Ark as="label" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
|
|
2
|
+
export interface AngleSliderLabelBaseProps extends PolymorphicProps<'label'>, RefAttribute {
|
|
3
|
+
}
|
|
4
|
+
export interface AngleSliderLabelProps extends HTMLProps<'label'>, AngleSliderLabelBaseProps {
|
|
5
|
+
}
|
|
6
|
+
declare const AngleSliderLabel: import("svelte").Component<AngleSliderLabelProps, {}, "ref">;
|
|
7
|
+
type AngleSliderLabel = ReturnType<typeof AngleSliderLabel>;
|
|
8
|
+
export default AngleSliderLabel;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
|
|
4
|
+
export interface AngleSliderMarkerGroupBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
|
|
5
|
+
export interface AngleSliderMarkerGroupProps extends HTMLProps<'div'>, AngleSliderMarkerGroupBaseProps {}
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
10
|
+
import { Ark } from '../factory'
|
|
11
|
+
import { useAngleSliderContext } from './use-angle-slider-context'
|
|
12
|
+
|
|
13
|
+
let { ref = $bindable(null), ...props }: AngleSliderMarkerGroupProps = $props()
|
|
14
|
+
const angleSlider = useAngleSliderContext()
|
|
15
|
+
const mergedProps = $derived(mergeProps(angleSlider().getMarkerGroupProps(), props))
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Ark as="div" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
|
|
2
|
+
export interface AngleSliderMarkerGroupBaseProps extends PolymorphicProps<'div'>, RefAttribute {
|
|
3
|
+
}
|
|
4
|
+
export interface AngleSliderMarkerGroupProps extends HTMLProps<'div'>, AngleSliderMarkerGroupBaseProps {
|
|
5
|
+
}
|
|
6
|
+
declare const AngleSliderMarkerGroup: import("svelte").Component<AngleSliderMarkerGroupProps, {}, "ref">;
|
|
7
|
+
type AngleSliderMarkerGroup = ReturnType<typeof AngleSliderMarkerGroup>;
|
|
8
|
+
export default AngleSliderMarkerGroup;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
import type { MarkerProps } from '@zag-js/angle-slider'
|
|
4
|
+
|
|
5
|
+
export interface AngleSliderMarkerBaseProps extends MarkerProps, PolymorphicProps<'span'>, RefAttribute {}
|
|
6
|
+
export interface AngleSliderMarkerProps extends HTMLProps<'span'>, AngleSliderMarkerBaseProps {}
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<script lang="ts">
|
|
10
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
11
|
+
import { createSplitProps } from '../../utils/create-split-props'
|
|
12
|
+
import { Ark } from '../factory'
|
|
13
|
+
import { useAngleSliderContext } from './use-angle-slider-context'
|
|
14
|
+
|
|
15
|
+
let { ref = $bindable(null), ...props }: AngleSliderMarkerProps = $props()
|
|
16
|
+
const [markerProps, localProps] = $derived(createSplitProps<MarkerProps>()(props, ['value']))
|
|
17
|
+
|
|
18
|
+
const angleSlider = useAngleSliderContext()
|
|
19
|
+
const mergedProps = $derived(mergeProps(angleSlider().getMarkerProps(markerProps), localProps))
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<Ark as="span" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
|
|
2
|
+
import type { MarkerProps } from '@zag-js/angle-slider';
|
|
3
|
+
export interface AngleSliderMarkerBaseProps extends MarkerProps, PolymorphicProps<'span'>, RefAttribute {
|
|
4
|
+
}
|
|
5
|
+
export interface AngleSliderMarkerProps extends HTMLProps<'span'>, AngleSliderMarkerBaseProps {
|
|
6
|
+
}
|
|
7
|
+
declare const AngleSliderMarker: import("svelte").Component<AngleSliderMarkerProps, {}, "ref">;
|
|
8
|
+
type AngleSliderMarker = ReturnType<typeof AngleSliderMarker>;
|
|
9
|
+
export default AngleSliderMarker;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
import type { UseAngleSliderReturn } from './use-angle-slider.svelte'
|
|
4
|
+
|
|
5
|
+
interface RootProviderProps {
|
|
6
|
+
value: UseAngleSliderReturn
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface AngleSliderRootProviderBaseProps extends RootProviderProps, RefAttribute {}
|
|
10
|
+
export interface AngleSliderRootProviderProps extends Assign<HTMLProps<'div'>, AngleSliderRootProviderBaseProps> {}
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<script lang="ts">
|
|
14
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
15
|
+
import { Ark } from '../factory'
|
|
16
|
+
import { AngleSliderProvider } from './use-angle-slider-context'
|
|
17
|
+
|
|
18
|
+
let { ref = $bindable(null), value: angleSlider, ...localProps }: AngleSliderRootProviderProps = $props()
|
|
19
|
+
const mergedProps = $derived(mergeProps(angleSlider().getRootProps(), localProps))
|
|
20
|
+
|
|
21
|
+
AngleSliderProvider(angleSlider)
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<Ark as="div" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Assign, HTMLProps, RefAttribute } from '../../types';
|
|
2
|
+
import type { UseAngleSliderReturn } from './use-angle-slider.svelte';
|
|
3
|
+
interface RootProviderProps {
|
|
4
|
+
value: UseAngleSliderReturn;
|
|
5
|
+
}
|
|
6
|
+
export interface AngleSliderRootProviderBaseProps extends RootProviderProps, RefAttribute {
|
|
7
|
+
}
|
|
8
|
+
export interface AngleSliderRootProviderProps extends Assign<HTMLProps<'div'>, AngleSliderRootProviderBaseProps> {
|
|
9
|
+
}
|
|
10
|
+
declare const AngleSliderRootProvider: import("svelte").Component<AngleSliderRootProviderProps, {}, "ref">;
|
|
11
|
+
type AngleSliderRootProvider = ReturnType<typeof AngleSliderRootProvider>;
|
|
12
|
+
export default AngleSliderRootProvider;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { Assign, HTMLProps, Optional, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
import type { UseAngleSliderProps } from './use-angle-slider.svelte'
|
|
4
|
+
|
|
5
|
+
export interface AngleSliderRootBaseProps
|
|
6
|
+
extends Optional<UseAngleSliderProps, 'id'>,
|
|
7
|
+
PolymorphicProps<'div'>,
|
|
8
|
+
RefAttribute {}
|
|
9
|
+
export interface AngleSliderRootProps extends Assign<HTMLProps<'div'>, AngleSliderRootBaseProps> {}
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<script lang="ts">
|
|
13
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
14
|
+
import { createSplitProps } from '../../utils/create-split-props'
|
|
15
|
+
import { Ark } from '../factory'
|
|
16
|
+
import { AngleSliderProvider } from './use-angle-slider-context'
|
|
17
|
+
import { useAngleSlider } from './use-angle-slider.svelte'
|
|
18
|
+
|
|
19
|
+
let { ref = $bindable(null), value = $bindable(), ...props }: AngleSliderRootProps = $props()
|
|
20
|
+
const providedId = $props.id()
|
|
21
|
+
|
|
22
|
+
const [useAngleSliderProps, localProps] = $derived(
|
|
23
|
+
createSplitProps<Optional<UseAngleSliderProps, 'id'>>()(props, [
|
|
24
|
+
'id',
|
|
25
|
+
'ids',
|
|
26
|
+
'name',
|
|
27
|
+
'invalid',
|
|
28
|
+
'readOnly',
|
|
29
|
+
'disabled',
|
|
30
|
+
'onValueChangeEnd',
|
|
31
|
+
'onValueChange',
|
|
32
|
+
'defaultValue',
|
|
33
|
+
'value',
|
|
34
|
+
'step',
|
|
35
|
+
]),
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
const resolvedProps = $derived<UseAngleSliderProps>({
|
|
39
|
+
...useAngleSliderProps,
|
|
40
|
+
id: useAngleSliderProps.id ?? providedId,
|
|
41
|
+
value,
|
|
42
|
+
onValueChange(details) {
|
|
43
|
+
useAngleSliderProps.onValueChange?.(details)
|
|
44
|
+
if (value !== undefined) value = details.value
|
|
45
|
+
},
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
const angleSlider = useAngleSlider(() => resolvedProps)
|
|
49
|
+
const mergedProps = $derived(mergeProps(angleSlider().getRootProps(), localProps))
|
|
50
|
+
|
|
51
|
+
AngleSliderProvider(angleSlider)
|
|
52
|
+
</script>
|
|
53
|
+
|
|
54
|
+
<Ark as="div" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Assign, HTMLProps, Optional, PolymorphicProps, RefAttribute } from '../../types';
|
|
2
|
+
import type { UseAngleSliderProps } from './use-angle-slider.svelte';
|
|
3
|
+
export interface AngleSliderRootBaseProps extends Optional<UseAngleSliderProps, 'id'>, PolymorphicProps<'div'>, RefAttribute {
|
|
4
|
+
}
|
|
5
|
+
export interface AngleSliderRootProps extends Assign<HTMLProps<'div'>, AngleSliderRootBaseProps> {
|
|
6
|
+
}
|
|
7
|
+
declare const AngleSliderRoot: import("svelte").Component<AngleSliderRootProps, {}, "ref" | "value">;
|
|
8
|
+
type AngleSliderRoot = ReturnType<typeof AngleSliderRoot>;
|
|
9
|
+
export default AngleSliderRoot;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
|
|
4
|
+
export interface AngleSliderThumbBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
|
|
5
|
+
export interface AngleSliderThumbProps extends HTMLProps<'div'>, AngleSliderThumbBaseProps {}
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
10
|
+
import { Ark } from '../factory'
|
|
11
|
+
import { useAngleSliderContext } from './use-angle-slider-context'
|
|
12
|
+
|
|
13
|
+
let { ref = $bindable(null), ...props }: AngleSliderThumbProps = $props()
|
|
14
|
+
const angleSlider = useAngleSliderContext()
|
|
15
|
+
const mergedProps = $derived(mergeProps(angleSlider().getThumbProps(), props))
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Ark as="div" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
|
|
2
|
+
export interface AngleSliderThumbBaseProps extends PolymorphicProps<'div'>, RefAttribute {
|
|
3
|
+
}
|
|
4
|
+
export interface AngleSliderThumbProps extends HTMLProps<'div'>, AngleSliderThumbBaseProps {
|
|
5
|
+
}
|
|
6
|
+
declare const AngleSliderThumb: import("svelte").Component<AngleSliderThumbProps, {}, "ref">;
|
|
7
|
+
type AngleSliderThumb = ReturnType<typeof AngleSliderThumb>;
|
|
8
|
+
export default AngleSliderThumb;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
|
|
3
|
+
|
|
4
|
+
export interface AngleSliderValueTextBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
|
|
5
|
+
export interface AngleSliderValueTextProps extends HTMLProps<'div'>, AngleSliderValueTextBaseProps {}
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
import { mergeProps } from '@zag-js/svelte'
|
|
10
|
+
import { Ark } from '../factory'
|
|
11
|
+
import { useAngleSliderContext } from './use-angle-slider-context'
|
|
12
|
+
|
|
13
|
+
let { ref = $bindable(null), ...props }: AngleSliderValueTextProps = $props()
|
|
14
|
+
const angleSlider = useAngleSliderContext()
|
|
15
|
+
const mergedProps = $derived(mergeProps(angleSlider().getValueTextProps(), props))
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Ark as="span" bind:ref {...mergedProps} />
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
|
|
2
|
+
export interface AngleSliderValueTextBaseProps extends PolymorphicProps<'div'>, RefAttribute {
|
|
3
|
+
}
|
|
4
|
+
export interface AngleSliderValueTextProps extends HTMLProps<'div'>, AngleSliderValueTextBaseProps {
|
|
5
|
+
}
|
|
6
|
+
declare const AngleSliderValueText: import("svelte").Component<AngleSliderValueTextProps, {}, "ref">;
|
|
7
|
+
type AngleSliderValueText = ReturnType<typeof AngleSliderValueText>;
|
|
8
|
+
export default AngleSliderValueText;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { anatomy as angleSliderAnatomy } from '@zag-js/angle-slider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { anatomy as angleSliderAnatomy } from '@zag-js/angle-slider';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { default as Context, type AngleSliderContextProps as ContextProps } from './angle-slider-context.svelte';
|
|
2
|
+
export { default as Root, type AngleSliderRootProps as RootProps, type AngleSliderRootBaseProps as RootBaseProps, } from './angle-slider-root.svelte';
|
|
3
|
+
export { default as RootProvider, type AngleSliderRootProviderProps as RootProviderProps, type AngleSliderRootProviderBaseProps as RootProviderBaseProps, } from './angle-slider-root-provider.svelte';
|
|
4
|
+
export { default as Label, type AngleSliderLabelBaseProps as LabelBaseProps, type AngleSliderLabelProps as LabelProps, } from './angle-slider-label.svelte';
|
|
5
|
+
export { default as Control, type AngleSliderControlBaseProps as ControlBaseProps, type AngleSliderControlProps as ControlProps, } from './angle-slider-control.svelte';
|
|
6
|
+
export { default as Thumb, type AngleSliderThumbBaseProps as ThumbBaseProps, type AngleSliderThumbProps as ThumbProps, } from './angle-slider-thumb.svelte';
|
|
7
|
+
export { default as MarkerGroup, type AngleSliderMarkerGroupBaseProps as MarkerGroupBaseProps, type AngleSliderMarkerGroupProps as MarkerGroupProps, } from './angle-slider-marker-group.svelte';
|
|
8
|
+
export { default as Marker, type AngleSliderMarkerBaseProps as MarkerBaseProps, type AngleSliderMarkerProps as MarkerProps, } from './angle-slider-marker.svelte';
|
|
9
|
+
export { default as ValueText, type AngleSliderValueTextBaseProps as ValueTextBaseProps, type AngleSliderValueTextProps as ValueTextProps, } from './angle-slider-value-text.svelte';
|
|
10
|
+
export { default as HiddenInput, type AngleSliderHiddenInputBaseProps as HiddenInputBaseProps, type AngleSliderHiddenInputProps as HiddenInputProps, } from './angle-slider-hidden-input.svelte';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { default as Context } from './angle-slider-context.svelte';
|
|
2
|
+
export { default as Root, } from './angle-slider-root.svelte';
|
|
3
|
+
export { default as RootProvider, } from './angle-slider-root-provider.svelte';
|
|
4
|
+
export { default as Label, } from './angle-slider-label.svelte';
|
|
5
|
+
export { default as Control, } from './angle-slider-control.svelte';
|
|
6
|
+
export { default as Thumb, } from './angle-slider-thumb.svelte';
|
|
7
|
+
export { default as MarkerGroup, } from './angle-slider-marker-group.svelte';
|
|
8
|
+
export { default as Marker, } from './angle-slider-marker.svelte';
|
|
9
|
+
export { default as ValueText, } from './angle-slider-value-text.svelte';
|
|
10
|
+
export { default as HiddenInput, } from './angle-slider-hidden-input.svelte';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { default as AngleSliderContext, type AngleSliderContextProps } from './angle-slider-context.svelte';
|
|
2
|
+
export { default as AngleSliderControl, type AngleSliderControlBaseProps, type AngleSliderControlProps, } from './angle-slider-control.svelte';
|
|
3
|
+
export { default as AngleSliderHiddenInput, type AngleSliderHiddenInputBaseProps, type AngleSliderHiddenInputProps, } from './angle-slider-hidden-input.svelte';
|
|
4
|
+
export { default as AngleSliderLabel, type AngleSliderLabelBaseProps, type AngleSliderLabelProps, } from './angle-slider-label.svelte';
|
|
5
|
+
export { default as AngleSliderMarker, type AngleSliderMarkerBaseProps, type AngleSliderMarkerProps, } from './angle-slider-marker.svelte';
|
|
6
|
+
export { default as AngleSliderMarkerGroup, type AngleSliderMarkerGroupBaseProps, type AngleSliderMarkerGroupProps, } from './angle-slider-marker-group.svelte';
|
|
7
|
+
export { default as AngleSliderRoot, type AngleSliderRootBaseProps, type AngleSliderRootProps, } from './angle-slider-root.svelte';
|
|
8
|
+
export { default as AngleSliderRootProvider, type AngleSliderRootProviderBaseProps, type AngleSliderRootProviderProps, } from './angle-slider-root-provider.svelte';
|
|
9
|
+
export { default as AngleSliderThumb, type AngleSliderThumbBaseProps, type AngleSliderThumbProps, } from './angle-slider-thumb.svelte';
|
|
10
|
+
export { default as AngleSliderValueText, type AngleSliderValueTextBaseProps, type AngleSliderValueTextProps, } from './angle-slider-value-text.svelte';
|
|
11
|
+
export { angleSliderAnatomy } from './angle-slider.anatomy';
|
|
12
|
+
export { useAngleSliderContext, type UseAngleSliderContext } from './use-angle-slider-context';
|
|
13
|
+
export { useAngleSlider, type UseAngleSliderProps, type UseAngleSliderReturn } from './use-angle-slider.svelte';
|
|
14
|
+
export * as AngleSlider from './angle-slider';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { default as AngleSliderContext } from './angle-slider-context.svelte';
|
|
2
|
+
export { default as AngleSliderControl, } from './angle-slider-control.svelte';
|
|
3
|
+
export { default as AngleSliderHiddenInput, } from './angle-slider-hidden-input.svelte';
|
|
4
|
+
export { default as AngleSliderLabel, } from './angle-slider-label.svelte';
|
|
5
|
+
export { default as AngleSliderMarker, } from './angle-slider-marker.svelte';
|
|
6
|
+
export { default as AngleSliderMarkerGroup, } from './angle-slider-marker-group.svelte';
|
|
7
|
+
export { default as AngleSliderRoot, } from './angle-slider-root.svelte';
|
|
8
|
+
export { default as AngleSliderRootProvider, } from './angle-slider-root-provider.svelte';
|
|
9
|
+
export { default as AngleSliderThumb, } from './angle-slider-thumb.svelte';
|
|
10
|
+
export { default as AngleSliderValueText, } from './angle-slider-value-text.svelte';
|
|
11
|
+
export { angleSliderAnatomy } from './angle-slider.anatomy';
|
|
12
|
+
export { useAngleSliderContext } from './use-angle-slider-context';
|
|
13
|
+
export { useAngleSlider } from './use-angle-slider.svelte';
|
|
14
|
+
export * as AngleSlider from './angle-slider';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { UseAngleSliderReturn } from './use-angle-slider.svelte';
|
|
2
|
+
export interface UseAngleSliderContext extends UseAngleSliderReturn {
|
|
3
|
+
}
|
|
4
|
+
export declare const AngleSliderProvider: (opts: UseAngleSliderContext) => void, useAngleSliderContext: (fallback?: UseAngleSliderContext | undefined) => UseAngleSliderContext;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Accessor } from '../../types';
|
|
2
|
+
import * as angleSlider from '@zag-js/angle-slider';
|
|
3
|
+
import { type PropTypes } from '@zag-js/svelte';
|
|
4
|
+
import { type MaybeFunction } from '@zag-js/utils';
|
|
5
|
+
export interface UseAngleSliderProps extends Omit<angleSlider.Props, 'dir' | 'getRootNode'> {
|
|
6
|
+
}
|
|
7
|
+
export interface UseAngleSliderReturn extends Accessor<angleSlider.Api<PropTypes>> {
|
|
8
|
+
}
|
|
9
|
+
export declare const useAngleSlider: (props: MaybeFunction<UseAngleSliderProps>) => () => angleSlider.Api<import("@zag-js/types").PropTypes>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useEnvironmentContext } from '../../providers/environment';
|
|
2
|
+
import { useLocaleContext } from '../../providers/locale';
|
|
3
|
+
import * as angleSlider from '@zag-js/angle-slider';
|
|
4
|
+
import { normalizeProps, useMachine } from '@zag-js/svelte';
|
|
5
|
+
import { runIfFn } from '@zag-js/utils';
|
|
6
|
+
export const useAngleSlider = (props) => {
|
|
7
|
+
const env = useEnvironmentContext();
|
|
8
|
+
const locale = useLocaleContext();
|
|
9
|
+
const machineProps = $derived.by(() => {
|
|
10
|
+
const resolvedProps = runIfFn(props);
|
|
11
|
+
return {
|
|
12
|
+
dir: locale().dir,
|
|
13
|
+
getRootNode: env().getRootNode,
|
|
14
|
+
...resolvedProps,
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
const service = useMachine(angleSlider.machine, () => machineProps);
|
|
18
|
+
const api = $derived(angleSlider.connect(service, normalizeProps));
|
|
19
|
+
return () => api;
|
|
20
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UseCheckboxProps } from './use-checkbox.svelte';
|
|
2
|
-
export declare const splitCheckboxProps: <T extends UseCheckboxProps>(props: T) => [UseCheckboxProps, Omit<T, "form" | "name" | "value" | "ids" | "disabled" | "id" | "readOnly" | "invalid" | "
|
|
2
|
+
export declare const splitCheckboxProps: <T extends UseCheckboxProps>(props: T) => [UseCheckboxProps, Omit<T, "form" | "name" | "value" | "ids" | "disabled" | "id" | "readOnly" | "invalid" | "checked" | "required" | "defaultChecked" | "onCheckedChange">];
|
|
@@ -8,27 +8,81 @@ export interface UseListCollectionProps<T> extends Omit<CollectionOptions<T>, 'i
|
|
|
8
8
|
/**
|
|
9
9
|
* The filter function to use to filter the items.
|
|
10
10
|
*/
|
|
11
|
-
filter?: (itemText: string, filterText: string) => boolean;
|
|
11
|
+
filter?: (itemText: string, filterText: string, item: T) => boolean;
|
|
12
12
|
/**
|
|
13
13
|
* The maximum number of items to display in the collection.
|
|
14
14
|
* Useful for performance when you have a large number of items.
|
|
15
15
|
*/
|
|
16
16
|
limit?: number;
|
|
17
17
|
}
|
|
18
|
-
export declare function useListCollection<T>(
|
|
19
|
-
|
|
18
|
+
export declare function useListCollection<T>(props: MaybeFunction<UseListCollectionProps<T>>): UseListCollectionReturn<T>;
|
|
19
|
+
export interface UseListCollectionReturn<T> {
|
|
20
|
+
/**
|
|
21
|
+
* The collection of items.
|
|
22
|
+
*/
|
|
23
|
+
collection: () => ListCollection<T>;
|
|
24
|
+
/**
|
|
25
|
+
* The function to filter the items.
|
|
26
|
+
*/
|
|
20
27
|
filter: (inputValue: string) => void;
|
|
28
|
+
/**
|
|
29
|
+
* The function to set the items.
|
|
30
|
+
*/
|
|
21
31
|
set: (items: T[]) => void;
|
|
32
|
+
/**
|
|
33
|
+
* The function to reset the items.
|
|
34
|
+
*/
|
|
22
35
|
reset: () => void;
|
|
36
|
+
/**
|
|
37
|
+
* The function to clear the items.
|
|
38
|
+
*/
|
|
23
39
|
clear: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* The function to insert items at a specific index.
|
|
42
|
+
*/
|
|
24
43
|
insert: (index: number, ...items: T[]) => void;
|
|
44
|
+
/**
|
|
45
|
+
* The function to insert items before a specific value.
|
|
46
|
+
*/
|
|
25
47
|
insertBefore: (value: string, ...items: T[]) => void;
|
|
48
|
+
/**
|
|
49
|
+
* The function to insert items after a specific value.
|
|
50
|
+
*/
|
|
26
51
|
insertAfter: (value: string, ...items: T[]) => void;
|
|
27
|
-
|
|
52
|
+
/**
|
|
53
|
+
* The function to remove items.
|
|
54
|
+
*/
|
|
55
|
+
remove: (...itemOrValues: Array<T | string>) => void;
|
|
56
|
+
/**
|
|
57
|
+
* The function to move an item to a specific index.
|
|
58
|
+
*/
|
|
28
59
|
move: (value: string, to: number) => void;
|
|
60
|
+
/**
|
|
61
|
+
* The function to move an item before a specific value.
|
|
62
|
+
*/
|
|
29
63
|
moveBefore: (value: string, ...values: string[]) => void;
|
|
64
|
+
/**
|
|
65
|
+
* The function to move an item after a specific value.
|
|
66
|
+
*/
|
|
30
67
|
moveAfter: (value: string, ...values: string[]) => void;
|
|
68
|
+
/**
|
|
69
|
+
* The function to reorder items.
|
|
70
|
+
*/
|
|
31
71
|
reorder: (from: number, to: number) => void;
|
|
72
|
+
/**
|
|
73
|
+
* The function to append items.
|
|
74
|
+
*/
|
|
75
|
+
append: (...items: T[]) => void;
|
|
76
|
+
/**
|
|
77
|
+
* The function to upsert an item.
|
|
78
|
+
*/
|
|
79
|
+
upsert: (value: string, item: T, mode?: 'append' | 'prepend') => void;
|
|
80
|
+
/**
|
|
81
|
+
* The function to prepend items.
|
|
82
|
+
*/
|
|
32
83
|
prepend: (...items: T[]) => void;
|
|
84
|
+
/**
|
|
85
|
+
* The function to update an item.
|
|
86
|
+
*/
|
|
33
87
|
update: (value: string, item: T) => void;
|
|
34
|
-
}
|
|
88
|
+
}
|
|
@@ -1,67 +1,94 @@
|
|
|
1
1
|
import { runIfFn } from '@zag-js/utils';
|
|
2
|
-
import {
|
|
2
|
+
import { untrack } from 'svelte';
|
|
3
3
|
import { createListCollection } from './list-collection';
|
|
4
|
-
export function useListCollection(
|
|
5
|
-
const [
|
|
6
|
-
const { initialItems = [], filter, limit, ...collectionOptions } = runIfFn(
|
|
4
|
+
export function useListCollection(props) {
|
|
5
|
+
const [localProps, collectionOptions] = $derived.by(() => {
|
|
6
|
+
const { initialItems = [], filter, limit, ...collectionOptions } = runIfFn(props);
|
|
7
7
|
return [{ initialItems, filter, limit }, collectionOptions];
|
|
8
8
|
});
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
let items = $state(untrack(() => localProps.initialItems));
|
|
10
|
+
let filterText = $state('');
|
|
11
|
+
const setItems = (newItems) => {
|
|
12
|
+
items = newItems;
|
|
13
|
+
filterText = '';
|
|
11
14
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
collection = props.limit == null ? v : v.copy(v.items.slice(0, props.limit));
|
|
15
|
+
const create = (itemsToCreate) => {
|
|
16
|
+
return createListCollection({ ...collectionOptions, items: itemsToCreate });
|
|
15
17
|
};
|
|
18
|
+
const collection = $derived.by(() => {
|
|
19
|
+
let activeItems = items;
|
|
20
|
+
// Apply filter if we have filter text and a filter function
|
|
21
|
+
const filter = localProps.filter;
|
|
22
|
+
if (filterText && filter) {
|
|
23
|
+
activeItems = create(items).filter((itemString, _index, item) => filter(itemString, filterText, item)).items;
|
|
24
|
+
}
|
|
25
|
+
// Apply limit
|
|
26
|
+
const limitedItems = localProps.limit == null ? activeItems : activeItems.slice(0, localProps.limit);
|
|
27
|
+
return createListCollection({ ...collectionOptions, items: limitedItems });
|
|
28
|
+
});
|
|
16
29
|
return {
|
|
17
30
|
collection() {
|
|
18
31
|
return collection;
|
|
19
32
|
},
|
|
20
|
-
filter: (inputValue) => {
|
|
21
|
-
|
|
22
|
-
if (!filterFn)
|
|
23
|
-
return;
|
|
24
|
-
const filtered = create(props.initialItems).filter((itemString) => filterFn(itemString, inputValue));
|
|
25
|
-
setCollection(filtered);
|
|
33
|
+
filter: (inputValue = '') => {
|
|
34
|
+
filterText = inputValue;
|
|
26
35
|
},
|
|
27
|
-
set: (
|
|
28
|
-
|
|
36
|
+
set: (newItems) => {
|
|
37
|
+
setItems(newItems);
|
|
29
38
|
},
|
|
30
39
|
reset: () => {
|
|
31
|
-
|
|
40
|
+
setItems(localProps.initialItems);
|
|
32
41
|
},
|
|
33
42
|
clear: () => {
|
|
34
|
-
|
|
43
|
+
setItems([]);
|
|
35
44
|
},
|
|
36
|
-
insert: (index, ...
|
|
37
|
-
|
|
45
|
+
insert: (index, ...itemsToInsert) => {
|
|
46
|
+
const newItems = create(items).insert(index, ...itemsToInsert).items;
|
|
47
|
+
setItems(newItems);
|
|
38
48
|
},
|
|
39
|
-
insertBefore: (value, ...
|
|
40
|
-
|
|
49
|
+
insertBefore: (value, ...itemsToInsert) => {
|
|
50
|
+
const newItems = create(items).insertBefore(value, ...itemsToInsert).items;
|
|
51
|
+
setItems(newItems);
|
|
41
52
|
},
|
|
42
|
-
insertAfter: (value, ...
|
|
43
|
-
|
|
53
|
+
insertAfter: (value, ...itemsToInsert) => {
|
|
54
|
+
const newItems = create(items).insertAfter(value, ...itemsToInsert).items;
|
|
55
|
+
setItems(newItems);
|
|
44
56
|
},
|
|
45
57
|
remove: (...itemOrValues) => {
|
|
46
|
-
|
|
58
|
+
const newItems = create(items).remove(...itemOrValues).items;
|
|
59
|
+
setItems(newItems);
|
|
47
60
|
},
|
|
48
61
|
move: (value, to) => {
|
|
49
|
-
|
|
62
|
+
const newItems = create(items).move(value, to).items;
|
|
63
|
+
setItems(newItems);
|
|
50
64
|
},
|
|
51
65
|
moveBefore: (value, ...values) => {
|
|
52
|
-
|
|
66
|
+
const newItems = create(items).moveBefore(value, ...values).items;
|
|
67
|
+
setItems(newItems);
|
|
53
68
|
},
|
|
54
69
|
moveAfter: (value, ...values) => {
|
|
55
|
-
|
|
70
|
+
const newItems = create(items).moveAfter(value, ...values).items;
|
|
71
|
+
setItems(newItems);
|
|
56
72
|
},
|
|
57
73
|
reorder: (from, to) => {
|
|
58
|
-
|
|
74
|
+
const newItems = create(items).reorder(from, to).items;
|
|
75
|
+
setItems(newItems);
|
|
76
|
+
},
|
|
77
|
+
append: (...itemsToAppend) => {
|
|
78
|
+
const newItems = create(items).append(...itemsToAppend).items;
|
|
79
|
+
setItems(newItems);
|
|
80
|
+
},
|
|
81
|
+
upsert: (value, item, mode = 'append') => {
|
|
82
|
+
const newItems = create(items).upsert(value, item, mode).items;
|
|
83
|
+
setItems(newItems);
|
|
59
84
|
},
|
|
60
|
-
prepend: (...
|
|
61
|
-
|
|
85
|
+
prepend: (...itemsToPrepend) => {
|
|
86
|
+
const newItems = create(items).prepend(...itemsToPrepend).items;
|
|
87
|
+
setItems(newItems);
|
|
62
88
|
},
|
|
63
89
|
update: (value, item) => {
|
|
64
|
-
|
|
90
|
+
const newItems = create(items).update(value, item).items;
|
|
91
|
+
setItems(newItems);
|
|
65
92
|
},
|
|
66
93
|
};
|
|
67
94
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { usePresenceContext } from '../presence'
|
|
12
12
|
import { useColorPickerContext } from './use-color-picker-context'
|
|
13
13
|
|
|
14
|
-
let { ref = $bindable
|
|
14
|
+
let { ref = $bindable(null), ...props }: ColorPickerContentProps = $props()
|
|
15
15
|
|
|
16
16
|
const colorPicker = useColorPickerContext()
|
|
17
17
|
const presence = usePresenceContext()
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UseColorPickerProps } from './use-color-picker.svelte';
|
|
2
|
-
export declare const splitColorPickerProps: <T extends UseColorPickerProps>(props: T) => [UseColorPickerProps, Omit<T, "name" | "defaultValue" | "value" | "open" | "ids" | "defaultOpen" | "onOpenChange" | "disabled" | "id" | "onValueChange" | "
|
|
2
|
+
export declare const splitColorPickerProps: <T extends UseColorPickerProps>(props: T) => [UseColorPickerProps, Omit<T, "name" | "defaultValue" | "value" | "open" | "ids" | "defaultOpen" | "onOpenChange" | "disabled" | "id" | "inline" | "onValueChange" | "onValueChangeEnd" | "readOnly" | "invalid" | "required" | "positioning" | "initialFocusEl" | "format" | "defaultFormat" | "onFormatChange" | "closeOnSelect" | "openAutoFocus" | "onPointerDownOutside" | "onFocusOutside" | "onInteractOutside">];
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { useComboboxContext } from './use-combobox-context'
|
|
12
12
|
import { usePresenceContext } from '../presence'
|
|
13
13
|
|
|
14
|
-
let { ref = $bindable
|
|
14
|
+
let { ref = $bindable(null), ...props }: ComboboxContentProps = $props()
|
|
15
15
|
|
|
16
16
|
const combobox = useComboboxContext()
|
|
17
17
|
const presence = usePresenceContext()
|
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
}
|
|
23
23
|
</script>
|
|
24
24
|
|
|
25
|
-
{#if presence().
|
|
25
|
+
{#if !presence().unmounted}
|
|
26
26
|
<Ark as="div" bind:ref {...mergedProps} {@attach setNode} />
|
|
27
27
|
{/if}
|
|
@@ -9,11 +9,15 @@
|
|
|
9
9
|
import { mergeProps } from '@zag-js/svelte'
|
|
10
10
|
import { Ark } from '../factory'
|
|
11
11
|
import { useComboboxContext } from './use-combobox-context'
|
|
12
|
+
import { usePresenceContext } from '../presence'
|
|
12
13
|
|
|
13
14
|
let { ref = $bindable(null), ...props }: ComboboxPositionerProps = $props()
|
|
14
15
|
|
|
15
16
|
const combobox = useComboboxContext()
|
|
17
|
+
const presence = usePresenceContext()
|
|
16
18
|
const mergedProps = $derived(mergeProps(combobox().getPositionerProps(), props))
|
|
17
19
|
</script>
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
{#if !presence().unmounted}
|
|
22
|
+
<Ark as="div" bind:ref {...mergedProps} />
|
|
23
|
+
{/if}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import { usePresence } from '../presence'
|
|
15
15
|
import { useDialogContext } from './use-dialog-context'
|
|
16
16
|
|
|
17
|
-
let { ref = $bindable
|
|
17
|
+
let { ref = $bindable(null), ...props }: DialogBackdropProps = $props()
|
|
18
18
|
|
|
19
19
|
const dialog = useDialogContext()
|
|
20
20
|
const renderStrategyProps = useRenderStrategyPropsContext()
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import { usePresenceContext } from '../presence'
|
|
14
14
|
import { useDialogContext } from './use-dialog-context'
|
|
15
15
|
|
|
16
|
-
let { ref = $bindable
|
|
16
|
+
let { ref = $bindable(null), ...props }: DialogContentProps = $props()
|
|
17
17
|
|
|
18
18
|
const dialog = useDialogContext()
|
|
19
19
|
const presence = usePresenceContext()
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UseEditableProps } from './use-editable.svelte';
|
|
2
|
-
export declare function splitEditableProps<T extends UseEditableProps>(props: T): [UseEditableProps, Omit<T, "form" | "name" | "defaultValue" | "value" | "ids" | "disabled" | "id" | "placeholder" | "onValueChange" | "
|
|
2
|
+
export declare function splitEditableProps<T extends UseEditableProps>(props: T): [UseEditableProps, Omit<T, "form" | "name" | "defaultValue" | "value" | "ids" | "disabled" | "id" | "placeholder" | "onValueChange" | "readOnly" | "invalid" | "required" | "translations" | "onPointerDownOutside" | "onFocusOutside" | "onInteractOutside" | "finalFocusEl" | "autoResize" | "activationMode" | "submitMode" | "selectOnFocus" | "edit" | "defaultEdit" | "onEditChange" | "maxLength" | "onValueRevert" | "onValueCommit">];
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import { FieldProvider } from './use-field-context'
|
|
14
14
|
import { useField } from './use-field.svelte'
|
|
15
15
|
|
|
16
|
-
let { ref = $bindable
|
|
16
|
+
let { ref = $bindable(null), ...props }: FieldRootProps = $props()
|
|
17
17
|
|
|
18
18
|
const [useFieldProps, localProps] = $derived(
|
|
19
19
|
createSplitProps<UseFieldProps>()(props, ['id', 'ids', 'disabled', 'invalid', 'readOnly', 'required']),
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import { FieldsetProvider } from './use-fieldset-context'
|
|
14
14
|
import { useFieldset } from './use-fieldset.svelte'
|
|
15
15
|
|
|
16
|
-
let { ref = $bindable
|
|
16
|
+
let { ref = $bindable(null), ...props }: FieldsetRootProps = $props()
|
|
17
17
|
|
|
18
18
|
const [useFieldsetProps, localProps] = $derived(
|
|
19
19
|
createSplitProps<UseFieldsetProps>()(props, ['id', 'disabled', 'invalid']),
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
export interface FocusTrapBaseProps extends PolymorphicProps<'div'>, RefAttribute, TrapOptions {}
|
|
19
19
|
export interface FocusTrapProps extends Assign<HTMLProps<'div'>, FocusTrapBaseProps> {}
|
|
20
20
|
|
|
21
|
-
let { ref = $bindable
|
|
21
|
+
let { ref = $bindable(null), ...props }: FocusTrapProps = $props()
|
|
22
22
|
|
|
23
23
|
const [trapProps, localProps] = $derived(
|
|
24
24
|
createSplitProps<TrapOptions>()(props, [
|
package/dist/components/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UseNumberInputProps } from './use-number-input.svelte';
|
|
2
|
-
export declare const splitNumberInputProps: <T extends UseNumberInputProps>(props: T) => [UseNumberInputProps, Omit<T, "form" | "pattern" | "name" | "defaultValue" | "value" | "locale" | "ids" | "disabled" | "id" | "step" | "onValueChange" | "onFocusChange" | "
|
|
2
|
+
export declare const splitNumberInputProps: <T extends UseNumberInputProps>(props: T) => [UseNumberInputProps, Omit<T, "form" | "pattern" | "name" | "defaultValue" | "value" | "locale" | "ids" | "disabled" | "id" | "step" | "onValueChange" | "onFocusChange" | "readOnly" | "invalid" | "max" | "min" | "required" | "translations" | "allowOverflow" | "allowMouseWheel" | "clampValueOnBlur" | "focusInputOnChange" | "formatOptions" | "inputMode" | "onValueInvalid" | "spinOnPress">];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UseRatingGroupProps } from './use-rating-group.svelte';
|
|
2
|
-
export declare const splitRatingGroupProps: <T extends UseRatingGroupProps>(props: T) => [UseRatingGroupProps, Omit<T, "form" | "name" | "defaultValue" | "value" | "ids" | "disabled" | "id" | "onValueChange" | "
|
|
2
|
+
export declare const splitRatingGroupProps: <T extends UseRatingGroupProps>(props: T) => [UseRatingGroupProps, Omit<T, "form" | "name" | "defaultValue" | "value" | "ids" | "disabled" | "id" | "onValueChange" | "readOnly" | "required" | "translations" | "autoFocus" | "count" | "allowHalf" | "onHoverChange">];
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export
|
|
3
|
-
export { default as Context, type SelectContextProps as ContextProps } from './select-context.svelte';
|
|
4
|
-
export { default as Control, type SelectControlProps as ControlProps, type SelectControlBaseProps as ControlBaseProps, } from './select-control.svelte';
|
|
5
|
-
export { default as Trigger, type SelectTriggerProps as TriggerProps } from './select-trigger.svelte';
|
|
6
|
-
export { default as Label, type SelectLabelProps as LabelProps } from './select-label.svelte';
|
|
1
|
+
export type { HighlightChangeDetails, OpenChangeDetails, ValueChangeDetails } from '@zag-js/select';
|
|
2
|
+
export type { CollectionItem, ListCollection } from '../collection';
|
|
7
3
|
export { default as ClearTrigger, type SelectClearTriggerProps as ClearTriggerProps, } from './select-clear-trigger.svelte';
|
|
8
|
-
export { default as Indicator, type SelectIndicatorProps as IndicatorProps } from './select-indicator.svelte';
|
|
9
|
-
export { default as ValueText, type SelectValueTextProps as ValueTextProps } from './select-value-text.svelte';
|
|
10
|
-
export { default as Positioner, type SelectPositionerProps as PositionerProps } from './select-positioner.svelte';
|
|
11
4
|
export { default as Content, type SelectContentProps as ContentProps } from './select-content.svelte';
|
|
12
|
-
export { default as
|
|
5
|
+
export { default as Context, type SelectContextProps as ContextProps } from './select-context.svelte';
|
|
6
|
+
export { default as Control, type SelectControlBaseProps as ControlBaseProps, type SelectControlProps as ControlProps, } from './select-control.svelte';
|
|
13
7
|
export { default as HiddenSelect, type SelectHiddenSelectProps as HiddenSelectProps, } from './select-hidden-select.svelte';
|
|
14
|
-
export { default as
|
|
8
|
+
export { default as Indicator, type SelectIndicatorProps as IndicatorProps } from './select-indicator.svelte';
|
|
15
9
|
export { default as ItemContext, type SelectItemContextProps as ItemContextProps } from './select-item-context.svelte';
|
|
16
|
-
export { default as ItemGroup, type SelectItemGroupProps as ItemGroupProps } from './select-item-group.svelte';
|
|
17
10
|
export { default as ItemGroupLabel, type SelectItemGroupLabelProps as ItemGroupLabelProps, } from './select-item-group-label.svelte';
|
|
18
|
-
export { default as
|
|
11
|
+
export { default as ItemGroup, type SelectItemGroupProps as ItemGroupProps } from './select-item-group.svelte';
|
|
19
12
|
export { default as ItemIndicator, type SelectItemIndicatorProps as ItemIndicatorProps, } from './select-item-indicator.svelte';
|
|
13
|
+
export { default as ItemText, type SelectItemTextProps as ItemTextProps } from './select-item-text.svelte';
|
|
14
|
+
export { default as Item, type SelectItemProps as ItemProps } from './select-item.svelte';
|
|
15
|
+
export { default as Label, type SelectLabelProps as LabelProps } from './select-label.svelte';
|
|
16
|
+
export { default as List, type SelectListProps as ListProps } from './select-list.svelte';
|
|
17
|
+
export { default as Positioner, type SelectPositionerProps as PositionerProps } from './select-positioner.svelte';
|
|
18
|
+
export { default as RootProvider, type SelectRootProviderBaseProps as RootProviderBaseProps, type SelectRootProviderProps as RootProviderProps, } from './select-root-provider.svelte';
|
|
19
|
+
export { default as Root, type SelectRootBaseProps as RootBaseProps, type SelectRootProps as RootProps, } from './select-root.svelte';
|
|
20
|
+
export { default as Trigger, type SelectTriggerProps as TriggerProps } from './select-trigger.svelte';
|
|
21
|
+
export { default as ValueText, type SelectValueTextProps as ValueTextProps } from './select-value-text.svelte';
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export { default as Root, } from './select-root.svelte';
|
|
2
|
-
export { default as RootProvider, } from './select-root-provider.svelte';
|
|
3
|
-
export { default as Context } from './select-context.svelte';
|
|
4
|
-
export { default as Control, } from './select-control.svelte';
|
|
5
|
-
export { default as Trigger } from './select-trigger.svelte';
|
|
6
|
-
export { default as Label } from './select-label.svelte';
|
|
7
1
|
export { default as ClearTrigger, } from './select-clear-trigger.svelte';
|
|
8
|
-
export { default as Indicator } from './select-indicator.svelte';
|
|
9
|
-
export { default as ValueText } from './select-value-text.svelte';
|
|
10
|
-
export { default as Positioner } from './select-positioner.svelte';
|
|
11
2
|
export { default as Content } from './select-content.svelte';
|
|
12
|
-
export { default as
|
|
3
|
+
export { default as Context } from './select-context.svelte';
|
|
4
|
+
export { default as Control, } from './select-control.svelte';
|
|
13
5
|
export { default as HiddenSelect, } from './select-hidden-select.svelte';
|
|
14
|
-
export { default as
|
|
6
|
+
export { default as Indicator } from './select-indicator.svelte';
|
|
15
7
|
export { default as ItemContext } from './select-item-context.svelte';
|
|
16
|
-
export { default as ItemGroup } from './select-item-group.svelte';
|
|
17
8
|
export { default as ItemGroupLabel, } from './select-item-group-label.svelte';
|
|
18
|
-
export { default as
|
|
9
|
+
export { default as ItemGroup } from './select-item-group.svelte';
|
|
19
10
|
export { default as ItemIndicator, } from './select-item-indicator.svelte';
|
|
11
|
+
export { default as ItemText } from './select-item-text.svelte';
|
|
12
|
+
export { default as Item } from './select-item.svelte';
|
|
13
|
+
export { default as Label } from './select-label.svelte';
|
|
14
|
+
export { default as List } from './select-list.svelte';
|
|
15
|
+
export { default as Positioner } from './select-positioner.svelte';
|
|
16
|
+
export { default as RootProvider, } from './select-root-provider.svelte';
|
|
17
|
+
export { default as Root, } from './select-root.svelte';
|
|
18
|
+
export { default as Trigger } from './select-trigger.svelte';
|
|
19
|
+
export { default as ValueText } from './select-value-text.svelte';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ark-ui/svelte",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.1.1",
|
|
5
5
|
"description": "A collection of unstyled, accessible UI components for Svelte",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"accordion",
|
|
@@ -120,85 +120,85 @@
|
|
|
120
120
|
"sideEffects": false,
|
|
121
121
|
"dependencies": {
|
|
122
122
|
"@internationalized/date": "3.8.2",
|
|
123
|
-
"@zag-js/accordion": "1.
|
|
124
|
-
"@zag-js/angle-slider": "1.
|
|
125
|
-
"@zag-js/anatomy": "1.
|
|
126
|
-
"@zag-js/auto-resize": "1.
|
|
127
|
-
"@zag-js/avatar": "1.
|
|
128
|
-
"@zag-js/carousel": "1.
|
|
129
|
-
"@zag-js/checkbox": "1.
|
|
130
|
-
"@zag-js/clipboard": "1.
|
|
131
|
-
"@zag-js/collapsible": "1.
|
|
132
|
-
"@zag-js/collection": "1.
|
|
133
|
-
"@zag-js/color-picker": "1.
|
|
134
|
-
"@zag-js/color-utils": "1.
|
|
135
|
-
"@zag-js/combobox": "1.
|
|
136
|
-
"@zag-js/core": "1.
|
|
137
|
-
"@zag-js/date-picker": "1.
|
|
138
|
-
"@zag-js/date-utils": "1.
|
|
139
|
-
"@zag-js/dialog": "1.
|
|
140
|
-
"@zag-js/dom-query": "1.
|
|
141
|
-
"@zag-js/editable": "1.
|
|
142
|
-
"@zag-js/file-upload": "1.
|
|
143
|
-
"@zag-js/file-utils": "1.
|
|
144
|
-
"@zag-js/focus-trap": "1.
|
|
145
|
-
"@zag-js/floating-panel": "1.
|
|
146
|
-
"@zag-js/highlight-word": "1.
|
|
147
|
-
"@zag-js/hover-card": "1.
|
|
148
|
-
"@zag-js/i18n-utils": "1.
|
|
149
|
-
"@zag-js/listbox": "1.
|
|
150
|
-
"@zag-js/menu": "1.
|
|
151
|
-
"@zag-js/number-input": "1.
|
|
152
|
-
"@zag-js/pagination": "1.
|
|
153
|
-
"@zag-js/password-input": "1.
|
|
154
|
-
"@zag-js/pin-input": "1.
|
|
155
|
-
"@zag-js/popover": "1.
|
|
156
|
-
"@zag-js/presence": "1.
|
|
157
|
-
"@zag-js/progress": "1.
|
|
158
|
-
"@zag-js/qr-code": "1.
|
|
159
|
-
"@zag-js/radio-group": "1.
|
|
160
|
-
"@zag-js/rating-group": "1.
|
|
161
|
-
"@zag-js/svelte": "1.
|
|
162
|
-
"@zag-js/select": "1.
|
|
163
|
-
"@zag-js/signature-pad": "1.
|
|
164
|
-
"@zag-js/slider": "1.
|
|
165
|
-
"@zag-js/splitter": "1.
|
|
166
|
-
"@zag-js/steps": "1.
|
|
167
|
-
"@zag-js/switch": "1.
|
|
168
|
-
"@zag-js/tabs": "1.
|
|
169
|
-
"@zag-js/tags-input": "1.
|
|
170
|
-
"@zag-js/time-picker": "1.
|
|
171
|
-
"@zag-js/timer": "1.
|
|
172
|
-
"@zag-js/toast": "1.
|
|
173
|
-
"@zag-js/toggle": "1.
|
|
174
|
-
"@zag-js/toggle-group": "1.
|
|
175
|
-
"@zag-js/tooltip": "1.
|
|
176
|
-
"@zag-js/tour": "1.
|
|
177
|
-
"@zag-js/tree-view": "1.
|
|
178
|
-
"@zag-js/types": "1.
|
|
179
|
-
"@zag-js/utils": "1.
|
|
123
|
+
"@zag-js/accordion": "1.18.2",
|
|
124
|
+
"@zag-js/angle-slider": "1.18.2",
|
|
125
|
+
"@zag-js/anatomy": "1.18.2",
|
|
126
|
+
"@zag-js/auto-resize": "1.18.2",
|
|
127
|
+
"@zag-js/avatar": "1.18.2",
|
|
128
|
+
"@zag-js/carousel": "1.18.2",
|
|
129
|
+
"@zag-js/checkbox": "1.18.2",
|
|
130
|
+
"@zag-js/clipboard": "1.18.2",
|
|
131
|
+
"@zag-js/collapsible": "1.18.2",
|
|
132
|
+
"@zag-js/collection": "1.18.2",
|
|
133
|
+
"@zag-js/color-picker": "1.18.2",
|
|
134
|
+
"@zag-js/color-utils": "1.18.2",
|
|
135
|
+
"@zag-js/combobox": "1.18.2",
|
|
136
|
+
"@zag-js/core": "1.18.2",
|
|
137
|
+
"@zag-js/date-picker": "1.18.2",
|
|
138
|
+
"@zag-js/date-utils": "1.18.2",
|
|
139
|
+
"@zag-js/dialog": "1.18.2",
|
|
140
|
+
"@zag-js/dom-query": "1.18.2",
|
|
141
|
+
"@zag-js/editable": "1.18.2",
|
|
142
|
+
"@zag-js/file-upload": "1.18.2",
|
|
143
|
+
"@zag-js/file-utils": "1.18.2",
|
|
144
|
+
"@zag-js/focus-trap": "1.18.2",
|
|
145
|
+
"@zag-js/floating-panel": "1.18.2",
|
|
146
|
+
"@zag-js/highlight-word": "1.18.2",
|
|
147
|
+
"@zag-js/hover-card": "1.18.2",
|
|
148
|
+
"@zag-js/i18n-utils": "1.18.2",
|
|
149
|
+
"@zag-js/listbox": "1.18.2",
|
|
150
|
+
"@zag-js/menu": "1.18.2",
|
|
151
|
+
"@zag-js/number-input": "1.18.2",
|
|
152
|
+
"@zag-js/pagination": "1.18.2",
|
|
153
|
+
"@zag-js/password-input": "1.18.2",
|
|
154
|
+
"@zag-js/pin-input": "1.18.2",
|
|
155
|
+
"@zag-js/popover": "1.18.2",
|
|
156
|
+
"@zag-js/presence": "1.18.2",
|
|
157
|
+
"@zag-js/progress": "1.18.2",
|
|
158
|
+
"@zag-js/qr-code": "1.18.2",
|
|
159
|
+
"@zag-js/radio-group": "1.18.2",
|
|
160
|
+
"@zag-js/rating-group": "1.18.2",
|
|
161
|
+
"@zag-js/svelte": "1.18.2",
|
|
162
|
+
"@zag-js/select": "1.18.2",
|
|
163
|
+
"@zag-js/signature-pad": "1.18.2",
|
|
164
|
+
"@zag-js/slider": "1.18.2",
|
|
165
|
+
"@zag-js/splitter": "1.18.2",
|
|
166
|
+
"@zag-js/steps": "1.18.2",
|
|
167
|
+
"@zag-js/switch": "1.18.2",
|
|
168
|
+
"@zag-js/tabs": "1.18.2",
|
|
169
|
+
"@zag-js/tags-input": "1.18.2",
|
|
170
|
+
"@zag-js/time-picker": "1.18.2",
|
|
171
|
+
"@zag-js/timer": "1.18.2",
|
|
172
|
+
"@zag-js/toast": "1.18.2",
|
|
173
|
+
"@zag-js/toggle": "1.18.2",
|
|
174
|
+
"@zag-js/toggle-group": "1.18.2",
|
|
175
|
+
"@zag-js/tooltip": "1.18.2",
|
|
176
|
+
"@zag-js/tour": "1.18.2",
|
|
177
|
+
"@zag-js/tree-view": "1.18.2",
|
|
178
|
+
"@zag-js/types": "1.18.2",
|
|
179
|
+
"@zag-js/utils": "1.18.2"
|
|
180
180
|
},
|
|
181
181
|
"devDependencies": {
|
|
182
|
-
"@storybook/addon-a11y": "9.0.
|
|
183
|
-
"@storybook/sveltekit": "9.0.
|
|
182
|
+
"@storybook/addon-a11y": "9.0.15",
|
|
183
|
+
"@storybook/sveltekit": "9.0.15",
|
|
184
184
|
"@sveltejs/adapter-auto": "6.0.1",
|
|
185
|
-
"@sveltejs/kit": "2.
|
|
186
|
-
"@sveltejs/package": "2.3.
|
|
185
|
+
"@sveltejs/kit": "2.22.2",
|
|
186
|
+
"@sveltejs/package": "2.3.12",
|
|
187
187
|
"@sveltejs/vite-plugin-svelte": "5.1.0",
|
|
188
|
-
"@tanstack/svelte-form": "1.12.
|
|
188
|
+
"@tanstack/svelte-form": "1.12.4",
|
|
189
189
|
"@testing-library/jest-dom": "6.6.3",
|
|
190
190
|
"@testing-library/svelte": "5.2.8",
|
|
191
191
|
"@testing-library/user-event": "14.6.1",
|
|
192
|
-
"@vitest/coverage-v8": "3.2.
|
|
192
|
+
"@vitest/coverage-v8": "3.2.4",
|
|
193
193
|
"clean-package": "2.2.0",
|
|
194
|
-
"lucide-svelte": "0.
|
|
195
|
-
"storybook": "9.0.
|
|
196
|
-
"svelte": "5.
|
|
197
|
-
"svelte-check": "4.2.
|
|
194
|
+
"lucide-svelte": "0.525.0",
|
|
195
|
+
"storybook": "9.0.15",
|
|
196
|
+
"svelte": "5.35.2",
|
|
197
|
+
"svelte-check": "4.2.2",
|
|
198
198
|
"tslib": "2.8.1",
|
|
199
199
|
"typescript": "5.8.3",
|
|
200
|
-
"vite": "
|
|
201
|
-
"vitest": "3.2.
|
|
200
|
+
"vite": "7.0.2",
|
|
201
|
+
"vitest": "3.2.4"
|
|
202
202
|
},
|
|
203
203
|
"peerDependencies": {
|
|
204
204
|
"svelte": ">=5.20.0"
|