@ark-ui/solid 1.0.0-beta.2 → 1.0.0-beta.3
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/CHANGELOG.md +19 -1
- package/cjs/index.js +197 -57
- package/cjs/index.js.map +1 -1
- package/esm/index.js +198 -59
- package/esm/index.js.map +1 -1
- package/package.json +44 -44
- package/source/accordion/accordion-item-content.jsx +3 -3
- package/source/color-picker/color-picker-content.jsx +6 -2
- package/source/color-picker/color-picker-value-text.jsx +9 -0
- package/source/color-picker/index.js +3 -1
- package/source/combobox/combobox-content.jsx +1 -1
- package/source/combobox/combobox-item-group-label.jsx +2 -2
- package/source/date-picker/date-picker-content.jsx +6 -2
- package/source/date-picker/date-picker-view.jsx +4 -1
- package/source/date-picker/date-picker.jsx +1 -1
- package/source/dialog/dialog-backdrop.jsx +1 -1
- package/source/dialog/dialog-content.jsx +1 -1
- package/source/hover-card/hover-card-content.jsx +1 -1
- package/source/menu/menu-content.jsx +1 -1
- package/source/menu/menu-item-group-label.jsx +3 -5
- package/source/popover/popover-content.jsx +1 -1
- package/source/presence/presence.jsx +1 -1
- package/source/presence/split-presence-props.js +1 -0
- package/source/select/select-content.jsx +1 -1
- package/source/select/select-control.jsx +9 -1
- package/source/select/select-item-group-label.jsx +2 -2
- package/source/slider/index.js +3 -3
- package/source/slider/slider-value-text.jsx +10 -0
- package/source/tooltip/tooltip-content.jsx +1 -1
- package/types/accordion/accordion-item-content.d.ts +3 -1
- package/types/color-picker/color-picker-content.d.ts +3 -1
- package/types/color-picker/color-picker-transparency-grid.d.ts +2 -2
- package/types/color-picker/color-picker-value-text.d.ts +5 -0
- package/types/color-picker/index.d.ts +6 -4
- package/types/combobox/combobox-content.d.ts +3 -1
- package/types/combobox/combobox-item-group-label.d.ts +6 -2
- package/types/date-picker/date-picker-content.d.ts +3 -1
- package/types/dialog/dialog-backdrop.d.ts +3 -1
- package/types/dialog/dialog-content.d.ts +3 -1
- package/types/hover-card/hover-card-content.d.ts +3 -1
- package/types/menu/menu-content.d.ts +3 -1
- package/types/menu/menu-item-group-label.d.ts +5 -4
- package/types/popover/popover-content.d.ts +3 -1
- package/types/presence/presence.d.ts +6 -2
- package/types/presence/split-presence-props.d.ts +1 -1
- package/types/select/select-content.d.ts +3 -1
- package/types/select/select-item-group-label.d.ts +6 -2
- package/types/slider/index.d.ts +4 -4
- package/types/slider/{slider-output.d.ts → slider-value-text.d.ts} +2 -2
- package/types/tabs/tab-content.d.ts +1 -1
- package/types/tooltip/tooltip-content.d.ts +3 -1
- package/source/slider/slider-output.jsx +0 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ark-ui/solid",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.3",
|
|
4
4
|
"description": "A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"accordion",
|
|
@@ -79,68 +79,68 @@
|
|
|
79
79
|
"release-it": "release-it --config ../../../release-it.json"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@ark-ui/anatomy": "1.0.0-beta.
|
|
83
|
-
"@zag-js/accordion": "0.
|
|
84
|
-
"@zag-js/anatomy": "0.
|
|
85
|
-
"@zag-js/avatar": "0.
|
|
86
|
-
"@zag-js/carousel": "0.
|
|
87
|
-
"@zag-js/checkbox": "0.
|
|
88
|
-
"@zag-js/color-picker": "0.
|
|
89
|
-
"@zag-js/combobox": "0.
|
|
90
|
-
"@zag-js/date-picker": "0.
|
|
91
|
-
"@zag-js/dialog": "0.
|
|
92
|
-
"@zag-js/editable": "0.
|
|
93
|
-
"@zag-js/hover-card": "0.
|
|
94
|
-
"@zag-js/menu": "0.
|
|
95
|
-
"@zag-js/number-input": "0.
|
|
96
|
-
"@zag-js/pagination": "0.
|
|
97
|
-
"@zag-js/pin-input": "0.
|
|
98
|
-
"@zag-js/popover": "0.
|
|
99
|
-
"@zag-js/presence": "0.
|
|
100
|
-
"@zag-js/radio-group": "0.
|
|
101
|
-
"@zag-js/rating-group": "0.
|
|
102
|
-
"@zag-js/select": "0.
|
|
103
|
-
"@zag-js/slider": "0.
|
|
104
|
-
"@zag-js/solid": "0.
|
|
105
|
-
"@zag-js/splitter": "0.
|
|
106
|
-
"@zag-js/switch": "0.
|
|
107
|
-
"@zag-js/tabs": "0.
|
|
108
|
-
"@zag-js/tags-input": "0.
|
|
109
|
-
"@zag-js/toast": "0.
|
|
110
|
-
"@zag-js/toggle-group": "0.
|
|
111
|
-
"@zag-js/tooltip": "0.
|
|
112
|
-
"@zag-js/types": "0.
|
|
82
|
+
"@ark-ui/anatomy": "1.0.0-beta.1",
|
|
83
|
+
"@zag-js/accordion": "0.27.1",
|
|
84
|
+
"@zag-js/anatomy": "0.27.1",
|
|
85
|
+
"@zag-js/avatar": "0.27.1",
|
|
86
|
+
"@zag-js/carousel": "0.27.1",
|
|
87
|
+
"@zag-js/checkbox": "0.27.1",
|
|
88
|
+
"@zag-js/color-picker": "0.27.1",
|
|
89
|
+
"@zag-js/combobox": "0.27.1",
|
|
90
|
+
"@zag-js/date-picker": "0.27.1",
|
|
91
|
+
"@zag-js/dialog": "0.27.1",
|
|
92
|
+
"@zag-js/editable": "0.27.1",
|
|
93
|
+
"@zag-js/hover-card": "0.27.1",
|
|
94
|
+
"@zag-js/menu": "0.27.1",
|
|
95
|
+
"@zag-js/number-input": "0.27.1",
|
|
96
|
+
"@zag-js/pagination": "0.27.1",
|
|
97
|
+
"@zag-js/pin-input": "0.27.1",
|
|
98
|
+
"@zag-js/popover": "0.27.1",
|
|
99
|
+
"@zag-js/presence": "0.27.1",
|
|
100
|
+
"@zag-js/radio-group": "0.27.1",
|
|
101
|
+
"@zag-js/rating-group": "0.27.1",
|
|
102
|
+
"@zag-js/select": "0.27.1",
|
|
103
|
+
"@zag-js/slider": "0.27.1",
|
|
104
|
+
"@zag-js/solid": "0.27.1",
|
|
105
|
+
"@zag-js/splitter": "0.27.1",
|
|
106
|
+
"@zag-js/switch": "0.27.1",
|
|
107
|
+
"@zag-js/tabs": "0.27.1",
|
|
108
|
+
"@zag-js/tags-input": "0.27.1",
|
|
109
|
+
"@zag-js/toast": "0.27.1",
|
|
110
|
+
"@zag-js/toggle-group": "0.27.1",
|
|
111
|
+
"@zag-js/tooltip": "0.27.1",
|
|
112
|
+
"@zag-js/types": "0.27.1"
|
|
113
113
|
},
|
|
114
114
|
"devDependencies": {
|
|
115
115
|
"@release-it/keep-a-changelog": "4.0.0",
|
|
116
116
|
"@solidjs/testing-library": "0.8.4",
|
|
117
|
-
"@storybook/addon-essentials": "7.5.
|
|
118
|
-
"@storybook/addon-interactions": "7.5.
|
|
119
|
-
"@storybook/addon-links": "7.5.
|
|
120
|
-
"@storybook/blocks": "7.5.
|
|
117
|
+
"@storybook/addon-essentials": "7.5.2",
|
|
118
|
+
"@storybook/addon-interactions": "7.5.2",
|
|
119
|
+
"@storybook/addon-links": "7.5.2",
|
|
120
|
+
"@storybook/blocks": "7.5.2",
|
|
121
121
|
"@storybook/testing-library": "0.2.2",
|
|
122
122
|
"@testing-library/dom": "9.3.3",
|
|
123
123
|
"@testing-library/jest-dom": "6.1.4",
|
|
124
124
|
"@testing-library/user-event": "14.5.1",
|
|
125
125
|
"@types/jsdom": "21.1.4",
|
|
126
126
|
"@types/testing-library__jest-dom": "5.14.9",
|
|
127
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
128
|
-
"@typescript-eslint/parser": "6.
|
|
129
|
-
"@vitest/coverage-v8": "0.34.
|
|
130
|
-
"eslint": "8.
|
|
127
|
+
"@typescript-eslint/eslint-plugin": "6.9.1",
|
|
128
|
+
"@typescript-eslint/parser": "6.9.1",
|
|
129
|
+
"@vitest/coverage-v8": "0.34.6",
|
|
130
|
+
"eslint": "8.52.0",
|
|
131
131
|
"globby": "13.2.2",
|
|
132
132
|
"jsdom": "22.1.0",
|
|
133
133
|
"react": "18.2.0",
|
|
134
134
|
"react-dom": "18.2.0",
|
|
135
135
|
"release-it": "16.2.1",
|
|
136
|
-
"rollup": "4.
|
|
136
|
+
"rollup": "4.2.0",
|
|
137
137
|
"rollup-preset-solid": "2.0.1",
|
|
138
|
-
"solid-js": "1.8.
|
|
139
|
-
"storybook": "7.5.
|
|
138
|
+
"solid-js": "1.8.5",
|
|
139
|
+
"storybook": "7.5.2",
|
|
140
140
|
"storybook-solidjs": "1.0.0-beta.2",
|
|
141
141
|
"storybook-solidjs-vite": "1.0.0-beta.2",
|
|
142
142
|
"typescript": "5.2.2",
|
|
143
|
-
"vite": "4.
|
|
143
|
+
"vite": "4.5.0",
|
|
144
144
|
"vite-plugin-solid": "2.7.2",
|
|
145
145
|
"vitest": "0.34.2"
|
|
146
146
|
},
|
|
@@ -7,8 +7,8 @@ export const AccordionItemContent = (props) => {
|
|
|
7
7
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
8
8
|
const api = useAccordionContext();
|
|
9
9
|
const accordionItem = useAccordionItemContext();
|
|
10
|
-
const
|
|
11
|
-
return (<Presence present={accordionItem.isOpen} {...presenceProps}>
|
|
12
|
-
<ark.div {...
|
|
10
|
+
const mergedProps = mergeProps(() => api().getItemContentProps(accordionItem), localProps);
|
|
11
|
+
return (<Presence present={accordionItem.isOpen} {...presenceProps} fallback={<div {...api().getItemContentProps(accordionItem)}/>}>
|
|
12
|
+
<ark.div {...mergedProps}/>
|
|
13
13
|
</Presence>);
|
|
14
14
|
};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
2
|
import { ark } from '../factory';
|
|
3
|
+
import { Presence, splitPresenceProps } from '../presence';
|
|
3
4
|
import { useColorPickerContext } from './color-picker-context';
|
|
4
5
|
export const ColorPickerContent = (props) => {
|
|
6
|
+
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
5
7
|
const api = useColorPickerContext();
|
|
6
|
-
const mergedProps = mergeProps(() => api().contentProps,
|
|
7
|
-
return <
|
|
8
|
+
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
|
+
<ark.div {...mergedProps}/>
|
|
11
|
+
</Presence>);
|
|
8
12
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { colorPickerAnatomy } from '@ark-ui/anatomy';
|
|
2
|
+
import { mergeProps } from '@zag-js/solid';
|
|
3
|
+
import { ark } from '../factory';
|
|
4
|
+
import { useColorPickerContext } from './color-picker-context';
|
|
5
|
+
export const ColorPickerValueText = (props) => {
|
|
6
|
+
const api = useColorPickerContext();
|
|
7
|
+
const mergedProps = mergeProps(() => colorPickerAnatomy.build().valueText.attrs, props);
|
|
8
|
+
return <ark.span {...mergedProps}>{api().valueAsString || props.children}</ark.span>;
|
|
9
|
+
};
|
|
@@ -19,6 +19,7 @@ import { ColorPickerSwatchGroup, } from './color-picker-swatch-group';
|
|
|
19
19
|
import { ColorPickerSwatchTrigger, } from './color-picker-swatch-trigger';
|
|
20
20
|
import { ColorPickerTransparencyGrid, } from './color-picker-transparency-grid';
|
|
21
21
|
import { ColorPickerTrigger } from './color-picker-trigger';
|
|
22
|
+
import { ColorPickerValueText } from './color-picker-value-text';
|
|
22
23
|
const ColorPicker = Object.assign(ColorPickerRoot, {
|
|
23
24
|
Root: ColorPickerRoot,
|
|
24
25
|
Area: ColorPickerArea,
|
|
@@ -38,5 +39,6 @@ const ColorPicker = Object.assign(ColorPickerRoot, {
|
|
|
38
39
|
SwatchTrigger: ColorPickerSwatchTrigger,
|
|
39
40
|
TransparencyGrid: ColorPickerTransparencyGrid,
|
|
40
41
|
Trigger: ColorPickerTrigger,
|
|
42
|
+
ValueText: ColorPickerValueText,
|
|
41
43
|
});
|
|
42
|
-
export { ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, };
|
|
44
|
+
export { ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, };
|
|
@@ -6,7 +6,7 @@ export const ComboboxContent = (props) => {
|
|
|
6
6
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useComboboxContext();
|
|
8
8
|
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
9
|
-
return (<Presence present={api().isOpen} {...presenceProps}>
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
10
|
<ark.div {...mergedProps}/>
|
|
11
11
|
</Presence>);
|
|
12
12
|
};
|
|
@@ -3,8 +3,8 @@ import { createSplitProps } from '../create-split-props';
|
|
|
3
3
|
import { ark } from '../factory';
|
|
4
4
|
import { useComboboxContext } from './combobox-context';
|
|
5
5
|
export const ComboboxItemGroupLabel = (props) => {
|
|
6
|
-
const [labelProps, localProps] = createSplitProps()(props, ['
|
|
6
|
+
const [labelProps, localProps] = createSplitProps()(props, ['for']);
|
|
7
7
|
const api = useComboboxContext();
|
|
8
|
-
const mergedProps = mergeProps(() => api().getItemGroupLabelProps(labelProps), localProps);
|
|
8
|
+
const mergedProps = mergeProps(() => api().getItemGroupLabelProps({ htmlFor: labelProps.for }), localProps);
|
|
9
9
|
return <ark.div {...mergedProps}/>;
|
|
10
10
|
};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
2
|
import { ark } from '../factory';
|
|
3
|
+
import { Presence, splitPresenceProps } from '../presence';
|
|
3
4
|
import { useDatePickerContext } from './date-picker-context';
|
|
4
5
|
export const DatePickerContent = (props) => {
|
|
6
|
+
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
5
7
|
const api = useDatePickerContext();
|
|
6
|
-
const mergedProps = mergeProps(() => api().contentProps,
|
|
7
|
-
return <
|
|
8
|
+
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
|
+
<ark.div {...mergedProps}/>
|
|
11
|
+
</Presence>);
|
|
8
12
|
};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { datePickerAnatomy } from '@ark-ui/anatomy';
|
|
2
|
+
import { mergeProps } from '@zag-js/solid';
|
|
1
3
|
import { createSplitProps } from '../create-split-props';
|
|
2
4
|
import { ark } from '../factory';
|
|
3
5
|
import { runIfFn } from '../run-if-fn';
|
|
@@ -7,8 +9,9 @@ export const DatePickerView = (props) => {
|
|
|
7
9
|
const [viewProps, localProps] = createSplitProps()(props, ['view']);
|
|
8
10
|
const api = useDatePickerContext();
|
|
9
11
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
12
|
+
const mergedProps = mergeProps(() => datePickerAnatomy.build().view.attrs, localProps);
|
|
10
13
|
return (<DatePickerViewProvider value={viewProps}>
|
|
11
|
-
<ark.div {...
|
|
14
|
+
<ark.div {...mergedProps} hidden={api().view !== viewProps.view}>
|
|
12
15
|
{getChildren()}
|
|
13
16
|
</ark.div>
|
|
14
17
|
</DatePickerViewProvider>);
|
|
@@ -6,6 +6,7 @@ import { DatePickerProvider } from './date-picker-context';
|
|
|
6
6
|
import { useDatePicker } from './use-date-picker';
|
|
7
7
|
export const DatePicker = (props) => {
|
|
8
8
|
const [datePickerProps, localProps] = createSplitProps()(props, [
|
|
9
|
+
'closeOnSelect',
|
|
9
10
|
'dir',
|
|
10
11
|
'disabled',
|
|
11
12
|
'fixedWeeks',
|
|
@@ -14,7 +15,6 @@ export const DatePicker = (props) => {
|
|
|
14
15
|
'getRootNode',
|
|
15
16
|
'id',
|
|
16
17
|
'ids',
|
|
17
|
-
'inline',
|
|
18
18
|
'isDateUnavailable',
|
|
19
19
|
'isDateUnavailable',
|
|
20
20
|
'locale',
|
|
@@ -6,7 +6,7 @@ export const DialogBackdrop = (props) => {
|
|
|
6
6
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useDialogContext();
|
|
8
8
|
const mergedProps = mergeProps(() => api().backdropProps, localProps);
|
|
9
|
-
return (<Presence present={api().isOpen} {...presenceProps}>
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().backdropProps}/>}>
|
|
10
10
|
<ark.div {...mergedProps}/>
|
|
11
11
|
</Presence>);
|
|
12
12
|
};
|
|
@@ -6,7 +6,7 @@ export const DialogContent = (props) => {
|
|
|
6
6
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useDialogContext();
|
|
8
8
|
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
9
|
-
return (<Presence present={api().isOpen} {...presenceProps}>
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
10
|
<ark.div {...mergedProps}/>
|
|
11
11
|
</Presence>);
|
|
12
12
|
};
|
|
@@ -6,7 +6,7 @@ export const HoverCardContent = (props) => {
|
|
|
6
6
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useHoverCardContext();
|
|
8
8
|
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
9
|
-
return (<Presence present={api().isOpen} {...presenceProps}>
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
10
|
<ark.div {...mergedProps}/>
|
|
11
11
|
</Presence>);
|
|
12
12
|
};
|
|
@@ -6,7 +6,7 @@ export const MenuContent = (props) => {
|
|
|
6
6
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useMenuContext();
|
|
8
8
|
const mergedProps = mergeProps(() => api?.().contentProps, localProps);
|
|
9
|
-
return (<Presence present={api?.().isOpen} {...presenceProps}>
|
|
9
|
+
return (<Presence present={api?.().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
10
|
<ark.div {...mergedProps}/>
|
|
11
11
|
</Presence>);
|
|
12
12
|
};
|
|
@@ -4,9 +4,7 @@ import { ark } from '../factory';
|
|
|
4
4
|
import { useMenuContext } from './menu-context';
|
|
5
5
|
export const MenuItemGroupLabel = (props) => {
|
|
6
6
|
const menu = useMenuContext();
|
|
7
|
-
const [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const labelProps = mergeProps(() => menu?.().getItemGroupLabelProps(itemGroupLabelProps), localProps);
|
|
11
|
-
return <ark.label {...labelProps}/>;
|
|
7
|
+
const [labelProps, localProps] = createSplitProps()(props, ['for']);
|
|
8
|
+
const mergedProps = mergeProps(() => menu?.().getItemGroupLabelProps({ htmlFor: labelProps.for }), localProps);
|
|
9
|
+
return <ark.div {...mergedProps}/>;
|
|
12
10
|
};
|
|
@@ -6,7 +6,7 @@ export const PopoverContent = (props) => {
|
|
|
6
6
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = usePopoverContext();
|
|
8
8
|
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
9
|
-
return (<Presence present={api().isOpen} {...presenceProps}>
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
10
|
<ark.div {...mergedProps}/>
|
|
11
11
|
</Presence>);
|
|
12
12
|
};
|
|
@@ -26,7 +26,7 @@ export const Presence = (props) => {
|
|
|
26
26
|
return (<>
|
|
27
27
|
{(!api().isPresent && !wasEverPresent() && localProps.lazyMount) ||
|
|
28
28
|
(localProps.unmountOnExit && !api().isPresent && wasEverPresent())
|
|
29
|
-
?
|
|
29
|
+
? localProps.fallback
|
|
30
30
|
: getChildren()}
|
|
31
31
|
</>);
|
|
32
32
|
};
|
|
@@ -6,7 +6,7 @@ export const SelectContent = (props) => {
|
|
|
6
6
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useSelectContext();
|
|
8
8
|
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
9
|
-
return (<Presence present={api().isOpen} {...presenceProps}>
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
10
|
<ark.div {...mergedProps}/>
|
|
11
11
|
</Presence>);
|
|
12
12
|
};
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { Index } from 'solid-js';
|
|
2
3
|
import { ark } from '../factory';
|
|
3
4
|
import { useSelectContext } from './select-context';
|
|
4
5
|
export const SelectControl = (props) => {
|
|
5
6
|
const api = useSelectContext();
|
|
6
7
|
const mergedProps = mergeProps(() => api().controlProps, props);
|
|
7
|
-
return
|
|
8
|
+
return (<>
|
|
9
|
+
<ark.div {...mergedProps}/>
|
|
10
|
+
<select {...api().hiddenSelectProps}>
|
|
11
|
+
<Index each={api().collection.toArray()}>
|
|
12
|
+
{(option) => <option value={option().value}>{option().label}</option>}
|
|
13
|
+
</Index>
|
|
14
|
+
</select>
|
|
15
|
+
</>);
|
|
8
16
|
};
|
|
@@ -3,8 +3,8 @@ import { createSplitProps } from '../create-split-props';
|
|
|
3
3
|
import { ark } from '../factory';
|
|
4
4
|
import { useSelectContext } from './select-context';
|
|
5
5
|
export const SelectItemGroupLabel = (props) => {
|
|
6
|
-
const [labelProps, localProps] = createSplitProps()(props, ['
|
|
6
|
+
const [labelProps, localProps] = createSplitProps()(props, ['for']);
|
|
7
7
|
const api = useSelectContext();
|
|
8
|
-
const mergedProps = mergeProps(() => api().getItemGroupLabelProps(labelProps), localProps);
|
|
8
|
+
const mergedProps = mergeProps(() => api().getItemGroupLabelProps({ htmlFor: labelProps.for }), localProps);
|
|
9
9
|
return <ark.div {...mergedProps}/>;
|
|
10
10
|
};
|
package/source/slider/index.js
CHANGED
|
@@ -4,19 +4,19 @@ import { SliderControl } from './slider-control';
|
|
|
4
4
|
import { SliderLabel } from './slider-label';
|
|
5
5
|
import { SliderMarker } from './slider-marker';
|
|
6
6
|
import { SliderMarkerGroup } from './slider-marker-group';
|
|
7
|
-
import { SliderOutput } from './slider-output';
|
|
8
7
|
import { SliderRange } from './slider-range';
|
|
9
8
|
import { SliderThumb } from './slider-thumb';
|
|
10
9
|
import { SliderTrack } from './slider-track';
|
|
10
|
+
import { SliderValueText } from './slider-value-text';
|
|
11
11
|
const Slider = Object.assign(SliderRoot, {
|
|
12
12
|
Root: SliderRoot,
|
|
13
13
|
Control: SliderControl,
|
|
14
14
|
Label: SliderLabel,
|
|
15
15
|
Marker: SliderMarker,
|
|
16
16
|
MarkerGroup: SliderMarkerGroup,
|
|
17
|
-
Output: SliderOutput,
|
|
18
17
|
Range: SliderRange,
|
|
19
18
|
Thumb: SliderThumb,
|
|
20
19
|
Track: SliderTrack,
|
|
20
|
+
ValueText: SliderValueText,
|
|
21
21
|
});
|
|
22
|
-
export { Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup,
|
|
22
|
+
export { Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, SliderThumb, SliderTrack, SliderValueText, useSliderContext, };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { ark } from '../factory';
|
|
3
|
+
import { runIfFn } from '../run-if-fn';
|
|
4
|
+
import { useSliderContext } from './slider-context';
|
|
5
|
+
export const SliderValueText = (props) => {
|
|
6
|
+
const api = useSliderContext();
|
|
7
|
+
const getChildren = () => runIfFn(props.children, api);
|
|
8
|
+
const mergedProps = mergeProps(() => api().valueTextProps, props);
|
|
9
|
+
return <ark.div {...mergedProps}>{getChildren()}</ark.div>;
|
|
10
|
+
};
|
|
@@ -6,7 +6,7 @@ export const TooltipContent = (props) => {
|
|
|
6
6
|
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useTooltipContext();
|
|
8
8
|
const contentProps = mergeProps(() => api().contentProps, localProps);
|
|
9
|
-
return (<Presence present={api().isOpen} {...presenceProps}>
|
|
9
|
+
return (<Presence present={api().isOpen} {...presenceProps} fallback={<div {...api().contentProps}/>}>
|
|
10
10
|
<ark.div {...contentProps}/>
|
|
11
11
|
</Presence>);
|
|
12
12
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
2
|
import { type PresenceProps } from '../presence';
|
|
3
|
-
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface AccordionItemContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
5
|
+
}
|
|
4
6
|
export declare const AccordionItemContent: (props: AccordionItemContentProps) => import("solid-js").JSX.Element;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
|
-
|
|
2
|
+
import { type PresenceProps } from '../presence';
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface ColorPickerContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
3
5
|
}
|
|
4
6
|
export declare const ColorPickerContent: (props: ColorPickerContentProps) => import("solid-js").JSX.Element;
|
|
@@ -3,7 +3,7 @@ import type { Assign } from '../types';
|
|
|
3
3
|
interface TransparancyGridProps {
|
|
4
4
|
size: string;
|
|
5
5
|
}
|
|
6
|
-
export interface
|
|
6
|
+
export interface ColorPickerTransparencyGridProps extends Assign<HTMLArkProps<'div'>, TransparancyGridProps> {
|
|
7
7
|
}
|
|
8
|
-
export declare const ColorPickerTransparencyGrid: (props:
|
|
8
|
+
export declare const ColorPickerTransparencyGrid: (props: ColorPickerTransparencyGridProps) => import("solid-js").JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -17,8 +17,9 @@ import { ColorPickerPositioner, type ColorPickerPositionerProps } from './color-
|
|
|
17
17
|
import { ColorPickerSwatch, type ColorPickerSwatchProps } from './color-picker-swatch';
|
|
18
18
|
import { ColorPickerSwatchGroup, type ColorPickerSwatchGroupProps } from './color-picker-swatch-group';
|
|
19
19
|
import { ColorPickerSwatchTrigger, type ColorPickerSwatchTriggerProps } from './color-picker-swatch-trigger';
|
|
20
|
-
import { ColorPickerTransparencyGrid, type
|
|
20
|
+
import { ColorPickerTransparencyGrid, type ColorPickerTransparencyGridProps } from './color-picker-transparency-grid';
|
|
21
21
|
import { ColorPickerTrigger, type ColorPickerTriggerProps } from './color-picker-trigger';
|
|
22
|
+
import { ColorPickerValueText, type ColorPickerValueTextProps } from './color-picker-value-text';
|
|
22
23
|
declare const ColorPicker: ((props: ColorPickerProps) => import("solid-js").JSX.Element) & {
|
|
23
24
|
Root: (props: ColorPickerProps) => import("solid-js").JSX.Element;
|
|
24
25
|
Area: (props: ColorPickerAreaProps) => import("solid-js").JSX.Element;
|
|
@@ -36,8 +37,9 @@ declare const ColorPicker: ((props: ColorPickerProps) => import("solid-js").JSX.
|
|
|
36
37
|
Swatch: (props: ColorPickerSwatchProps) => import("solid-js").JSX.Element;
|
|
37
38
|
SwatchGroup: (props: ColorPickerSwatchGroupProps) => import("solid-js").JSX.Element;
|
|
38
39
|
SwatchTrigger: (props: ColorPickerSwatchTriggerProps) => import("solid-js").JSX.Element;
|
|
39
|
-
TransparencyGrid: (props:
|
|
40
|
+
TransparencyGrid: (props: ColorPickerTransparencyGridProps) => import("solid-js").JSX.Element;
|
|
40
41
|
Trigger: (props: ColorPickerTriggerProps) => import("solid-js").JSX.Element;
|
|
42
|
+
ValueText: (props: ColorPickerValueTextProps) => import("solid-js").JSX.Element;
|
|
41
43
|
};
|
|
42
|
-
export { ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, };
|
|
43
|
-
export type { ColorPickerAreaBackgroundProps, ColorPickerAreaContext, ColorPickerAreaProps, ColorPickerAreaThumbProps, ColorPickerChannelInputProps, ColorPickerChannelSliderContext, ColorPickerChannelSliderProps, ColorPickerChannelSliderThumbProps, ColorPickerChannelSliderTrackProps, ColorPickerContentProps, ColorPickerContext, ColorPickerControlProps, ColorPickerEyeDropperTriggerProps, ColorPickerLabelProps, ColorPickerPositionerProps, ColorPickerProps, ColorPickerSwatchGroupProps, ColorPickerSwatchProps, ColorPickerSwatchTriggerProps,
|
|
44
|
+
export { ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, };
|
|
45
|
+
export type { ColorPickerAreaBackgroundProps, ColorPickerAreaContext, ColorPickerAreaProps, ColorPickerAreaThumbProps, ColorPickerChannelInputProps, ColorPickerChannelSliderContext, ColorPickerChannelSliderProps, ColorPickerChannelSliderThumbProps, ColorPickerChannelSliderTrackProps, ColorPickerContentProps, ColorPickerContext, ColorPickerControlProps, ColorPickerEyeDropperTriggerProps, ColorPickerLabelProps, ColorPickerPositionerProps, ColorPickerProps, ColorPickerSwatchGroupProps, ColorPickerSwatchProps, ColorPickerSwatchTriggerProps, ColorPickerTransparencyGridProps, ColorPickerTriggerProps, ColorPickerValueTextProps, };
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
2
|
import { type PresenceProps } from '../presence';
|
|
3
|
-
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface ComboboxContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
5
|
+
}
|
|
4
6
|
export declare const ComboboxContent: (props: ComboboxContentProps) => import("solid-js").JSX.Element;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import type { ItemGroupLabelProps } from '@zag-js/select';
|
|
2
1
|
import { type HTMLArkProps } from '../factory';
|
|
3
2
|
import type { Assign } from '../types';
|
|
4
|
-
|
|
3
|
+
interface ItemGroupLabelProps {
|
|
4
|
+
for: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ComboboxItemGroupLabelProps extends Assign<HTMLArkProps<'div'>, ItemGroupLabelProps> {
|
|
7
|
+
}
|
|
5
8
|
export declare const ComboboxItemGroupLabel: (props: ComboboxItemGroupLabelProps) => import("solid-js").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
|
-
|
|
2
|
+
import { type PresenceProps } from '../presence';
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface DatePickerContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
3
5
|
}
|
|
4
6
|
export declare const DatePickerContent: (props: DatePickerContentProps) => import("solid-js").JSX.Element;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
2
|
import { type PresenceProps } from '../presence';
|
|
3
|
-
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface DialogBackdropProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
5
|
+
}
|
|
4
6
|
export declare const DialogBackdrop: (props: DialogBackdropProps) => import("solid-js").JSX.Element;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
2
|
import { type PresenceProps } from '../presence';
|
|
3
|
-
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface DialogContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
5
|
+
}
|
|
4
6
|
export declare const DialogContent: (props: DialogContentProps) => import("solid-js").JSX.Element;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
2
|
import { type PresenceProps } from '../presence';
|
|
3
|
-
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface HoverCardContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
5
|
+
}
|
|
4
6
|
export declare const HoverCardContent: (props: HoverCardContentProps) => import("solid-js").JSX.Element;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
2
|
import { type PresenceProps } from '../presence';
|
|
3
|
-
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface MenuContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
5
|
+
}
|
|
4
6
|
export declare const MenuContent: (props: MenuContentProps) => import("solid-js").JSX.Element;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
2
|
import type { Assign } from '../types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
export
|
|
3
|
+
interface ItemGroupLabelProps {
|
|
4
|
+
for: string;
|
|
5
|
+
}
|
|
6
|
+
export interface MenuItemGroupLabelProps extends Assign<HTMLArkProps<'div'>, ItemGroupLabelProps> {
|
|
7
|
+
}
|
|
7
8
|
export declare const MenuItemGroupLabel: (props: MenuItemGroupLabelProps) => import("solid-js").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
2
|
import { type PresenceProps } from '../presence';
|
|
3
|
-
|
|
3
|
+
import type { Assign } from '../types';
|
|
4
|
+
export interface PopoverContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
5
|
+
}
|
|
4
6
|
export declare const PopoverContent: (props: PopoverContentProps) => import("solid-js").JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type JSXElement } from 'solid-js';
|
|
2
2
|
import { type UsePresenceProps } from './use-presence';
|
|
3
|
-
export
|
|
3
|
+
export interface PresenceProps extends UsePresenceProps {
|
|
4
4
|
/**
|
|
5
5
|
* Whether to enable lazy mounting. Defaults to `false`.
|
|
6
6
|
*/
|
|
@@ -13,5 +13,9 @@ export type PresenceProps = UsePresenceProps & {
|
|
|
13
13
|
* The children to render.
|
|
14
14
|
*/
|
|
15
15
|
children?: JSXElement;
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* A fallback to render the component is not present.
|
|
18
|
+
*/
|
|
19
|
+
fallback?: JSXElement;
|
|
20
|
+
}
|
|
17
21
|
export declare const Presence: (props: PresenceProps) => import("solid-js").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { PresenceProps } from './presence';
|
|
2
|
-
export declare function splitPresenceProps<T>(props: T & Omit<PresenceProps, 'children'>): [Pick<T & Omit<PresenceProps, "children">, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">, Omit<T & Omit<PresenceProps, "children">, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">];
|
|
2
|
+
export declare function splitPresenceProps<T>(props: T & Omit<PresenceProps, 'children'>): [Pick<T & Omit<PresenceProps, "children">, "fallback" | "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">, Omit<T & Omit<PresenceProps, "children">, "fallback" | "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">];
|