@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.
Files changed (59) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +43 -40
  3. package/cjs/index.js +243 -31
  4. package/cjs/index.js.map +1 -1
  5. package/esm/index.js +228 -32
  6. package/esm/index.js.map +1 -1
  7. package/package.json +43 -40
  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-close-trigger.jsx +1 -1
  17. package/source/file-upload/file-upload-context.js +5 -0
  18. package/source/file-upload/file-upload-dropzone.jsx +11 -0
  19. package/source/file-upload/file-upload-item-context.js +5 -0
  20. package/source/file-upload/file-upload-item-delete-trigger.jsx +10 -0
  21. package/source/file-upload/file-upload-item-group.jsx +10 -0
  22. package/source/file-upload/file-upload-item-name.jsx +12 -0
  23. package/source/file-upload/file-upload-item-preview.jsx +19 -0
  24. package/source/file-upload/file-upload-item-size-text.jsx +12 -0
  25. package/source/file-upload/file-upload-item.jsx +15 -0
  26. package/source/file-upload/file-upload-label.jsx +8 -0
  27. package/source/file-upload/file-upload-trigger.jsx +8 -0
  28. package/source/file-upload/file-upload.jsx +30 -0
  29. package/source/file-upload/index.js +24 -0
  30. package/source/file-upload/use-file-upload.js +10 -0
  31. package/source/index.jsx +1 -0
  32. package/source/number-input/number-input.jsx +4 -2
  33. package/source/toast/create-toaster.jsx +6 -7
  34. package/types/color-picker/color-picker-format-select.d.ts +4 -0
  35. package/types/color-picker/color-picker-format-trigger.d.ts +4 -0
  36. package/types/color-picker/color-picker-swatch-context.d.ts +4 -0
  37. package/types/color-picker/color-picker-swatch-indicator.d.ts +4 -0
  38. package/types/color-picker/color-picker-swatch-trigger.d.ts +1 -5
  39. package/types/color-picker/color-picker-transparency-grid.d.ts +2 -5
  40. package/types/color-picker/index.d.ts +10 -3
  41. package/types/color-picker/use-color-picker.d.ts +3 -0
  42. package/types/file-upload/file-upload-context.d.ts +4 -0
  43. package/types/file-upload/file-upload-dropzone.d.ts +4 -0
  44. package/types/file-upload/file-upload-item-context.d.ts +4 -0
  45. package/types/file-upload/file-upload-item-delete-trigger.d.ts +4 -0
  46. package/types/file-upload/file-upload-item-group.d.ts +8 -0
  47. package/types/file-upload/file-upload-item-name.d.ts +4 -0
  48. package/types/file-upload/file-upload-item-preview.d.ts +4 -0
  49. package/types/file-upload/file-upload-item-size-text.d.ts +4 -0
  50. package/types/file-upload/file-upload-item.d.ts +6 -0
  51. package/types/file-upload/file-upload-label.d.ts +4 -0
  52. package/types/file-upload/file-upload-trigger.d.ts +4 -0
  53. package/types/file-upload/file-upload.d.ts +9 -0
  54. package/types/file-upload/index.d.ts +25 -0
  55. package/types/file-upload/use-file-upload.d.ts +9 -0
  56. package/types/index.d.ts +1 -0
  57. package/types/number-input/number-input.d.ts +6 -3
  58. package/types/toast/create-toaster.d.ts +3 -2
  59. 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$;
@@ -1633,7 +1680,7 @@ const DialogBackdrop = props => {
1633
1680
 
1634
1681
  const DialogCloseTrigger = props => {
1635
1682
  const dialog = useDialogContext();
1636
- const mergedProps = mergeProps$2(() => dialog().triggerProps, props);
1683
+ const mergedProps = mergeProps$2(() => dialog().closeTriggerProps, props);
1637
1684
  return createComponent(ark.button, mergedProps);
1638
1685
  };
1639
1686
 
@@ -1794,6 +1841,157 @@ const Editable = Object.assign(Editable$1, {
1794
1841
  SubmitTrigger: EditableSubmitTrigger
1795
1842
  });
1796
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
+
1797
1995
  const [HoverCardProvider, useHoverCardContext] = createContext({
1798
1996
  hookName: 'useHoverCardContext',
1799
1997
  providerName: '<HoverCardProvider />'
@@ -2102,10 +2300,15 @@ const NumberInput$1 = props => {
2102
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']);
2103
2301
  const api = useNumberInput(useNumberInputProps);
2104
2302
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2303
+ const getChildren = () => runIfFn(localProps.children, api);
2105
2304
  return createComponent(NumberInputProvider, {
2106
2305
  value: api,
2107
2306
  get children() {
2108
- return createComponent(ark.div, mergedProps);
2307
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2308
+ get children() {
2309
+ return getChildren();
2310
+ }
2311
+ }));
2109
2312
  }
2110
2313
  });
2111
2314
  };
@@ -3300,18 +3503,13 @@ const [ToastProvider, useToastContext] = createContext({
3300
3503
  });
3301
3504
 
3302
3505
  const createToaster = props => {
3303
- const {
3304
- placement,
3305
- ...rest
3306
- } = props;
3307
3506
  const service = toast.group.machine({
3308
3507
  id: '1',
3309
- placement,
3310
- ...rest
3508
+ ...props
3311
3509
  }).start();
3312
3510
  const [state, send] = useActor(service);
3313
3511
  const api = createMemo(() => toast.group.connect(state, send, normalizeProps));
3314
- const Toaster = props => {
3512
+ const Toaster = toasterProps => {
3315
3513
  const getRootNode = useEnvironmentContext();
3316
3514
  createEffect(() => {
3317
3515
  service.setContext({
@@ -3320,13 +3518,13 @@ const createToaster = props => {
3320
3518
  onCleanup(() => service.stop());
3321
3519
  });
3322
3520
  const mergedProps = mergeProps$2(() => api().getGroupProps({
3323
- placement
3324
- }), props);
3521
+ placement: props.placement
3522
+ }), toasterProps);
3325
3523
  return createComponent(ark.ol, mergeProps$1(mergedProps, {
3326
3524
  get children() {
3327
3525
  return createComponent(Index, {
3328
3526
  get each() {
3329
- return api().toastsByPlacement[placement];
3527
+ return api().toastsByPlacement[props.placement];
3330
3528
  },
3331
3529
  children: toast => createComponent(ToastProviderFactory, {
3332
3530
  get service() {
@@ -3341,11 +3539,9 @@ const createToaster = props => {
3341
3539
  };
3342
3540
  const ToastProviderFactory = props => {
3343
3541
  const [state, send] = useActor(props.service);
3344
- const api = toast.connect(state, send, normalizeProps);
3542
+ const api = createMemo(() => toast.connect(state, send, normalizeProps));
3345
3543
  return createComponent(ToastProvider, {
3346
- get value() {
3347
- return createMemo(() => api);
3348
- },
3544
+ value: api,
3349
3545
  get children() {
3350
3546
  return state.context.render?.(api);
3351
3547
  }
@@ -3517,5 +3713,5 @@ const Tooltip = Object.assign(Tooltip$1, {
3517
3713
  Trigger: TooltipTrigger
3518
3714
  });
3519
3715
 
3520
- 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 };
3521
3717
  //# sourceMappingURL=index.js.map