@sanity/ui 2.13.5 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks-cjs/_visual-editing.js +18 -2
- package/dist/_chunks-cjs/_visual-editing.js.map +1 -1
- package/dist/_chunks-es/_visual-editing.mjs +18 -2
- package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
- package/dist/_legacy/_visual-editing.esm.js +18 -2
- package/dist/_legacy/_visual-editing.esm.js.map +1 -1
- package/dist/_visual-editing.d.mts +7 -0
- package/dist/_visual-editing.d.ts +7 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.d.ts +7 -0
- package/package.json +1 -1
- package/src/core/primitives/popover/popover.tsx +18 -1
|
@@ -526,6 +526,13 @@ declare interface PopoverProps
|
|
|
526
526
|
* @defaultValue false
|
|
527
527
|
*/
|
|
528
528
|
matchReferenceWidth?: boolean
|
|
529
|
+
/**
|
|
530
|
+
* When true, blocks all pointer interaction with elements beneath the popover until closed.
|
|
531
|
+
*
|
|
532
|
+
* @beta
|
|
533
|
+
* @defaultValue false
|
|
534
|
+
*/
|
|
535
|
+
modal?: boolean
|
|
529
536
|
open?: boolean
|
|
530
537
|
overflow?: BoxOverflow
|
|
531
538
|
padding?: number | number[]
|
|
@@ -526,6 +526,13 @@ declare interface PopoverProps
|
|
|
526
526
|
* @defaultValue false
|
|
527
527
|
*/
|
|
528
528
|
matchReferenceWidth?: boolean
|
|
529
|
+
/**
|
|
530
|
+
* When true, blocks all pointer interaction with elements beneath the popover until closed.
|
|
531
|
+
*
|
|
532
|
+
* @beta
|
|
533
|
+
* @defaultValue false
|
|
534
|
+
*/
|
|
535
|
+
modal?: boolean
|
|
529
536
|
open?: boolean
|
|
530
537
|
overflow?: BoxOverflow
|
|
531
538
|
padding?: number | number[]
|
package/dist/index.d.mts
CHANGED
|
@@ -1585,6 +1585,13 @@ export declare interface PopoverProps
|
|
|
1585
1585
|
* @defaultValue false
|
|
1586
1586
|
*/
|
|
1587
1587
|
matchReferenceWidth?: boolean
|
|
1588
|
+
/**
|
|
1589
|
+
* When true, blocks all pointer interaction with elements beneath the popover until closed.
|
|
1590
|
+
*
|
|
1591
|
+
* @beta
|
|
1592
|
+
* @defaultValue false
|
|
1593
|
+
*/
|
|
1594
|
+
modal?: boolean
|
|
1588
1595
|
open?: boolean
|
|
1589
1596
|
overflow?: BoxOverflow
|
|
1590
1597
|
padding?: number | number[]
|
package/dist/index.d.ts
CHANGED
|
@@ -1585,6 +1585,13 @@ export declare interface PopoverProps
|
|
|
1585
1585
|
* @defaultValue false
|
|
1586
1586
|
*/
|
|
1587
1587
|
matchReferenceWidth?: boolean
|
|
1588
|
+
/**
|
|
1589
|
+
* When true, blocks all pointer interaction with elements beneath the popover until closed.
|
|
1590
|
+
*
|
|
1591
|
+
* @beta
|
|
1592
|
+
* @defaultValue false
|
|
1593
|
+
*/
|
|
1594
|
+
modal?: boolean
|
|
1588
1595
|
open?: boolean
|
|
1589
1596
|
overflow?: BoxOverflow
|
|
1590
1597
|
padding?: number | number[]
|
package/package.json
CHANGED
|
@@ -27,7 +27,7 @@ import {useArrayProp, useElementSize, useMediaIndex, usePrefersReducedMotion} fr
|
|
|
27
27
|
import {origin} from '../../middleware/origin'
|
|
28
28
|
import {useTheme_v2} from '../../theme'
|
|
29
29
|
import {BoxOverflow, CardTone, Placement, PopoverMargins} from '../../types'
|
|
30
|
-
import {LayerProps, LayerProvider, Portal, useBoundaryElement} from '../../utils'
|
|
30
|
+
import {LayerProps, LayerProvider, Portal, useBoundaryElement, useLayer} from '../../utils'
|
|
31
31
|
import {getElementRef} from '../../utils/getElementRef'
|
|
32
32
|
import {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'
|
|
33
33
|
import {
|
|
@@ -86,6 +86,13 @@ export interface PopoverProps
|
|
|
86
86
|
* @defaultValue false
|
|
87
87
|
*/
|
|
88
88
|
matchReferenceWidth?: boolean
|
|
89
|
+
/**
|
|
90
|
+
* When true, blocks all pointer interaction with elements beneath the popover until closed.
|
|
91
|
+
*
|
|
92
|
+
* @beta
|
|
93
|
+
* @defaultValue false
|
|
94
|
+
*/
|
|
95
|
+
modal?: boolean
|
|
89
96
|
open?: boolean
|
|
90
97
|
overflow?: BoxOverflow
|
|
91
98
|
padding?: number | number[]
|
|
@@ -108,6 +115,12 @@ export interface PopoverProps
|
|
|
108
115
|
width?: PopoverWidth | PopoverWidth[]
|
|
109
116
|
}
|
|
110
117
|
|
|
118
|
+
const ViewportOverlay = () => {
|
|
119
|
+
const {zIndex} = useLayer()
|
|
120
|
+
|
|
121
|
+
return <div style={{height: '100vh', inset: 0, position: 'fixed', width: '100vw', zIndex}} />
|
|
122
|
+
}
|
|
123
|
+
|
|
111
124
|
/**
|
|
112
125
|
* The `Popover` component is used to display some content on top of another.
|
|
113
126
|
*
|
|
@@ -135,6 +148,7 @@ export const Popover = memo(
|
|
|
135
148
|
DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],
|
|
136
149
|
matchReferenceWidth,
|
|
137
150
|
floatingBoundary = props.boundaryElement ?? boundaryElementContext.element,
|
|
151
|
+
modal,
|
|
138
152
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
139
153
|
onActivate,
|
|
140
154
|
open,
|
|
@@ -395,6 +409,9 @@ export const Popover = memo(
|
|
|
395
409
|
|
|
396
410
|
const popover = (
|
|
397
411
|
<LayerProvider zOffset={zOffset}>
|
|
412
|
+
{/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned before the below popover card. */}
|
|
413
|
+
{modal && <ViewportOverlay />}
|
|
414
|
+
|
|
398
415
|
<PopoverCard
|
|
399
416
|
{...restProps}
|
|
400
417
|
__unstable_margins={margins}
|