reshaped 3.6.0-canary.0 → 3.6.0-canary.2

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 (132) hide show
  1. package/CHANGELOG.md +21 -2
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.d.ts +1 -1
  4. package/dist/bundle.js +11 -11
  5. package/dist/components/Accordion/AccordionControlled.js +1 -1
  6. package/dist/components/Accordion/AccordionTrigger.js +1 -1
  7. package/dist/components/ActionBar/ActionBar.js +1 -1
  8. package/dist/components/Actionable/Actionable.js +1 -1
  9. package/dist/components/Autocomplete/tests/Autocomplete.stories.js +1 -0
  10. package/dist/components/Avatar/Avatar.js +1 -1
  11. package/dist/components/Badge/Badge.js +1 -1
  12. package/dist/components/Badge/BadgeContainer.js +1 -1
  13. package/dist/components/Breadcrumbs/Breadcrumbs.js +1 -1
  14. package/dist/components/Button/Button.js +1 -1
  15. package/dist/components/Button/ButtonGroup.js +1 -1
  16. package/dist/components/Calendar/CalendarDate.js +1 -1
  17. package/dist/components/Card/Card.d.ts +1 -1
  18. package/dist/components/Card/Card.js +1 -1
  19. package/dist/components/Card/tests/Card.stories.d.ts +1 -1
  20. package/dist/components/Card/tests/Card.test.stories.d.ts +1 -1
  21. package/dist/components/Carousel/Carousel.js +4 -3
  22. package/dist/components/Carousel/CarouselControl.js +1 -1
  23. package/dist/components/Checkbox/Checkbox.js +1 -1
  24. package/dist/components/Checkbox/Checkbox.module.css +1 -1
  25. package/dist/components/Container/Container.js +1 -1
  26. package/dist/components/Dismissible/Dismissible.js +1 -1
  27. package/dist/components/Divider/Divider.js +1 -1
  28. package/dist/components/DropdownMenu/DropdownMenu.js +1 -1
  29. package/dist/components/FileUpload/FileUpload.js +1 -1
  30. package/dist/components/Flyout/Flyout.types.d.ts +3 -2
  31. package/dist/components/Flyout/FlyoutContent.js +14 -11
  32. package/dist/components/Flyout/tests/Flyout.stories.d.ts +4 -0
  33. package/dist/components/Flyout/tests/Flyout.stories.js +20 -4
  34. package/dist/components/Flyout/useFlyout.js +13 -9
  35. package/dist/components/Flyout/utilities/calculatePosition.d.ts +1 -1
  36. package/dist/components/Flyout/utilities/calculatePosition.js +1 -1
  37. package/dist/components/Flyout/utilities/flyout.js +4 -4
  38. package/dist/components/FormControl/FormControl.context.d.ts +0 -2
  39. package/dist/components/Grid/Grid.js +1 -1
  40. package/dist/components/Hidden/Hidden.js +1 -1
  41. package/dist/components/Hotkey/Hotkey.js +1 -1
  42. package/dist/components/Icon/Icon.js +1 -1
  43. package/dist/components/Image/Image.js +1 -1
  44. package/dist/components/Link/Link.js +1 -1
  45. package/dist/components/Loader/Loader.js +1 -1
  46. package/dist/components/MenuItem/MenuItem.js +1 -1
  47. package/dist/components/Modal/Modal.js +2 -2
  48. package/dist/components/Modal/Modal.module.css +1 -1
  49. package/dist/components/NumberField/NumberFieldControlled.js +1 -1
  50. package/dist/components/Overlay/Overlay.js +3 -3
  51. package/dist/components/Overlay/Overlay.module.css +1 -1
  52. package/dist/components/Overlay/Overlay.types.d.ts +1 -0
  53. package/dist/components/PinField/PinFieldControlled.js +1 -1
  54. package/dist/components/Popover/Popover.js +3 -3
  55. package/dist/components/Popover/Popover.module.css +1 -1
  56. package/dist/components/Popover/Popover.types.d.ts +1 -0
  57. package/dist/components/Popover/tests/Popover.stories.d.ts +46 -7
  58. package/dist/components/Popover/tests/Popover.stories.js +209 -85
  59. package/dist/components/Progress/Progress.js +1 -1
  60. package/dist/components/ProgressIndicator/ProgressIndicator.js +1 -1
  61. package/dist/components/Radio/Radio.js +1 -1
  62. package/dist/components/Radio/Radio.module.css +1 -1
  63. package/dist/components/Reshaped/Reshaped.js +1 -1
  64. package/dist/components/Resizable/Resizable.js +1 -1
  65. package/dist/components/Scrim/Scrim.js +1 -1
  66. package/dist/components/ScrollArea/ScrollArea.js +8 -11
  67. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  68. package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +13 -4
  69. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +129 -30
  70. package/dist/components/Select/Select.js +1 -1
  71. package/dist/components/Skeleton/Skeleton.js +1 -1
  72. package/dist/components/Slider/Slider.types.d.ts +34 -7
  73. package/dist/components/Slider/SliderControlled.js +32 -20
  74. package/dist/components/Slider/SliderThumb.js +4 -4
  75. package/dist/components/Slider/SliderUncontrolled.js +3 -2
  76. package/dist/components/Slider/tests/Slider.stories.d.ts +38 -8
  77. package/dist/components/Slider/tests/Slider.stories.js +268 -54
  78. package/dist/components/Stepper/Stepper.js +1 -1
  79. package/dist/components/Switch/Switch.js +1 -1
  80. package/dist/components/Table/Table.js +6 -3
  81. package/dist/components/Table/Table.module.css +1 -1
  82. package/dist/components/Tabs/TabsItem.js +1 -1
  83. package/dist/components/Tabs/TabsList.js +3 -34
  84. package/dist/components/Tabs/TabsPanel.js +1 -1
  85. package/dist/components/Text/Text.js +1 -1
  86. package/dist/components/TextArea/TextArea.js +1 -1
  87. package/dist/components/TextField/TextField.js +1 -1
  88. package/dist/components/Theme/Theme.js +1 -1
  89. package/dist/components/Timeline/Timeline.js +1 -1
  90. package/dist/components/Toast/ToastContainer.js +1 -1
  91. package/dist/components/Toast/ToastRegion.js +1 -1
  92. package/dist/components/View/View.js +1 -1
  93. package/dist/components/_private/Aligner/Aligner.js +1 -1
  94. package/dist/components/_private/Expandable/Expandable.js +1 -1
  95. package/dist/components/_private/HiddenInput/HiddenInput.js +1 -1
  96. package/dist/hooks/_private/useFadeSide.d.ts +5 -0
  97. package/dist/hooks/_private/useFadeSide.js +47 -0
  98. package/dist/index.d.ts +1 -1
  99. package/dist/index.js +1 -1
  100. package/dist/styles/align/index.js +1 -1
  101. package/dist/styles/aspectRatio/index.js +1 -1
  102. package/dist/styles/bleed/index.js +1 -1
  103. package/dist/styles/border/index.js +1 -1
  104. package/dist/styles/height/index.js +1 -1
  105. package/dist/styles/inset/index.js +1 -1
  106. package/dist/styles/justify/index.js +1 -1
  107. package/dist/styles/maxHeight/index.js +1 -1
  108. package/dist/styles/maxWidth/index.js +1 -1
  109. package/dist/styles/minHeight/index.js +1 -1
  110. package/dist/styles/minWidth/index.js +1 -1
  111. package/dist/styles/padding/index.js +1 -1
  112. package/dist/styles/position/index.js +1 -1
  113. package/dist/styles/radius/index.js +1 -1
  114. package/dist/styles/textAlign/index.js +1 -1
  115. package/dist/styles/width/index.js +1 -1
  116. package/dist/utilities/dom/event.d.ts +7 -0
  117. package/dist/utilities/dom/event.js +11 -0
  118. package/dist/utilities/dom/find.d.ts +1 -1
  119. package/dist/utilities/dom/find.js +2 -2
  120. package/dist/utilities/dom/index.d.ts +1 -0
  121. package/dist/utilities/dom/index.js +1 -0
  122. package/dist/utilities/helpers.d.ts +1 -15
  123. package/dist/utilities/helpers.js +11 -133
  124. package/dist/utilities/props.d.ts +13 -0
  125. package/dist/utilities/props.js +83 -0
  126. package/package.json +25 -26
  127. package/dist/components/Popover/tests/Popover.test.stories.d.ts +0 -39
  128. package/dist/components/Popover/tests/Popover.test.stories.js +0 -167
  129. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.d.ts +0 -23
  130. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.js +0 -66
  131. package/dist/components/Slider/tests/Slider.test.stories.d.ts +0 -38
  132. package/dist/components/Slider/tests/Slider.test.stories.js +0 -150
@@ -7,7 +7,7 @@ import { resetStyles } from "../Flyout.constants.js";
7
7
  * Set position of the target element to fit on the screen
8
8
  */
9
9
  const flyout = (args) => {
10
- const { triggerEl, flyoutEl, triggerBounds: passedTriggerBounds, contentShift = 0, contentGap = 0, position, fallbackPositions, width, container: passedContainer, lastUsedFallback, onFallback, rtl, } = args;
10
+ const { triggerEl, flyoutEl, triggerBounds: passedTriggerBounds, contentShift = 0, contentGap = 0, position, fallbackPositions, width, container: passedContainer, lastUsedPosition, onPositionChoose, rtl, } = args;
11
11
  const targetClone = flyoutEl.cloneNode(true);
12
12
  const baseUnit = getComputedStyle(flyoutEl).getPropertyValue("--rs-unit-x1");
13
13
  const unitModifier = baseUnit ? parseInt(baseUnit) : 4;
@@ -63,10 +63,10 @@ const flyout = (args) => {
63
63
  container,
64
64
  });
65
65
  const validPosition = visible || fallbackPositions?.length === 0;
66
- // Saving first try in case non of the options work
67
- if (validPosition || lastUsedFallback === currentPosition) {
66
+ // Saving first try in case none of the options work
67
+ if (validPosition || lastUsedPosition === currentPosition) {
68
68
  calculated = tested;
69
- onFallback(currentPosition);
69
+ onPositionChoose(currentPosition);
70
70
  }
71
71
  return validPosition;
72
72
  });
@@ -184,8 +184,6 @@ export declare const useFormControl: () => {
184
184
  onProgressCapture?: React.ReactEventHandler<HTMLElement> | undefined;
185
185
  onRateChange?: React.ReactEventHandler<HTMLElement> | undefined;
186
186
  onRateChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
187
- onResize?: React.ReactEventHandler<HTMLElement> | undefined;
188
- onResizeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
189
187
  onSeeked?: React.ReactEventHandler<HTMLElement> | undefined;
190
188
  onSeekedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
191
189
  onSeeking?: React.ReactEventHandler<HTMLElement> | undefined;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { classNames, responsiveVariables, responsivePropDependency } from "../../utilities/helpers.js";
2
+ import { classNames, responsiveVariables, responsivePropDependency } from "../../utilities/props.js";
3
3
  import getAlignStyles from "../../styles/align/index.js";
4
4
  import getJustifyStyles from "../../styles/justify/index.js";
5
5
  import s from "./Grid.module.css";
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { classNames, responsiveClassNames } from "../../utilities/helpers.js";
2
+ import { classNames, responsiveClassNames } from "../../utilities/props.js";
3
3
  import s from "./Hidden.module.css";
4
4
  const Hidden = (props) => {
5
5
  const { as: TagName = "div", children, visibility, hide } = props;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import Text from "../Text/index.js";
3
- import { classNames } from "../../utilities/helpers.js";
3
+ import { classNames } from "../../utilities/props.js";
4
4
  import s from "./Hotkey.module.css";
5
5
  const Hotkey = (props) => {
6
6
  const { children, active, className, attributes } = props;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from "react";
3
- import { classNames } from "../../utilities/helpers.js";
3
+ import { classNames } from "../../utilities/props.js";
4
4
  import getHeightStyles from "../../styles/height/index.js";
5
5
  import s from "./Icon.module.css";
6
6
  const Icon = (props) => {
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import { classNames } from "../../utilities/helpers.js";
4
+ import { classNames } from "../../utilities/props.js";
5
5
  import s from "./Image.module.css";
6
6
  import getRadiusStyles from "../../styles/radius/index.js";
7
7
  import getWidthStyles from "../../styles/width/index.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { classNames } from "../../utilities/helpers.js";
3
+ import { classNames } from "../../utilities/props.js";
4
4
  import Actionable from "../Actionable/index.js";
5
5
  import Icon from "../Icon/index.js";
6
6
  import s from "./Link.module.css";
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { classNames, responsiveClassNames } from "../../utilities/helpers.js";
2
+ import { classNames, responsiveClassNames } from "../../utilities/props.js";
3
3
  import s from "./Loader.module.css";
4
4
  const Loader = (props) => {
5
5
  const { size = "small", color = "primary", className, attributes } = props;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/helpers.js";
3
+ import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/props.js";
4
4
  import Actionable from "../Actionable/index.js";
5
5
  import Icon from "../Icon/index.js";
6
6
  import View from "../View/index.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import { classNames, responsiveVariables, responsiveClassNames } from "../../utilities/helpers.js";
4
+ import { classNames, responsiveVariables, responsiveClassNames, responsivePropDependency, } from "../../utilities/props.js";
5
5
  import { enableUserSelect, disableUserSelect } from "../../utilities/dom/index.js";
6
6
  import { enableScroll, disableScroll } from "../../utilities/scroll/index.js";
7
7
  import useResponsiveClientValue from "../../hooks/useResponsiveClientValue.js";
@@ -168,7 +168,7 @@ const Modal = (props) => {
168
168
  setHideProgress(progress / 2);
169
169
  dragDistanceRef.current = dragDistance;
170
170
  }, [dragDistance, clientPosition, rootRef]);
171
- return (_jsx(Overlay, { onClose: onClose, onOpen: onOpen, onAfterClose: onAfterClose, onAfterOpen: onAfterOpen, disableCloseOnClick: disableCloseOnOutsideClick, active: active, transparent: transparentOverlay || hideProgress, blurred: blurredOverlay, className: overlayClassName, containerRef: containerRef, attributes: {
171
+ return (_jsx(Overlay, { onClose: onClose, onOpen: onOpen, onAfterClose: onAfterClose, onAfterOpen: onAfterOpen, disableCloseOnClick: disableCloseOnOutsideClick, active: active, transparent: transparentOverlay || hideProgress, blurred: blurredOverlay, overflow: responsivePropDependency(position, (p) => (p === "center" ? "auto" : "hidden")), className: overlayClassName, containerRef: containerRef, attributes: {
172
172
  onTouchStart: handleDragStart,
173
173
  }, children: ({ active }) => {
174
174
  const rootClassNames = classNames(s.root, className, active && s["--active"], dragging && s["--dragging"], overflow && s[`--overflow-${overflow}`], containerRef && s["--contained"], responsiveClassNames(s, "--position", position));
@@ -1 +1 @@
1
- .root{--rs-modal-container-width:100vw;--rs-modal-position:fixed;background:var(--rs-color-background-elevation-overlay);box-shadow:var(--rs-shadow-overlay);color:var(--rs-color-foreground-neutral);transition:var(--rs-easing-accelerate) var(--rs-duration-fast);transition-property:transform,opacity;will-change:transform}[data-rs-keyboard] .root:focus{box-shadow:var(--rs-focus-shadow);outline:none}.root.--contained{--rs-modal-position:absolute;--rs-modal-container-width:100%}.root{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);--rs-modal-size-m:var(--rs-modal-size-s);--rs-modal-size-l:var(--rs-modal-size-m);--rs-modal-size-xl:var(--rs-modal-size-l);--rs-modal-size:var(--rs-modal-size-s)}.--position-center{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-radius-large);height:auto;inset:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x8));opacity:0;overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}.--position-center.--active,[dir=rtl] .--position-center.--active{opacity:1;transform:translate(0) scale(1)!important}.--position-bottom{--rs-modal-size-s:auto;border-radius:var(--rs-radius-large) var(--rs-radius-large) 0 0;height:var(--rs-modal-size);inset:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));max-width:100%;opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translateY(100%);width:100%}.--position-bottom.--active,[dir=rtl] .--position-bottom.--active{transform:translateY(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-start{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translate(-100%);width:var(--rs-modal-size)}[dir=rtl] .--position-start{transform:translate(100%)}.--position-start.--active,[dir=rtl] .--position-start.--active{transform:translate(min(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-end{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translate(100%);width:var(--rs-modal-size)}[dir=rtl] .--position-end{transform:translate(-100%)}.--position-end.--active,[dir=rtl] .--position-end.--active{transform:translate(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-full-screen{--rs-modal-size-s:100%;border-radius:0;height:100%;inset:0;inset-block-start:auto;margin:0;max-height:100%;max-width:var(--rs-modal-container-width);opacity:0;overflow:auto;position:var(--rs-modal-position);transform:translateY(var(--rs-unit-x4));width:100%}.--position-full-screen.--active,[dir=rtl] .--position-full-screen.--active{opacity:1;transform:translate(0)!important}.--active,[dir=rtl] .--active{transition-timing-function:var(--rs-easing-decelerate)}.--dragging{transition:none}.--overflow-visible{overflow:visible}@media (--rs-viewport-m ){.root{--rs-modal-size:var(--rs-modal-size-m)}.--position-center--m{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-radius-large);height:auto;inset:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x8));opacity:0;overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}.--position-center--m.--active,[dir=rtl] .--position-center--m.--active{opacity:1;transform:translate(0) scale(1)!important}.--position-bottom--m{--rs-modal-size-s:auto;border-radius:var(--rs-radius-large) var(--rs-radius-large) 0 0;height:var(--rs-modal-size);inset:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));max-width:100%;opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translateY(100%);width:100%}.--position-bottom--m.--active,[dir=rtl] .--position-bottom--m.--active{transform:translateY(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-start--m{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translate(-100%);width:var(--rs-modal-size)}[dir=rtl] .--position-start--m{transform:translate(100%)}.--position-start--m.--active,[dir=rtl] .--position-start--m.--active{transform:translate(min(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-end--m{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translate(100%);width:var(--rs-modal-size)}[dir=rtl] .--position-end--m{transform:translate(-100%)}.--position-end--m.--active,[dir=rtl] .--position-end--m.--active{transform:translate(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-full-screen--m{--rs-modal-size-s:100%;border-radius:0;height:100%;inset:0;inset-block-start:auto;margin:0;max-height:100%;max-width:var(--rs-modal-container-width);opacity:0;overflow:auto;position:var(--rs-modal-position);transform:translateY(var(--rs-unit-x4));width:100%}.--position-full-screen--m.--active,[dir=rtl] .--position-full-screen--m.--active{opacity:1;transform:translate(0)!important}}@media (--rs-viewport-l ){.root{--rs-modal-size:var(--rs-modal-size-l)}.--position-center--l{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-radius-large);height:auto;inset:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x8));opacity:0;overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}.--position-center--l.--active,[dir=rtl] .--position-center--l.--active{opacity:1;transform:translate(0) scale(1)!important}.--position-bottom--l{--rs-modal-size-s:auto;border-radius:var(--rs-radius-large) var(--rs-radius-large) 0 0;height:var(--rs-modal-size);inset:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));max-width:100%;opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translateY(100%);width:100%}.--position-bottom--l.--active,[dir=rtl] .--position-bottom--l.--active{transform:translateY(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-start--l{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translate(-100%);width:var(--rs-modal-size)}[dir=rtl] .--position-start--l{transform:translate(100%)}.--position-start--l.--active,[dir=rtl] .--position-start--l.--active{transform:translate(min(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-end--l{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translate(100%);width:var(--rs-modal-size)}[dir=rtl] .--position-end--l{transform:translate(-100%)}.--position-end--l.--active,[dir=rtl] .--position-end--l.--active{transform:translate(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-full-screen--l{--rs-modal-size-s:100%;border-radius:0;height:100%;inset:0;inset-block-start:auto;margin:0;max-height:100%;max-width:var(--rs-modal-container-width);opacity:0;overflow:auto;position:var(--rs-modal-position);transform:translateY(var(--rs-unit-x4));width:100%}.--position-full-screen--l.--active,[dir=rtl] .--position-full-screen--l.--active{opacity:1;transform:translate(0)!important}}@media (--rs-viewport-xl ){.root{--rs-modal-size:var(--rs-modal-size-xl)}.--position-center--xl{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-radius-large);height:auto;inset:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x8));opacity:0;overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}.--position-center--xl.--active,[dir=rtl] .--position-center--xl.--active{opacity:1;transform:translate(0) scale(1)!important}.--position-bottom--xl{--rs-modal-size-s:auto;border-radius:var(--rs-radius-large) var(--rs-radius-large) 0 0;height:var(--rs-modal-size);inset:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));max-width:100%;opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translateY(100%);width:100%}.--position-bottom--xl.--active,[dir=rtl] .--position-bottom--xl.--active{transform:translateY(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-start--xl{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translate(-100%);width:var(--rs-modal-size)}[dir=rtl] .--position-start--xl{transform:translate(100%)}.--position-start--xl.--active,[dir=rtl] .--position-start--xl.--active{transform:translate(min(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-end--xl{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:var(--rs-modal-position);transform:translate(100%);width:var(--rs-modal-size)}[dir=rtl] .--position-end--xl{transform:translate(-100%)}.--position-end--xl.--active,[dir=rtl] .--position-end--xl.--active{transform:translate(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-full-screen--xl{--rs-modal-size-s:100%;border-radius:0;height:100%;inset:0;inset-block-start:auto;margin:0;max-height:100%;max-width:var(--rs-modal-container-width);opacity:0;overflow:auto;position:var(--rs-modal-position);transform:translateY(var(--rs-unit-x4));width:100%}.--position-full-screen--xl.--active,[dir=rtl] .--position-full-screen--xl.--active{opacity:1;transform:translate(0)!important}}
1
+ .root{--rs-modal-container-width:100vw;background:var(--rs-color-background-elevation-overlay);box-shadow:var(--rs-shadow-overlay);color:var(--rs-color-foreground-neutral);transition:var(--rs-easing-accelerate) var(--rs-duration-fast);transition-property:transform,opacity;will-change:transform}[data-rs-keyboard] .root:focus{box-shadow:var(--rs-focus-shadow);outline:none}.root.--contained{--rs-modal-container-width:100%}.root{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);--rs-modal-size-m:var(--rs-modal-size-s);--rs-modal-size-l:var(--rs-modal-size-m);--rs-modal-size-xl:var(--rs-modal-size-l);--rs-modal-size:var(--rs-modal-size-s)}.--position-center{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-radius-large);height:auto;inset:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x8));opacity:0;overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}.--position-center.--active,[dir=rtl] .--position-center.--active{opacity:1;transform:translate(0) scale(1)!important}.--position-bottom{--rs-modal-size-s:auto;border-radius:var(--rs-radius-large) var(--rs-radius-large) 0 0;height:var(--rs-modal-size);inset:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));max-width:100%;opacity:1;overflow:auto;position:absolute;transform:translateY(100%);width:100%}.--position-bottom.--active,[dir=rtl] .--position-bottom.--active{transform:translateY(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-start{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:absolute;transform:translate(-100%);width:var(--rs-modal-size)}[dir=rtl] .--position-start{transform:translate(100%)}.--position-start.--active,[dir=rtl] .--position-start.--active{transform:translate(min(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-end{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:absolute;transform:translate(100%);width:var(--rs-modal-size)}[dir=rtl] .--position-end{transform:translate(-100%)}.--position-end.--active,[dir=rtl] .--position-end.--active{transform:translate(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-full-screen{--rs-modal-size-s:100%;border-radius:0;height:100%;inset:0;inset-block-start:auto;margin:0;max-height:100%;max-width:var(--rs-modal-container-width);opacity:0;overflow:auto;position:absolute;transform:translateY(var(--rs-unit-x4));width:100%}.--position-full-screen.--active,[dir=rtl] .--position-full-screen.--active{opacity:1;transform:translate(0)!important}.--active,[dir=rtl] .--active{transition-timing-function:var(--rs-easing-decelerate)}.--dragging{transition:none}.--overflow-visible{overflow:visible}@media (--rs-viewport-m ){.root{--rs-modal-size:var(--rs-modal-size-m)}.--position-center--m{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-radius-large);height:auto;inset:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x8));opacity:0;overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}.--position-center--m.--active,[dir=rtl] .--position-center--m.--active{opacity:1;transform:translate(0) scale(1)!important}.--position-bottom--m{--rs-modal-size-s:auto;border-radius:var(--rs-radius-large) var(--rs-radius-large) 0 0;height:var(--rs-modal-size);inset:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));max-width:100%;opacity:1;overflow:auto;position:absolute;transform:translateY(100%);width:100%}.--position-bottom--m.--active,[dir=rtl] .--position-bottom--m.--active{transform:translateY(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-start--m{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:absolute;transform:translate(-100%);width:var(--rs-modal-size)}[dir=rtl] .--position-start--m{transform:translate(100%)}.--position-start--m.--active,[dir=rtl] .--position-start--m.--active{transform:translate(min(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-end--m{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:absolute;transform:translate(100%);width:var(--rs-modal-size)}[dir=rtl] .--position-end--m{transform:translate(-100%)}.--position-end--m.--active,[dir=rtl] .--position-end--m.--active{transform:translate(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-full-screen--m{--rs-modal-size-s:100%;border-radius:0;height:100%;inset:0;inset-block-start:auto;margin:0;max-height:100%;max-width:var(--rs-modal-container-width);opacity:0;overflow:auto;position:absolute;transform:translateY(var(--rs-unit-x4));width:100%}.--position-full-screen--m.--active,[dir=rtl] .--position-full-screen--m.--active{opacity:1;transform:translate(0)!important}}@media (--rs-viewport-l ){.root{--rs-modal-size:var(--rs-modal-size-l)}.--position-center--l{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-radius-large);height:auto;inset:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x8));opacity:0;overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}.--position-center--l.--active,[dir=rtl] .--position-center--l.--active{opacity:1;transform:translate(0) scale(1)!important}.--position-bottom--l{--rs-modal-size-s:auto;border-radius:var(--rs-radius-large) var(--rs-radius-large) 0 0;height:var(--rs-modal-size);inset:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));max-width:100%;opacity:1;overflow:auto;position:absolute;transform:translateY(100%);width:100%}.--position-bottom--l.--active,[dir=rtl] .--position-bottom--l.--active{transform:translateY(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-start--l{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:absolute;transform:translate(-100%);width:var(--rs-modal-size)}[dir=rtl] .--position-start--l{transform:translate(100%)}.--position-start--l.--active,[dir=rtl] .--position-start--l.--active{transform:translate(min(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-end--l{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:absolute;transform:translate(100%);width:var(--rs-modal-size)}[dir=rtl] .--position-end--l{transform:translate(-100%)}.--position-end--l.--active,[dir=rtl] .--position-end--l.--active{transform:translate(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-full-screen--l{--rs-modal-size-s:100%;border-radius:0;height:100%;inset:0;inset-block-start:auto;margin:0;max-height:100%;max-width:var(--rs-modal-container-width);opacity:0;overflow:auto;position:absolute;transform:translateY(var(--rs-unit-x4));width:100%}.--position-full-screen--l.--active,[dir=rtl] .--position-full-screen--l.--active{opacity:1;transform:translate(0)!important}}@media (--rs-viewport-xl ){.root{--rs-modal-size:var(--rs-modal-size-xl)}.--position-center--xl{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-radius-large);height:auto;inset:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x8));opacity:0;overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}.--position-center--xl.--active,[dir=rtl] .--position-center--xl.--active{opacity:1;transform:translate(0) scale(1)!important}.--position-bottom--xl{--rs-modal-size-s:auto;border-radius:var(--rs-radius-large) var(--rs-radius-large) 0 0;height:var(--rs-modal-size);inset:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));max-width:100%;opacity:1;overflow:auto;position:absolute;transform:translateY(100%);width:100%}.--position-bottom--xl.--active,[dir=rtl] .--position-bottom--xl.--active{transform:translateY(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-start--xl{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:absolute;transform:translate(-100%);width:var(--rs-modal-size)}[dir=rtl] .--position-start--xl{transform:translate(100%)}.--position-start--xl.--active,[dir=rtl] .--position-start--xl.--active{transform:translate(min(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-end--xl{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;inset:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(var(--rs-modal-container-width) - var(--rs-unit-x4));opacity:1;overflow:auto;position:absolute;transform:translate(100%);width:var(--rs-modal-size)}[dir=rtl] .--position-end--xl{transform:translate(-100%)}.--position-end--xl.--active,[dir=rtl] .--position-end--xl.--active{transform:translate(max(var(--rs-modal-drag,0px),0px)) scale(1)!important}.--position-full-screen--xl{--rs-modal-size-s:100%;border-radius:0;height:100%;inset:0;inset-block-start:auto;margin:0;max-height:100%;max-width:var(--rs-modal-container-width);opacity:0;overflow:auto;position:absolute;transform:translateY(var(--rs-unit-x4));width:100%}.--position-full-screen--xl.--active,[dir=rtl] .--position-full-screen--xl.--active{opacity:1;transform:translate(0)!important}}
@@ -13,7 +13,7 @@ import useElementId from "../../hooks/useElementId.js";
13
13
  import useHotkeys from "../../hooks/useHotkeys.js";
14
14
  import useHandlerRef from "../../hooks/useHandlerRef.js";
15
15
  import * as keys from "../../constants/keys.js";
16
- import { responsiveClassNames, responsivePropDependency } from "../../utilities/helpers.js";
16
+ import { responsiveClassNames, responsivePropDependency } from "../../utilities/props.js";
17
17
  import s from "./NumberField.module.css";
18
18
  const NumberFieldControlled = (props) => {
19
19
  const { increaseAriaLabel, decreaseAriaLabel, min, max, step = 1, name, value, onChange, size = "medium", ...textFieldProps } = props;
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from "react";
4
4
  import { onNextFrame } from "../../utilities/animation.js";
5
- import { classNames } from "../../utilities/helpers.js";
5
+ import { classNames } from "../../utilities/props.js";
6
6
  import { TrapFocus } from "../../utilities/a11y/index.js";
7
7
  import useToggle from "../../hooks/useToggle.js";
8
8
  import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
@@ -13,7 +13,7 @@ import Portal from "../_private/Portal/index.js";
13
13
  import s from "./Overlay.module.css";
14
14
  import useHandlerRef from "../../hooks/useHandlerRef.js";
15
15
  const Overlay = (props) => {
16
- const { active, children, transparent, blurred, onClose, onOpen, onAfterClose, onAfterOpen, disableCloseOnClick, containerRef, className, attributes, } = props;
16
+ const { active, children, transparent, blurred, overflow, onClose, onOpen, onAfterClose, onAfterOpen, disableCloseOnClick, containerRef, className, attributes, } = props;
17
17
  // Selectors wrapped with refs to simplify working with useEffect dependency array
18
18
  const onCloseRef = useHandlerRef(onClose);
19
19
  const onOpenRef = useHandlerRef(onOpen);
@@ -33,7 +33,7 @@ const Overlay = (props) => {
33
33
  const { active: visible, activate: show, deactivate: hide } = useToggle(active || false);
34
34
  // Check that when close was triggered there were no other overlays / flyouts rendered above it
35
35
  const isDismissible = useIsDismissible({ active, contentRef, blocking: true });
36
- const rootClassNames = classNames(s.root, visible && s["--visible"], isTransparent && s["--click-through"], blurred && s["--blurred"], animated && s["--animated"], containerRef && s["--contained"], className);
36
+ const rootClassNames = classNames(s.root, visible && s["--visible"], isTransparent && s["--click-through"], blurred && s["--blurred"], animated && s["--animated"], containerRef && s["--contained"], overflow === "auto" && s["--overflow-auto"], className);
37
37
  const isInsideContent = (el) => {
38
38
  if (!contentRef.current)
39
39
  return;
@@ -1 +1 @@
1
- .root{--rs-overlay-offset-y:0px;--rs-overlay-offset-x:0px;overflow:auto;overflow-x:clip;position:fixed;-webkit-overflow-scrolling:touch;background-color:rgba(var(--rs-color-rgb-black),0);color:var(--rs-color-white);cursor:default!important;left:var(--rs-overlay-offset-x);opacity:0;outline:none;top:var(--rs-overlay-offset-y);z-index:var(--rs-z-index-overlay)}.root,.wrapper{height:100%;width:100%}.wrapper{display:table}.inner{display:table-cell;text-align:center}.content,.inner{vertical-align:middle}.content{display:inline-block;text-align:initial}.root.--visible{background-color:rgba(var(--rs-color-rgb-black),var(--rs-overlay-opacity));opacity:1}.root.--click-through{color:inherit;pointer-events:none}.root.--blurred{backdrop-filter:blur(3px);height:calc(100% + 2px);left:calc(var(--rs-overlay-offset-x) - 1px);top:calc(var(--rs-overlay-offset-y) - 1px);width:calc(100% + 2px)}.root.--click-through .content,.root.--click-through>:not(.wrapper){pointer-events:all}.root.--contained{position:absolute}.root.--animated{transition:var(--rs-duration-medium) var(--rs-easing-accelerate);transition-property:background-color,opacity}.root.--animated.--visible{transition-timing-function:var(--rs-easing-decelerate)}
1
+ .root{--rs-overlay-offset-y:0px;--rs-overlay-offset-x:0px;overflow-x:clip;position:fixed;-webkit-overflow-scrolling:touch;background-color:rgba(var(--rs-color-rgb-black),0);color:var(--rs-color-white);cursor:default!important;left:var(--rs-overlay-offset-x);opacity:0;outline:none;top:var(--rs-overlay-offset-y);z-index:var(--rs-z-index-overlay)}.root,.wrapper{height:100%;width:100%}.wrapper{display:table}.inner{display:table-cell;text-align:center}.content,.inner{vertical-align:middle}.content{display:inline-block;text-align:initial}.root.--visible{background-color:rgba(var(--rs-color-rgb-black),var(--rs-overlay-opacity));opacity:1}.root.--click-through{color:inherit;pointer-events:none}.root.--blurred{backdrop-filter:blur(3px);height:calc(100% + 2px);left:calc(var(--rs-overlay-offset-x) - 1px);top:calc(var(--rs-overlay-offset-y) - 1px);width:calc(100% + 2px)}.root.--click-through .content,.root.--click-through>:not(.wrapper){pointer-events:all}.root.--contained{position:absolute}.root.--animated{transition:var(--rs-duration-medium) var(--rs-easing-accelerate);transition-property:background-color,opacity}.root.--animated.--visible{transition-timing-function:var(--rs-easing-decelerate)}.root.--overflow-auto{overflow:auto}
@@ -4,6 +4,7 @@ export type CloseReason = "overlay-click" | "escape-key";
4
4
  export type Props = {
5
5
  transparent?: boolean | number;
6
6
  blurred?: boolean;
7
+ overflow?: "auto" | "hidden";
7
8
  children?: React.ReactNode | ((props: {
8
9
  active: boolean;
9
10
  }) => React.ReactNode);
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import { responsivePropDependency } from "../../utilities/helpers.js";
4
+ import { responsivePropDependency } from "../../utilities/props.js";
5
5
  import View from "../View/index.js";
6
6
  import Text from "../Text/index.js";
7
7
  import useHotkeys from "../../hooks/useHotkeys.js";
@@ -1,15 +1,15 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { classNames } from "../../utilities/helpers.js";
2
+ import { classNames } from "../../utilities/props.js";
3
3
  import Flyout, { useFlyoutContext } from "../Flyout/index.js";
4
4
  import Dismissible from "../Dismissible/index.js";
5
5
  import s from "./Popover.module.css";
6
6
  import getPaddingStyles from "../../styles/padding/index.js";
7
7
  const Popover = (props) => {
8
- const { width, variant = "elevated", triggerType = "click", position = "bottom", ...flyoutProps } = props;
8
+ const { width, variant = "elevated", triggerType = "click", position = "bottom", elevation, ...flyoutProps } = props;
9
9
  const padding = props.padding ?? (variant === "headless" ? 0 : 4);
10
10
  const trapFocusMode = props.trapFocusMode || (triggerType === "hover" ? "content-menu" : undefined);
11
11
  const paddingStyles = getPaddingStyles(padding);
12
- const contentClassName = classNames(s.content, !!width && s["content--has-width"], variant && s[`content--variant-${variant}`]);
12
+ const contentClassName = classNames(s.content, !!width && s["content--has-width"], variant && s[`content--variant-${variant}`], elevation && s[`content--elevation-${elevation}`]);
13
13
  return (_jsx(Flyout, { ...flyoutProps, position: position, trapFocusMode: trapFocusMode, triggerType: triggerType, width: width, contentClassName: contentClassName, contentAttributes: { style: { ...paddingStyles?.variables } } }));
14
14
  };
15
15
  const PopoverDismissible = (props) => {
@@ -1 +1 @@
1
- .content{max-width:360px}.content--variant-elevated{background:var(--rs-color-background-elevation-overlay);border:1px solid var(--rs-color-border-neutral-faded);border-radius:var(--rs-radius-medium);box-shadow:var(--rs-shadow-overlay);color:var(--rs-color-foreground-neutral);min-width:220px;overflow:hidden}.content.content--has-width{max-width:none;min-width:0}@media (--rs-viewport-s ){.content{max-width:none}}
1
+ .content{max-width:360px}.content--variant-elevated{background:var(--rs-color-background-elevation-overlay);border:1px solid var(--rs-color-border-neutral-faded);border-radius:var(--rs-radius-medium);box-shadow:var(--rs-shadow-overlay);color:var(--rs-color-foreground-neutral);min-width:220px;overflow:hidden}.content--variant-elevated.content--elevation-raised{box-shadow:var(--rs-shadow-raised)}.content.content--has-width{max-width:none;min-width:0}@media (--rs-viewport-s ){.content{max-width:none}}
@@ -4,6 +4,7 @@ export type Instance = FlyoutInstance;
4
4
  export type Props = Pick<FlyoutProps, "id" | "position" | "forcePosition" | "fallbackPositions" | "onOpen" | "onClose" | "width" | "trapFocusMode" | "active" | "defaultActive" | "contentGap" | "contentShift" | "instanceRef" | "triggerType" | "disableHideAnimation" | "disableContentHover" | "disableCloseOnOutsideClick" | "containerRef" | "initialFocusRef" | "originCoordinates"> & {
5
5
  children?: React.ReactNode;
6
6
  padding?: number;
7
+ elevation?: "raised" | "overlay";
7
8
  /** @deprecated use Flyout utility instead, will be removed in v4 */
8
9
  variant?: "elevated" | "headless";
9
10
  };
@@ -1,3 +1,5 @@
1
+ import { StoryObj } from "@storybook/react";
2
+ import { fn } from "@storybook/test";
1
3
  declare const _default: {
2
4
  title: string;
3
5
  component: import("react").FC<import("./..").PopoverProps> & {
@@ -12,10 +14,47 @@ declare const _default: {
12
14
  };
13
15
  };
14
16
  export default _default;
15
- export declare const position: () => import("react").JSX.Element;
16
- export declare const width: () => import("react").JSX.Element;
17
- export declare const variant: () => import("react").JSX.Element;
18
- export declare const padding: () => import("react").JSX.Element;
19
- export declare const triggerType: () => import("react").JSX.Element;
20
- export declare const dismissible: () => import("react").JSX.Element;
21
- export declare const edgeCases: () => import("react").JSX.Element;
17
+ export declare const position: {
18
+ name: string;
19
+ render: () => import("react").JSX.Element;
20
+ };
21
+ export declare const widthNumber: {
22
+ name: string;
23
+ render: () => import("react").JSX.Element;
24
+ };
25
+ export declare const widthFull: {
26
+ name: string;
27
+ render: () => import("react").JSX.Element;
28
+ };
29
+ export declare const padding: {
30
+ name: string;
31
+ render: () => import("react").JSX.Element;
32
+ };
33
+ export declare const elevation: {
34
+ name: string;
35
+ render: () => import("react").JSX.Element;
36
+ };
37
+ export declare const defaultActive: StoryObj<{
38
+ handleOpen: ReturnType<typeof fn>;
39
+ handleClose: ReturnType<typeof fn>;
40
+ }>;
41
+ export declare const active: StoryObj<{
42
+ handleOpen: ReturnType<typeof fn>;
43
+ handleClose: ReturnType<typeof fn>;
44
+ }>;
45
+ export declare const activeFalse: StoryObj<{
46
+ handleOpen: ReturnType<typeof fn>;
47
+ handleClose: ReturnType<typeof fn>;
48
+ }>;
49
+ export declare const dismissible: StoryObj<{
50
+ handleClose: ReturnType<typeof fn>;
51
+ }>;
52
+ export declare const className: StoryObj;
53
+ export declare const testWithTooltip: {
54
+ name: string;
55
+ render: () => import("react").JSX.Element;
56
+ };
57
+ export declare const variant: {
58
+ name: string;
59
+ render: () => import("react").JSX.Element;
60
+ };