@basic-ui/material 1.0.0-alpha.15 → 1.0.0-alpha.18

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 (118) hide show
  1. package/build/cjs/index.js +296 -52
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Alert/Alert.d.ts +1 -1
  4. package/build/esm/AppBar/AppBarButton.d.ts +1 -1
  5. package/build/esm/BottomSheet/BottomSheet.d.ts +1 -1
  6. package/build/esm/BottomSheet/BottomSheetSurface.d.ts +1 -1
  7. package/build/esm/Button/BaseButton.d.ts +1 -1
  8. package/build/esm/Button/BaseButton.js +1 -0
  9. package/build/esm/Button/BaseButton.js.map +1 -1
  10. package/build/esm/Button/Button.d.ts +1 -1
  11. package/build/esm/Button/ButtonGroup.d.ts +1 -1
  12. package/build/esm/Button/FilledButton.d.ts +1 -1
  13. package/build/esm/Button/OutlinedButton.d.ts +1 -1
  14. package/build/esm/Button/TransparentButton.d.ts +1 -1
  15. package/build/esm/CheckBox/CheckBox.d.ts +1 -1
  16. package/build/esm/Chip/ButtonChip.d.ts +1 -1
  17. package/build/esm/Chip/ChipBase.d.ts +1 -1
  18. package/build/esm/Chip/ChoiceChip.d.ts +1 -1
  19. package/build/esm/Combobox/Combobox.d.ts +7 -7
  20. package/build/esm/Combobox/Combobox.js +4 -3
  21. package/build/esm/Combobox/Combobox.js.map +1 -1
  22. package/build/esm/Dialog/Dialog.d.ts +1 -1
  23. package/build/esm/Dialog/DialogBackdrop.d.ts +1 -1
  24. package/build/esm/Dialog/DialogSurface.d.ts +1 -1
  25. package/build/esm/Dialog/Scrim.d.ts +1 -1
  26. package/build/esm/Divider/Divider.d.ts +1 -1
  27. package/build/esm/Link/Link.d.ts +1 -1
  28. package/build/esm/Link/Link.js +12 -0
  29. package/build/esm/Link/Link.js.map +1 -1
  30. package/build/esm/ListItem/ListItem.d.ts +3 -1
  31. package/build/esm/ListItem/ListItem.js +46 -43
  32. package/build/esm/ListItem/ListItem.js.map +1 -1
  33. package/build/esm/Menu/Menu.d.ts +4 -4
  34. package/build/esm/NavRail/NavRailItem.d.ts +3 -3
  35. package/build/esm/Paper/Paper.d.ts +1 -1
  36. package/build/esm/RadioButton/RadioGroup.d.ts +1 -1
  37. package/build/esm/Ripple/useRippleSurface.d.ts +1 -0
  38. package/build/esm/Ripple/useRippleSurface.js +17 -16
  39. package/build/esm/Ripple/useRippleSurface.js.map +1 -1
  40. package/build/esm/Select/Select.d.ts +1 -1
  41. package/build/esm/Select/Select.js +4 -0
  42. package/build/esm/Select/Select.js.map +1 -1
  43. package/build/esm/Select/SelectIcon.d.ts +1 -1
  44. package/build/esm/SelectItem/SelectItem.d.ts +5 -2
  45. package/build/esm/SelectItem/SelectItem.js +17 -4
  46. package/build/esm/SelectItem/SelectItem.js.map +1 -1
  47. package/build/esm/SelectionControl/SelectionControlText.d.ts +1 -1
  48. package/build/esm/Skeleton/Skeleton.d.ts +1 -1
  49. package/build/esm/Slider/Slider.d.ts +17 -0
  50. package/build/esm/Slider/Slider.js +224 -0
  51. package/build/esm/Slider/Slider.js.map +1 -0
  52. package/build/esm/Slider/index.d.ts +1 -0
  53. package/build/esm/Slider/index.js +2 -0
  54. package/build/esm/Slider/index.js.map +1 -0
  55. package/build/esm/Snackbar/Snackbar.d.ts +1 -1
  56. package/build/esm/Switch/Switch.d.ts +1 -1
  57. package/build/esm/Tab/Tab.d.ts +1 -1
  58. package/build/esm/Tab/TabList.d.ts +1 -1
  59. package/build/esm/Tab/TabPanel.d.ts +1 -1
  60. package/build/esm/TabIndicator/TabIndicator.d.ts +1 -1
  61. package/build/esm/Table/TableHead.d.ts +1 -1
  62. package/build/esm/Table/TableRow.d.ts +1 -1
  63. package/build/esm/TextField/FilledContainer.d.ts +1 -1
  64. package/build/esm/TextField/HelperText.d.ts +1 -1
  65. package/build/esm/TextField/Input.d.ts +1 -1
  66. package/build/esm/TextField/OutlinedContainer.d.ts +1 -1
  67. package/build/esm/TextField/OutlinedContainer.js +13 -5
  68. package/build/esm/TextField/OutlinedContainer.js.map +1 -1
  69. package/build/esm/TextField/TextField.d.ts +1 -1
  70. package/build/esm/ThemeExplorer/BorderSlider.d.ts +7 -0
  71. package/build/esm/ThemeExplorer/BorderSlider.js +78 -0
  72. package/build/esm/ThemeExplorer/BorderSlider.js.map +1 -0
  73. package/build/esm/ThemeExplorer/ColorSchemePicker.d.ts +10 -0
  74. package/build/esm/ThemeExplorer/ColorSchemePicker.js +54 -0
  75. package/build/esm/ThemeExplorer/ColorSchemePicker.js.map +1 -0
  76. package/build/esm/ThemeExplorer/FontAutoComplete.d.ts +9 -0
  77. package/build/esm/ThemeExplorer/FontAutoComplete.js +128 -0
  78. package/build/esm/ThemeExplorer/FontAutoComplete.js.map +1 -0
  79. package/build/esm/ThemeExplorer/ThemeBuilder.d.ts +2 -0
  80. package/build/esm/ThemeExplorer/ThemeBuilder.js +231 -93
  81. package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
  82. package/build/esm/ThemeExplorer/components.js +4 -4
  83. package/build/esm/ThemeExplorer/components.js.map +1 -1
  84. package/build/esm/ThemeExplorer/googleFonts.d.ts +1 -0
  85. package/build/esm/ThemeExplorer/googleFonts.js +7 -0
  86. package/build/esm/ThemeExplorer/googleFonts.js.map +1 -0
  87. package/build/esm/ThemeExplorer/updateGoogleFonts.js +70 -0
  88. package/build/esm/ThemeExplorer/updateGoogleFonts.js.map +1 -0
  89. package/build/esm/ThemeExplorer/useDeferredColor.js +3 -4
  90. package/build/esm/ThemeExplorer/useDeferredColor.js.map +1 -1
  91. package/build/esm/Tooltip/Tooltip.d.ts +1 -1
  92. package/build/esm/index.d.ts +1 -0
  93. package/build/esm/index.js +1 -0
  94. package/build/esm/index.js.map +1 -1
  95. package/build/tsconfig-build.tsbuildinfo +1 -1
  96. package/package.json +6 -6
  97. package/src/Button/BaseButton.tsx +1 -0
  98. package/src/Combobox/Combobox.tsx +5 -2
  99. package/src/Link/Link.tsx +12 -0
  100. package/src/ListItem/ListItem.tsx +48 -42
  101. package/src/Ripple/useRippleSurface.ts +8 -2
  102. package/src/Select/PaymentMethodSelect.story.tsx +17 -24
  103. package/src/Select/Select.tsx +6 -0
  104. package/src/SelectItem/SelectItem.tsx +13 -3
  105. package/src/Slider/Slider.story.tsx +36 -0
  106. package/src/Slider/Slider.tsx +275 -0
  107. package/src/Slider/index.ts +1 -0
  108. package/src/TextField/OutlinedContainer.tsx +8 -3
  109. package/src/ThemeExplorer/BorderSlider.tsx +73 -0
  110. package/src/ThemeExplorer/ColorSchemePicker.tsx +55 -0
  111. package/src/ThemeExplorer/FontAutoComplete.tsx +139 -0
  112. package/src/ThemeExplorer/ThemeBuilder.story.tsx +2 -1
  113. package/src/ThemeExplorer/ThemeBuilder.tsx +218 -82
  114. package/src/ThemeExplorer/components.tsx +4 -4
  115. package/src/ThemeExplorer/googleFonts.ts +1436 -0
  116. package/src/ThemeExplorer/updateGoogleFonts.js +33 -0
  117. package/src/ThemeExplorer/useDeferredColor.tsx +3 -6
  118. package/src/index.ts +1 -0
@@ -719,6 +719,7 @@ const BaseButton = /*#__PURE__*/react$1.forwardRef((props, ref) => {
719
719
  touchAction: 'manipulation',
720
720
  userSelect: 'none',
721
721
  minWidth: 'auto',
722
+ whiteSpace: 'nowrap',
722
723
  '&::-moz-focus-inner': {
723
724
  border: 0
724
725
  },
@@ -1205,7 +1206,9 @@ function useRippleSurface(opts = {}) {
1205
1206
  hoverOpacity = 0.04,
1206
1207
  focusOpacity = 0.12,
1207
1208
  pressedOpacity = 0.12,
1208
- rippleColor = 'on.surface'
1209
+ rippleColor = 'on.surface',
1210
+ // eslint-disable-next-line prefer-const
1211
+ mouseFocus = false
1209
1212
  } = opts;
1210
1213
  const {
1211
1214
  onKeyDown,
@@ -1235,6 +1238,7 @@ function useRippleSurface(opts = {}) {
1235
1238
  disabled,
1236
1239
  ...rippleProps
1237
1240
  });
1241
+ const focusPseudoClass = mouseFocus ? 'focus' : 'focus-visible';
1238
1242
  const css$1 = react$1.useMemo(() => ({
1239
1243
  overflow: 'hidden',
1240
1244
  position: 'relative',
@@ -1260,7 +1264,7 @@ function useRippleSurface(opts = {}) {
1260
1264
  '&:hover::before': {
1261
1265
  opacity: hoverOpacity
1262
1266
  },
1263
- '&:focus-visible::before': {
1267
+ [`&:${focusPseudoClass}::before`]: {
1264
1268
  opacity: focusOpacity
1265
1269
  },
1266
1270
  ...(!rippleEnabled && {
@@ -1274,7 +1278,7 @@ function useRippleSurface(opts = {}) {
1274
1278
  '&[aria-pressed="true"]:hover::before': {
1275
1279
  opacity: pressedOpacity + hoverOpacity
1276
1280
  },
1277
- '&[aria-pressed="true"]:focus-visible::before': {
1281
+ [`&[aria-pressed="true"]:${focusPseudoClass}::before`]: {
1278
1282
  opacity: pressedOpacity + focusOpacity
1279
1283
  },
1280
1284
  ...(!rippleEnabled && {
@@ -1295,7 +1299,7 @@ function useRippleSurface(opts = {}) {
1295
1299
  })
1296
1300
  }
1297
1301
  })
1298
- }), [animation, baseOpacity, focusOpacity, hoverOpacity, pressedOpacity, rippleColor, rippleEnabled]);
1302
+ }), [animation, baseOpacity, focusOpacity, focusPseudoClass, hoverOpacity, pressedOpacity, rippleColor, rippleEnabled]);
1299
1303
  return {
1300
1304
  style: { ...animationStyle,
1301
1305
  ...style
@@ -2424,12 +2428,17 @@ const OutlinedContainer = /*#__PURE__*/react$1.forwardRef(function OutlinedConta
2424
2428
 
2425
2429
  if (element) {
2426
2430
  setLabelWidth(element.offsetWidth);
2427
- document?.fonts?.ready?.then(() => {
2431
+
2432
+ function handleFontsLoaded() {
2428
2433
  // set the label width again once the fonts have been loaded
2429
2434
  requestAnimationFrame(() => {
2430
- setLabelWidth(element.offsetWidth);
2435
+ if (element) setLabelWidth(element.offsetWidth);
2431
2436
  });
2432
- });
2437
+ }
2438
+
2439
+ document.fonts?.addEventListener?.('loadingdone', handleFontsLoaded);
2440
+ document.fonts?.ready?.then(handleFontsLoaded);
2441
+ return () => document.fonts?.removeEventListener?.('loadingdone', handleFontsLoaded);
2433
2442
  }
2434
2443
  }, [label]);
2435
2444
  const color = error ? 'error' : colorProp;
@@ -2674,6 +2683,47 @@ const List = /*#__PURE__*/react$1.forwardRef(function List(props, forwardedRef)
2674
2683
  });
2675
2684
  });
2676
2685
 
2686
+ const listItemStyle = (color, hoverOpacity = 0.16, focusOpacity = 0.24) => ({
2687
+ variant: 'text.label-large',
2688
+ px: 3,
2689
+ py: "0.75rem",
2690
+ transition: 'background-color 75ms linear',
2691
+ backgroundColor: 'transparent',
2692
+ color: alpha('on.surface', 0.87),
2693
+ cursor: 'pointer',
2694
+ display: 'flex',
2695
+ alignItems: 'center',
2696
+ textDecoration: 'none',
2697
+ ':hover': {
2698
+ backgroundColor: alpha('on.surface', hoverOpacity)
2699
+ },
2700
+ ':focus': {
2701
+ outline: 'none',
2702
+ backgroundColor: alpha('on.surface', focusOpacity)
2703
+ },
2704
+ ':active': {
2705
+ backgroundColor: alpha('on.surface', focusOpacity)
2706
+ },
2707
+ '&[aria-selected="true"]': {
2708
+ backgroundColor: alpha(color, 0.08),
2709
+ color,
2710
+ ':hover': {
2711
+ backgroundColor: alpha(color, hoverOpacity)
2712
+ },
2713
+ ':focus': {
2714
+ outline: 'none',
2715
+ backgroundColor: alpha(color, focusOpacity)
2716
+ },
2717
+ ':active': {
2718
+ backgroundColor: alpha(color, focusOpacity)
2719
+ }
2720
+ },
2721
+ '&[data-disabled]': {
2722
+ color: alpha('on.surface', 0.6),
2723
+ backgroundColor: 'transparent',
2724
+ cursor: 'default'
2725
+ }
2726
+ });
2677
2727
  const ListItem = /*#__PURE__*/react$1.forwardRef(function ListItem(props, forwardedRef) {
2678
2728
  const {
2679
2729
  as = 'div',
@@ -2690,9 +2740,6 @@ const ListItem = /*#__PURE__*/react$1.forwardRef(function ListItem(props, forwar
2690
2740
  const selected = ariaSelectedProp || selectedProp;
2691
2741
  const color = rippleColor || colorProp || 'primary';
2692
2742
  const theme = useTheme();
2693
- const baseOpacity = 0.12;
2694
- const hoverOpacity = 0.16;
2695
- const focusOpacity = 0.24;
2696
2743
  return /*#__PURE__*/jsxRuntime.jsx(Box, {
2697
2744
  ref: forwardedRef,
2698
2745
  as: innerAs || as,
@@ -2702,45 +2749,7 @@ const ListItem = /*#__PURE__*/react$1.forwardRef(function ListItem(props, forwar
2702
2749
  "aria-selected": selected ? 'true' : undefined,
2703
2750
  disabled: disabled,
2704
2751
  ...otherProps,
2705
- __css: {
2706
- variant: 'text.label-large',
2707
- px: 3,
2708
- py: "0.75rem",
2709
- transition: 'background-color 75ms linear',
2710
- backgroundColor: 'transparent',
2711
- color: alpha('on.surface', 0.87),
2712
- cursor: 'pointer',
2713
- ':hover': {
2714
- backgroundColor: alpha('on.surface', hoverOpacity)
2715
- },
2716
- ':focus': {
2717
- outline: 'none',
2718
- backgroundColor: alpha('on.surface', focusOpacity)
2719
- },
2720
- ':active': {
2721
- backgroundColor: alpha('on.surface', baseOpacity + 0.12)
2722
- },
2723
- '&[aria-selected="true"]': {
2724
- backgroundColor: alpha(color, baseOpacity + 0.12),
2725
- color,
2726
- ':hover': {
2727
- backgroundColor: alpha(color, hoverOpacity + 0.12)
2728
- },
2729
- ':focus': {
2730
- outline: 'none',
2731
- backgroundColor: alpha(color, focusOpacity + 0.12)
2732
- },
2733
- ':active': {
2734
- backgroundColor: alpha(color, baseOpacity + 0.24)
2735
- }
2736
- },
2737
- '&[data-disabled]': {
2738
- color: alpha('on.surface', 0.6),
2739
- backgroundColor: 'transparent',
2740
- cursor: 'default'
2741
- },
2742
- textDecoration: 'none',
2743
- WebkitTapHighlightColor: 'transparent',
2752
+ __css: { ...listItemStyle(color),
2744
2753
  ...__css
2745
2754
  },
2746
2755
  children: children
@@ -2831,6 +2840,8 @@ const ComboboxList = /*#__PURE__*/react$1.forwardRef((props, forwardedRef) => {
2831
2840
  '[data-popper-placement="bottom"] &': {
2832
2841
  transformOrigin: 'top center'
2833
2842
  },
2843
+ '& [data-reach-combobox-option=""]': { ...listItemStyle('primary')
2844
+ },
2834
2845
  ...__css
2835
2846
  },
2836
2847
  ...otherProps
@@ -2883,7 +2894,7 @@ const ComboboxOption = /*#__PURE__*/react$1.forwardRef((props, forwardedRef) =>
2883
2894
  ...otherProps
2884
2895
  } = props;
2885
2896
  return /*#__PURE__*/jsxRuntime.jsx(ComboboxOptionCore, {
2886
- as: ListItem,
2897
+ as: Box,
2887
2898
  ref: forwardedRef,
2888
2899
  innerAs: as,
2889
2900
  ...otherProps
@@ -3592,6 +3603,12 @@ const Link = /*#__PURE__*/react$1.forwardRef(function Link(props, forwardedRef)
3592
3603
  letterSpacing: 'inherit',
3593
3604
  color,
3594
3605
  textDecoration: 'underline',
3606
+ background: 'none',
3607
+ border: 'none',
3608
+ borderRadius: 'extra-small',
3609
+ 'button&': {
3610
+ cursor: 'pointer'
3611
+ },
3595
3612
  '&:hover,&:focus': {
3596
3613
  textDecoration: 'none'
3597
3614
  },
@@ -3603,6 +3620,12 @@ const Link = /*#__PURE__*/react$1.forwardRef(function Link(props, forwardedRef)
3603
3620
  '&:active': {
3604
3621
  bg: alpha(color, 0.16)
3605
3622
  },
3623
+ '&[aria-disabled="true"],&:disabled': {
3624
+ color: 'on.surface',
3625
+ opacity: 0.38,
3626
+ cursor: 'default',
3627
+ pointerEvents: 'none'
3628
+ },
3606
3629
  WebkitTapHighlightColor: 'transparent',
3607
3630
  ...__css
3608
3631
  },
@@ -3656,7 +3679,7 @@ const MenuList = /*#__PURE__*/react$1.forwardRef(({
3656
3679
  })); /////////////////////////////////////////////////////
3657
3680
  // MenuItem
3658
3681
 
3659
- const MenuItem = /*#__PURE__*/react$1.forwardRef(({
3682
+ const MenuItem$1 = /*#__PURE__*/react$1.forwardRef(({
3660
3683
  as = 'li',
3661
3684
  ...props
3662
3685
  }, ref) => /*#__PURE__*/jsxRuntime.jsx(core.MenuItem, {
@@ -4262,6 +4285,10 @@ const Select = /*#__PURE__*/react$1.forwardRef(function Select(props, forwardedR
4262
4285
  minWidth: buttonRef?.current?.offsetWidth
4263
4286
  },
4264
4287
  role: "listbox",
4288
+ __css: {
4289
+ '& [data-menu-item=""]': { ...listItemStyle('primary')
4290
+ }
4291
+ },
4265
4292
  children: children
4266
4293
  })
4267
4294
  })]
@@ -4278,6 +4305,15 @@ const Select = /*#__PURE__*/react$1.forwardRef(function Select(props, forwardedR
4278
4305
  });
4279
4306
  });
4280
4307
 
4308
+ const MenuItem = /*#__PURE__*/react$1.forwardRef(({
4309
+ as = 'li',
4310
+ ...props
4311
+ }, ref) => /*#__PURE__*/jsxRuntime.jsx(core.MenuItem, {
4312
+ as: Box,
4313
+ innerAs: as,
4314
+ ref: ref,
4315
+ ...props
4316
+ }));
4281
4317
  const ZERO_WIDTH_SPACE = '\u200b';
4282
4318
  const SelectItem = /*#__PURE__*/react$1.forwardRef(function SelectItem(props, forwardedRef) {
4283
4319
  const {
@@ -4317,6 +4353,7 @@ const SelectItem = /*#__PURE__*/react$1.forwardRef(function SelectItem(props, fo
4317
4353
  disabled: disabled,
4318
4354
  ref: forwardedRef,
4319
4355
  role: "option",
4356
+ "aria-selected": selected ? 'true' : undefined,
4320
4357
  selected: selected,
4321
4358
  ...otherProps,
4322
4359
  children: children || ZERO_WIDTH_SPACE
@@ -4418,6 +4455,206 @@ const DelayAppearance = /*#__PURE__*/react$1.forwardRef(function DelayAppearance
4418
4455
  });
4419
4456
  });
4420
4457
 
4458
+ const SliderInput = /*#__PURE__*/react$1.forwardRef(({
4459
+ as = 'div',
4460
+ __css,
4461
+ ...props
4462
+ }, ref) => /*#__PURE__*/jsxRuntime.jsx(core.SliderInput, {
4463
+ as: Box,
4464
+ innerAs: as,
4465
+ ref: ref,
4466
+ ...props,
4467
+ __css: {
4468
+ maxWidth: '100%',
4469
+ cursor: 'pointer',
4470
+ '&[data-orientation="horizontal"]': {
4471
+ height: "0.25rem"
4472
+ },
4473
+ '&[data-orientation="vertical"]': {
4474
+ width: "0.25rem",
4475
+ height: '250px',
4476
+ maxHeight: '100%'
4477
+ },
4478
+ '&[data-disabled]': {
4479
+ opacity: 0.5,
4480
+ pointerEvents: 'none'
4481
+ },
4482
+ ...__css
4483
+ }
4484
+ })); /////////////////////////////////////////////////////
4485
+ // SliderHandle
4486
+
4487
+ const SliderHandle = /*#__PURE__*/react$1.forwardRef(({
4488
+ as = 'div',
4489
+ __css,
4490
+ children,
4491
+ ...props
4492
+ }, ref) => /*#__PURE__*/jsxRuntime.jsxs(core.SliderHandle, {
4493
+ as: RippleBox,
4494
+ innerAs: as,
4495
+ ref: ref,
4496
+ rippleColor: "currentColor",
4497
+ hoverOpacity: 0.12,
4498
+ focusOpacity: 0.24,
4499
+ pressedOpacity: 0.24,
4500
+ mouseFocus: true,
4501
+ center: true,
4502
+ __css: {
4503
+ position: 'relative',
4504
+ width: "2.5rem",
4505
+ height: "2.5rem",
4506
+ color: 'primary',
4507
+ borderRadius: 'full',
4508
+ zIndex: 1,
4509
+ transformOrigin: 'center',
4510
+ userSelect: 'none',
4511
+ '&[aria-orientation="horizontal"]': {
4512
+ top: '50%',
4513
+ transform: 'translateY(-50%)'
4514
+ },
4515
+ '&[aria-orientation="horizontal"]:focus': {
4516
+ transform: 'translateY(-50%)'
4517
+ },
4518
+ '&[aria-orientation="vertical"]': {
4519
+ left: '50%',
4520
+ transform: 'translateX(-50%)'
4521
+ },
4522
+ ':focus': {
4523
+ outline: 'none'
4524
+ },
4525
+ ...__css
4526
+ },
4527
+ ...props,
4528
+ children: [/*#__PURE__*/jsxRuntime.jsx(Box, {
4529
+ __css: {
4530
+ bg: 'currentColor',
4531
+ width: '50%',
4532
+ height: '50%',
4533
+ borderRadius: 'full',
4534
+ pointerEvents: 'none',
4535
+ position: 'absolute',
4536
+ top: '50%',
4537
+ left: '50%',
4538
+ transform: 'translate(-50%, -50%)',
4539
+ boxShadow: 1
4540
+ }
4541
+ }), children]
4542
+ })); /////////////////////////////////////////////////////
4543
+ // SliderMarker
4544
+
4545
+ const SliderMarker = /*#__PURE__*/react$1.forwardRef(({
4546
+ as = 'div',
4547
+ __css,
4548
+ ...props
4549
+ }, ref) => /*#__PURE__*/jsxRuntime.jsx(core.SliderMarker, {
4550
+ as: Box,
4551
+ innerAs: as,
4552
+ ref: ref,
4553
+ ...props,
4554
+ __css: {
4555
+ transformOrigin: 'center',
4556
+ borderRadius: 'full',
4557
+ width: '2px',
4558
+ height: '2px',
4559
+ '&[data-orientation="horizontal"]': {
4560
+ top: '50%',
4561
+ transform: 'translate(-50%, -50%)'
4562
+ },
4563
+ '&[data-orientation="vertical"]': {
4564
+ left: '50%',
4565
+ transform: 'translate(-50%, -50%)'
4566
+ },
4567
+ opacity: 0.38,
4568
+ bg: 'on.surface-variant',
4569
+ '&[data-state="at-value"],&[data-state="under-value"]': {
4570
+ bg: 'on.primary'
4571
+ },
4572
+ ...__css
4573
+ }
4574
+ })); /////////////////////////////////////////////////////
4575
+ // SliderTrack
4576
+
4577
+ const SliderTrack = /*#__PURE__*/react$1.forwardRef(({
4578
+ as = 'div',
4579
+ __css,
4580
+ ...props
4581
+ }, ref) => /*#__PURE__*/jsxRuntime.jsx(core.SliderTrack, {
4582
+ as: Box,
4583
+ innerAs: as,
4584
+ ref: ref,
4585
+ ...props,
4586
+ __css: {
4587
+ position: 'relative',
4588
+ borderRadius: 'full',
4589
+ bg: 'surface-variant',
4590
+ '&[data-orientation="horizontal"]': {
4591
+ width: '100%',
4592
+ height: 'inherit'
4593
+ },
4594
+ '&[data-orientation="vertical"]': {
4595
+ width: 'inherit',
4596
+ height: '100%'
4597
+ },
4598
+ '&::before': {
4599
+ content: '""',
4600
+ position: 'absolute'
4601
+ },
4602
+ '&[data-orientation="horizontal"]::before': {
4603
+ width: '100%',
4604
+ height: '1.5rem',
4605
+ top: 'calc(-0.5rem - 1px)',
4606
+ left: '0'
4607
+ },
4608
+ '&[data-orientation="vertical"]::before': {
4609
+ width: '1.5rem',
4610
+ height: '100%',
4611
+ top: '0',
4612
+ left: 'calc(-0.5rem - 1px)'
4613
+ },
4614
+ ...__css
4615
+ }
4616
+ })); /////////////////////////////////////////////////////
4617
+ // SliderRange
4618
+
4619
+ const SliderRange = /*#__PURE__*/react$1.forwardRef(({
4620
+ as = 'div',
4621
+ __css,
4622
+ ...props
4623
+ }, ref) => /*#__PURE__*/jsxRuntime.jsx(core.SliderRange, {
4624
+ as: Box,
4625
+ innerAs: as,
4626
+ ref: ref,
4627
+ __css: {
4628
+ borderRadius: 'inherit',
4629
+ bg: 'primary',
4630
+ left: '0',
4631
+ bottom: '0',
4632
+ top: '50%',
4633
+ '&[data-orientation="horizontal"]': {
4634
+ height: '100%'
4635
+ },
4636
+ '&[data-orientation="vertical"]': {
4637
+ width: '100%'
4638
+ },
4639
+ transform: 'translateY(-50%)',
4640
+ ...__css
4641
+ },
4642
+ ...props
4643
+ }));
4644
+ const Slider = /*#__PURE__*/react$1.forwardRef(function Slider(props, forwardedRef) {
4645
+ const {
4646
+ children,
4647
+ ...otherProps
4648
+ } = props;
4649
+ return /*#__PURE__*/jsxRuntime.jsx(SliderInput, { ...otherProps,
4650
+ ref: forwardedRef,
4651
+ "data-reach-slider": "",
4652
+ children: /*#__PURE__*/jsxRuntime.jsxs(SliderTrack, {
4653
+ children: [/*#__PURE__*/jsxRuntime.jsx(SliderRange, {}), /*#__PURE__*/jsxRuntime.jsx(SliderHandle, {}), children]
4654
+ })
4655
+ });
4656
+ });
4657
+
4421
4658
  const StackItemContext = /*#__PURE__*/react$1.createContext(null);
4422
4659
  StackItemContext.displayName = 'StackItemContext';
4423
4660
  function useStackItem({
@@ -5428,7 +5665,7 @@ exports.List = List;
5428
5665
  exports.ListItem = ListItem;
5429
5666
  exports.ListItemText = ListItemText;
5430
5667
  exports.MenuButton = MenuButton;
5431
- exports.MenuItem = MenuItem;
5668
+ exports.MenuItem = MenuItem$1;
5432
5669
  exports.MenuList = MenuList;
5433
5670
  exports.MenuPopover = MenuPopover;
5434
5671
  exports.NavRailIndicator = NavRailIndicator;
@@ -5445,6 +5682,12 @@ exports.RippleBox = RippleBox;
5445
5682
  exports.Select = Select;
5446
5683
  exports.SelectItem = SelectItem;
5447
5684
  exports.Skeleton = Skeleton;
5685
+ exports.Slider = Slider;
5686
+ exports.SliderHandle = SliderHandle;
5687
+ exports.SliderInput = SliderInput;
5688
+ exports.SliderMarker = SliderMarker;
5689
+ exports.SliderRange = SliderRange;
5690
+ exports.SliderTrack = SliderTrack;
5448
5691
  exports.Snackbar = Snackbar;
5449
5692
  exports.StackProvider = StackProvider;
5450
5693
  exports.Switch = Switch;
@@ -5467,6 +5710,7 @@ exports.base = base;
5467
5710
  exports.getBackgroundOverlay = getBackgroundOverlay;
5468
5711
  exports.getColorOverlay = getColorOverlay;
5469
5712
  exports.getDarkThemeBackgroundOverlay = getDarkThemeBackgroundOverlay;
5713
+ exports.listItemStyle = listItemStyle;
5470
5714
  exports.mixColor = mixColor;
5471
5715
  exports.rippleStyle = rippleStyle;
5472
5716
  exports.sx = sx;