@ark-ui/solid 1.0.1 → 1.1.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/CHANGELOG.md +50 -0
- package/README.md +43 -40
- package/cjs/index.js +243 -31
- package/cjs/index.js.map +1 -1
- package/esm/index.js +228 -32
- package/esm/index.js.map +1 -1
- package/package.json +43 -40
- package/source/color-picker/color-picker-format-select.jsx +13 -0
- package/source/color-picker/color-picker-format-trigger.jsx +8 -0
- package/source/color-picker/color-picker-swatch-context.js +5 -0
- package/source/color-picker/color-picker-swatch-indicator.jsx +10 -0
- package/source/color-picker/color-picker-swatch-trigger.jsx +4 -1
- package/source/color-picker/color-picker-swatch.jsx +6 -3
- package/source/color-picker/color-picker.jsx +3 -1
- package/source/color-picker/index.js +7 -1
- package/source/dialog/dialog-close-trigger.jsx +1 -1
- package/source/file-upload/file-upload-context.js +5 -0
- package/source/file-upload/file-upload-dropzone.jsx +11 -0
- package/source/file-upload/file-upload-item-context.js +5 -0
- package/source/file-upload/file-upload-item-delete-trigger.jsx +10 -0
- package/source/file-upload/file-upload-item-group.jsx +10 -0
- package/source/file-upload/file-upload-item-name.jsx +12 -0
- package/source/file-upload/file-upload-item-preview.jsx +19 -0
- package/source/file-upload/file-upload-item-size-text.jsx +12 -0
- package/source/file-upload/file-upload-item.jsx +15 -0
- package/source/file-upload/file-upload-label.jsx +8 -0
- package/source/file-upload/file-upload-trigger.jsx +8 -0
- package/source/file-upload/file-upload.jsx +30 -0
- package/source/file-upload/index.js +24 -0
- package/source/file-upload/use-file-upload.js +10 -0
- package/source/index.jsx +1 -0
- package/source/number-input/number-input.jsx +4 -2
- package/source/toast/create-toaster.jsx +6 -7
- package/types/color-picker/color-picker-format-select.d.ts +4 -0
- package/types/color-picker/color-picker-format-trigger.d.ts +4 -0
- package/types/color-picker/color-picker-swatch-context.d.ts +4 -0
- package/types/color-picker/color-picker-swatch-indicator.d.ts +4 -0
- package/types/color-picker/color-picker-swatch-trigger.d.ts +1 -5
- package/types/color-picker/color-picker-transparency-grid.d.ts +2 -5
- package/types/color-picker/index.d.ts +10 -3
- package/types/color-picker/use-color-picker.d.ts +3 -0
- package/types/file-upload/file-upload-context.d.ts +4 -0
- package/types/file-upload/file-upload-dropzone.d.ts +4 -0
- package/types/file-upload/file-upload-item-context.d.ts +4 -0
- package/types/file-upload/file-upload-item-delete-trigger.d.ts +4 -0
- package/types/file-upload/file-upload-item-group.d.ts +8 -0
- package/types/file-upload/file-upload-item-name.d.ts +4 -0
- package/types/file-upload/file-upload-item-preview.d.ts +4 -0
- package/types/file-upload/file-upload-item-size-text.d.ts +4 -0
- package/types/file-upload/file-upload-item.d.ts +6 -0
- package/types/file-upload/file-upload-label.d.ts +4 -0
- package/types/file-upload/file-upload-trigger.d.ts +4 -0
- package/types/file-upload/file-upload.d.ts +9 -0
- package/types/file-upload/index.d.ts +25 -0
- package/types/file-upload/use-file-upload.d.ts +9 -0
- package/types/index.d.ts +1 -0
- package/types/number-input/number-input.d.ts +6 -3
- package/types/toast/create-toaster.d.ts +3 -2
- package/types/toast/toast-context.d.ts +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,52 @@ description: All notable changes to this project will be documented in this file
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.1.0] - 2023-11-21
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Added render function to the `NumberInput` component
|
|
14
|
+
- Added `FileUpload` component
|
|
15
|
+
|
|
16
|
+
## Changed
|
|
17
|
+
|
|
18
|
+
- Revised the `ColorPicker` component. Check out the [documentation](https://ark-ui.com/docs/components/color-picker) for more information.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- Resolved a problem where the `Dialog.CloseTrigger` was assigned to the wrong `data-part`.
|
|
23
|
+
- Fixed various issues for the `Toast` component that were caused by the API not being wrapped in an `Accessor`.
|
|
24
|
+
|
|
25
|
+
```jsx
|
|
26
|
+
// before
|
|
27
|
+
const [Toaster, toast] = createToaster({
|
|
28
|
+
placement: 'top-end',
|
|
29
|
+
render(toast) {
|
|
30
|
+
return (
|
|
31
|
+
<Toast.Root>
|
|
32
|
+
<Toast.Title>{toast.title}</Toast.Title>
|
|
33
|
+
<Toast.Description>{toast.description}</Toast.Description>
|
|
34
|
+
<Toast.CloseTrigger>Close</Toast.CloseTrigger>
|
|
35
|
+
</Toast.Root>
|
|
36
|
+
)
|
|
37
|
+
},
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
// after
|
|
41
|
+
const [Toaster, toast] = createToaster({
|
|
42
|
+
placement: 'top-end',
|
|
43
|
+
render(toast) {
|
|
44
|
+
return (
|
|
45
|
+
<Toast.Root>
|
|
46
|
+
<Toast.Title>{toast().title}</Toast.Title>
|
|
47
|
+
<Toast.Description>{toast().description}</Toast.Description>
|
|
48
|
+
<Toast.CloseTrigger>Close</Toast.CloseTrigger>
|
|
49
|
+
</Toast.Root>
|
|
50
|
+
)
|
|
51
|
+
},
|
|
52
|
+
})
|
|
53
|
+
```
|
|
54
|
+
|
|
9
55
|
## [1.0.1] - 2023-11-10
|
|
10
56
|
|
|
11
57
|
### Fixed
|
|
@@ -200,3 +246,7 @@ With the release of version 1.0.0, we are moving towards a more stable version o
|
|
|
200
246
|
[0.10.0]: https://github.com/chakra-ui/ark/releases/tag/@ark-ui/solid@0.10.0
|
|
201
247
|
[0.10.1]: https://github.com/chakra-ui/ark/releases/tag/@ark-ui/solid@0.10.1
|
|
202
248
|
[0.11.0]: https://github.com/chakra-ui/ark/releases/tag/@ark-ui/solid@0.11.0
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
```
|
package/README.md
CHANGED
|
@@ -1,47 +1,46 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Welcome to Ark UI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Ark UI is a headless, open-source UI library with over 30+ components designed for building reusable, scalable Design Systems. It supports a wide range of JavaScript frameworks, offering dedciated packages for each supported framework.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Supported Frameworks
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
7
|
+
Ark UI is available for the following JavaScript frameworks:
|
|
8
|
+
|
|
9
|
+
- **React**: `@ark-ui/react`
|
|
10
|
+
- **Solid**: `@ark-ui/solid`
|
|
11
|
+
- **Vue**: `@ark-ui/vue`
|
|
12
12
|
|
|
13
13
|
## Available Components
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- [
|
|
18
|
-
- [
|
|
19
|
-
- [
|
|
20
|
-
- [
|
|
21
|
-
- [
|
|
22
|
-
- [
|
|
23
|
-
- [
|
|
24
|
-
- [
|
|
25
|
-
- [
|
|
26
|
-
- [
|
|
27
|
-
- [
|
|
28
|
-
- [
|
|
29
|
-
- [
|
|
30
|
-
- [
|
|
31
|
-
- [
|
|
32
|
-
- [
|
|
33
|
-
- [
|
|
34
|
-
- [
|
|
35
|
-
- [
|
|
36
|
-
- [
|
|
37
|
-
- [
|
|
38
|
-
- [
|
|
39
|
-
- [
|
|
40
|
-
- [
|
|
41
|
-
- [
|
|
42
|
-
- [
|
|
43
|
-
- [
|
|
44
|
-
- [Tooltip](https://ark-ui.com/docs/solid/components/tooltip)
|
|
15
|
+
- [Accordion](https://ark-ui.com/docs/components/accordion)
|
|
16
|
+
- [Avatar](https://ark-ui.com/docs/components/avatar)
|
|
17
|
+
- [Carousel](https://ark-ui.com/docs/components/carousel)
|
|
18
|
+
- [Checkbox](https://ark-ui.com/docs/components/checkbox)
|
|
19
|
+
- [Color Picker](https://ark-ui.com/docs/components/color-picker)
|
|
20
|
+
- [Combobox](https://ark-ui.com/docs/components/combobox)
|
|
21
|
+
- [Date Picker](https://ark-ui.com/docs/components/date-picker)
|
|
22
|
+
- [Dialog](https://ark-ui.com/docs/components/dialog)
|
|
23
|
+
- [Editable](https://ark-ui.com/docs/components/editable)
|
|
24
|
+
- [File Upload](https://ark-ui.com/docs/components/file-upload)
|
|
25
|
+
- [Hover Card](https://ark-ui.com/docs/components/hover-card)
|
|
26
|
+
- [Menu](https://ark-ui.com/docs/components/menu)
|
|
27
|
+
- [Number Input](https://ark-ui.com/docs/components/number-input)
|
|
28
|
+
- [Pagination](https://ark-ui.com/docs/components/pagination)
|
|
29
|
+
- [Pin Input](https://ark-ui.com/docs/components/pin-input)
|
|
30
|
+
- [Popover](https://ark-ui.com/docs/components/popover)
|
|
31
|
+
- [Radio Group](https://ark-ui.com/docs/components/radio-group)
|
|
32
|
+
- [Range Slider](https://ark-ui.com/docs/components/slider)
|
|
33
|
+
- [Rating Group](https://ark-ui.com/docs/components/rating-group)
|
|
34
|
+
- [Segment Group](https://ark-ui.com/docs/components/segment-group)
|
|
35
|
+
- [Select](https://ark-ui.com/docs/components/select)
|
|
36
|
+
- [Slider](https://ark-ui.com/docs/components/slider)
|
|
37
|
+
- [Splitter](https://ark-ui.com/docs/components/splitter)
|
|
38
|
+
- [Switch](https://ark-ui.com/docs/components/switch)
|
|
39
|
+
- [Tabs](https://ark-ui.com/docs/components/tabs)
|
|
40
|
+
- [Tags Input](https://ark-ui.com/docs/components/tags-input)
|
|
41
|
+
- [Toast](https://ark-ui.com/docs/components/toast)
|
|
42
|
+
- [Toggle Group](https://ark-ui.com/docs/components/toggle-group)
|
|
43
|
+
- [Tooltip](https://ark-ui.com/docs/components/tooltip)
|
|
45
44
|
|
|
46
45
|
## Installation
|
|
47
46
|
|
|
@@ -95,10 +94,14 @@ export const MySlider = () => {
|
|
|
95
94
|
|
|
96
95
|
For more detailed documentation and examples, please visit the [official documentation](https://ark-ui.com/).
|
|
97
96
|
|
|
97
|
+
## Roadmap
|
|
98
|
+
|
|
99
|
+
You can request, vote for, and check upcoming features on our [roadmap](https://ark-ui.canny.io/).
|
|
100
|
+
|
|
98
101
|
## Contribution
|
|
99
102
|
|
|
100
|
-
We welcome contributions to
|
|
103
|
+
We welcome contributions to Ark UI. Please read our [contributing guidelines](https://github.com/chakra-ui/ark/blob/main/CONTRIBUTING.md) for more information on how to contribute.
|
|
101
104
|
|
|
102
|
-
##
|
|
105
|
+
## License
|
|
103
106
|
|
|
104
107
|
This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/ark/blob/main/LICENSE).
|
package/cjs/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var combobox = require('@zag-js/combobox');
|
|
|
14
14
|
var datePicker = require('@zag-js/date-picker');
|
|
15
15
|
var dialog = require('@zag-js/dialog');
|
|
16
16
|
var editable = require('@zag-js/editable');
|
|
17
|
+
var fileUpload = require('@zag-js/file-upload');
|
|
17
18
|
var hoverCard = require('@zag-js/hover-card');
|
|
18
19
|
var menu = require('@zag-js/menu');
|
|
19
20
|
var numberInput = require('@zag-js/number-input');
|
|
@@ -59,6 +60,7 @@ var combobox__namespace = /*#__PURE__*/_interopNamespaceDefault(combobox);
|
|
|
59
60
|
var datePicker__namespace = /*#__PURE__*/_interopNamespaceDefault(datePicker);
|
|
60
61
|
var dialog__namespace = /*#__PURE__*/_interopNamespaceDefault(dialog);
|
|
61
62
|
var editable__namespace = /*#__PURE__*/_interopNamespaceDefault(editable);
|
|
63
|
+
var fileUpload__namespace = /*#__PURE__*/_interopNamespaceDefault(fileUpload);
|
|
62
64
|
var hoverCard__namespace = /*#__PURE__*/_interopNamespaceDefault(hoverCard);
|
|
63
65
|
var menu__namespace = /*#__PURE__*/_interopNamespaceDefault(menu);
|
|
64
66
|
var numberInput__namespace = /*#__PURE__*/_interopNamespaceDefault(numberInput);
|
|
@@ -533,7 +535,7 @@ const [EnvironmentProvider, useEnvironmentContext] = createContext({
|
|
|
533
535
|
strict: false
|
|
534
536
|
});
|
|
535
537
|
|
|
536
|
-
const _tmpl$$
|
|
538
|
+
const _tmpl$$c = /*#__PURE__*/web.template(`<span hidden>`);
|
|
537
539
|
const Environment$1 = props => {
|
|
538
540
|
// eslint-disable-next-line prefer-const
|
|
539
541
|
let spanRef = undefined;
|
|
@@ -544,7 +546,7 @@ const Environment$1 = props => {
|
|
|
544
546
|
},
|
|
545
547
|
get children() {
|
|
546
548
|
return [web.memo(() => props.children), web.memo(() => web.memo(() => !!!props.value)() && (() => {
|
|
547
|
-
const _el$ = _tmpl$$
|
|
549
|
+
const _el$ = _tmpl$$c();
|
|
548
550
|
const _ref$ = spanRef;
|
|
549
551
|
typeof _ref$ === "function" ? web.use(_ref$, _el$) : spanRef = _el$;
|
|
550
552
|
return _el$;
|
|
@@ -839,12 +841,12 @@ const Checkbox$1 = props => {
|
|
|
839
841
|
});
|
|
840
842
|
};
|
|
841
843
|
|
|
842
|
-
const _tmpl$$
|
|
844
|
+
const _tmpl$$b = /*#__PURE__*/web.template(`<input>`);
|
|
843
845
|
const CheckboxControl = props => {
|
|
844
846
|
const api = useCheckboxContext();
|
|
845
847
|
const mergedProps = solid.mergeProps(() => api().controlProps, props);
|
|
846
848
|
return [web.createComponent(ark.div, mergedProps), (() => {
|
|
847
|
-
const _el$ = _tmpl$$
|
|
849
|
+
const _el$ = _tmpl$$b();
|
|
848
850
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
849
851
|
return _el$;
|
|
850
852
|
})()];
|
|
@@ -888,10 +890,10 @@ const useColorPicker = props => {
|
|
|
888
890
|
return solidJs.createMemo(() => colorPicker__namespace.connect(state, send, solid.normalizeProps));
|
|
889
891
|
};
|
|
890
892
|
|
|
891
|
-
const _tmpl$$
|
|
893
|
+
const _tmpl$$a = /*#__PURE__*/web.template(`<input>`);
|
|
892
894
|
const ColorPicker$1 = props => {
|
|
893
895
|
const [presenceProps, colorPickerProps] = splitPresenceProps(props);
|
|
894
|
-
const [useColorPickerProps, localProps] = createSplitProps()(colorPickerProps, ['
|
|
896
|
+
const [useColorPickerProps, localProps] = createSplitProps()(colorPickerProps, ['closeOnSelect', 'dir', 'disabled', 'format', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'name', 'name', 'onFocusOutside', 'onFormatChange', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'onValueChangeEnd', 'open', 'positioning', 'readOnly', 'value']);
|
|
895
897
|
const api = useColorPicker(useColorPickerProps);
|
|
896
898
|
const apiPresence = usePresence(solid.mergeProps(presenceProps, () => ({
|
|
897
899
|
present: api().isOpen
|
|
@@ -911,7 +913,7 @@ const ColorPicker$1 = props => {
|
|
|
911
913
|
}));
|
|
912
914
|
}
|
|
913
915
|
}), (() => {
|
|
914
|
-
const _el$ = _tmpl$$
|
|
916
|
+
const _el$ = _tmpl$$a();
|
|
915
917
|
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
916
918
|
return _el$;
|
|
917
919
|
})()];
|
|
@@ -1014,6 +1016,32 @@ const ColorPickerEyeDropperTrigger = props => {
|
|
|
1014
1016
|
return web.createComponent(ark.button, mergedProps);
|
|
1015
1017
|
};
|
|
1016
1018
|
|
|
1019
|
+
const ColorPickerFormatSelect = props => {
|
|
1020
|
+
const api = useColorPickerContext();
|
|
1021
|
+
const mergedProps = solid.mergeProps(() => api().formatSelectProps, props);
|
|
1022
|
+
return web.createComponent(ark.select, web.mergeProps(mergedProps, {
|
|
1023
|
+
get children() {
|
|
1024
|
+
return web.createComponent(solidJs.Index, {
|
|
1025
|
+
each: ['rgba', 'hsla', 'hsba'],
|
|
1026
|
+
children: format => web.createComponent(ark.option, {
|
|
1027
|
+
get value() {
|
|
1028
|
+
return format();
|
|
1029
|
+
},
|
|
1030
|
+
get children() {
|
|
1031
|
+
return format();
|
|
1032
|
+
}
|
|
1033
|
+
})
|
|
1034
|
+
});
|
|
1035
|
+
}
|
|
1036
|
+
}));
|
|
1037
|
+
};
|
|
1038
|
+
|
|
1039
|
+
const ColorPickerFormatTrigger = props => {
|
|
1040
|
+
const api = useColorPickerContext();
|
|
1041
|
+
const mergedProps = solid.mergeProps(() => api().formatTriggerProps, props);
|
|
1042
|
+
return web.createComponent(ark.button, mergedProps);
|
|
1043
|
+
};
|
|
1044
|
+
|
|
1017
1045
|
const ColorPickerLabel = props => {
|
|
1018
1046
|
const api = useColorPickerContext();
|
|
1019
1047
|
const mergedProps = solid.mergeProps(() => api().labelProps, props);
|
|
@@ -1034,11 +1062,21 @@ const ColorPickerPositioner = props => {
|
|
|
1034
1062
|
});
|
|
1035
1063
|
};
|
|
1036
1064
|
|
|
1065
|
+
const [ColorPickerSwatchProvider, useColorPickerSwatchContext] = createContext({
|
|
1066
|
+
hookName: 'useColorPickerSwatchContext',
|
|
1067
|
+
providerName: '<ColorPickerSwatchProvider />'
|
|
1068
|
+
});
|
|
1069
|
+
|
|
1037
1070
|
const ColorPickerSwatch = props => {
|
|
1038
|
-
const [
|
|
1071
|
+
const [swatchProps, localProps] = createSplitProps()(props, ['respectAlpha', 'value']);
|
|
1039
1072
|
const api = useColorPickerContext();
|
|
1040
|
-
const mergedProps = solid.mergeProps(() => api().getSwatchProps(
|
|
1041
|
-
return web.createComponent(
|
|
1073
|
+
const mergedProps = solid.mergeProps(() => api().getSwatchProps(swatchProps), localProps);
|
|
1074
|
+
return web.createComponent(ColorPickerSwatchProvider, {
|
|
1075
|
+
value: swatchProps,
|
|
1076
|
+
get children() {
|
|
1077
|
+
return web.createComponent(ark.div, mergedProps);
|
|
1078
|
+
}
|
|
1079
|
+
});
|
|
1042
1080
|
};
|
|
1043
1081
|
|
|
1044
1082
|
const ColorPickerSwatchGroup = props => {
|
|
@@ -1047,8 +1085,15 @@ const ColorPickerSwatchGroup = props => {
|
|
|
1047
1085
|
return web.createComponent(ark.div, mergedProps);
|
|
1048
1086
|
};
|
|
1049
1087
|
|
|
1088
|
+
const ColorPickerSwatchIndicator = props => {
|
|
1089
|
+
const api = useColorPickerContext();
|
|
1090
|
+
const swatchProps = useColorPickerSwatchContext();
|
|
1091
|
+
const mergedProps = solid.mergeProps(() => api().getSwatchIndicatorProps(swatchProps), props);
|
|
1092
|
+
return web.createComponent(ark.div, mergedProps);
|
|
1093
|
+
};
|
|
1094
|
+
|
|
1050
1095
|
const ColorPickerSwatchTrigger = props => {
|
|
1051
|
-
const [triggerProps, localProps] = createSplitProps()(props, ['value']);
|
|
1096
|
+
const [triggerProps, localProps] = createSplitProps()(props, ['value', 'disabled']);
|
|
1052
1097
|
const api = useColorPickerContext();
|
|
1053
1098
|
const mergedProps = solid.mergeProps(() => api().getSwatchTriggerProps(triggerProps), localProps);
|
|
1054
1099
|
return web.createComponent(ark.button, mergedProps);
|
|
@@ -1108,10 +1153,13 @@ const ColorPicker = Object.assign(ColorPicker$1, {
|
|
|
1108
1153
|
Content: ColorPickerContent,
|
|
1109
1154
|
Control: ColorPickerControl,
|
|
1110
1155
|
EyeDropperTrigger: ColorPickerEyeDropperTrigger,
|
|
1156
|
+
FormatTrigger: ColorPickerFormatTrigger,
|
|
1157
|
+
FormatSelect: ColorPickerFormatSelect,
|
|
1111
1158
|
Label: ColorPickerLabel,
|
|
1112
1159
|
Positioner: ColorPickerPositioner,
|
|
1113
1160
|
Swatch: ColorPickerSwatch,
|
|
1114
1161
|
SwatchGroup: ColorPickerSwatchGroup,
|
|
1162
|
+
SwatchIndicator: ColorPickerSwatchIndicator,
|
|
1115
1163
|
SwatchTrigger: ColorPickerSwatchTrigger,
|
|
1116
1164
|
TransparencyGrid: ColorPickerTransparencyGrid,
|
|
1117
1165
|
Trigger: ColorPickerTrigger,
|
|
@@ -1376,14 +1424,14 @@ const DatePickerLabel = props => {
|
|
|
1376
1424
|
return web.createComponent(ark.label, mergedProps);
|
|
1377
1425
|
};
|
|
1378
1426
|
|
|
1379
|
-
const _tmpl$$
|
|
1427
|
+
const _tmpl$$9 = /*#__PURE__*/web.template(`<option>`);
|
|
1380
1428
|
const DatePickerMonthSelect = props => {
|
|
1381
1429
|
const api = useDatePickerContext();
|
|
1382
1430
|
const mergedProps = solid.mergeProps(() => api().monthSelectProps, props);
|
|
1383
1431
|
return web.createComponent(ark.select, web.mergeProps(mergedProps, {
|
|
1384
1432
|
get children() {
|
|
1385
1433
|
return api().getMonths().map(month => (() => {
|
|
1386
|
-
const _el$ = _tmpl$$
|
|
1434
|
+
const _el$ = _tmpl$$9();
|
|
1387
1435
|
web.insert(_el$, () => month.label);
|
|
1388
1436
|
web.effect(() => _el$.value = month.value);
|
|
1389
1437
|
return _el$;
|
|
@@ -1566,7 +1614,7 @@ const DatePickerViewTrigger = props => {
|
|
|
1566
1614
|
return web.createComponent(ark.button, mergedProps);
|
|
1567
1615
|
};
|
|
1568
1616
|
|
|
1569
|
-
const _tmpl$$
|
|
1617
|
+
const _tmpl$$8 = /*#__PURE__*/web.template(`<option>`);
|
|
1570
1618
|
const DatePickerYearSelect = props => {
|
|
1571
1619
|
const api = useDatePickerContext();
|
|
1572
1620
|
const mergedProps = solid.mergeProps(() => api().yearSelectProps, props);
|
|
@@ -1576,7 +1624,7 @@ const DatePickerYearSelect = props => {
|
|
|
1576
1624
|
from: 1_000,
|
|
1577
1625
|
to: 4_000
|
|
1578
1626
|
}).map(year => (() => {
|
|
1579
|
-
const _el$ = _tmpl$$
|
|
1627
|
+
const _el$ = _tmpl$$8();
|
|
1580
1628
|
_el$.value = year;
|
|
1581
1629
|
web.insert(_el$, year);
|
|
1582
1630
|
return _el$;
|
|
@@ -1680,7 +1728,7 @@ const DialogBackdrop = props => {
|
|
|
1680
1728
|
|
|
1681
1729
|
const DialogCloseTrigger = props => {
|
|
1682
1730
|
const dialog = useDialogContext();
|
|
1683
|
-
const mergedProps = solid.mergeProps(() => dialog().
|
|
1731
|
+
const mergedProps = solid.mergeProps(() => dialog().closeTriggerProps, props);
|
|
1684
1732
|
return web.createComponent(ark.button, mergedProps);
|
|
1685
1733
|
};
|
|
1686
1734
|
|
|
@@ -1841,6 +1889,157 @@ const Editable = Object.assign(Editable$1, {
|
|
|
1841
1889
|
SubmitTrigger: EditableSubmitTrigger
|
|
1842
1890
|
});
|
|
1843
1891
|
|
|
1892
|
+
const [FileUploadProvider, useFileUploadContext] = createContext({
|
|
1893
|
+
hookName: 'useFileUploadContext',
|
|
1894
|
+
providerName: '<FileUploadProvider />'
|
|
1895
|
+
});
|
|
1896
|
+
|
|
1897
|
+
const useFileUpload = props => {
|
|
1898
|
+
const getRootNode = useEnvironmentContext();
|
|
1899
|
+
const context = solid.mergeProps({
|
|
1900
|
+
id: solidJs.createUniqueId(),
|
|
1901
|
+
getRootNode
|
|
1902
|
+
}, props);
|
|
1903
|
+
const [state, send] = solid.useMachine(fileUpload__namespace.machine(context), {
|
|
1904
|
+
context
|
|
1905
|
+
});
|
|
1906
|
+
return solidJs.createMemo(() => fileUpload__namespace.connect(state, send, solid.normalizeProps));
|
|
1907
|
+
};
|
|
1908
|
+
|
|
1909
|
+
const FileUpload$1 = props => {
|
|
1910
|
+
const [fileUploadProps, localProps] = createSplitProps()(props, ['accept', 'allowDrop', 'dir', 'disabled', 'files', 'getRootNode', 'id', 'isValidFile', 'locale', 'maxFiles', 'maxFileSize', 'minFileSize', 'name', 'onFilesChange']);
|
|
1911
|
+
const api = useFileUpload(fileUploadProps);
|
|
1912
|
+
const mergedProps = solid.mergeProps(() => api().rootProps, localProps);
|
|
1913
|
+
const getChildren = () => runIfFn(localProps.children, api);
|
|
1914
|
+
return web.createComponent(FileUploadProvider, {
|
|
1915
|
+
value: api,
|
|
1916
|
+
get children() {
|
|
1917
|
+
return web.createComponent(ark.div, web.mergeProps(mergedProps, {
|
|
1918
|
+
get children() {
|
|
1919
|
+
return getChildren();
|
|
1920
|
+
}
|
|
1921
|
+
}));
|
|
1922
|
+
}
|
|
1923
|
+
});
|
|
1924
|
+
};
|
|
1925
|
+
|
|
1926
|
+
const _tmpl$$7 = /*#__PURE__*/web.template(`<input>`);
|
|
1927
|
+
const FileUploadDropzone = props => {
|
|
1928
|
+
const api = useFileUploadContext();
|
|
1929
|
+
const mergedProps = solid.mergeProps(() => api().dropzoneProps, props);
|
|
1930
|
+
return [web.createComponent(ark.div, mergedProps), (() => {
|
|
1931
|
+
const _el$ = _tmpl$$7();
|
|
1932
|
+
web.spread(_el$, web.mergeProps(() => api().hiddenInputProps), false, false);
|
|
1933
|
+
return _el$;
|
|
1934
|
+
})()];
|
|
1935
|
+
};
|
|
1936
|
+
|
|
1937
|
+
const [FileUploadItemProvider, useFileUploadItemContext] = createContext({
|
|
1938
|
+
hookName: 'useFileUploadItemContext',
|
|
1939
|
+
providerName: '<FileUploadItemProvider />'
|
|
1940
|
+
});
|
|
1941
|
+
|
|
1942
|
+
const FileUploadItem = props => {
|
|
1943
|
+
const [itemProps, localProps] = createSplitProps()(props, ['file']);
|
|
1944
|
+
const api = useFileUploadContext();
|
|
1945
|
+
const mergedProps = solid.mergeProps(() => api().getItemProps(itemProps), localProps);
|
|
1946
|
+
const getChildren = () => runIfFn(localProps.children);
|
|
1947
|
+
return web.createComponent(FileUploadItemProvider, {
|
|
1948
|
+
value: itemProps,
|
|
1949
|
+
get children() {
|
|
1950
|
+
return web.createComponent(ark.li, web.mergeProps(mergedProps, {
|
|
1951
|
+
get children() {
|
|
1952
|
+
return getChildren();
|
|
1953
|
+
}
|
|
1954
|
+
}));
|
|
1955
|
+
}
|
|
1956
|
+
});
|
|
1957
|
+
};
|
|
1958
|
+
|
|
1959
|
+
const FileUploadItemDeleteTrigger = props => {
|
|
1960
|
+
const api = useFileUploadContext();
|
|
1961
|
+
const item = useFileUploadItemContext();
|
|
1962
|
+
const mergedProps = solid.mergeProps(() => api().getItemDeleteTriggerProps(item), props);
|
|
1963
|
+
return web.createComponent(ark.button, mergedProps);
|
|
1964
|
+
};
|
|
1965
|
+
|
|
1966
|
+
const FileUploadItemGroup = props => {
|
|
1967
|
+
const api = useFileUploadContext();
|
|
1968
|
+
const mergedProps = solid.mergeProps(() => api().itemGroupProps, props);
|
|
1969
|
+
const getChildren = () => runIfFn(props.children, () => api().files);
|
|
1970
|
+
return web.createComponent(ark.ul, web.mergeProps(mergedProps, {
|
|
1971
|
+
get children() {
|
|
1972
|
+
return getChildren();
|
|
1973
|
+
}
|
|
1974
|
+
}));
|
|
1975
|
+
};
|
|
1976
|
+
|
|
1977
|
+
const FileUploadItemName = props => {
|
|
1978
|
+
const api = useFileUploadContext();
|
|
1979
|
+
const item = useFileUploadItemContext();
|
|
1980
|
+
const mergedProps = solid.mergeProps(() => api().getItemNameProps(item), props);
|
|
1981
|
+
const getChildren = solidJs.children(() => props.children);
|
|
1982
|
+
return web.createComponent(ark.div, web.mergeProps(mergedProps, {
|
|
1983
|
+
get children() {
|
|
1984
|
+
return getChildren() || item.file.name;
|
|
1985
|
+
}
|
|
1986
|
+
}));
|
|
1987
|
+
};
|
|
1988
|
+
|
|
1989
|
+
const FileUploadItemPreview = props => {
|
|
1990
|
+
const api = useFileUploadContext();
|
|
1991
|
+
const item = useFileUploadItemContext();
|
|
1992
|
+
const [url, setUrl] = solidJs.createSignal('');
|
|
1993
|
+
api().createFileUrl(item.file, url => setUrl(url));
|
|
1994
|
+
try {
|
|
1995
|
+
const mergedProps = solid.mergeProps(api().getItemPreviewProps({
|
|
1996
|
+
...item,
|
|
1997
|
+
url: url()
|
|
1998
|
+
}), props);
|
|
1999
|
+
return web.createComponent(ark.img, mergedProps);
|
|
2000
|
+
} catch (e) {
|
|
2001
|
+
// TODO We could render a fallback component
|
|
2002
|
+
return null;
|
|
2003
|
+
}
|
|
2004
|
+
};
|
|
2005
|
+
|
|
2006
|
+
const FileUploadItemSizeText = props => {
|
|
2007
|
+
const api = useFileUploadContext();
|
|
2008
|
+
const item = useFileUploadItemContext();
|
|
2009
|
+
const mergedProps = solid.mergeProps(() => api().getItemSizeTextProps(item), props);
|
|
2010
|
+
const getChildren = solidJs.children(() => props.children);
|
|
2011
|
+
return web.createComponent(ark.div, web.mergeProps(mergedProps, {
|
|
2012
|
+
get children() {
|
|
2013
|
+
return getChildren() || api().getFileSize(item.file);
|
|
2014
|
+
}
|
|
2015
|
+
}));
|
|
2016
|
+
};
|
|
2017
|
+
|
|
2018
|
+
const FileUploadLabel = props => {
|
|
2019
|
+
const api = useFileUploadContext();
|
|
2020
|
+
const mergedProps = solid.mergeProps(() => api().labelProps, props);
|
|
2021
|
+
return web.createComponent(ark.label, mergedProps);
|
|
2022
|
+
};
|
|
2023
|
+
|
|
2024
|
+
const FileUploadTrigger = props => {
|
|
2025
|
+
const api = useFileUploadContext();
|
|
2026
|
+
const mergedProps = solid.mergeProps(() => api().triggerProps, props);
|
|
2027
|
+
return web.createComponent(ark.button, mergedProps);
|
|
2028
|
+
};
|
|
2029
|
+
|
|
2030
|
+
const FileUpload = Object.assign(FileUpload$1, {
|
|
2031
|
+
Root: FileUpload$1,
|
|
2032
|
+
Dropzone: FileUploadDropzone,
|
|
2033
|
+
Label: FileUploadLabel,
|
|
2034
|
+
Trigger: FileUploadTrigger,
|
|
2035
|
+
ItemGroup: FileUploadItemGroup,
|
|
2036
|
+
Item: FileUploadItem,
|
|
2037
|
+
ItemName: FileUploadItemName,
|
|
2038
|
+
ItemPreview: FileUploadItemPreview,
|
|
2039
|
+
ItemSizeText: FileUploadItemSizeText,
|
|
2040
|
+
ItemDeleteTrigger: FileUploadItemDeleteTrigger
|
|
2041
|
+
});
|
|
2042
|
+
|
|
1844
2043
|
const [HoverCardProvider, useHoverCardContext] = createContext({
|
|
1845
2044
|
hookName: 'useHoverCardContext',
|
|
1846
2045
|
providerName: '<HoverCardProvider />'
|
|
@@ -2149,10 +2348,15 @@ const NumberInput$1 = props => {
|
|
|
2149
2348
|
const [useNumberInputProps, localProps] = createSplitProps()(props, ['allowMouseWheel', 'allowOverflow', 'clampValueOnBlur', 'dir', 'disabled', 'focusInputOnChange', 'form', 'formatOptions', 'getRootNode', 'id', 'ids', 'inputMode', 'invalid', 'locale', 'max', 'min', 'name', 'onFocusChange', 'onValueChange', 'onValueInvalid', 'pattern', 'readOnly', 'spinOnPress', 'step', 'translations', 'value']);
|
|
2150
2349
|
const api = useNumberInput(useNumberInputProps);
|
|
2151
2350
|
const mergedProps = solid.mergeProps(() => api().rootProps, localProps);
|
|
2351
|
+
const getChildren = () => runIfFn(localProps.children, api);
|
|
2152
2352
|
return web.createComponent(NumberInputProvider, {
|
|
2153
2353
|
value: api,
|
|
2154
2354
|
get children() {
|
|
2155
|
-
return web.createComponent(ark.div, mergedProps
|
|
2355
|
+
return web.createComponent(ark.div, web.mergeProps(mergedProps, {
|
|
2356
|
+
get children() {
|
|
2357
|
+
return getChildren();
|
|
2358
|
+
}
|
|
2359
|
+
}));
|
|
2156
2360
|
}
|
|
2157
2361
|
});
|
|
2158
2362
|
};
|
|
@@ -3347,18 +3551,13 @@ const [ToastProvider, useToastContext] = createContext({
|
|
|
3347
3551
|
});
|
|
3348
3552
|
|
|
3349
3553
|
const createToaster = props => {
|
|
3350
|
-
const {
|
|
3351
|
-
placement,
|
|
3352
|
-
...rest
|
|
3353
|
-
} = props;
|
|
3354
3554
|
const service = toast__namespace.group.machine({
|
|
3355
3555
|
id: '1',
|
|
3356
|
-
|
|
3357
|
-
...rest
|
|
3556
|
+
...props
|
|
3358
3557
|
}).start();
|
|
3359
3558
|
const [state, send] = solid.useActor(service);
|
|
3360
3559
|
const api = solidJs.createMemo(() => toast__namespace.group.connect(state, send, solid.normalizeProps));
|
|
3361
|
-
const Toaster =
|
|
3560
|
+
const Toaster = toasterProps => {
|
|
3362
3561
|
const getRootNode = useEnvironmentContext();
|
|
3363
3562
|
solidJs.createEffect(() => {
|
|
3364
3563
|
service.setContext({
|
|
@@ -3367,13 +3566,13 @@ const createToaster = props => {
|
|
|
3367
3566
|
solidJs.onCleanup(() => service.stop());
|
|
3368
3567
|
});
|
|
3369
3568
|
const mergedProps = solid.mergeProps(() => api().getGroupProps({
|
|
3370
|
-
placement
|
|
3371
|
-
}),
|
|
3569
|
+
placement: props.placement
|
|
3570
|
+
}), toasterProps);
|
|
3372
3571
|
return web.createComponent(ark.ol, web.mergeProps(mergedProps, {
|
|
3373
3572
|
get children() {
|
|
3374
3573
|
return web.createComponent(solidJs.Index, {
|
|
3375
3574
|
get each() {
|
|
3376
|
-
return api().toastsByPlacement[placement];
|
|
3575
|
+
return api().toastsByPlacement[props.placement];
|
|
3377
3576
|
},
|
|
3378
3577
|
children: toast => web.createComponent(ToastProviderFactory, {
|
|
3379
3578
|
get service() {
|
|
@@ -3388,11 +3587,9 @@ const createToaster = props => {
|
|
|
3388
3587
|
};
|
|
3389
3588
|
const ToastProviderFactory = props => {
|
|
3390
3589
|
const [state, send] = solid.useActor(props.service);
|
|
3391
|
-
const api = toast__namespace.connect(state, send, solid.normalizeProps);
|
|
3590
|
+
const api = solidJs.createMemo(() => toast__namespace.connect(state, send, solid.normalizeProps));
|
|
3392
3591
|
return web.createComponent(ToastProvider, {
|
|
3393
|
-
|
|
3394
|
-
return solidJs.createMemo(() => api);
|
|
3395
|
-
},
|
|
3592
|
+
value: api,
|
|
3396
3593
|
get children() {
|
|
3397
3594
|
return state.context.render?.(api);
|
|
3398
3595
|
}
|
|
@@ -3596,14 +3793,18 @@ exports.ColorPickerChannelSliderTrack = ColorPickerChannelSliderTrack;
|
|
|
3596
3793
|
exports.ColorPickerContent = ColorPickerContent;
|
|
3597
3794
|
exports.ColorPickerControl = ColorPickerControl;
|
|
3598
3795
|
exports.ColorPickerEyeDropperTrigger = ColorPickerEyeDropperTrigger;
|
|
3796
|
+
exports.ColorPickerFormatSelect = ColorPickerFormatSelect;
|
|
3797
|
+
exports.ColorPickerFormatTrigger = ColorPickerFormatTrigger;
|
|
3599
3798
|
exports.ColorPickerLabel = ColorPickerLabel;
|
|
3600
3799
|
exports.ColorPickerPositioner = ColorPickerPositioner;
|
|
3601
3800
|
exports.ColorPickerSwatch = ColorPickerSwatch;
|
|
3602
3801
|
exports.ColorPickerSwatchGroup = ColorPickerSwatchGroup;
|
|
3802
|
+
exports.ColorPickerSwatchIndicator = ColorPickerSwatchIndicator;
|
|
3603
3803
|
exports.ColorPickerSwatchTrigger = ColorPickerSwatchTrigger;
|
|
3604
3804
|
exports.ColorPickerTransparencyGrid = ColorPickerTransparencyGrid;
|
|
3605
3805
|
exports.ColorPickerTrigger = ColorPickerTrigger;
|
|
3606
3806
|
exports.ColorPickerValueText = ColorPickerValueText;
|
|
3807
|
+
exports.ColorPickerView = ColorPickerView;
|
|
3607
3808
|
exports.Combobox = Combobox;
|
|
3608
3809
|
exports.ComboboxClearTrigger = ComboboxClearTrigger;
|
|
3609
3810
|
exports.ComboboxContent = ComboboxContent;
|
|
@@ -3658,6 +3859,16 @@ exports.EditableLabel = EditableLabel;
|
|
|
3658
3859
|
exports.EditablePreview = EditablePreview;
|
|
3659
3860
|
exports.EditableSubmitTrigger = EditableSubmitTrigger;
|
|
3660
3861
|
exports.Environment = Environment;
|
|
3862
|
+
exports.FileUpload = FileUpload;
|
|
3863
|
+
exports.FileUploadDropzone = FileUploadDropzone;
|
|
3864
|
+
exports.FileUploadItem = FileUploadItem;
|
|
3865
|
+
exports.FileUploadItemDeleteTrigger = FileUploadItemDeleteTrigger;
|
|
3866
|
+
exports.FileUploadItemGroup = FileUploadItemGroup;
|
|
3867
|
+
exports.FileUploadItemName = FileUploadItemName;
|
|
3868
|
+
exports.FileUploadItemPreview = FileUploadItemPreview;
|
|
3869
|
+
exports.FileUploadItemSizeText = FileUploadItemSizeText;
|
|
3870
|
+
exports.FileUploadLabel = FileUploadLabel;
|
|
3871
|
+
exports.FileUploadTrigger = FileUploadTrigger;
|
|
3661
3872
|
exports.HoverCard = HoverCard;
|
|
3662
3873
|
exports.HoverCardArrow = HoverCardArrow;
|
|
3663
3874
|
exports.HoverCardArrowTip = HoverCardArrowTip;
|
|
@@ -3797,6 +4008,7 @@ exports.useDatePickerViewContext = useDatePickerViewContext;
|
|
|
3797
4008
|
exports.useDialogContext = useDialogContext;
|
|
3798
4009
|
exports.useEditableContext = useEditableContext;
|
|
3799
4010
|
exports.useEnvironmentContext = useEnvironmentContext;
|
|
4011
|
+
exports.useFileUploadContext = useFileUploadContext;
|
|
3800
4012
|
exports.useHoverCardContext = useHoverCardContext;
|
|
3801
4013
|
exports.useMenuContext = useMenuContext;
|
|
3802
4014
|
exports.useNumberInputContext = useNumberInputContext;
|