@basic-ui/material 1.0.0-alpha.16 → 1.0.0-alpha.17

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