@ark-ui/solid 1.0.0 → 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 +53 -54
- package/README.md +43 -40
- package/cjs/index.js +263 -38
- package/cjs/index.js.map +1 -1
- package/esm/index.js +248 -39
- package/esm/index.js.map +1 -1
- package/package.json +44 -41
- 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-backdrop.jsx +4 -3
- package/source/dialog/dialog-close-trigger.jsx +1 -1
- package/source/dialog/dialog.jsx +4 -2
- 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/menu/menu-trigger.jsx +5 -2
- 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/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$;
|
|
@@ -1646,10 +1694,15 @@ const Dialog$1 = props => {
|
|
|
1646
1694
|
return web.createComponent(DialogProvider, {
|
|
1647
1695
|
value: api,
|
|
1648
1696
|
get children() {
|
|
1649
|
-
return web.createComponent(
|
|
1650
|
-
value:
|
|
1697
|
+
return web.createComponent(PresencePropsProvider, {
|
|
1698
|
+
value: presenceProps,
|
|
1651
1699
|
get children() {
|
|
1652
|
-
return
|
|
1700
|
+
return web.createComponent(PresenceProvider, {
|
|
1701
|
+
value: apiPresence,
|
|
1702
|
+
get children() {
|
|
1703
|
+
return getChildren();
|
|
1704
|
+
}
|
|
1705
|
+
});
|
|
1653
1706
|
}
|
|
1654
1707
|
});
|
|
1655
1708
|
}
|
|
@@ -1658,8 +1711,11 @@ const Dialog$1 = props => {
|
|
|
1658
1711
|
|
|
1659
1712
|
const DialogBackdrop = props => {
|
|
1660
1713
|
const api = useDialogContext();
|
|
1661
|
-
const
|
|
1662
|
-
const
|
|
1714
|
+
const presenceProps = usePresencePropsContext();
|
|
1715
|
+
const presenceApi = usePresence(solid.mergeProps(presenceProps, () => ({
|
|
1716
|
+
present: api().isOpen
|
|
1717
|
+
})));
|
|
1718
|
+
const mergedProps = solid.mergeProps(() => api().backdropProps, () => presenceApi().presenceProps, props);
|
|
1663
1719
|
return web.createComponent(solidJs.Show, {
|
|
1664
1720
|
get when() {
|
|
1665
1721
|
return !presenceApi().isUnmounted;
|
|
@@ -1672,7 +1728,7 @@ const DialogBackdrop = props => {
|
|
|
1672
1728
|
|
|
1673
1729
|
const DialogCloseTrigger = props => {
|
|
1674
1730
|
const dialog = useDialogContext();
|
|
1675
|
-
const mergedProps = solid.mergeProps(() => dialog().
|
|
1731
|
+
const mergedProps = solid.mergeProps(() => dialog().closeTriggerProps, props);
|
|
1676
1732
|
return web.createComponent(ark.button, mergedProps);
|
|
1677
1733
|
};
|
|
1678
1734
|
|
|
@@ -1833,6 +1889,157 @@ const Editable = Object.assign(Editable$1, {
|
|
|
1833
1889
|
SubmitTrigger: EditableSubmitTrigger
|
|
1834
1890
|
});
|
|
1835
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
|
+
|
|
1836
2043
|
const [HoverCardProvider, useHoverCardContext] = createContext({
|
|
1837
2044
|
hookName: 'useHoverCardContext',
|
|
1838
2045
|
providerName: '<HoverCardProvider />'
|
|
@@ -2088,8 +2295,13 @@ const MenuSeparator = props => {
|
|
|
2088
2295
|
};
|
|
2089
2296
|
|
|
2090
2297
|
const MenuTrigger = props => {
|
|
2091
|
-
const
|
|
2092
|
-
const
|
|
2298
|
+
const api = useMenuContext();
|
|
2299
|
+
const presenceApi = usePresenceContext();
|
|
2300
|
+
const mergedProps = solid.mergeProps(() => api().triggerProps, () => ({
|
|
2301
|
+
'aria-controls': presenceApi().isUnmounted && null
|
|
2302
|
+
}), props);
|
|
2303
|
+
|
|
2304
|
+
// @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
|
|
2093
2305
|
return web.createComponent(ark.button, mergedProps);
|
|
2094
2306
|
};
|
|
2095
2307
|
|
|
@@ -2136,10 +2348,15 @@ const NumberInput$1 = props => {
|
|
|
2136
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']);
|
|
2137
2349
|
const api = useNumberInput(useNumberInputProps);
|
|
2138
2350
|
const mergedProps = solid.mergeProps(() => api().rootProps, localProps);
|
|
2351
|
+
const getChildren = () => runIfFn(localProps.children, api);
|
|
2139
2352
|
return web.createComponent(NumberInputProvider, {
|
|
2140
2353
|
value: api,
|
|
2141
2354
|
get children() {
|
|
2142
|
-
return web.createComponent(ark.div, mergedProps
|
|
2355
|
+
return web.createComponent(ark.div, web.mergeProps(mergedProps, {
|
|
2356
|
+
get children() {
|
|
2357
|
+
return getChildren();
|
|
2358
|
+
}
|
|
2359
|
+
}));
|
|
2143
2360
|
}
|
|
2144
2361
|
});
|
|
2145
2362
|
};
|
|
@@ -3334,18 +3551,13 @@ const [ToastProvider, useToastContext] = createContext({
|
|
|
3334
3551
|
});
|
|
3335
3552
|
|
|
3336
3553
|
const createToaster = props => {
|
|
3337
|
-
const {
|
|
3338
|
-
placement,
|
|
3339
|
-
...rest
|
|
3340
|
-
} = props;
|
|
3341
3554
|
const service = toast__namespace.group.machine({
|
|
3342
3555
|
id: '1',
|
|
3343
|
-
|
|
3344
|
-
...rest
|
|
3556
|
+
...props
|
|
3345
3557
|
}).start();
|
|
3346
3558
|
const [state, send] = solid.useActor(service);
|
|
3347
3559
|
const api = solidJs.createMemo(() => toast__namespace.group.connect(state, send, solid.normalizeProps));
|
|
3348
|
-
const Toaster =
|
|
3560
|
+
const Toaster = toasterProps => {
|
|
3349
3561
|
const getRootNode = useEnvironmentContext();
|
|
3350
3562
|
solidJs.createEffect(() => {
|
|
3351
3563
|
service.setContext({
|
|
@@ -3354,13 +3566,13 @@ const createToaster = props => {
|
|
|
3354
3566
|
solidJs.onCleanup(() => service.stop());
|
|
3355
3567
|
});
|
|
3356
3568
|
const mergedProps = solid.mergeProps(() => api().getGroupProps({
|
|
3357
|
-
placement
|
|
3358
|
-
}),
|
|
3569
|
+
placement: props.placement
|
|
3570
|
+
}), toasterProps);
|
|
3359
3571
|
return web.createComponent(ark.ol, web.mergeProps(mergedProps, {
|
|
3360
3572
|
get children() {
|
|
3361
3573
|
return web.createComponent(solidJs.Index, {
|
|
3362
3574
|
get each() {
|
|
3363
|
-
return api().toastsByPlacement[placement];
|
|
3575
|
+
return api().toastsByPlacement[props.placement];
|
|
3364
3576
|
},
|
|
3365
3577
|
children: toast => web.createComponent(ToastProviderFactory, {
|
|
3366
3578
|
get service() {
|
|
@@ -3375,11 +3587,9 @@ const createToaster = props => {
|
|
|
3375
3587
|
};
|
|
3376
3588
|
const ToastProviderFactory = props => {
|
|
3377
3589
|
const [state, send] = solid.useActor(props.service);
|
|
3378
|
-
const api = toast__namespace.connect(state, send, solid.normalizeProps);
|
|
3590
|
+
const api = solidJs.createMemo(() => toast__namespace.connect(state, send, solid.normalizeProps));
|
|
3379
3591
|
return web.createComponent(ToastProvider, {
|
|
3380
|
-
|
|
3381
|
-
return solidJs.createMemo(() => api);
|
|
3382
|
-
},
|
|
3592
|
+
value: api,
|
|
3383
3593
|
get children() {
|
|
3384
3594
|
return state.context.render?.(api);
|
|
3385
3595
|
}
|
|
@@ -3583,14 +3793,18 @@ exports.ColorPickerChannelSliderTrack = ColorPickerChannelSliderTrack;
|
|
|
3583
3793
|
exports.ColorPickerContent = ColorPickerContent;
|
|
3584
3794
|
exports.ColorPickerControl = ColorPickerControl;
|
|
3585
3795
|
exports.ColorPickerEyeDropperTrigger = ColorPickerEyeDropperTrigger;
|
|
3796
|
+
exports.ColorPickerFormatSelect = ColorPickerFormatSelect;
|
|
3797
|
+
exports.ColorPickerFormatTrigger = ColorPickerFormatTrigger;
|
|
3586
3798
|
exports.ColorPickerLabel = ColorPickerLabel;
|
|
3587
3799
|
exports.ColorPickerPositioner = ColorPickerPositioner;
|
|
3588
3800
|
exports.ColorPickerSwatch = ColorPickerSwatch;
|
|
3589
3801
|
exports.ColorPickerSwatchGroup = ColorPickerSwatchGroup;
|
|
3802
|
+
exports.ColorPickerSwatchIndicator = ColorPickerSwatchIndicator;
|
|
3590
3803
|
exports.ColorPickerSwatchTrigger = ColorPickerSwatchTrigger;
|
|
3591
3804
|
exports.ColorPickerTransparencyGrid = ColorPickerTransparencyGrid;
|
|
3592
3805
|
exports.ColorPickerTrigger = ColorPickerTrigger;
|
|
3593
3806
|
exports.ColorPickerValueText = ColorPickerValueText;
|
|
3807
|
+
exports.ColorPickerView = ColorPickerView;
|
|
3594
3808
|
exports.Combobox = Combobox;
|
|
3595
3809
|
exports.ComboboxClearTrigger = ComboboxClearTrigger;
|
|
3596
3810
|
exports.ComboboxContent = ComboboxContent;
|
|
@@ -3645,6 +3859,16 @@ exports.EditableLabel = EditableLabel;
|
|
|
3645
3859
|
exports.EditablePreview = EditablePreview;
|
|
3646
3860
|
exports.EditableSubmitTrigger = EditableSubmitTrigger;
|
|
3647
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;
|
|
3648
3872
|
exports.HoverCard = HoverCard;
|
|
3649
3873
|
exports.HoverCardArrow = HoverCardArrow;
|
|
3650
3874
|
exports.HoverCardArrowTip = HoverCardArrowTip;
|
|
@@ -3784,6 +4008,7 @@ exports.useDatePickerViewContext = useDatePickerViewContext;
|
|
|
3784
4008
|
exports.useDialogContext = useDialogContext;
|
|
3785
4009
|
exports.useEditableContext = useEditableContext;
|
|
3786
4010
|
exports.useEnvironmentContext = useEnvironmentContext;
|
|
4011
|
+
exports.useFileUploadContext = useFileUploadContext;
|
|
3787
4012
|
exports.useHoverCardContext = useHoverCardContext;
|
|
3788
4013
|
exports.useMenuContext = useMenuContext;
|
|
3789
4014
|
exports.useNumberInputContext = useNumberInputContext;
|