@fluentui/react-popover 9.0.0-alpha.45 → 9.0.0-alpha.49
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/CHANGELOG.json +267 -3
- package/CHANGELOG.md +73 -3
- package/Spec.md +6 -6
- package/dist/react-popover.d.ts +41 -33
- package/lib/Popover.js.map +1 -1
- package/lib/PopoverSurface.js.map +1 -1
- package/lib/PopoverTrigger.js.map +1 -1
- package/lib/common/isConformant.js.map +1 -1
- package/lib/common/mockUsePopoverContext.js.map +1 -1
- package/lib/components/Popover/Popover.js.map +1 -1
- package/lib/components/Popover/Popover.types.d.ts +10 -16
- package/lib/components/Popover/Popover.types.js.map +1 -1
- package/lib/components/Popover/index.js.map +1 -1
- package/lib/components/Popover/renderPopover.js +2 -4
- package/lib/components/Popover/renderPopover.js.map +1 -1
- package/lib/components/Popover/usePopover.d.ts +1 -2
- package/lib/components/Popover/usePopover.js +1 -2
- package/lib/components/Popover/usePopover.js.map +1 -1
- package/lib/components/PopoverSurface/PopoverSurface.d.ts +19 -2
- package/lib/components/PopoverSurface/PopoverSurface.js.map +1 -1
- package/lib/components/PopoverSurface/PopoverSurface.types.d.ts +3 -4
- package/lib/components/PopoverSurface/PopoverSurface.types.js.map +1 -1
- package/lib/components/PopoverSurface/index.js.map +1 -1
- package/lib/components/PopoverSurface/renderPopoverSurface.js.map +1 -1
- package/lib/components/PopoverSurface/usePopoverSurface.d.ts +0 -1
- package/lib/components/PopoverSurface/usePopoverSurface.js +6 -14
- package/lib/components/PopoverSurface/usePopoverSurface.js.map +1 -1
- package/lib/components/PopoverSurface/usePopoverSurfaceStyles.js +1 -1
- package/lib/components/PopoverSurface/usePopoverSurfaceStyles.js.map +1 -1
- package/lib/components/PopoverTrigger/PopoverTrigger.js.map +1 -1
- package/lib/components/PopoverTrigger/PopoverTrigger.types.d.ts +3 -4
- package/lib/components/PopoverTrigger/PopoverTrigger.types.js.map +1 -1
- package/lib/components/PopoverTrigger/index.js.map +1 -1
- package/lib/components/PopoverTrigger/renderPopoverTrigger.js.map +1 -1
- package/lib/components/PopoverTrigger/usePopoverTrigger.d.ts +1 -2
- package/lib/components/PopoverTrigger/usePopoverTrigger.js +5 -5
- package/lib/components/PopoverTrigger/usePopoverTrigger.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/popoverContext.d.ts +2 -3
- package/lib/popoverContext.js.map +1 -1
- package/lib-commonjs/Popover.js.map +1 -1
- package/lib-commonjs/PopoverSurface.js.map +1 -1
- package/lib-commonjs/PopoverTrigger.js.map +1 -1
- package/lib-commonjs/common/isConformant.js.map +1 -1
- package/lib-commonjs/common/mockUsePopoverContext.js.map +1 -1
- package/lib-commonjs/components/Popover/Popover.js.map +1 -1
- package/lib-commonjs/components/Popover/Popover.types.d.ts +10 -16
- package/lib-commonjs/components/Popover/Popover.types.js.map +1 -1
- package/lib-commonjs/components/Popover/index.js.map +1 -1
- package/lib-commonjs/components/Popover/renderPopover.js +2 -4
- package/lib-commonjs/components/Popover/renderPopover.js.map +1 -1
- package/lib-commonjs/components/Popover/usePopover.d.ts +1 -2
- package/lib-commonjs/components/Popover/usePopover.js +1 -2
- package/lib-commonjs/components/Popover/usePopover.js.map +1 -1
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.d.ts +19 -2
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.js.map +1 -1
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.d.ts +3 -4
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.js.map +1 -1
- package/lib-commonjs/components/PopoverSurface/index.js.map +1 -1
- package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.js.map +1 -1
- package/lib-commonjs/components/PopoverSurface/usePopoverSurface.d.ts +0 -1
- package/lib-commonjs/components/PopoverSurface/usePopoverSurface.js +6 -14
- package/lib-commonjs/components/PopoverSurface/usePopoverSurface.js.map +1 -1
- package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.js +1 -1
- package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.js.map +1 -1
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.js.map +1 -1
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.d.ts +3 -4
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.js.map +1 -1
- package/lib-commonjs/components/PopoverTrigger/index.js.map +1 -1
- package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.js.map +1 -1
- package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.d.ts +1 -2
- package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.js +5 -5
- package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.js.map +1 -1
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/popoverContext.d.ts +2 -3
- package/lib-commonjs/popoverContext.js.map +1 -1
- package/package.json +11 -11
- package/lib-amd/Popover.d.ts +0 -1
- package/lib-amd/Popover.js +0 -6
- package/lib-amd/Popover.js.map +0 -1
- package/lib-amd/PopoverSurface.d.ts +0 -1
- package/lib-amd/PopoverSurface.js +0 -6
- package/lib-amd/PopoverSurface.js.map +0 -1
- package/lib-amd/PopoverTrigger.d.ts +0 -1
- package/lib-amd/PopoverTrigger.js +0 -6
- package/lib-amd/PopoverTrigger.js.map +0 -1
- package/lib-amd/common/isConformant.d.ts +0 -4
- package/lib-amd/common/isConformant.js +0 -17
- package/lib-amd/common/isConformant.js.map +0 -1
- package/lib-amd/common/mockUsePopoverContext.d.ts +0 -7
- package/lib-amd/common/mockUsePopoverContext.js +0 -20
- package/lib-amd/common/mockUsePopoverContext.js.map +0 -1
- package/lib-amd/components/Popover/Popover.d.ts +0 -6
- package/lib-amd/components/Popover/Popover.js +0 -15
- package/lib-amd/components/Popover/Popover.js.map +0 -1
- package/lib-amd/components/Popover/Popover.types.d.ts +0 -106
- package/lib-amd/components/Popover/Popover.types.js +0 -5
- package/lib-amd/components/Popover/Popover.types.js.map +0 -1
- package/lib-amd/components/Popover/index.d.ts +0 -4
- package/lib-amd/components/Popover/index.js +0 -9
- package/lib-amd/components/Popover/index.js.map +0 -1
- package/lib-amd/components/Popover/renderPopover.d.ts +0 -5
- package/lib-amd/components/Popover/renderPopover.js +0 -28
- package/lib-amd/components/Popover/renderPopover.js.map +0 -1
- package/lib-amd/components/Popover/usePopover.d.ts +0 -11
- package/lib-amd/components/Popover/usePopover.js +0 -91
- package/lib-amd/components/Popover/usePopover.js.map +0 -1
- package/lib-amd/components/PopoverSurface/PopoverSurface.d.ts +0 -6
- package/lib-amd/components/PopoverSurface/PopoverSurface.js +0 -15
- package/lib-amd/components/PopoverSurface/PopoverSurface.js.map +0 -1
- package/lib-amd/components/PopoverSurface/PopoverSurface.types.d.ts +0 -22
- package/lib-amd/components/PopoverSurface/PopoverSurface.types.js +0 -5
- package/lib-amd/components/PopoverSurface/PopoverSurface.types.js.map +0 -1
- package/lib-amd/components/PopoverSurface/index.d.ts +0 -5
- package/lib-amd/components/PopoverSurface/index.js +0 -10
- package/lib-amd/components/PopoverSurface/index.js.map +0 -1
- package/lib-amd/components/PopoverSurface/renderPopoverSurface.d.ts +0 -5
- package/lib-amd/components/PopoverSurface/renderPopoverSurface.js +0 -21
- package/lib-amd/components/PopoverSurface/renderPopoverSurface.js.map +0 -1
- package/lib-amd/components/PopoverSurface/usePopoverSurface.d.ts +0 -14
- package/lib-amd/components/PopoverSurface/usePopoverSurface.js +0 -71
- package/lib-amd/components/PopoverSurface/usePopoverSurface.js.map +0 -1
- package/lib-amd/components/PopoverSurface/usePopoverSurfaceStyles.d.ts +0 -7
- package/lib-amd/components/PopoverSurface/usePopoverSurfaceStyles.js +0 -81
- package/lib-amd/components/PopoverSurface/usePopoverSurfaceStyles.js.map +0 -1
- package/lib-amd/components/PopoverTrigger/PopoverTrigger.d.ts +0 -6
- package/lib-amd/components/PopoverTrigger/PopoverTrigger.js +0 -15
- package/lib-amd/components/PopoverTrigger/PopoverTrigger.js.map +0 -1
- package/lib-amd/components/PopoverTrigger/PopoverTrigger.types.d.ts +0 -12
- package/lib-amd/components/PopoverTrigger/PopoverTrigger.types.js +0 -5
- package/lib-amd/components/PopoverTrigger/PopoverTrigger.types.js.map +0 -1
- package/lib-amd/components/PopoverTrigger/index.d.ts +0 -4
- package/lib-amd/components/PopoverTrigger/index.js +0 -9
- package/lib-amd/components/PopoverTrigger/index.js.map +0 -1
- package/lib-amd/components/PopoverTrigger/renderPopoverTrigger.d.ts +0 -5
- package/lib-amd/components/PopoverTrigger/renderPopoverTrigger.js +0 -13
- package/lib-amd/components/PopoverTrigger/renderPopoverTrigger.js.map +0 -1
- package/lib-amd/components/PopoverTrigger/usePopoverTrigger.d.ts +0 -11
- package/lib-amd/components/PopoverTrigger/usePopoverTrigger.js +0 -72
- package/lib-amd/components/PopoverTrigger/usePopoverTrigger.js.map +0 -1
- package/lib-amd/index.d.ts +0 -4
- package/lib-amd/index.js +0 -9
- package/lib-amd/index.js.map +0 -1
- package/lib-amd/popoverContext.d.ts +0 -9
- package/lib-amd/popoverContext.js +0 -21
- package/lib-amd/popoverContext.js.map +0 -1
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
define(["require", "exports", "./usePopover", "./renderPopover"], function (require, exports, usePopover_1, renderPopover_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Popover = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* Wrapper component that manages state for a PopoverTrigger and a PopoverSurface components.
|
|
7
|
-
*/
|
|
8
|
-
var Popover = function (props) {
|
|
9
|
-
var state = usePopover_1.usePopover(props);
|
|
10
|
-
return renderPopover_1.renderPopover(state);
|
|
11
|
-
};
|
|
12
|
-
exports.Popover = Popover;
|
|
13
|
-
exports.Popover.displayName = 'Popover';
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=Popover.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sourceRoot":"../src/","sources":["components/Popover/Popover.tsx"],"names":[],"mappings":";;;;IAKA;;OAEG;IACI,IAAM,OAAO,GAA2B,UAAA,KAAK;QAClD,IAAM,KAAK,GAAG,uBAAU,CAAC,KAAK,CAAC,CAAC;QAEhC,OAAO,6BAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAJW,QAAA,OAAO,WAIlB;IAEF,eAAO,CAAC,WAAW,GAAG,SAAS,CAAC","sourcesContent":["import * as React from 'react';\nimport { usePopover } from './usePopover';\nimport { renderPopover } from './renderPopover';\nimport type { PopoverProps } from './Popover.types';\n\n/**\n * Wrapper component that manages state for a PopoverTrigger and a PopoverSurface components.\n */\nexport const Popover: React.FC<PopoverProps> = props => {\n const state = usePopover(props);\n\n return renderPopover(state);\n};\n\nPopover.displayName = 'Popover';\n"]}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import type { PopperVirtualElement, PositioningShorthand, usePopperMouseTarget } from '@fluentui/react-positioning';
|
|
3
|
-
import type { PortalProps } from '@fluentui/react-portal';
|
|
4
|
-
/**
|
|
5
|
-
* Determines popover padding and arrow size
|
|
6
|
-
*/
|
|
7
|
-
export declare type PopoverSize = 'small' | 'medium' | 'large';
|
|
8
|
-
export interface PopoverCommons extends Pick<PortalProps, 'mountNode'> {
|
|
9
|
-
/**
|
|
10
|
-
* Controls the opening of the Popover
|
|
11
|
-
*/
|
|
12
|
-
open: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Used to set the initial open state of the Popover in uncontrolled mode
|
|
15
|
-
*/
|
|
16
|
-
defaultOpen?: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Call back when the component requests to change value
|
|
19
|
-
* The `open` value is used as a hint when directly controlling the component
|
|
20
|
-
*/
|
|
21
|
-
onOpenChange?: (e: OpenPopoverEvents, data: OnOpenChangeData) => void;
|
|
22
|
-
/**
|
|
23
|
-
* Flag to open the Popover by hovering the trigger
|
|
24
|
-
*/
|
|
25
|
-
openOnHover?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Flag to open the Popover as a context menu. Disables all other interactions
|
|
28
|
-
*/
|
|
29
|
-
openOnContext?: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Do not display the arrow
|
|
32
|
-
*/
|
|
33
|
-
noArrow?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Determines popover padding and arrow size
|
|
36
|
-
* @default medium
|
|
37
|
-
*/
|
|
38
|
-
size?: PopoverSize;
|
|
39
|
-
/**
|
|
40
|
-
* Uses brand colour as background
|
|
41
|
-
* Mutually exclusive with `inverted`
|
|
42
|
-
*/
|
|
43
|
-
brand?: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Inverts the foreground/background colour of the popover
|
|
46
|
-
* Mutually exclusive with `brand`
|
|
47
|
-
*/
|
|
48
|
-
inverted?: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Should trap focus
|
|
51
|
-
*/
|
|
52
|
-
trapFocus?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Configures the position of the Popover
|
|
55
|
-
*/
|
|
56
|
-
positioning?: PositioningShorthand;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Popover Props
|
|
60
|
-
*/
|
|
61
|
-
export interface PopoverProps extends Partial<PopoverCommons> {
|
|
62
|
-
/**
|
|
63
|
-
* Can contain two children including {@link PopoverTrigger} and {@link PopoverPopover}.
|
|
64
|
-
* Alternatively can only contain {@link PopoverPopover} if using a custom `target`.
|
|
65
|
-
*/
|
|
66
|
-
children: [JSX.Element, JSX.Element] | JSX.Element;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Popover State
|
|
70
|
-
*/
|
|
71
|
-
export interface PopoverState extends PopoverCommons, Pick<PopoverProps, 'children'> {
|
|
72
|
-
/**
|
|
73
|
-
* Callback to open/close the Popover
|
|
74
|
-
*/
|
|
75
|
-
setOpen: (e: OpenPopoverEvents, open: boolean) => void;
|
|
76
|
-
/**
|
|
77
|
-
* Ref of the PopoverTrigger
|
|
78
|
-
*/
|
|
79
|
-
triggerRef: React.MutableRefObject<HTMLElement | null>;
|
|
80
|
-
/**
|
|
81
|
-
* Ref of the PopoverSurface
|
|
82
|
-
*/
|
|
83
|
-
contentRef: React.MutableRefObject<HTMLElement | null>;
|
|
84
|
-
/**
|
|
85
|
-
* Ref of the pointing arrow
|
|
86
|
-
*/
|
|
87
|
-
arrowRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
88
|
-
/**
|
|
89
|
-
* Anchors the popper to the mouse click for context events
|
|
90
|
-
*/
|
|
91
|
-
contextTarget: PopperVirtualElement | undefined;
|
|
92
|
-
/**
|
|
93
|
-
* A callback to set the target of the popper to the mouse click for context events
|
|
94
|
-
*/
|
|
95
|
-
setContextTarget: ReturnType<typeof usePopperMouseTarget>[1];
|
|
96
|
-
size: NonNullable<PopoverProps['size']>;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Data attached to open/close events
|
|
100
|
-
*/
|
|
101
|
-
export interface OnOpenChangeData extends Pick<PopoverState, 'open'> {
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* The supported events that will trigger open/close of the menu
|
|
105
|
-
*/
|
|
106
|
-
export declare type OpenPopoverEvents = MouseEvent | TouchEvent | React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.FocusEvent<HTMLElement>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.types.js","sourceRoot":"../src/","sources":["components/Popover/Popover.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { PopperVirtualElement, PositioningShorthand, usePopperMouseTarget } from '@fluentui/react-positioning';\nimport type { PortalProps } from '@fluentui/react-portal';\n\n/**\n * Determines popover padding and arrow size\n */\nexport type PopoverSize = 'small' | 'medium' | 'large';\n\nexport interface PopoverCommons extends Pick<PortalProps, 'mountNode'> {\n /**\n * Controls the opening of the Popover\n */\n open: boolean;\n /**\n * Used to set the initial open state of the Popover in uncontrolled mode\n */\n defaultOpen?: boolean;\n /**\n * Call back when the component requests to change value\n * The `open` value is used as a hint when directly controlling the component\n */\n onOpenChange?: (e: OpenPopoverEvents, data: OnOpenChangeData) => void;\n /**\n * Flag to open the Popover by hovering the trigger\n */\n openOnHover?: boolean;\n /**\n * Flag to open the Popover as a context menu. Disables all other interactions\n */\n openOnContext?: boolean;\n /**\n * Do not display the arrow\n */\n noArrow?: boolean;\n /**\n * Determines popover padding and arrow size\n * @default medium\n */\n size?: PopoverSize;\n /**\n * Uses brand colour as background\n * Mutually exclusive with `inverted`\n */\n brand?: boolean;\n /**\n * Inverts the foreground/background colour of the popover\n * Mutually exclusive with `brand`\n */\n inverted?: boolean;\n\n /**\n * Should trap focus\n */\n trapFocus?: boolean;\n\n /**\n * Configures the position of the Popover\n */\n positioning?: PositioningShorthand;\n}\n\n/**\n * Popover Props\n */\nexport interface PopoverProps extends Partial<PopoverCommons> {\n /**\n * Can contain two children including {@link PopoverTrigger} and {@link PopoverPopover}.\n * Alternatively can only contain {@link PopoverPopover} if using a custom `target`.\n */\n children: [JSX.Element, JSX.Element] | JSX.Element;\n}\n\n/**\n * Popover State\n */\nexport interface PopoverState extends PopoverCommons, Pick<PopoverProps, 'children'> {\n /**\n * Callback to open/close the Popover\n */\n setOpen: (e: OpenPopoverEvents, open: boolean) => void;\n /**\n * Ref of the PopoverTrigger\n */\n triggerRef: React.MutableRefObject<HTMLElement | null>;\n /**\n * Ref of the PopoverSurface\n */\n contentRef: React.MutableRefObject<HTMLElement | null>;\n /**\n * Ref of the pointing arrow\n */\n arrowRef: React.MutableRefObject<HTMLDivElement | null>;\n /**\n * Anchors the popper to the mouse click for context events\n */\n contextTarget: PopperVirtualElement | undefined;\n /**\n * A callback to set the target of the popper to the mouse click for context events\n */\n setContextTarget: ReturnType<typeof usePopperMouseTarget>[1];\n\n size: NonNullable<PopoverProps['size']>;\n}\n\n/**\n * Data attached to open/close events\n */\nexport interface OnOpenChangeData extends Pick<PopoverState, 'open'> {}\n\n/**\n * The supported events that will trigger open/close of the menu\n */\nexport type OpenPopoverEvents =\n | MouseEvent\n | TouchEvent\n | React.MouseEvent<HTMLElement>\n | React.KeyboardEvent<HTMLElement>\n | React.FocusEvent<HTMLElement>;\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
define(["require", "exports", "tslib", "./Popover", "./Popover.types", "./renderPopover", "./usePopover"], function (require, exports, tslib_1, Popover_1, Popover_types_1, renderPopover_1, usePopover_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
tslib_1.__exportStar(Popover_1, exports);
|
|
5
|
-
tslib_1.__exportStar(Popover_types_1, exports);
|
|
6
|
-
tslib_1.__exportStar(renderPopover_1, exports);
|
|
7
|
-
tslib_1.__exportStar(usePopover_1, exports);
|
|
8
|
-
});
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/Popover/index.ts"],"names":[],"mappings":";;;IAAA,yCAA0B;IAC1B,+CAAgC;IAChC,+CAAgC;IAChC,4CAA6B","sourcesContent":["export * from './Popover';\nexport * from './Popover.types';\nexport * from './renderPopover';\nexport * from './usePopover';\n"]}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
define(["require", "exports", "react", "../../popoverContext"], function (require, exports, React, popoverContext_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.renderPopover = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* Render the final JSX of Popover
|
|
7
|
-
*/
|
|
8
|
-
var renderPopover = function (state) {
|
|
9
|
-
var open = state.open, setOpen = state.setOpen, triggerRef = state.triggerRef, contentRef = state.contentRef, openOnContext = state.openOnContext, openOnHover = state.openOnHover, mountNode = state.mountNode, arrowRef = state.arrowRef, size = state.size, noArrow = state.noArrow, brand = state.brand, inverted = state.inverted, trapFocus = state.trapFocus;
|
|
10
|
-
return (React.createElement(popoverContext_1.PopoverContext.Provider, { value: {
|
|
11
|
-
open: open,
|
|
12
|
-
setOpen: setOpen,
|
|
13
|
-
triggerRef: triggerRef,
|
|
14
|
-
contentRef: contentRef,
|
|
15
|
-
openOnHover: openOnHover,
|
|
16
|
-
openOnContext: openOnContext,
|
|
17
|
-
mountNode: mountNode,
|
|
18
|
-
arrowRef: arrowRef,
|
|
19
|
-
size: size,
|
|
20
|
-
noArrow: noArrow,
|
|
21
|
-
brand: brand,
|
|
22
|
-
inverted: inverted,
|
|
23
|
-
trapFocus: trapFocus,
|
|
24
|
-
} }, state.children));
|
|
25
|
-
};
|
|
26
|
-
exports.renderPopover = renderPopover;
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=renderPopover.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderPopover.js","sourceRoot":"../src/","sources":["components/Popover/renderPopover.tsx"],"names":[],"mappings":";;;;IAIA;;OAEG;IACI,IAAM,aAAa,GAAG,UAAC,KAAmB;QAE7C,IAAA,IAAI,GAaF,KAAK,KAbH,EACJ,OAAO,GAYL,KAAK,QAZA,EACP,UAAU,GAWR,KAAK,WAXG,EACV,UAAU,GAUR,KAAK,WAVG,EACV,aAAa,GASX,KAAK,cATM,EACb,WAAW,GAQT,KAAK,YARI,EACX,SAAS,GAOP,KAAK,UAPE,EACT,QAAQ,GAMN,KAAK,SANC,EACR,IAAI,GAKF,KAAK,KALH,EACJ,OAAO,GAIL,KAAK,QAJA,EACP,KAAK,GAGH,KAAK,MAHF,EACL,QAAQ,GAEN,KAAK,SAFC,EACR,SAAS,GACP,KAAK,UADE,CACD;QAEV,OAAO,CACL,oBAAC,+BAAc,CAAC,QAAQ,IACtB,KAAK,EAAE;gBACL,IAAI,MAAA;gBACJ,OAAO,SAAA;gBACP,UAAU,YAAA;gBACV,UAAU,YAAA;gBACV,WAAW,aAAA;gBACX,aAAa,eAAA;gBACb,SAAS,WAAA;gBACT,QAAQ,UAAA;gBACR,IAAI,MAAA;gBACJ,OAAO,SAAA;gBACP,KAAK,OAAA;gBACL,QAAQ,UAAA;gBACR,SAAS,WAAA;aACV,IAEA,KAAK,CAAC,QAAQ,CACS,CAC3B,CAAC;IACJ,CAAC,CAAC;IAtCW,QAAA,aAAa,iBAsCxB","sourcesContent":["import * as React from 'react';\nimport { PopoverContext } from '../../popoverContext';\nimport type { PopoverState } from './Popover.types';\n\n/**\n * Render the final JSX of Popover\n */\nexport const renderPopover = (state: PopoverState) => {\n const {\n open,\n setOpen,\n triggerRef,\n contentRef,\n openOnContext,\n openOnHover,\n mountNode,\n arrowRef,\n size,\n noArrow,\n brand,\n inverted,\n trapFocus,\n } = state;\n\n return (\n <PopoverContext.Provider\n value={{\n open,\n setOpen,\n triggerRef,\n contentRef,\n openOnHover,\n openOnContext,\n mountNode,\n arrowRef,\n size,\n noArrow,\n brand,\n inverted,\n trapFocus,\n }}\n >\n {state.children}\n </PopoverContext.Provider>\n );\n};\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { PopoverProps, PopoverState } from './Popover.types';
|
|
2
|
-
/**
|
|
3
|
-
* Create the state required to render Popover.
|
|
4
|
-
*
|
|
5
|
-
* The returned state can be modified with hooks such as usePopoverStyles,
|
|
6
|
-
* before being passed to renderPopover.
|
|
7
|
-
*
|
|
8
|
-
* @param props - props from this instance of Popover
|
|
9
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
10
|
-
*/
|
|
11
|
-
export declare const usePopover: (props: PopoverProps, defaultProps?: PopoverProps | undefined) => PopoverState;
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
define(["require", "exports", "tslib", "react", "@fluentui/react-utilities", "@fluentui/react-shared-contexts", "@fluentui/react-positioning", "@fluentui/react-portal", "../PopoverSurface/index"], function (require, exports, tslib_1, React, react_utilities_1, react_shared_contexts_1, react_positioning_1, react_portal_1, index_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.usePopover = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* Create the state required to render Popover.
|
|
7
|
-
*
|
|
8
|
-
* The returned state can be modified with hooks such as usePopoverStyles,
|
|
9
|
-
* before being passed to renderPopover.
|
|
10
|
-
*
|
|
11
|
-
* @param props - props from this instance of Popover
|
|
12
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
13
|
-
*/
|
|
14
|
-
var usePopover = function (props, defaultProps) {
|
|
15
|
-
var _a = react_positioning_1.usePopperMouseTarget(), contextTarget = _a[0], setContextTarget = _a[1];
|
|
16
|
-
var initialState = tslib_1.__assign({ size: 'medium', contextTarget: contextTarget,
|
|
17
|
-
setContextTarget: setContextTarget }, props);
|
|
18
|
-
var _b = useOpenState(initialState), open = _b[0], setOpen = _b[1];
|
|
19
|
-
var popperRefs = usePopoverRefs(initialState);
|
|
20
|
-
var targetDocument = react_shared_contexts_1.useFluent().targetDocument;
|
|
21
|
-
react_utilities_1.useOnClickOutside({
|
|
22
|
-
contains: react_portal_1.elementContains,
|
|
23
|
-
element: targetDocument,
|
|
24
|
-
callback: function (ev) { return setOpen(ev, false); },
|
|
25
|
-
refs: [popperRefs.triggerRef, popperRefs.contentRef],
|
|
26
|
-
disabled: !open,
|
|
27
|
-
});
|
|
28
|
-
react_utilities_1.useOnScrollOutside({
|
|
29
|
-
contains: react_portal_1.elementContains,
|
|
30
|
-
element: targetDocument,
|
|
31
|
-
callback: function (ev) { return setOpen(ev, false); },
|
|
32
|
-
refs: [popperRefs.triggerRef, popperRefs.contentRef],
|
|
33
|
-
disabled: !open || !initialState.openOnContext,
|
|
34
|
-
});
|
|
35
|
-
return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, initialState), popperRefs), { open: open,
|
|
36
|
-
setOpen: setOpen,
|
|
37
|
-
setContextTarget: setContextTarget,
|
|
38
|
-
contextTarget: contextTarget });
|
|
39
|
-
};
|
|
40
|
-
exports.usePopover = usePopover;
|
|
41
|
-
/**
|
|
42
|
-
* Creates and manages the Popover open state
|
|
43
|
-
*/
|
|
44
|
-
function useOpenState(state) {
|
|
45
|
-
var onOpenChange = react_utilities_1.useEventCallback(function (e, data) { var _a; return (_a = state.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(state, e, data); });
|
|
46
|
-
var _a = react_utilities_1.useControllableState({
|
|
47
|
-
state: state.open,
|
|
48
|
-
defaultState: state.defaultOpen,
|
|
49
|
-
initialState: false,
|
|
50
|
-
}), open = _a[0], setOpenState = _a[1];
|
|
51
|
-
state.open = open !== undefined ? open : state.open;
|
|
52
|
-
var setContextTarget = state.setContextTarget;
|
|
53
|
-
var setOpen = React.useCallback(function (e, shouldOpen) {
|
|
54
|
-
if (shouldOpen && e.type === 'contextmenu') {
|
|
55
|
-
setContextTarget(e);
|
|
56
|
-
}
|
|
57
|
-
if (!shouldOpen) {
|
|
58
|
-
setContextTarget(undefined);
|
|
59
|
-
}
|
|
60
|
-
setOpenState(function (prevOpen) {
|
|
61
|
-
// More than one event (mouse, focus, keyboard) can request the Popover to close
|
|
62
|
-
// We assume the first event is the correct one
|
|
63
|
-
if (prevOpen !== shouldOpen) {
|
|
64
|
-
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(e, { open: shouldOpen });
|
|
65
|
-
}
|
|
66
|
-
return shouldOpen;
|
|
67
|
-
});
|
|
68
|
-
}, [setOpenState, onOpenChange, setContextTarget]);
|
|
69
|
-
return [open, setOpen];
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Creates and sets the necessary trigger, target and content refs used by Popover
|
|
73
|
-
*/
|
|
74
|
-
function usePopoverRefs(state) {
|
|
75
|
-
var popperOptions = tslib_1.__assign({ position: 'above', align: 'center', target: state.openOnContext ? state.contextTarget : undefined }, react_positioning_1.resolvePositioningShorthand(state.positioning));
|
|
76
|
-
// no reason to render arrow when covering the target
|
|
77
|
-
if (popperOptions.coverTarget) {
|
|
78
|
-
state.noArrow = true;
|
|
79
|
-
}
|
|
80
|
-
if (!state.noArrow) {
|
|
81
|
-
popperOptions.offset = react_positioning_1.mergeArrowOffset(popperOptions.offset, index_1.arrowHeights[state.size]);
|
|
82
|
-
}
|
|
83
|
-
var _a = react_positioning_1.usePopper(popperOptions), triggerRef = _a.targetRef, contentRef = _a.containerRef, arrowRef = _a.arrowRef;
|
|
84
|
-
return {
|
|
85
|
-
triggerRef: triggerRef,
|
|
86
|
-
contentRef: contentRef,
|
|
87
|
-
arrowRef: arrowRef,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
//# sourceMappingURL=usePopover.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePopover.js","sourceRoot":"../src/","sources":["components/Popover/usePopover.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {\n useControllableState,\n useEventCallback,\n useOnClickOutside,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent } from '@fluentui/react-shared-contexts';\nimport {\n usePopper,\n resolvePositioningShorthand,\n mergeArrowOffset,\n usePopperMouseTarget,\n} from '@fluentui/react-positioning';\nimport { elementContains } from '@fluentui/react-portal';\nimport { arrowHeights } from '../PopoverSurface/index';\nimport type { OpenPopoverEvents, PopoverProps, PopoverState } from './Popover.types';\n\n/**\n * Create the state required to render Popover.\n *\n * The returned state can be modified with hooks such as usePopoverStyles,\n * before being passed to renderPopover.\n *\n * @param props - props from this instance of Popover\n * @param defaultProps - (optional) default prop values provided by the implementing type\n */\nexport const usePopover = (props: PopoverProps, defaultProps?: PopoverProps): PopoverState => {\n const [contextTarget, setContextTarget] = usePopperMouseTarget();\n const initialState = {\n size: 'medium',\n contextTarget,\n setContextTarget,\n ...props,\n } as const;\n\n const [open, setOpen] = useOpenState(initialState);\n const popperRefs = usePopoverRefs(initialState);\n\n const { targetDocument } = useFluent();\n useOnClickOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [popperRefs.triggerRef, popperRefs.contentRef],\n disabled: !open,\n });\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [popperRefs.triggerRef, popperRefs.contentRef],\n disabled: !open || !initialState.openOnContext, // only close on scroll for context\n });\n\n return {\n ...initialState,\n ...popperRefs,\n open,\n setOpen,\n setContextTarget,\n contextTarget,\n };\n};\n\n/**\n * Creates and manages the Popover open state\n */\nfunction useOpenState(\n state: Pick<PopoverState, 'setContextTarget' | 'onOpenChange'> & Pick<PopoverProps, 'open' | 'defaultOpen'>,\n) {\n const onOpenChange: PopoverState['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n state.open = open !== undefined ? open : state.open;\n const setContextTarget = state.setContextTarget;\n\n const setOpen = React.useCallback(\n (e: OpenPopoverEvents, shouldOpen: boolean) => {\n if (shouldOpen && e.type === 'contextmenu') {\n setContextTarget(e as React.MouseEvent);\n }\n\n if (!shouldOpen) {\n setContextTarget(undefined);\n }\n\n setOpenState(prevOpen => {\n // More than one event (mouse, focus, keyboard) can request the Popover to close\n // We assume the first event is the correct one\n if (prevOpen !== shouldOpen) {\n onOpenChange?.(e, { open: shouldOpen });\n }\n\n return shouldOpen;\n });\n },\n [setOpenState, onOpenChange, setContextTarget],\n );\n\n return [open, setOpen] as const;\n}\n\n/**\n * Creates and sets the necessary trigger, target and content refs used by Popover\n */\nfunction usePopoverRefs(\n state: Pick<PopoverState, 'size' | 'contextTarget'> & Pick<PopoverProps, 'positioning' | 'openOnContext' | 'noArrow'>,\n) {\n const popperOptions = {\n position: 'above' as const,\n align: 'center' as const,\n target: state.openOnContext ? state.contextTarget : undefined,\n ...resolvePositioningShorthand(state.positioning),\n };\n\n // no reason to render arrow when covering the target\n if (popperOptions.coverTarget) {\n state.noArrow = true;\n }\n\n if (!state.noArrow) {\n popperOptions.offset = mergeArrowOffset(popperOptions.offset, arrowHeights[state.size]);\n }\n\n const { targetRef: triggerRef, containerRef: contentRef, arrowRef } = usePopper(popperOptions);\n\n return {\n triggerRef,\n contentRef,\n arrowRef,\n } as const;\n}\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import type { PopoverSurfaceProps } from './PopoverSurface.types';
|
|
3
|
-
/**
|
|
4
|
-
* PopoverSurface component renders react children in a positioned box
|
|
5
|
-
*/
|
|
6
|
-
export declare const PopoverSurface: React.ForwardRefExoticComponent<PopoverSurfaceProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
define(["require", "exports", "react", "./usePopoverSurface", "./renderPopoverSurface", "./usePopoverSurfaceStyles"], function (require, exports, React, usePopoverSurface_1, renderPopoverSurface_1, usePopoverSurfaceStyles_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.PopoverSurface = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* PopoverSurface component renders react children in a positioned box
|
|
7
|
-
*/
|
|
8
|
-
exports.PopoverSurface = React.forwardRef(function (props, ref) {
|
|
9
|
-
var state = usePopoverSurface_1.usePopoverSurface(props, ref);
|
|
10
|
-
usePopoverSurfaceStyles_1.usePopoverSurfaceStyles(state);
|
|
11
|
-
return renderPopoverSurface_1.renderPopoverSurface(state);
|
|
12
|
-
});
|
|
13
|
-
exports.PopoverSurface.displayName = 'PopoverSurface';
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=PopoverSurface.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverSurface.js","sourceRoot":"../src/","sources":["components/PopoverSurface/PopoverSurface.tsx"],"names":[],"mappings":";;;;IAMA;;OAEG;IACU,QAAA,cAAc,GAAG,KAAK,CAAC,UAAU,CAAsC,UAAC,KAAK,EAAE,GAAG;QAC7F,IAAM,KAAK,GAAG,qCAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE5C,iDAAuB,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,2CAAoB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,sBAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC","sourcesContent":["import * as React from 'react';\nimport { usePopoverSurface } from './usePopoverSurface';\nimport { renderPopoverSurface } from './renderPopoverSurface';\nimport { usePopoverSurfaceStyles } from './usePopoverSurfaceStyles';\nimport type { PopoverSurfaceProps } from './PopoverSurface.types';\n\n/**\n * PopoverSurface component renders react children in a positioned box\n */\nexport const PopoverSurface = React.forwardRef<HTMLDivElement, PopoverSurfaceProps>((props, ref) => {\n const state = usePopoverSurface(props, ref);\n\n usePopoverSurfaceStyles(state);\n return renderPopoverSurface(state);\n});\n\nPopoverSurface.displayName = 'PopoverSurface';\n"]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { ComponentProps, ComponentState, IntrinsicShorthandProps } from '@fluentui/react-utilities';
|
|
2
|
-
import type { PopoverContextValue } from '../../popoverContext';
|
|
3
|
-
/**
|
|
4
|
-
* PopoverSurface Props
|
|
5
|
-
*/
|
|
6
|
-
export interface PopoverSurfaceProps extends ComponentProps<PopoverSurfaceSlots> {
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Names of the slots in PopoverSurfaceProps
|
|
10
|
-
*/
|
|
11
|
-
export declare type PopoverSurfaceSlots = {
|
|
12
|
-
root: IntrinsicShorthandProps<'div'>;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* PopoverSurface State
|
|
16
|
-
*/
|
|
17
|
-
export interface PopoverSurfaceState extends ComponentState<PopoverSurfaceSlots>, Pick<PopoverContextValue, 'open' | 'mountNode' | 'noArrow' | 'size' | 'brand' | 'inverted' | 'arrowRef'> {
|
|
18
|
-
/**
|
|
19
|
-
* CSS class for the arrow element
|
|
20
|
-
*/
|
|
21
|
-
arrowClassName?: string;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverSurface.types.js","sourceRoot":"../src/","sources":["components/PopoverSurface/PopoverSurface.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, IntrinsicShorthandProps } from '@fluentui/react-utilities';\nimport type { PopoverContextValue } from '../../popoverContext';\n\n/**\n * PopoverSurface Props\n */\nexport interface PopoverSurfaceProps extends ComponentProps<PopoverSurfaceSlots> {}\n\n/**\n * Names of the slots in PopoverSurfaceProps\n */\nexport type PopoverSurfaceSlots = {\n root: IntrinsicShorthandProps<'div'>;\n};\n\n/**\n * PopoverSurface State\n */\nexport interface PopoverSurfaceState\n extends ComponentState<PopoverSurfaceSlots>,\n Pick<PopoverContextValue, 'open' | 'mountNode' | 'noArrow' | 'size' | 'brand' | 'inverted' | 'arrowRef'> {\n /**\n * CSS class for the arrow element\n */\n arrowClassName?: string;\n}\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
define(["require", "exports", "tslib", "./PopoverSurface", "./PopoverSurface.types", "./renderPopoverSurface", "./usePopoverSurface", "./usePopoverSurfaceStyles"], function (require, exports, tslib_1, PopoverSurface_1, PopoverSurface_types_1, renderPopoverSurface_1, usePopoverSurface_1, usePopoverSurfaceStyles_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
tslib_1.__exportStar(PopoverSurface_1, exports);
|
|
5
|
-
tslib_1.__exportStar(PopoverSurface_types_1, exports);
|
|
6
|
-
tslib_1.__exportStar(renderPopoverSurface_1, exports);
|
|
7
|
-
tslib_1.__exportStar(usePopoverSurface_1, exports);
|
|
8
|
-
tslib_1.__exportStar(usePopoverSurfaceStyles_1, exports);
|
|
9
|
-
});
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/PopoverSurface/index.ts"],"names":[],"mappings":";;;IAAA,gDAAiC;IACjC,sDAAuC;IACvC,sDAAuC;IACvC,mDAAoC;IACpC,yDAA0C","sourcesContent":["export * from './PopoverSurface';\nexport * from './PopoverSurface.types';\nexport * from './renderPopoverSurface';\nexport * from './usePopoverSurface';\nexport * from './usePopoverSurfaceStyles';\n"]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
define(["require", "exports", "tslib", "react", "@fluentui/react-portal", "@fluentui/react-utilities", "./usePopoverSurface"], function (require, exports, tslib_1, React, react_portal_1, react_utilities_1, usePopoverSurface_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.renderPopoverSurface = void 0;
|
|
5
|
-
/**
|
|
6
|
-
* Render the final JSX of PopoverSurface
|
|
7
|
-
*/
|
|
8
|
-
var renderPopoverSurface = function (state) {
|
|
9
|
-
var _a = react_utilities_1.getSlots(state, usePopoverSurface_1.popoverSurfaceSlots), slots = _a.slots, slotProps = _a.slotProps;
|
|
10
|
-
// TODO should hidden Popovers be supported ?
|
|
11
|
-
if (!state.open) {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
return (React.createElement(react_portal_1.Portal, { mountNode: state.mountNode },
|
|
15
|
-
React.createElement(slots.root, tslib_1.__assign({}, slotProps.root),
|
|
16
|
-
!state.noArrow && React.createElement("div", { ref: state.arrowRef, className: state.arrowClassName }),
|
|
17
|
-
slotProps.root.children)));
|
|
18
|
-
};
|
|
19
|
-
exports.renderPopoverSurface = renderPopoverSurface;
|
|
20
|
-
});
|
|
21
|
-
//# sourceMappingURL=renderPopoverSurface.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderPopoverSurface.js","sourceRoot":"../src/","sources":["components/PopoverSurface/renderPopoverSurface.tsx"],"names":[],"mappings":";;;;IAMA;;OAEG;IACI,IAAM,oBAAoB,GAAG,UAAC,KAA0B;QACvD,IAAA,KAAuB,0BAAQ,CAAsB,KAAK,EAAE,uCAAmB,CAAC,EAA9E,KAAK,WAAA,EAAE,SAAS,eAA8D,CAAC;QAEvF,6CAA6C;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CACL,oBAAC,qBAAM,IAAC,SAAS,EAAE,KAAK,CAAC,SAAS;YAChC,oBAAC,KAAK,CAAC,IAAI,uBAAK,SAAS,CAAC,IAAI;gBAC3B,CAAC,KAAK,CAAC,OAAO,IAAI,6BAAK,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,cAAc,GAAI;gBAC/E,SAAS,CAAC,IAAI,CAAC,QAAQ,CACb,CACN,CACV,CAAC;IACJ,CAAC,CAAC;IAhBW,QAAA,oBAAoB,wBAgB/B","sourcesContent":["import * as React from 'react';\nimport { Portal } from '@fluentui/react-portal';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { PopoverSurfaceSlots, PopoverSurfaceState } from './PopoverSurface.types';\nimport { popoverSurfaceSlots } from './usePopoverSurface';\n\n/**\n * Render the final JSX of PopoverSurface\n */\nexport const renderPopoverSurface = (state: PopoverSurfaceState) => {\n const { slots, slotProps } = getSlots<PopoverSurfaceSlots>(state, popoverSurfaceSlots);\n\n // TODO should hidden Popovers be supported ?\n if (!state.open) {\n return null;\n }\n\n return (\n <Portal mountNode={state.mountNode}>\n <slots.root {...slotProps.root}>\n {!state.noArrow && <div ref={state.arrowRef} className={state.arrowClassName} />}\n {slotProps.root.children}\n </slots.root>\n </Portal>\n );\n};\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import type { PopoverSurfaceProps, PopoverSurfaceSlots, PopoverSurfaceState } from './PopoverSurface.types';
|
|
3
|
-
export declare const popoverSurfaceSlots: Array<keyof PopoverSurfaceSlots>;
|
|
4
|
-
/**
|
|
5
|
-
* Create the state required to render PopoverSurface.
|
|
6
|
-
*
|
|
7
|
-
* The returned state can be modified with hooks such as usePopoverSurfaceStyles,
|
|
8
|
-
* before being passed to renderPopoverSurface.
|
|
9
|
-
*
|
|
10
|
-
* @param props - props from this instance of PopoverSurface
|
|
11
|
-
* @param ref - reference to root HTMLDivElement of PopoverSurface
|
|
12
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
13
|
-
*/
|
|
14
|
-
export declare const usePopoverSurface: (props: PopoverSurfaceProps, ref: React.Ref<HTMLDivElement>) => PopoverSurfaceState;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
define(["require", "exports", "tslib", "react", "@fluentui/react-utilities", "@fluentui/react-tabster", "../../popoverContext"], function (require, exports, tslib_1, React, react_utilities_1, react_tabster_1, popoverContext_1) {
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.usePopoverSurface = exports.popoverSurfaceSlots = void 0;
|
|
5
|
-
exports.popoverSurfaceSlots = ['root'];
|
|
6
|
-
/**
|
|
7
|
-
* Create the state required to render PopoverSurface.
|
|
8
|
-
*
|
|
9
|
-
* The returned state can be modified with hooks such as usePopoverSurfaceStyles,
|
|
10
|
-
* before being passed to renderPopoverSurface.
|
|
11
|
-
*
|
|
12
|
-
* @param props - props from this instance of PopoverSurface
|
|
13
|
-
* @param ref - reference to root HTMLDivElement of PopoverSurface
|
|
14
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
15
|
-
*/
|
|
16
|
-
var usePopoverSurface = function (props, ref) {
|
|
17
|
-
var contentRef = popoverContext_1.usePopoverContext(function (context) { return context.contentRef; });
|
|
18
|
-
var open = popoverContext_1.usePopoverContext(function (context) { return context.open; });
|
|
19
|
-
var openOnHover = popoverContext_1.usePopoverContext(function (context) { return context.openOnHover; });
|
|
20
|
-
var setOpen = popoverContext_1.usePopoverContext(function (context) { return context.setOpen; });
|
|
21
|
-
var mountNode = popoverContext_1.usePopoverContext(function (context) { return context.mountNode; });
|
|
22
|
-
var arrowRef = popoverContext_1.usePopoverContext(function (context) { return context.arrowRef; });
|
|
23
|
-
var size = popoverContext_1.usePopoverContext(function (context) { return context.size; });
|
|
24
|
-
var noArrow = popoverContext_1.usePopoverContext(function (context) { return context.noArrow; });
|
|
25
|
-
var brand = popoverContext_1.usePopoverContext(function (context) { return context.brand; });
|
|
26
|
-
var inverted = popoverContext_1.usePopoverContext(function (context) { return context.inverted; });
|
|
27
|
-
var trapFocus = popoverContext_1.usePopoverContext(function (context) { return context.trapFocus; });
|
|
28
|
-
var modalAttributes = react_tabster_1.useModalAttributes({ trapFocus: trapFocus }).modalAttributes;
|
|
29
|
-
var state = tslib_1.__assign(tslib_1.__assign({ brand: brand,
|
|
30
|
-
inverted: inverted,
|
|
31
|
-
noArrow: noArrow,
|
|
32
|
-
size: size,
|
|
33
|
-
arrowRef: arrowRef,
|
|
34
|
-
open: open,
|
|
35
|
-
mountNode: mountNode }, props), { components: {
|
|
36
|
-
root: 'div',
|
|
37
|
-
}, root: react_utilities_1.getNativeElementProps('div', tslib_1.__assign(tslib_1.__assign({ ref: react_utilities_1.useMergedRefs(ref, contentRef), role: 'dialog' }, modalAttributes), props)) });
|
|
38
|
-
var _a = state.root, onMouseEnterOriginal = _a.onMouseEnter, onMouseLeaveOriginal = _a.onMouseLeave, onKeyDownOriginal = _a.onKeyDown;
|
|
39
|
-
state.root.onMouseEnter = function (e) {
|
|
40
|
-
if (openOnHover) {
|
|
41
|
-
setOpen(e, true);
|
|
42
|
-
}
|
|
43
|
-
onMouseEnterOriginal === null || onMouseEnterOriginal === void 0 ? void 0 : onMouseEnterOriginal(e);
|
|
44
|
-
};
|
|
45
|
-
state.root.onMouseLeave = function (e) {
|
|
46
|
-
if (openOnHover) {
|
|
47
|
-
setOpen(e, false);
|
|
48
|
-
}
|
|
49
|
-
onMouseLeaveOriginal === null || onMouseLeaveOriginal === void 0 ? void 0 : onMouseLeaveOriginal(e);
|
|
50
|
-
};
|
|
51
|
-
state.root.onKeyDown = function (e) {
|
|
52
|
-
var _a;
|
|
53
|
-
// only close if the event happened inside the current popover
|
|
54
|
-
// If using a stack of inline popovers, the user should call `stopPropagation` to avoid dismissing the entire stack
|
|
55
|
-
if (e.key === 'Escape' && ((_a = contentRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
|
|
56
|
-
setOpen(e, false);
|
|
57
|
-
}
|
|
58
|
-
onKeyDownOriginal === null || onKeyDownOriginal === void 0 ? void 0 : onKeyDownOriginal(e);
|
|
59
|
-
};
|
|
60
|
-
var findFirstFocusable = react_tabster_1.useFocusFinders().findFirstFocusable;
|
|
61
|
-
React.useEffect(function () {
|
|
62
|
-
if (state.open && contentRef.current) {
|
|
63
|
-
var firstFocusable = findFirstFocusable(contentRef.current);
|
|
64
|
-
firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
|
|
65
|
-
}
|
|
66
|
-
}, [contentRef, findFirstFocusable, state.open]);
|
|
67
|
-
return state;
|
|
68
|
-
};
|
|
69
|
-
exports.usePopoverSurface = usePopoverSurface;
|
|
70
|
-
});
|
|
71
|
-
//# sourceMappingURL=usePopoverSurface.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePopoverSurface.js","sourceRoot":"../src/","sources":["components/PopoverSurface/usePopoverSurface.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useMergedRefs } from '@fluentui/react-utilities';\nimport { useFocusFinders, useModalAttributes } from '@fluentui/react-tabster';\nimport { usePopoverContext } from '../../popoverContext';\nimport type { PopoverSurfaceProps, PopoverSurfaceSlots, PopoverSurfaceState } from './PopoverSurface.types';\n\nexport const popoverSurfaceSlots: Array<keyof PopoverSurfaceSlots> = ['root'];\n\n/**\n * Create the state required to render PopoverSurface.\n *\n * The returned state can be modified with hooks such as usePopoverSurfaceStyles,\n * before being passed to renderPopoverSurface.\n *\n * @param props - props from this instance of PopoverSurface\n * @param ref - reference to root HTMLDivElement of PopoverSurface\n * @param defaultProps - (optional) default prop values provided by the implementing type\n */\nexport const usePopoverSurface = (props: PopoverSurfaceProps, ref: React.Ref<HTMLDivElement>): PopoverSurfaceState => {\n const contentRef = usePopoverContext(context => context.contentRef);\n const open = usePopoverContext(context => context.open);\n const openOnHover = usePopoverContext(context => context.openOnHover);\n const setOpen = usePopoverContext(context => context.setOpen);\n const mountNode = usePopoverContext(context => context.mountNode);\n const arrowRef = usePopoverContext(context => context.arrowRef);\n const size = usePopoverContext(context => context.size);\n const noArrow = usePopoverContext(context => context.noArrow);\n const brand = usePopoverContext(context => context.brand);\n const inverted = usePopoverContext(context => context.inverted);\n const trapFocus = usePopoverContext(context => context.trapFocus);\n const { modalAttributes } = useModalAttributes({ trapFocus });\n\n const state: PopoverSurfaceState = {\n brand,\n inverted,\n noArrow,\n size,\n arrowRef,\n open,\n mountNode,\n ...props,\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref: useMergedRefs(ref, contentRef),\n role: 'dialog',\n ...modalAttributes,\n ...props,\n }),\n };\n\n const {\n onMouseEnter: onMouseEnterOriginal,\n onMouseLeave: onMouseLeaveOriginal,\n onKeyDown: onKeyDownOriginal,\n } = state.root;\n state.root.onMouseEnter = (e: React.MouseEvent<HTMLDivElement>) => {\n if (openOnHover) {\n setOpen(e, true);\n }\n\n onMouseEnterOriginal?.(e);\n };\n\n state.root.onMouseLeave = (e: React.MouseEvent<HTMLDivElement>) => {\n if (openOnHover) {\n setOpen(e, false);\n }\n\n onMouseLeaveOriginal?.(e);\n };\n\n state.root.onKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n // only close if the event happened inside the current popover\n // If using a stack of inline popovers, the user should call `stopPropagation` to avoid dismissing the entire stack\n if (e.key === 'Escape' && contentRef.current?.contains(e.target as HTMLDivElement)) {\n setOpen(e, false);\n }\n\n onKeyDownOriginal?.(e);\n };\n\n const { findFirstFocusable } = useFocusFinders();\n\n React.useEffect(() => {\n if (state.open && contentRef.current) {\n const firstFocusable = findFirstFocusable(contentRef.current);\n firstFocusable?.focus();\n }\n }, [contentRef, findFirstFocusable, state.open]);\n return state;\n};\n"]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { PopoverSize } from '../Popover/Popover.types';
|
|
2
|
-
import type { PopoverSurfaceState } from './PopoverSurface.types';
|
|
3
|
-
export declare const arrowHeights: Record<PopoverSize, number>;
|
|
4
|
-
/**
|
|
5
|
-
* Apply styling to the PopoverSurface slots based on the state
|
|
6
|
-
*/
|
|
7
|
-
export declare const usePopoverSurfaceStyles: (state: PopoverSurfaceState) => PopoverSurfaceState;
|