@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.
Files changed (62) hide show
  1. package/CHANGELOG.md +53 -54
  2. package/README.md +43 -40
  3. package/cjs/index.js +263 -38
  4. package/cjs/index.js.map +1 -1
  5. package/esm/index.js +248 -39
  6. package/esm/index.js.map +1 -1
  7. package/package.json +44 -41
  8. package/source/color-picker/color-picker-format-select.jsx +13 -0
  9. package/source/color-picker/color-picker-format-trigger.jsx +8 -0
  10. package/source/color-picker/color-picker-swatch-context.js +5 -0
  11. package/source/color-picker/color-picker-swatch-indicator.jsx +10 -0
  12. package/source/color-picker/color-picker-swatch-trigger.jsx +4 -1
  13. package/source/color-picker/color-picker-swatch.jsx +6 -3
  14. package/source/color-picker/color-picker.jsx +3 -1
  15. package/source/color-picker/index.js +7 -1
  16. package/source/dialog/dialog-backdrop.jsx +4 -3
  17. package/source/dialog/dialog-close-trigger.jsx +1 -1
  18. package/source/dialog/dialog.jsx +4 -2
  19. package/source/file-upload/file-upload-context.js +5 -0
  20. package/source/file-upload/file-upload-dropzone.jsx +11 -0
  21. package/source/file-upload/file-upload-item-context.js +5 -0
  22. package/source/file-upload/file-upload-item-delete-trigger.jsx +10 -0
  23. package/source/file-upload/file-upload-item-group.jsx +10 -0
  24. package/source/file-upload/file-upload-item-name.jsx +12 -0
  25. package/source/file-upload/file-upload-item-preview.jsx +19 -0
  26. package/source/file-upload/file-upload-item-size-text.jsx +12 -0
  27. package/source/file-upload/file-upload-item.jsx +15 -0
  28. package/source/file-upload/file-upload-label.jsx +8 -0
  29. package/source/file-upload/file-upload-trigger.jsx +8 -0
  30. package/source/file-upload/file-upload.jsx +30 -0
  31. package/source/file-upload/index.js +24 -0
  32. package/source/file-upload/use-file-upload.js +10 -0
  33. package/source/index.jsx +1 -0
  34. package/source/menu/menu-trigger.jsx +5 -2
  35. package/source/number-input/number-input.jsx +4 -2
  36. package/source/toast/create-toaster.jsx +6 -7
  37. package/types/color-picker/color-picker-format-select.d.ts +4 -0
  38. package/types/color-picker/color-picker-format-trigger.d.ts +4 -0
  39. package/types/color-picker/color-picker-swatch-context.d.ts +4 -0
  40. package/types/color-picker/color-picker-swatch-indicator.d.ts +4 -0
  41. package/types/color-picker/color-picker-swatch-trigger.d.ts +1 -5
  42. package/types/color-picker/color-picker-transparency-grid.d.ts +2 -5
  43. package/types/color-picker/index.d.ts +10 -3
  44. package/types/color-picker/use-color-picker.d.ts +3 -0
  45. package/types/file-upload/file-upload-context.d.ts +4 -0
  46. package/types/file-upload/file-upload-dropzone.d.ts +4 -0
  47. package/types/file-upload/file-upload-item-context.d.ts +4 -0
  48. package/types/file-upload/file-upload-item-delete-trigger.d.ts +4 -0
  49. package/types/file-upload/file-upload-item-group.d.ts +8 -0
  50. package/types/file-upload/file-upload-item-name.d.ts +4 -0
  51. package/types/file-upload/file-upload-item-preview.d.ts +4 -0
  52. package/types/file-upload/file-upload-item-size-text.d.ts +4 -0
  53. package/types/file-upload/file-upload-item.d.ts +6 -0
  54. package/types/file-upload/file-upload-label.d.ts +4 -0
  55. package/types/file-upload/file-upload-trigger.d.ts +4 -0
  56. package/types/file-upload/file-upload.d.ts +9 -0
  57. package/types/file-upload/index.d.ts +25 -0
  58. package/types/file-upload/use-file-upload.d.ts +9 -0
  59. package/types/index.d.ts +1 -0
  60. package/types/number-input/number-input.d.ts +6 -3
  61. package/types/toast/create-toaster.d.ts +3 -2
  62. package/types/toast/toast-context.d.ts +7 -2
package/esm/index.js CHANGED
@@ -12,6 +12,7 @@ import * as combobox from '@zag-js/combobox';
12
12
  import * as datePicker from '@zag-js/date-picker';
13
13
  import * as dialog from '@zag-js/dialog';
14
14
  import * as editable from '@zag-js/editable';
15
+ import * as fileUpload from '@zag-js/file-upload';
15
16
  import * as hoverCard from '@zag-js/hover-card';
16
17
  import * as menu from '@zag-js/menu';
17
18
  import * as numberInput from '@zag-js/number-input';
@@ -486,7 +487,7 @@ const [EnvironmentProvider, useEnvironmentContext] = createContext({
486
487
  strict: false
487
488
  });
488
489
 
489
- const _tmpl$$b = /*#__PURE__*/template(`<span hidden>`);
490
+ const _tmpl$$c = /*#__PURE__*/template(`<span hidden>`);
490
491
  const Environment$1 = props => {
491
492
  // eslint-disable-next-line prefer-const
492
493
  let spanRef = undefined;
@@ -497,7 +498,7 @@ const Environment$1 = props => {
497
498
  },
498
499
  get children() {
499
500
  return [memo(() => props.children), memo(() => memo(() => !!!props.value)() && (() => {
500
- const _el$ = _tmpl$$b();
501
+ const _el$ = _tmpl$$c();
501
502
  const _ref$ = spanRef;
502
503
  typeof _ref$ === "function" ? use(_ref$, _el$) : spanRef = _el$;
503
504
  return _el$;
@@ -792,12 +793,12 @@ const Checkbox$1 = props => {
792
793
  });
793
794
  };
794
795
 
795
- const _tmpl$$a = /*#__PURE__*/template(`<input>`);
796
+ const _tmpl$$b = /*#__PURE__*/template(`<input>`);
796
797
  const CheckboxControl = props => {
797
798
  const api = useCheckboxContext();
798
799
  const mergedProps = mergeProps$2(() => api().controlProps, props);
799
800
  return [createComponent(ark.div, mergedProps), (() => {
800
- const _el$ = _tmpl$$a();
801
+ const _el$ = _tmpl$$b();
801
802
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
802
803
  return _el$;
803
804
  })()];
@@ -841,10 +842,10 @@ const useColorPicker = props => {
841
842
  return createMemo(() => colorPicker.connect(state, send, normalizeProps));
842
843
  };
843
844
 
844
- const _tmpl$$9 = /*#__PURE__*/template(`<input>`);
845
+ const _tmpl$$a = /*#__PURE__*/template(`<input>`);
845
846
  const ColorPicker$1 = props => {
846
847
  const [presenceProps, colorPickerProps] = splitPresenceProps(props);
847
- const [useColorPickerProps, localProps] = createSplitProps()(colorPickerProps, ['autoFocus', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'name', 'name', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'onValueChangeEnd', 'open', 'positioning', 'readOnly', 'value']);
848
+ 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']);
848
849
  const api = useColorPicker(useColorPickerProps);
849
850
  const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
850
851
  present: api().isOpen
@@ -864,7 +865,7 @@ const ColorPicker$1 = props => {
864
865
  }));
865
866
  }
866
867
  }), (() => {
867
- const _el$ = _tmpl$$9();
868
+ const _el$ = _tmpl$$a();
868
869
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
869
870
  return _el$;
870
871
  })()];
@@ -967,6 +968,32 @@ const ColorPickerEyeDropperTrigger = props => {
967
968
  return createComponent(ark.button, mergedProps);
968
969
  };
969
970
 
971
+ const ColorPickerFormatSelect = props => {
972
+ const api = useColorPickerContext();
973
+ const mergedProps = mergeProps$2(() => api().formatSelectProps, props);
974
+ return createComponent(ark.select, mergeProps$1(mergedProps, {
975
+ get children() {
976
+ return createComponent(Index, {
977
+ each: ['rgba', 'hsla', 'hsba'],
978
+ children: format => createComponent(ark.option, {
979
+ get value() {
980
+ return format();
981
+ },
982
+ get children() {
983
+ return format();
984
+ }
985
+ })
986
+ });
987
+ }
988
+ }));
989
+ };
990
+
991
+ const ColorPickerFormatTrigger = props => {
992
+ const api = useColorPickerContext();
993
+ const mergedProps = mergeProps$2(() => api().formatTriggerProps, props);
994
+ return createComponent(ark.button, mergedProps);
995
+ };
996
+
970
997
  const ColorPickerLabel = props => {
971
998
  const api = useColorPickerContext();
972
999
  const mergedProps = mergeProps$2(() => api().labelProps, props);
@@ -987,11 +1014,21 @@ const ColorPickerPositioner = props => {
987
1014
  });
988
1015
  };
989
1016
 
1017
+ const [ColorPickerSwatchProvider, useColorPickerSwatchContext] = createContext({
1018
+ hookName: 'useColorPickerSwatchContext',
1019
+ providerName: '<ColorPickerSwatchProvider />'
1020
+ });
1021
+
990
1022
  const ColorPickerSwatch = props => {
991
- const [colorSwatchProps, localProps] = createSplitProps()(props, ['respectAlpha', 'value']);
1023
+ const [swatchProps, localProps] = createSplitProps()(props, ['respectAlpha', 'value']);
992
1024
  const api = useColorPickerContext();
993
- const mergedProps = mergeProps$2(() => api().getSwatchProps(colorSwatchProps), localProps);
994
- return createComponent(ark.div, mergedProps);
1025
+ const mergedProps = mergeProps$2(() => api().getSwatchProps(swatchProps), localProps);
1026
+ return createComponent(ColorPickerSwatchProvider, {
1027
+ value: swatchProps,
1028
+ get children() {
1029
+ return createComponent(ark.div, mergedProps);
1030
+ }
1031
+ });
995
1032
  };
996
1033
 
997
1034
  const ColorPickerSwatchGroup = props => {
@@ -1000,8 +1037,15 @@ const ColorPickerSwatchGroup = props => {
1000
1037
  return createComponent(ark.div, mergedProps);
1001
1038
  };
1002
1039
 
1040
+ const ColorPickerSwatchIndicator = props => {
1041
+ const api = useColorPickerContext();
1042
+ const swatchProps = useColorPickerSwatchContext();
1043
+ const mergedProps = mergeProps$2(() => api().getSwatchIndicatorProps(swatchProps), props);
1044
+ return createComponent(ark.div, mergedProps);
1045
+ };
1046
+
1003
1047
  const ColorPickerSwatchTrigger = props => {
1004
- const [triggerProps, localProps] = createSplitProps()(props, ['value']);
1048
+ const [triggerProps, localProps] = createSplitProps()(props, ['value', 'disabled']);
1005
1049
  const api = useColorPickerContext();
1006
1050
  const mergedProps = mergeProps$2(() => api().getSwatchTriggerProps(triggerProps), localProps);
1007
1051
  return createComponent(ark.button, mergedProps);
@@ -1061,10 +1105,13 @@ const ColorPicker = Object.assign(ColorPicker$1, {
1061
1105
  Content: ColorPickerContent,
1062
1106
  Control: ColorPickerControl,
1063
1107
  EyeDropperTrigger: ColorPickerEyeDropperTrigger,
1108
+ FormatTrigger: ColorPickerFormatTrigger,
1109
+ FormatSelect: ColorPickerFormatSelect,
1064
1110
  Label: ColorPickerLabel,
1065
1111
  Positioner: ColorPickerPositioner,
1066
1112
  Swatch: ColorPickerSwatch,
1067
1113
  SwatchGroup: ColorPickerSwatchGroup,
1114
+ SwatchIndicator: ColorPickerSwatchIndicator,
1068
1115
  SwatchTrigger: ColorPickerSwatchTrigger,
1069
1116
  TransparencyGrid: ColorPickerTransparencyGrid,
1070
1117
  Trigger: ColorPickerTrigger,
@@ -1329,14 +1376,14 @@ const DatePickerLabel = props => {
1329
1376
  return createComponent(ark.label, mergedProps);
1330
1377
  };
1331
1378
 
1332
- const _tmpl$$8 = /*#__PURE__*/template(`<option>`);
1379
+ const _tmpl$$9 = /*#__PURE__*/template(`<option>`);
1333
1380
  const DatePickerMonthSelect = props => {
1334
1381
  const api = useDatePickerContext();
1335
1382
  const mergedProps = mergeProps$2(() => api().monthSelectProps, props);
1336
1383
  return createComponent(ark.select, mergeProps$1(mergedProps, {
1337
1384
  get children() {
1338
1385
  return api().getMonths().map(month => (() => {
1339
- const _el$ = _tmpl$$8();
1386
+ const _el$ = _tmpl$$9();
1340
1387
  insert(_el$, () => month.label);
1341
1388
  effect(() => _el$.value = month.value);
1342
1389
  return _el$;
@@ -1519,7 +1566,7 @@ const DatePickerViewTrigger = props => {
1519
1566
  return createComponent(ark.button, mergedProps);
1520
1567
  };
1521
1568
 
1522
- const _tmpl$$7 = /*#__PURE__*/template(`<option>`);
1569
+ const _tmpl$$8 = /*#__PURE__*/template(`<option>`);
1523
1570
  const DatePickerYearSelect = props => {
1524
1571
  const api = useDatePickerContext();
1525
1572
  const mergedProps = mergeProps$2(() => api().yearSelectProps, props);
@@ -1529,7 +1576,7 @@ const DatePickerYearSelect = props => {
1529
1576
  from: 1_000,
1530
1577
  to: 4_000
1531
1578
  }).map(year => (() => {
1532
- const _el$ = _tmpl$$7();
1579
+ const _el$ = _tmpl$$8();
1533
1580
  _el$.value = year;
1534
1581
  insert(_el$, year);
1535
1582
  return _el$;
@@ -1599,10 +1646,15 @@ const Dialog$1 = props => {
1599
1646
  return createComponent(DialogProvider, {
1600
1647
  value: api,
1601
1648
  get children() {
1602
- return createComponent(PresenceProvider, {
1603
- value: apiPresence,
1649
+ return createComponent(PresencePropsProvider, {
1650
+ value: presenceProps,
1604
1651
  get children() {
1605
- return getChildren();
1652
+ return createComponent(PresenceProvider, {
1653
+ value: apiPresence,
1654
+ get children() {
1655
+ return getChildren();
1656
+ }
1657
+ });
1606
1658
  }
1607
1659
  });
1608
1660
  }
@@ -1611,8 +1663,11 @@ const Dialog$1 = props => {
1611
1663
 
1612
1664
  const DialogBackdrop = props => {
1613
1665
  const api = useDialogContext();
1614
- const presenceApi = usePresenceContext();
1615
- const mergedProps = mergeProps$2(() => api().backdropProps, props);
1666
+ const presenceProps = usePresencePropsContext();
1667
+ const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({
1668
+ present: api().isOpen
1669
+ })));
1670
+ const mergedProps = mergeProps$2(() => api().backdropProps, () => presenceApi().presenceProps, props);
1616
1671
  return createComponent(Show, {
1617
1672
  get when() {
1618
1673
  return !presenceApi().isUnmounted;
@@ -1625,7 +1680,7 @@ const DialogBackdrop = props => {
1625
1680
 
1626
1681
  const DialogCloseTrigger = props => {
1627
1682
  const dialog = useDialogContext();
1628
- const mergedProps = mergeProps$2(() => dialog().triggerProps, props);
1683
+ const mergedProps = mergeProps$2(() => dialog().closeTriggerProps, props);
1629
1684
  return createComponent(ark.button, mergedProps);
1630
1685
  };
1631
1686
 
@@ -1786,6 +1841,157 @@ const Editable = Object.assign(Editable$1, {
1786
1841
  SubmitTrigger: EditableSubmitTrigger
1787
1842
  });
1788
1843
 
1844
+ const [FileUploadProvider, useFileUploadContext] = createContext({
1845
+ hookName: 'useFileUploadContext',
1846
+ providerName: '<FileUploadProvider />'
1847
+ });
1848
+
1849
+ const useFileUpload = props => {
1850
+ const getRootNode = useEnvironmentContext();
1851
+ const context = mergeProps$2({
1852
+ id: createUniqueId(),
1853
+ getRootNode
1854
+ }, props);
1855
+ const [state, send] = useMachine(fileUpload.machine(context), {
1856
+ context
1857
+ });
1858
+ return createMemo(() => fileUpload.connect(state, send, normalizeProps));
1859
+ };
1860
+
1861
+ const FileUpload$1 = props => {
1862
+ const [fileUploadProps, localProps] = createSplitProps()(props, ['accept', 'allowDrop', 'dir', 'disabled', 'files', 'getRootNode', 'id', 'isValidFile', 'locale', 'maxFiles', 'maxFileSize', 'minFileSize', 'name', 'onFilesChange']);
1863
+ const api = useFileUpload(fileUploadProps);
1864
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
1865
+ const getChildren = () => runIfFn(localProps.children, api);
1866
+ return createComponent(FileUploadProvider, {
1867
+ value: api,
1868
+ get children() {
1869
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1870
+ get children() {
1871
+ return getChildren();
1872
+ }
1873
+ }));
1874
+ }
1875
+ });
1876
+ };
1877
+
1878
+ const _tmpl$$7 = /*#__PURE__*/template(`<input>`);
1879
+ const FileUploadDropzone = props => {
1880
+ const api = useFileUploadContext();
1881
+ const mergedProps = mergeProps$2(() => api().dropzoneProps, props);
1882
+ return [createComponent(ark.div, mergedProps), (() => {
1883
+ const _el$ = _tmpl$$7();
1884
+ spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
1885
+ return _el$;
1886
+ })()];
1887
+ };
1888
+
1889
+ const [FileUploadItemProvider, useFileUploadItemContext] = createContext({
1890
+ hookName: 'useFileUploadItemContext',
1891
+ providerName: '<FileUploadItemProvider />'
1892
+ });
1893
+
1894
+ const FileUploadItem = props => {
1895
+ const [itemProps, localProps] = createSplitProps()(props, ['file']);
1896
+ const api = useFileUploadContext();
1897
+ const mergedProps = mergeProps$2(() => api().getItemProps(itemProps), localProps);
1898
+ const getChildren = () => runIfFn(localProps.children);
1899
+ return createComponent(FileUploadItemProvider, {
1900
+ value: itemProps,
1901
+ get children() {
1902
+ return createComponent(ark.li, mergeProps$1(mergedProps, {
1903
+ get children() {
1904
+ return getChildren();
1905
+ }
1906
+ }));
1907
+ }
1908
+ });
1909
+ };
1910
+
1911
+ const FileUploadItemDeleteTrigger = props => {
1912
+ const api = useFileUploadContext();
1913
+ const item = useFileUploadItemContext();
1914
+ const mergedProps = mergeProps$2(() => api().getItemDeleteTriggerProps(item), props);
1915
+ return createComponent(ark.button, mergedProps);
1916
+ };
1917
+
1918
+ const FileUploadItemGroup = props => {
1919
+ const api = useFileUploadContext();
1920
+ const mergedProps = mergeProps$2(() => api().itemGroupProps, props);
1921
+ const getChildren = () => runIfFn(props.children, () => api().files);
1922
+ return createComponent(ark.ul, mergeProps$1(mergedProps, {
1923
+ get children() {
1924
+ return getChildren();
1925
+ }
1926
+ }));
1927
+ };
1928
+
1929
+ const FileUploadItemName = props => {
1930
+ const api = useFileUploadContext();
1931
+ const item = useFileUploadItemContext();
1932
+ const mergedProps = mergeProps$2(() => api().getItemNameProps(item), props);
1933
+ const getChildren = children(() => props.children);
1934
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1935
+ get children() {
1936
+ return getChildren() || item.file.name;
1937
+ }
1938
+ }));
1939
+ };
1940
+
1941
+ const FileUploadItemPreview = props => {
1942
+ const api = useFileUploadContext();
1943
+ const item = useFileUploadItemContext();
1944
+ const [url, setUrl] = createSignal('');
1945
+ api().createFileUrl(item.file, url => setUrl(url));
1946
+ try {
1947
+ const mergedProps = mergeProps$2(api().getItemPreviewProps({
1948
+ ...item,
1949
+ url: url()
1950
+ }), props);
1951
+ return createComponent(ark.img, mergedProps);
1952
+ } catch (e) {
1953
+ // TODO We could render a fallback component
1954
+ return null;
1955
+ }
1956
+ };
1957
+
1958
+ const FileUploadItemSizeText = props => {
1959
+ const api = useFileUploadContext();
1960
+ const item = useFileUploadItemContext();
1961
+ const mergedProps = mergeProps$2(() => api().getItemSizeTextProps(item), props);
1962
+ const getChildren = children(() => props.children);
1963
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1964
+ get children() {
1965
+ return getChildren() || api().getFileSize(item.file);
1966
+ }
1967
+ }));
1968
+ };
1969
+
1970
+ const FileUploadLabel = props => {
1971
+ const api = useFileUploadContext();
1972
+ const mergedProps = mergeProps$2(() => api().labelProps, props);
1973
+ return createComponent(ark.label, mergedProps);
1974
+ };
1975
+
1976
+ const FileUploadTrigger = props => {
1977
+ const api = useFileUploadContext();
1978
+ const mergedProps = mergeProps$2(() => api().triggerProps, props);
1979
+ return createComponent(ark.button, mergedProps);
1980
+ };
1981
+
1982
+ const FileUpload = Object.assign(FileUpload$1, {
1983
+ Root: FileUpload$1,
1984
+ Dropzone: FileUploadDropzone,
1985
+ Label: FileUploadLabel,
1986
+ Trigger: FileUploadTrigger,
1987
+ ItemGroup: FileUploadItemGroup,
1988
+ Item: FileUploadItem,
1989
+ ItemName: FileUploadItemName,
1990
+ ItemPreview: FileUploadItemPreview,
1991
+ ItemSizeText: FileUploadItemSizeText,
1992
+ ItemDeleteTrigger: FileUploadItemDeleteTrigger
1993
+ });
1994
+
1789
1995
  const [HoverCardProvider, useHoverCardContext] = createContext({
1790
1996
  hookName: 'useHoverCardContext',
1791
1997
  providerName: '<HoverCardProvider />'
@@ -2041,8 +2247,13 @@ const MenuSeparator = props => {
2041
2247
  };
2042
2248
 
2043
2249
  const MenuTrigger = props => {
2044
- const menu = useMenuContext();
2045
- const mergedProps = mergeProps$2(() => menu?.().triggerProps, props);
2250
+ const api = useMenuContext();
2251
+ const presenceApi = usePresenceContext();
2252
+ const mergedProps = mergeProps$2(() => api().triggerProps, () => ({
2253
+ 'aria-controls': presenceApi().isUnmounted && null
2254
+ }), props);
2255
+
2256
+ // @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
2046
2257
  return createComponent(ark.button, mergedProps);
2047
2258
  };
2048
2259
 
@@ -2089,10 +2300,15 @@ const NumberInput$1 = props => {
2089
2300
  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']);
2090
2301
  const api = useNumberInput(useNumberInputProps);
2091
2302
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2303
+ const getChildren = () => runIfFn(localProps.children, api);
2092
2304
  return createComponent(NumberInputProvider, {
2093
2305
  value: api,
2094
2306
  get children() {
2095
- return createComponent(ark.div, mergedProps);
2307
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2308
+ get children() {
2309
+ return getChildren();
2310
+ }
2311
+ }));
2096
2312
  }
2097
2313
  });
2098
2314
  };
@@ -3287,18 +3503,13 @@ const [ToastProvider, useToastContext] = createContext({
3287
3503
  });
3288
3504
 
3289
3505
  const createToaster = props => {
3290
- const {
3291
- placement,
3292
- ...rest
3293
- } = props;
3294
3506
  const service = toast.group.machine({
3295
3507
  id: '1',
3296
- placement,
3297
- ...rest
3508
+ ...props
3298
3509
  }).start();
3299
3510
  const [state, send] = useActor(service);
3300
3511
  const api = createMemo(() => toast.group.connect(state, send, normalizeProps));
3301
- const Toaster = props => {
3512
+ const Toaster = toasterProps => {
3302
3513
  const getRootNode = useEnvironmentContext();
3303
3514
  createEffect(() => {
3304
3515
  service.setContext({
@@ -3307,13 +3518,13 @@ const createToaster = props => {
3307
3518
  onCleanup(() => service.stop());
3308
3519
  });
3309
3520
  const mergedProps = mergeProps$2(() => api().getGroupProps({
3310
- placement
3311
- }), props);
3521
+ placement: props.placement
3522
+ }), toasterProps);
3312
3523
  return createComponent(ark.ol, mergeProps$1(mergedProps, {
3313
3524
  get children() {
3314
3525
  return createComponent(Index, {
3315
3526
  get each() {
3316
- return api().toastsByPlacement[placement];
3527
+ return api().toastsByPlacement[props.placement];
3317
3528
  },
3318
3529
  children: toast => createComponent(ToastProviderFactory, {
3319
3530
  get service() {
@@ -3328,11 +3539,9 @@ const createToaster = props => {
3328
3539
  };
3329
3540
  const ToastProviderFactory = props => {
3330
3541
  const [state, send] = useActor(props.service);
3331
- const api = toast.connect(state, send, normalizeProps);
3542
+ const api = createMemo(() => toast.connect(state, send, normalizeProps));
3332
3543
  return createComponent(ToastProvider, {
3333
- get value() {
3334
- return createMemo(() => api);
3335
- },
3544
+ value: api,
3336
3545
  get children() {
3337
3546
  return state.context.render?.(api);
3338
3547
  }
@@ -3504,5 +3713,5 @@ const Tooltip = Object.assign(Tooltip$1, {
3504
3713
  Trigger: TooltipTrigger
3505
3714
  });
3506
3715
 
3507
- export { Accordion, AccordionItem, AccordionItemContent, AccordionItemIndicator, AccordionItemTrigger, Avatar, AvatarFallback, AvatarImage, Carousel, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselViewport, Checkbox, CheckboxControl, CheckboxIndicator, CheckboxLabel, ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, Combobox, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItem, ComboboxItemGroup, ComboboxItemGroupLabel, ComboboxItemIndicator, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxTrigger, DatePicker, DatePickerClearTrigger, DatePickerContent, DatePickerControl, DatePickerInput, DatePickerLabel, DatePickerMonthSelect, DatePickerNextTrigger, DatePickerPositioner, DatePickerPrevTrigger, DatePickerRangeText, DatePickerTable, DatePickerTableBody, DatePickerTableCell, DatePickerTableCellTrigger, DatePickerTableHead, DatePickerTableHeader, DatePickerTableRow, DatePickerTrigger, DatePickerView, DatePickerViewControl, DatePickerViewTrigger, DatePickerYearSelect, Dialog, DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogTitle, DialogTrigger, Editable, EditableArea, EditableCancelTrigger, EditableControl, EditableEditTrigger, EditableInput, EditableLabel, EditablePreview, EditableSubmitTrigger, Environment, HoverCard, HoverCardArrow, HoverCardArrowTip, HoverCardContent, HoverCardPositioner, HoverCardTrigger, Menu, MenuArrow, MenuArrowTip, MenuContent, MenuContextTrigger, MenuItem, MenuItemGroup, MenuItemGroupLabel, MenuOptionItem, MenuPositioner, MenuSeparator, MenuTrigger, MenuTriggerItem, NumberInput, NumberInputControl, NumberInputDecrementTrigger, NumberInputIncrementTrigger, NumberInputInput, NumberInputLabel, NumberInputScrubber, Pagination, PaginationEllipsis, PaginationItem, PaginationNextTrigger, PaginationPrevTrigger, PinInput, PinInputControl, PinInputInput, PinInputLabel, Popover, PopoverAnchor, PopoverArrow, PopoverArrowTip, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverIndicator, PopoverPositioner, PopoverTitle, PopoverTrigger, Presence, PresencePropsProvider, PresenceProvider, RadioGroup, RadioGroupItem, RadioGroupItemControl, RadioGroupItemText, RadioGroupLabel, RatingGroup, RatingGroupControl, RatingGroupItem, RatingGroupLabel, SegmentGroup, SegmentGroupIndicator, SegmentGroupItem, SegmentGroupItemControl, SegmentGroupItemText, SegmentGroupLabel, Select, SelectClearTrigger, SelectContent, SelectControl, SelectIndicator, SelectItem, SelectItemGroup, SelectItemGroupLabel, SelectItemIndicator, SelectItemText, SelectLabel, SelectPositioner, SelectTrigger, SelectValueText, Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, SliderThumb, SliderTrack, SliderValueText, Splitter, SplitterPanel, SplitterResizeTrigger, Switch, SwitchControl, SwitchLabel, SwitchThumb, TabContent, TabIndicator, TabList, TabTrigger, Tabs, TagsInput, TagsInputClearTrigger, TagsInputControl, TagsInputInput, TagsInputItem, TagsInputItemDeleteTrigger, TagsInputItemInput, TagsInputItemText, TagsInputLabel, Toast, ToastCloseTrigger, ToastDescription, ToastTitle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipArrowTip, TooltipContent, TooltipPositioner, TooltipTrigger, ark, createToaster, splitPresenceProps, useAccordionContext, useAccordionItemContext, useAvatarContext, useCarouselContext, useCheckboxContext, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, useComboboxContext, useDatePickerContext, useDatePickerTableCellContext, useDatePickerTableContext, useDatePickerViewContext, useDialogContext, useEditableContext, useEnvironmentContext, useHoverCardContext, useMenuContext, useNumberInputContext, usePaginationContext, usePinInputContext, usePopoverContext, usePresence, usePresenceContext, usePresencePropsContext, useRadioGroupContext, useRadioGroupItemContext, useRatingGroupContext, useRatingGroupItemContext, useSegmentGroupContext, useSegmentGroupItemContext, useSelectContext, useSelectItemContext, useSliderContext, useSplitterContext, useSwitchContext, useTabsContext, useTagsInputContext, useTagsInputItemContext, useToggleGroupContext, useTooltipContext };
3716
+ export { Accordion, AccordionItem, AccordionItemContent, AccordionItemIndicator, AccordionItemTrigger, Avatar, AvatarFallback, AvatarImage, Carousel, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselViewport, Checkbox, CheckboxControl, CheckboxIndicator, CheckboxLabel, ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerFormatSelect, ColorPickerFormatTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchIndicator, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, ColorPickerView, Combobox, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItem, ComboboxItemGroup, ComboboxItemGroupLabel, ComboboxItemIndicator, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxTrigger, DatePicker, DatePickerClearTrigger, DatePickerContent, DatePickerControl, DatePickerInput, DatePickerLabel, DatePickerMonthSelect, DatePickerNextTrigger, DatePickerPositioner, DatePickerPrevTrigger, DatePickerRangeText, DatePickerTable, DatePickerTableBody, DatePickerTableCell, DatePickerTableCellTrigger, DatePickerTableHead, DatePickerTableHeader, DatePickerTableRow, DatePickerTrigger, DatePickerView, DatePickerViewControl, DatePickerViewTrigger, DatePickerYearSelect, Dialog, DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogTitle, DialogTrigger, Editable, EditableArea, EditableCancelTrigger, EditableControl, EditableEditTrigger, EditableInput, EditableLabel, EditablePreview, EditableSubmitTrigger, Environment, FileUpload, FileUploadDropzone, FileUploadItem, FileUploadItemDeleteTrigger, FileUploadItemGroup, FileUploadItemName, FileUploadItemPreview, FileUploadItemSizeText, FileUploadLabel, FileUploadTrigger, HoverCard, HoverCardArrow, HoverCardArrowTip, HoverCardContent, HoverCardPositioner, HoverCardTrigger, Menu, MenuArrow, MenuArrowTip, MenuContent, MenuContextTrigger, MenuItem, MenuItemGroup, MenuItemGroupLabel, MenuOptionItem, MenuPositioner, MenuSeparator, MenuTrigger, MenuTriggerItem, NumberInput, NumberInputControl, NumberInputDecrementTrigger, NumberInputIncrementTrigger, NumberInputInput, NumberInputLabel, NumberInputScrubber, Pagination, PaginationEllipsis, PaginationItem, PaginationNextTrigger, PaginationPrevTrigger, PinInput, PinInputControl, PinInputInput, PinInputLabel, Popover, PopoverAnchor, PopoverArrow, PopoverArrowTip, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverIndicator, PopoverPositioner, PopoverTitle, PopoverTrigger, Presence, PresencePropsProvider, PresenceProvider, RadioGroup, RadioGroupItem, RadioGroupItemControl, RadioGroupItemText, RadioGroupLabel, RatingGroup, RatingGroupControl, RatingGroupItem, RatingGroupLabel, SegmentGroup, SegmentGroupIndicator, SegmentGroupItem, SegmentGroupItemControl, SegmentGroupItemText, SegmentGroupLabel, Select, SelectClearTrigger, SelectContent, SelectControl, SelectIndicator, SelectItem, SelectItemGroup, SelectItemGroupLabel, SelectItemIndicator, SelectItemText, SelectLabel, SelectPositioner, SelectTrigger, SelectValueText, Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, SliderThumb, SliderTrack, SliderValueText, Splitter, SplitterPanel, SplitterResizeTrigger, Switch, SwitchControl, SwitchLabel, SwitchThumb, TabContent, TabIndicator, TabList, TabTrigger, Tabs, TagsInput, TagsInputClearTrigger, TagsInputControl, TagsInputInput, TagsInputItem, TagsInputItemDeleteTrigger, TagsInputItemInput, TagsInputItemText, TagsInputLabel, Toast, ToastCloseTrigger, ToastDescription, ToastTitle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipArrowTip, TooltipContent, TooltipPositioner, TooltipTrigger, ark, createToaster, splitPresenceProps, useAccordionContext, useAccordionItemContext, useAvatarContext, useCarouselContext, useCheckboxContext, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, useComboboxContext, useDatePickerContext, useDatePickerTableCellContext, useDatePickerTableContext, useDatePickerViewContext, useDialogContext, useEditableContext, useEnvironmentContext, useFileUploadContext, useHoverCardContext, useMenuContext, useNumberInputContext, usePaginationContext, usePinInputContext, usePopoverContext, usePresence, usePresenceContext, usePresencePropsContext, useRadioGroupContext, useRadioGroupItemContext, useRatingGroupContext, useRatingGroupItemContext, useSegmentGroupContext, useSegmentGroupItemContext, useSelectContext, useSelectItemContext, useSliderContext, useSplitterContext, useSwitchContext, useTabsContext, useTagsInputContext, useTagsInputItemContext, useToggleGroupContext, useTooltipContext };
3508
3717
  //# sourceMappingURL=index.js.map