@ark-ui/solid 1.0.0-beta.2 → 1.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/cjs/index.js +197 -57
  3. package/cjs/index.js.map +1 -1
  4. package/esm/index.js +198 -59
  5. package/esm/index.js.map +1 -1
  6. package/package.json +44 -44
  7. package/source/accordion/accordion-item-content.jsx +3 -3
  8. package/source/color-picker/color-picker-content.jsx +6 -2
  9. package/source/color-picker/color-picker-value-text.jsx +9 -0
  10. package/source/color-picker/index.js +3 -1
  11. package/source/combobox/combobox-content.jsx +1 -1
  12. package/source/combobox/combobox-item-group-label.jsx +2 -2
  13. package/source/date-picker/date-picker-content.jsx +6 -2
  14. package/source/date-picker/date-picker-view.jsx +4 -1
  15. package/source/date-picker/date-picker.jsx +1 -1
  16. package/source/dialog/dialog-backdrop.jsx +1 -1
  17. package/source/dialog/dialog-content.jsx +1 -1
  18. package/source/hover-card/hover-card-content.jsx +1 -1
  19. package/source/menu/menu-content.jsx +1 -1
  20. package/source/menu/menu-item-group-label.jsx +3 -5
  21. package/source/popover/popover-content.jsx +1 -1
  22. package/source/presence/presence.jsx +1 -1
  23. package/source/presence/split-presence-props.js +1 -0
  24. package/source/select/select-content.jsx +1 -1
  25. package/source/select/select-control.jsx +9 -1
  26. package/source/select/select-item-group-label.jsx +2 -2
  27. package/source/slider/index.js +3 -3
  28. package/source/slider/slider-value-text.jsx +10 -0
  29. package/source/tooltip/tooltip-content.jsx +1 -1
  30. package/types/accordion/accordion-item-content.d.ts +3 -1
  31. package/types/color-picker/color-picker-content.d.ts +3 -1
  32. package/types/color-picker/color-picker-transparency-grid.d.ts +2 -2
  33. package/types/color-picker/color-picker-value-text.d.ts +5 -0
  34. package/types/color-picker/index.d.ts +6 -4
  35. package/types/combobox/combobox-content.d.ts +3 -1
  36. package/types/combobox/combobox-item-group-label.d.ts +6 -2
  37. package/types/date-picker/date-picker-content.d.ts +3 -1
  38. package/types/dialog/dialog-backdrop.d.ts +3 -1
  39. package/types/dialog/dialog-content.d.ts +3 -1
  40. package/types/hover-card/hover-card-content.d.ts +3 -1
  41. package/types/menu/menu-content.d.ts +3 -1
  42. package/types/menu/menu-item-group-label.d.ts +5 -4
  43. package/types/popover/popover-content.d.ts +3 -1
  44. package/types/presence/presence.d.ts +6 -2
  45. package/types/presence/split-presence-props.d.ts +1 -1
  46. package/types/select/select-content.d.ts +3 -1
  47. package/types/select/select-item-group-label.d.ts +6 -2
  48. package/types/slider/index.d.ts +4 -4
  49. package/types/slider/{slider-output.d.ts → slider-value-text.d.ts} +2 -2
  50. package/types/tabs/tab-content.d.ts +1 -1
  51. package/types/tooltip/tooltip-content.d.ts +3 -1
  52. package/source/slider/slider-output.jsx +0 -10
package/esm/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { spread as spread$1, createComponent, Dynamic, mergeProps as mergeProps$1, memo, use, template, insert, effect } from 'solid-js/web';
2
2
  import { mergeProps as mergeProps$2, useMachine, normalizeProps, useActor } from '@zag-js/solid';
3
- import { splitProps, createMemo, mergeProps, children, createEffect, createContext as createContext$1, useContext, createUniqueId, createSignal, onCleanup, Index } from 'solid-js';
3
+ import { splitProps, createMemo, mergeProps, children, createEffect, createContext as createContext$1, useContext, createUniqueId, createSignal, Index, onCleanup } from 'solid-js';
4
4
  import * as accordion from '@zag-js/accordion';
5
5
  import * as presence from '@zag-js/presence';
6
6
  import * as avatar from '@zag-js/avatar';
7
7
  import * as carousel from '@zag-js/carousel';
8
- import { carouselAnatomy, segmentGroupAnatomy, selectAnatomy } from '@ark-ui/anatomy';
8
+ import { carouselAnatomy, colorPickerAnatomy, datePickerAnatomy, segmentGroupAnatomy, selectAnatomy } from '@ark-ui/anatomy';
9
9
  import * as checkbox from '@zag-js/checkbox';
10
10
  import * as colorPicker from '@zag-js/color-picker';
11
11
  import * as combobox from '@zag-js/combobox';
@@ -429,7 +429,7 @@ const [EnvironmentProvider, useEnvironmentContext] = createContext({
429
429
  strict: false
430
430
  });
431
431
 
432
- const _tmpl$$a = /*#__PURE__*/template(`<span hidden>`);
432
+ const _tmpl$$m = /*#__PURE__*/template(`<span hidden>`);
433
433
  const Environment$1 = props => {
434
434
  // eslint-disable-next-line prefer-const
435
435
  let spanRef = undefined;
@@ -440,7 +440,7 @@ const Environment$1 = props => {
440
440
  },
441
441
  get children() {
442
442
  return [memo(() => props.children), memo(() => memo(() => !!!props.value)() && (() => {
443
- const _el$ = _tmpl$$a();
443
+ const _el$ = _tmpl$$m();
444
444
  const _ref$ = spanRef;
445
445
  typeof _ref$ === "function" ? use(_ref$, _el$) : spanRef = _el$;
446
446
  return _el$;
@@ -529,30 +529,38 @@ const Presence$1 = props => {
529
529
  });
530
530
  return memo((() => {
531
531
  const _c$ = memo(() => !!(!api().isPresent && !wasEverPresent() && localProps.lazyMount || localProps.unmountOnExit && !api().isPresent && wasEverPresent()));
532
- return () => _c$() ? null : getChildren();
532
+ return () => _c$() ? localProps.fallback : getChildren();
533
533
  })());
534
534
  };
535
535
 
536
536
  function splitPresenceProps(props) {
537
- return createSplitProps()(props, ['lazyMount', 'onExitComplete', 'present', 'unmountOnExit']);
537
+ return createSplitProps()(props, ['fallback', 'lazyMount', 'onExitComplete', 'present', 'unmountOnExit']);
538
538
  }
539
539
 
540
540
  const Presence = Object.assign(Presence$1, {
541
541
  Root: Presence$1
542
542
  });
543
543
 
544
+ const _tmpl$$l = /*#__PURE__*/template(`<div>`);
544
545
  const AccordionItemContent = props => {
545
546
  const [presenceProps, localProps] = splitPresenceProps(props);
546
547
  const api = useAccordionContext();
547
548
  const accordionItem = useAccordionItemContext();
548
- const contentProps = mergeProps$2(() => api().getItemContentProps(accordionItem), localProps);
549
+ const mergedProps = mergeProps$2(() => api().getItemContentProps(accordionItem), localProps);
549
550
  return createComponent(Presence, mergeProps$1({
550
551
  get present() {
551
552
  return accordionItem.isOpen;
552
553
  }
553
554
  }, presenceProps, {
555
+ get fallback() {
556
+ return (() => {
557
+ const _el$ = _tmpl$$l();
558
+ spread$1(_el$, mergeProps$1(() => api().getItemContentProps(accordionItem)), false, false);
559
+ return _el$;
560
+ })();
561
+ },
554
562
  get children() {
555
- return createComponent(ark.div, contentProps);
563
+ return createComponent(ark.div, mergedProps);
556
564
  }
557
565
  }));
558
566
  };
@@ -750,12 +758,12 @@ const Checkbox$1 = props => {
750
758
  });
751
759
  };
752
760
 
753
- const _tmpl$$9 = /*#__PURE__*/template(`<input>`);
761
+ const _tmpl$$k = /*#__PURE__*/template(`<input>`);
754
762
  const CheckboxControl = props => {
755
763
  const api = useCheckboxContext();
756
764
  const mergedProps = mergeProps$2(() => api().controlProps, props);
757
765
  return [createComponent(ark.div, mergedProps), (() => {
758
- const _el$ = _tmpl$$9();
766
+ const _el$ = _tmpl$$k();
759
767
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
760
768
  return _el$;
761
769
  })()];
@@ -799,7 +807,7 @@ const useColorPicker = props => {
799
807
  return createMemo(() => colorPicker.connect(state, send, normalizeProps));
800
808
  };
801
809
 
802
- const _tmpl$$8 = /*#__PURE__*/template(`<input>`);
810
+ const _tmpl$$j = /*#__PURE__*/template(`<input>`);
803
811
  const ColorPicker$1 = props => {
804
812
  const [colorPickerProps, localProps] = createSplitProps()(props, ['autoFocus', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'name', 'name', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'onValueChangeEnd', 'open', 'positioning', 'readOnly', 'value']);
805
813
  const api = useColorPicker(colorPickerProps);
@@ -813,7 +821,7 @@ const ColorPicker$1 = props => {
813
821
  return getChildren();
814
822
  }
815
823
  })), (() => {
816
- const _el$ = _tmpl$$8();
824
+ const _el$ = _tmpl$$j();
817
825
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
818
826
  return _el$;
819
827
  })()];
@@ -890,10 +898,27 @@ const ColorPickerChannelSliderTrack = props => {
890
898
  return createComponent(ark.div, mergedProps);
891
899
  };
892
900
 
901
+ const _tmpl$$i = /*#__PURE__*/template(`<div>`);
893
902
  const ColorPickerContent = props => {
903
+ const [presenceProps, localProps] = splitPresenceProps(props);
894
904
  const api = useColorPickerContext();
895
- const mergedProps = mergeProps$2(() => api().contentProps, props);
896
- return createComponent(ark.div, mergedProps);
905
+ const mergedProps = mergeProps$2(() => api().contentProps, localProps);
906
+ return createComponent(Presence, mergeProps$1({
907
+ get present() {
908
+ return api().isOpen;
909
+ }
910
+ }, presenceProps, {
911
+ get fallback() {
912
+ return (() => {
913
+ const _el$ = _tmpl$$i();
914
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
915
+ return _el$;
916
+ })();
917
+ },
918
+ get children() {
919
+ return createComponent(ark.div, mergedProps);
920
+ }
921
+ }));
897
922
  };
898
923
 
899
924
  const ColorPickerControl = props => {
@@ -953,6 +978,16 @@ const ColorPickerTrigger = props => {
953
978
  return createComponent(ark.button, mergedProps);
954
979
  };
955
980
 
981
+ const ColorPickerValueText = props => {
982
+ const api = useColorPickerContext();
983
+ const mergedProps = mergeProps$2(() => colorPickerAnatomy.build().valueText.attrs, props);
984
+ return createComponent(ark.span, mergeProps$1(mergedProps, {
985
+ get children() {
986
+ return api().valueAsString || props.children;
987
+ }
988
+ }));
989
+ };
990
+
956
991
  const ColorPicker = Object.assign(ColorPicker$1, {
957
992
  Root: ColorPicker$1,
958
993
  Area: ColorPickerArea,
@@ -971,7 +1006,8 @@ const ColorPicker = Object.assign(ColorPicker$1, {
971
1006
  SwatchGroup: ColorPickerSwatchGroup,
972
1007
  SwatchTrigger: ColorPickerSwatchTrigger,
973
1008
  TransparencyGrid: ColorPickerTransparencyGrid,
974
- Trigger: ColorPickerTrigger
1009
+ Trigger: ColorPickerTrigger,
1010
+ ValueText: ColorPickerValueText
975
1011
  });
976
1012
 
977
1013
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1018,6 +1054,7 @@ const ComboboxClearTrigger = props => {
1018
1054
  return createComponent(ark.button, mergedProps);
1019
1055
  };
1020
1056
 
1057
+ const _tmpl$$h = /*#__PURE__*/template(`<div>`);
1021
1058
  const ComboboxContent = props => {
1022
1059
  const [presenceProps, localProps] = splitPresenceProps(props);
1023
1060
  const api = useComboboxContext();
@@ -1027,6 +1064,13 @@ const ComboboxContent = props => {
1027
1064
  return api().isOpen;
1028
1065
  }
1029
1066
  }, presenceProps, {
1067
+ get fallback() {
1068
+ return (() => {
1069
+ const _el$ = _tmpl$$h();
1070
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1071
+ return _el$;
1072
+ })();
1073
+ },
1030
1074
  get children() {
1031
1075
  return createComponent(ark.div, mergedProps);
1032
1076
  }
@@ -1075,9 +1119,11 @@ const ComboboxItemGroup = props => {
1075
1119
  };
1076
1120
 
1077
1121
  const ComboboxItemGroupLabel = props => {
1078
- const [labelProps, localProps] = createSplitProps()(props, ['htmlFor']);
1122
+ const [labelProps, localProps] = createSplitProps()(props, ['for']);
1079
1123
  const api = useComboboxContext();
1080
- const mergedProps = mergeProps$2(() => api().getItemGroupLabelProps(labelProps), localProps);
1124
+ const mergedProps = mergeProps$2(() => api().getItemGroupLabelProps({
1125
+ htmlFor: labelProps.for
1126
+ }), localProps);
1081
1127
  return createComponent(ark.div, mergedProps);
1082
1128
  };
1083
1129
 
@@ -1150,7 +1196,7 @@ const useDatePicker = props => {
1150
1196
  };
1151
1197
 
1152
1198
  const DatePicker$1 = props => {
1153
- const [datePickerProps, localProps] = createSplitProps()(props, ['dir', 'disabled', 'fixedWeeks', 'focusedValue', 'format', 'getRootNode', 'id', 'ids', 'inline', 'isDateUnavailable', 'isDateUnavailable', 'locale', 'max', 'messages', 'min', 'modal', 'name', 'numOfMonths', 'onFocusChange', 'onOpenChange', 'onValueChange', 'onViewChange', 'open', 'parse', 'positioning', 'readOnly', 'selectionMode', 'startOfWeek', 'timeZone', 'value', 'view']);
1199
+ const [datePickerProps, localProps] = createSplitProps()(props, ['closeOnSelect', 'dir', 'disabled', 'fixedWeeks', 'focusedValue', 'format', 'getRootNode', 'id', 'ids', 'isDateUnavailable', 'isDateUnavailable', 'locale', 'max', 'messages', 'min', 'modal', 'name', 'numOfMonths', 'onFocusChange', 'onOpenChange', 'onValueChange', 'onViewChange', 'open', 'parse', 'positioning', 'readOnly', 'selectionMode', 'startOfWeek', 'timeZone', 'value', 'view']);
1154
1200
  const api = useDatePicker(datePickerProps);
1155
1201
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
1156
1202
  const getChildren = () => runIfFn(localProps.children, api);
@@ -1172,10 +1218,27 @@ const DatePickerClearTrigger = props => {
1172
1218
  return createComponent(ark.button, mergedProps);
1173
1219
  };
1174
1220
 
1221
+ const _tmpl$$g = /*#__PURE__*/template(`<div>`);
1175
1222
  const DatePickerContent = props => {
1223
+ const [presenceProps, localProps] = splitPresenceProps(props);
1176
1224
  const api = useDatePickerContext();
1177
- const mergedProps = mergeProps$2(() => api().contentProps, props);
1178
- return createComponent(ark.div, mergedProps);
1225
+ const mergedProps = mergeProps$2(() => api().contentProps, localProps);
1226
+ return createComponent(Presence, mergeProps$1({
1227
+ get present() {
1228
+ return api().isOpen;
1229
+ }
1230
+ }, presenceProps, {
1231
+ get fallback() {
1232
+ return (() => {
1233
+ const _el$ = _tmpl$$g();
1234
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1235
+ return _el$;
1236
+ })();
1237
+ },
1238
+ get children() {
1239
+ return createComponent(ark.div, mergedProps);
1240
+ }
1241
+ }));
1179
1242
  };
1180
1243
 
1181
1244
  const DatePickerControl = props => {
@@ -1196,14 +1259,14 @@ const DatePickerLabel = props => {
1196
1259
  return createComponent(ark.label, mergedProps);
1197
1260
  };
1198
1261
 
1199
- const _tmpl$$7 = /*#__PURE__*/template(`<option>`);
1262
+ const _tmpl$$f = /*#__PURE__*/template(`<option>`);
1200
1263
  const DatePickerMonthSelect = props => {
1201
1264
  const api = useDatePickerContext();
1202
1265
  const mergedProps = mergeProps$2(() => api().monthSelectProps, props);
1203
1266
  return createComponent(ark.select, mergeProps$1(mergedProps, {
1204
1267
  get children() {
1205
1268
  return api().getMonths().map(month => (() => {
1206
- const _el$ = _tmpl$$7();
1269
+ const _el$ = _tmpl$$f();
1207
1270
  insert(_el$, () => month.label);
1208
1271
  effect(() => _el$.value = month.value);
1209
1272
  return _el$;
@@ -1348,10 +1411,11 @@ const DatePickerView = props => {
1348
1411
  const [viewProps, localProps] = createSplitProps()(props, ['view']);
1349
1412
  const api = useDatePickerContext();
1350
1413
  const getChildren = () => runIfFn(localProps.children, api);
1414
+ const mergedProps = mergeProps$2(() => datePickerAnatomy.build().view.attrs, localProps);
1351
1415
  return createComponent(DatePickerViewProvider, {
1352
1416
  value: viewProps,
1353
1417
  get children() {
1354
- return createComponent(ark.div, mergeProps$1(localProps, {
1418
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1355
1419
  get hidden() {
1356
1420
  return api().view !== viewProps.view;
1357
1421
  },
@@ -1377,7 +1441,7 @@ const DatePickerViewTrigger = props => {
1377
1441
  return createComponent(ark.button, mergedProps);
1378
1442
  };
1379
1443
 
1380
- const _tmpl$$6 = /*#__PURE__*/template(`<option>`);
1444
+ const _tmpl$$e = /*#__PURE__*/template(`<option>`);
1381
1445
  const DatePickerYearSelect = props => {
1382
1446
  const api = useDatePickerContext();
1383
1447
  const mergedProps = mergeProps$2(() => api().yearSelectProps, props);
@@ -1387,7 +1451,7 @@ const DatePickerYearSelect = props => {
1387
1451
  from: 1_000,
1388
1452
  to: 4_000
1389
1453
  }).map(year => (() => {
1390
- const _el$ = _tmpl$$6();
1454
+ const _el$ = _tmpl$$e();
1391
1455
  _el$.value = year;
1392
1456
  insert(_el$, year);
1393
1457
  return _el$;
@@ -1458,6 +1522,7 @@ const Dialog$1 = props => {
1458
1522
  });
1459
1523
  };
1460
1524
 
1525
+ const _tmpl$$d = /*#__PURE__*/template(`<div>`);
1461
1526
  const DialogBackdrop = props => {
1462
1527
  const [presenceProps, localProps] = splitPresenceProps(props);
1463
1528
  const api = useDialogContext();
@@ -1467,6 +1532,13 @@ const DialogBackdrop = props => {
1467
1532
  return api().isOpen;
1468
1533
  }
1469
1534
  }, presenceProps, {
1535
+ get fallback() {
1536
+ return (() => {
1537
+ const _el$ = _tmpl$$d();
1538
+ spread$1(_el$, mergeProps$1(() => api().backdropProps), false, false);
1539
+ return _el$;
1540
+ })();
1541
+ },
1470
1542
  get children() {
1471
1543
  return createComponent(ark.div, mergedProps);
1472
1544
  }
@@ -1479,6 +1551,7 @@ const DialogCloseTrigger = props => {
1479
1551
  return createComponent(ark.button, triggerProps);
1480
1552
  };
1481
1553
 
1554
+ const _tmpl$$c = /*#__PURE__*/template(`<div>`);
1482
1555
  const DialogContent = props => {
1483
1556
  const [presenceProps, localProps] = splitPresenceProps(props);
1484
1557
  const api = useDialogContext();
@@ -1488,6 +1561,13 @@ const DialogContent = props => {
1488
1561
  return api().isOpen;
1489
1562
  }
1490
1563
  }, presenceProps, {
1564
+ get fallback() {
1565
+ return (() => {
1566
+ const _el$ = _tmpl$$c();
1567
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1568
+ return _el$;
1569
+ })();
1570
+ },
1491
1571
  get children() {
1492
1572
  return createComponent(ark.div, mergedProps);
1493
1573
  }
@@ -1665,6 +1745,7 @@ const HoverCardArrowTip = props => {
1665
1745
  return createComponent(ark.div, tipProps);
1666
1746
  };
1667
1747
 
1748
+ const _tmpl$$b = /*#__PURE__*/template(`<div>`);
1668
1749
  const HoverCardContent = props => {
1669
1750
  const [presenceProps, localProps] = splitPresenceProps(props);
1670
1751
  const api = useHoverCardContext();
@@ -1674,6 +1755,13 @@ const HoverCardContent = props => {
1674
1755
  return api().isOpen;
1675
1756
  }
1676
1757
  }, presenceProps, {
1758
+ get fallback() {
1759
+ return (() => {
1760
+ const _el$ = _tmpl$$b();
1761
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1762
+ return _el$;
1763
+ })();
1764
+ },
1677
1765
  get children() {
1678
1766
  return createComponent(ark.div, mergedProps);
1679
1767
  }
@@ -1784,6 +1872,7 @@ const MenuArrowTip = props => {
1784
1872
  return createComponent(ark.div, arrowTipProps);
1785
1873
  };
1786
1874
 
1875
+ const _tmpl$$a = /*#__PURE__*/template(`<div>`);
1787
1876
  const MenuContent = props => {
1788
1877
  const [presenceProps, localProps] = splitPresenceProps(props);
1789
1878
  const api = useMenuContext();
@@ -1793,6 +1882,13 @@ const MenuContent = props => {
1793
1882
  return api?.().isOpen;
1794
1883
  }
1795
1884
  }, presenceProps, {
1885
+ get fallback() {
1886
+ return (() => {
1887
+ const _el$ = _tmpl$$a();
1888
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1889
+ return _el$;
1890
+ })();
1891
+ },
1796
1892
  get children() {
1797
1893
  return createComponent(ark.div, mergedProps);
1798
1894
  }
@@ -1821,9 +1917,11 @@ const MenuItemGroup = props => {
1821
1917
 
1822
1918
  const MenuItemGroupLabel = props => {
1823
1919
  const menu = useMenuContext();
1824
- const [itemGroupLabelProps, localProps] = createSplitProps()(props, ['htmlFor']);
1825
- const labelProps = mergeProps$2(() => menu?.().getItemGroupLabelProps(itemGroupLabelProps), localProps);
1826
- return createComponent(ark.label, labelProps);
1920
+ const [labelProps, localProps] = createSplitProps()(props, ['for']);
1921
+ const mergedProps = mergeProps$2(() => menu?.().getItemGroupLabelProps({
1922
+ htmlFor: labelProps.for
1923
+ }), localProps);
1924
+ return createComponent(ark.div, mergedProps);
1827
1925
  };
1828
1926
 
1829
1927
  const MenuOptionItem = props => {
@@ -2040,7 +2138,7 @@ const usePinInput = props => {
2040
2138
  return createMemo(() => pinInput.connect(state, send, normalizeProps));
2041
2139
  };
2042
2140
 
2043
- const _tmpl$$5 = /*#__PURE__*/template(`<input>`);
2141
+ const _tmpl$$9 = /*#__PURE__*/template(`<input>`);
2044
2142
  const PinInput$1 = props => {
2045
2143
  const [pinInputProps, localProps] = createSplitProps()(props, ['autoFocus', 'blurOnComplete', 'dir', 'disabled', 'form', 'getRootNode', 'id', 'ids', 'invalid', 'mask', 'name', 'onValueChange', 'onValueComplete', 'onValueInvalid', 'otp', 'pattern', 'placeholder', 'selectOnFocus', 'translations', 'type', 'value']);
2046
2144
  const api = usePinInput(pinInputProps);
@@ -2049,7 +2147,7 @@ const PinInput$1 = props => {
2049
2147
  value: api,
2050
2148
  get children() {
2051
2149
  return [createComponent(ark.div, mergedProps), (() => {
2052
- const _el$ = _tmpl$$5();
2150
+ const _el$ = _tmpl$$9();
2053
2151
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2054
2152
  return _el$;
2055
2153
  })()];
@@ -2135,6 +2233,7 @@ const PopoverCloseTrigger = props => {
2135
2233
  return createComponent(ark.button, triggerProps);
2136
2234
  };
2137
2235
 
2236
+ const _tmpl$$8 = /*#__PURE__*/template(`<div>`);
2138
2237
  const PopoverContent = props => {
2139
2238
  const [presenceProps, localProps] = splitPresenceProps(props);
2140
2239
  const api = usePopoverContext();
@@ -2144,6 +2243,13 @@ const PopoverContent = props => {
2144
2243
  return api().isOpen;
2145
2244
  }
2146
2245
  }, presenceProps, {
2246
+ get fallback() {
2247
+ return (() => {
2248
+ const _el$ = _tmpl$$8();
2249
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
2250
+ return _el$;
2251
+ })();
2252
+ },
2147
2253
  get children() {
2148
2254
  return createComponent(ark.div, mergedProps);
2149
2255
  }
@@ -2246,13 +2352,13 @@ const RadioGroupItem = props => {
2246
2352
  });
2247
2353
  };
2248
2354
 
2249
- const _tmpl$$4 = /*#__PURE__*/template(`<input>`);
2355
+ const _tmpl$$7 = /*#__PURE__*/template(`<input>`);
2250
2356
  const RadioGroupItemControl = props => {
2251
2357
  const api = useRadioGroupContext();
2252
2358
  const itemProps = useRadioGroupItemContext();
2253
2359
  const mergedProps = mergeProps$2(() => api().getItemControlProps(itemProps), props);
2254
2360
  return [createComponent(ark.div, mergedProps), (() => {
2255
- const _el$ = _tmpl$$4();
2361
+ const _el$ = _tmpl$$7();
2256
2362
  spread$1(_el$, mergeProps$1(() => api().getItemHiddenInputProps(itemProps)), false, false);
2257
2363
  return _el$;
2258
2364
  })()];
@@ -2309,7 +2415,7 @@ const RatingGroup$1 = props => {
2309
2415
  });
2310
2416
  };
2311
2417
 
2312
- const _tmpl$$3 = /*#__PURE__*/template(`<input>`);
2418
+ const _tmpl$$6 = /*#__PURE__*/template(`<input>`);
2313
2419
  const RatingGroupControl = props => {
2314
2420
  const api = useRatingGroupContext();
2315
2421
  const getChildren = () => runIfFn(props.children, api);
@@ -2319,7 +2425,7 @@ const RatingGroupControl = props => {
2319
2425
  return getChildren();
2320
2426
  }
2321
2427
  })), (() => {
2322
- const _el$ = _tmpl$$3();
2428
+ const _el$ = _tmpl$$6();
2323
2429
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2324
2430
  return _el$;
2325
2431
  })()];
@@ -2413,13 +2519,13 @@ const SegmentGroupItem = props => {
2413
2519
  });
2414
2520
  };
2415
2521
 
2416
- const _tmpl$$2 = /*#__PURE__*/template(`<input>`);
2522
+ const _tmpl$$5 = /*#__PURE__*/template(`<input>`);
2417
2523
  const SegmentGroupItemControl = props => {
2418
2524
  const api = useSegmentGroupContext();
2419
2525
  const itemProps = useSegmentGroupItemContext();
2420
2526
  const mergedProps = mergeProps$2(() => api().getItemControlProps(itemProps), segmentGroupAnatomy.build().itemControl.attrs, props);
2421
2527
  return [createComponent(ark.div, mergedProps), (() => {
2422
- const _el$ = _tmpl$$2();
2528
+ const _el$ = _tmpl$$5();
2423
2529
  spread$1(_el$, mergeProps$1(() => api().getItemHiddenInputProps(itemProps)), false, false);
2424
2530
  return _el$;
2425
2531
  })()];
@@ -2491,6 +2597,7 @@ const SelectClearTrigger = props => {
2491
2597
  return createComponent(ark.button, mergedProps);
2492
2598
  };
2493
2599
 
2600
+ const _tmpl$$4 = /*#__PURE__*/template(`<div>`);
2494
2601
  const SelectContent = props => {
2495
2602
  const [presenceProps, localProps] = splitPresenceProps(props);
2496
2603
  const api = useSelectContext();
@@ -2500,16 +2607,40 @@ const SelectContent = props => {
2500
2607
  return api().isOpen;
2501
2608
  }
2502
2609
  }, presenceProps, {
2610
+ get fallback() {
2611
+ return (() => {
2612
+ const _el$ = _tmpl$$4();
2613
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
2614
+ return _el$;
2615
+ })();
2616
+ },
2503
2617
  get children() {
2504
2618
  return createComponent(ark.div, mergedProps);
2505
2619
  }
2506
2620
  }));
2507
2621
  };
2508
2622
 
2623
+ const _tmpl$$3 = /*#__PURE__*/template(`<select>`),
2624
+ _tmpl$2 = /*#__PURE__*/template(`<option>`);
2509
2625
  const SelectControl = props => {
2510
2626
  const api = useSelectContext();
2511
2627
  const mergedProps = mergeProps$2(() => api().controlProps, props);
2512
- return createComponent(ark.div, mergedProps);
2628
+ return [createComponent(ark.div, mergedProps), (() => {
2629
+ const _el$ = _tmpl$$3();
2630
+ spread$1(_el$, mergeProps$1(() => api().hiddenSelectProps), false, true);
2631
+ insert(_el$, createComponent(Index, {
2632
+ get each() {
2633
+ return api().collection.toArray();
2634
+ },
2635
+ children: option => (() => {
2636
+ const _el$2 = _tmpl$2();
2637
+ insert(_el$2, () => option().label);
2638
+ effect(() => _el$2.value = option().value);
2639
+ return _el$2;
2640
+ })()
2641
+ }));
2642
+ return _el$;
2643
+ })()];
2513
2644
  };
2514
2645
 
2515
2646
  const SelectIndicator = props => {
@@ -2548,9 +2679,11 @@ const SelectItemGroup = props => {
2548
2679
  };
2549
2680
 
2550
2681
  const SelectItemGroupLabel = props => {
2551
- const [labelProps, localProps] = createSplitProps()(props, ['htmlFor']);
2682
+ const [labelProps, localProps] = createSplitProps()(props, ['for']);
2552
2683
  const api = useSelectContext();
2553
- const mergedProps = mergeProps$2(() => api().getItemGroupLabelProps(labelProps), localProps);
2684
+ const mergedProps = mergeProps$2(() => api().getItemGroupLabelProps({
2685
+ htmlFor: labelProps.for
2686
+ }), localProps);
2554
2687
  return createComponent(ark.div, mergedProps);
2555
2688
  };
2556
2689
 
@@ -2672,17 +2805,6 @@ const SliderMarkerGroup = props => {
2672
2805
  return createComponent(ark.div, mergedProps);
2673
2806
  };
2674
2807
 
2675
- const SliderOutput = props => {
2676
- const slider = useSliderContext();
2677
- const getChildren = () => runIfFn(props.children, slider);
2678
- const outputProps = mergeProps$2(() => slider().outputProps, props);
2679
- return createComponent(ark.output, mergeProps$1(outputProps, {
2680
- get children() {
2681
- return getChildren();
2682
- }
2683
- }));
2684
- };
2685
-
2686
2808
  const SliderRange = props => {
2687
2809
  const api = useSliderContext();
2688
2810
  const mergedProps = mergeProps$2(() => api().rangeProps, props);
@@ -2702,16 +2824,27 @@ const SliderTrack = props => {
2702
2824
  return createComponent(ark.div, mergedProps);
2703
2825
  };
2704
2826
 
2827
+ const SliderValueText = props => {
2828
+ const api = useSliderContext();
2829
+ const getChildren = () => runIfFn(props.children, api);
2830
+ const mergedProps = mergeProps$2(() => api().valueTextProps, props);
2831
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2832
+ get children() {
2833
+ return getChildren();
2834
+ }
2835
+ }));
2836
+ };
2837
+
2705
2838
  const Slider = Object.assign(Slider$1, {
2706
2839
  Root: Slider$1,
2707
2840
  Control: SliderControl,
2708
2841
  Label: SliderLabel,
2709
2842
  Marker: SliderMarker,
2710
2843
  MarkerGroup: SliderMarkerGroup,
2711
- Output: SliderOutput,
2712
2844
  Range: SliderRange,
2713
2845
  Thumb: SliderThumb,
2714
- Track: SliderTrack
2846
+ Track: SliderTrack,
2847
+ ValueText: SliderValueText
2715
2848
  });
2716
2849
 
2717
2850
  const [SplitterProvider, useSplitterContext] = createContext({
@@ -2802,12 +2935,12 @@ const Switch$1 = props => {
2802
2935
  });
2803
2936
  };
2804
2937
 
2805
- const _tmpl$$1 = /*#__PURE__*/template(`<input>`);
2938
+ const _tmpl$$2 = /*#__PURE__*/template(`<input>`);
2806
2939
  const SwitchControl = props => {
2807
2940
  const api = useSwitchContext();
2808
2941
  const mergedProps = mergeProps$2(() => api().controlProps, props);
2809
2942
  return [createComponent(ark.span, mergedProps), (() => {
2810
- const _el$ = _tmpl$$1();
2943
+ const _el$ = _tmpl$$2();
2811
2944
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2812
2945
  return _el$;
2813
2946
  })()];
@@ -2926,7 +3059,7 @@ const useTagsInput = props => {
2926
3059
  return createMemo(() => tagsInput.connect(state, send, normalizeProps));
2927
3060
  };
2928
3061
 
2929
- const _tmpl$ = /*#__PURE__*/template(`<input>`);
3062
+ const _tmpl$$1 = /*#__PURE__*/template(`<input>`);
2930
3063
  const TagsInput$1 = props => {
2931
3064
  const [tagsInputParams, restProps] = createSplitProps()(props, ['addOnPaste', 'allowEditTag', 'allowOverflow', 'autoFocus', 'blurBehavior', 'delimiter', 'dir', 'disabled', 'form', 'getRootNode', 'id', 'ids', 'inputValue', 'invalid', 'max', 'maxLength', 'name', 'onFocusOutside', 'onHighlightChange', 'onInteractOutside', 'onPointerDownOutside', 'onValueChange', 'onValueInvalid', 'readOnly', 'translations', 'validate', 'value']);
2932
3065
  const api = useTagsInput(tagsInputParams);
@@ -2940,7 +3073,7 @@ const TagsInput$1 = props => {
2940
3073
  return getChildren();
2941
3074
  }
2942
3075
  })), (() => {
2943
- const _el$ = _tmpl$();
3076
+ const _el$ = _tmpl$$1();
2944
3077
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2945
3078
  return _el$;
2946
3079
  })()];
@@ -3032,8 +3165,6 @@ const [ToastProvider, useToastContext] = createContext({
3032
3165
  providerName: '<ToastProvider />'
3033
3166
  });
3034
3167
 
3035
- // TODO simplify types after next zag.js upgrade
3036
-
3037
3168
  const createToaster = props => {
3038
3169
  const {
3039
3170
  placement,
@@ -3196,6 +3327,7 @@ const TooltipArrowTip = props => {
3196
3327
  return createComponent(ark.div, arrowTipProps);
3197
3328
  };
3198
3329
 
3330
+ const _tmpl$ = /*#__PURE__*/template(`<div>`);
3199
3331
  const TooltipContent = props => {
3200
3332
  const [presenceProps, localProps] = splitPresenceProps(props);
3201
3333
  const api = useTooltipContext();
@@ -3205,6 +3337,13 @@ const TooltipContent = props => {
3205
3337
  return api().isOpen;
3206
3338
  }
3207
3339
  }, presenceProps, {
3340
+ get fallback() {
3341
+ return (() => {
3342
+ const _el$ = _tmpl$();
3343
+ spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
3344
+ return _el$;
3345
+ })();
3346
+ },
3208
3347
  get children() {
3209
3348
  return createComponent(ark.div, contentProps);
3210
3349
  }
@@ -3232,5 +3371,5 @@ const Tooltip = Object.assign(Tooltip$1, {
3232
3371
  Trigger: TooltipTrigger
3233
3372
  });
3234
3373
 
3235
- 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, 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, 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, SliderOutput, SliderRange, SliderThumb, SliderTrack, 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, useRadioGroupContext, useRadioGroupItemContext, useRatingGroupContext, useRatingGroupItemContext, useSegmentGroupContext, useSegmentGroupItemContext, useSelectContext, useSelectItemContext, useSliderContext, useSplitterContext, useSwitchContext, useTabsContext, useTagsInputContext, useTagsInputItemContext, useToggleGroupContext, useTooltipContext };
3374
+ 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, 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, useRadioGroupContext, useRadioGroupItemContext, useRatingGroupContext, useRatingGroupItemContext, useSegmentGroupContext, useSegmentGroupItemContext, useSelectContext, useSelectItemContext, useSliderContext, useSplitterContext, useSwitchContext, useTabsContext, useTagsInputContext, useTagsInputItemContext, useToggleGroupContext, useTooltipContext };
3236
3375
  //# sourceMappingURL=index.js.map