@fluentui/react-popover 0.0.0-nightly-20220302-0405.1
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 +2819 -0
- package/CHANGELOG.md +854 -0
- package/LICENSE +15 -0
- package/README.md +25 -0
- package/Spec.md +496 -0
- package/dist/react-popover.d.ts +242 -0
- package/lib/Popover.d.ts +1 -0
- package/lib/Popover.js +2 -0
- package/lib/Popover.js.map +1 -0
- package/lib/PopoverSurface.d.ts +1 -0
- package/lib/PopoverSurface.js +2 -0
- package/lib/PopoverSurface.js.map +1 -0
- package/lib/PopoverTrigger.d.ts +1 -0
- package/lib/PopoverTrigger.js +2 -0
- package/lib/PopoverTrigger.js.map +1 -0
- package/lib/components/Popover/Popover.d.ts +6 -0
- package/lib/components/Popover/Popover.js +12 -0
- package/lib/components/Popover/Popover.js.map +1 -0
- package/lib/components/Popover/Popover.types.d.ts +103 -0
- package/lib/components/Popover/Popover.types.js +2 -0
- package/lib/components/Popover/Popover.types.js.map +1 -0
- package/lib/components/Popover/index.d.ts +4 -0
- package/lib/components/Popover/index.js +5 -0
- package/lib/components/Popover/index.js.map +1 -0
- package/lib/components/Popover/renderPopover.d.ts +5 -0
- package/lib/components/Popover/renderPopover.js +39 -0
- package/lib/components/Popover/renderPopover.js.map +1 -0
- package/lib/components/Popover/usePopover.d.ts +10 -0
- package/lib/components/Popover/usePopover.js +124 -0
- package/lib/components/Popover/usePopover.js.map +1 -0
- package/lib/components/PopoverSurface/PopoverSurface.d.ts +6 -0
- package/lib/components/PopoverSurface/PopoverSurface.js +15 -0
- package/lib/components/PopoverSurface/PopoverSurface.js.map +1 -0
- package/lib/components/PopoverSurface/PopoverSurface.types.d.ts +21 -0
- package/lib/components/PopoverSurface/PopoverSurface.types.js +2 -0
- package/lib/components/PopoverSurface/PopoverSurface.types.js.map +1 -0
- package/lib/components/PopoverSurface/index.d.ts +5 -0
- package/lib/components/PopoverSurface/index.js +6 -0
- package/lib/components/PopoverSurface/index.js.map +1 -0
- package/lib/components/PopoverSurface/renderPopoverSurface.d.ts +5 -0
- package/lib/components/PopoverSurface/renderPopoverSurface.js +26 -0
- package/lib/components/PopoverSurface/renderPopoverSurface.js.map +1 -0
- package/lib/components/PopoverSurface/usePopoverSurface.d.ts +12 -0
- package/lib/components/PopoverSurface/usePopoverSurface.js +94 -0
- package/lib/components/PopoverSurface/usePopoverSurface.js.map +1 -0
- package/lib/components/PopoverSurface/usePopoverSurfaceStyles.d.ts +8 -0
- package/lib/components/PopoverSurface/usePopoverSurfaceStyles.js +112 -0
- package/lib/components/PopoverSurface/usePopoverSurfaceStyles.js.map +1 -0
- package/lib/components/PopoverTrigger/PopoverTrigger.d.ts +7 -0
- package/lib/components/PopoverTrigger/PopoverTrigger.js +13 -0
- package/lib/components/PopoverTrigger/PopoverTrigger.js.map +1 -0
- package/lib/components/PopoverTrigger/PopoverTrigger.types.d.ts +18 -0
- package/lib/components/PopoverTrigger/PopoverTrigger.types.js +2 -0
- package/lib/components/PopoverTrigger/PopoverTrigger.types.js.map +1 -0
- package/lib/components/PopoverTrigger/index.d.ts +4 -0
- package/lib/components/PopoverTrigger/index.js +5 -0
- package/lib/components/PopoverTrigger/index.js.map +1 -0
- package/lib/components/PopoverTrigger/renderPopoverTrigger.d.ts +5 -0
- package/lib/components/PopoverTrigger/renderPopoverTrigger.js +7 -0
- package/lib/components/PopoverTrigger/renderPopoverTrigger.js.map +1 -0
- package/lib/components/PopoverTrigger/usePopoverTrigger.d.ts +10 -0
- package/lib/components/PopoverTrigger/usePopoverTrigger.js +82 -0
- package/lib/components/PopoverTrigger/usePopoverTrigger.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -0
- package/lib/popoverContext.d.ts +8 -0
- package/lib/popoverContext.js +20 -0
- package/lib/popoverContext.js.map +1 -0
- package/lib/tsdoc-metadata.json +11 -0
- package/lib-commonjs/Popover.d.ts +1 -0
- package/lib-commonjs/Popover.js +10 -0
- package/lib-commonjs/Popover.js.map +1 -0
- package/lib-commonjs/PopoverSurface.d.ts +1 -0
- package/lib-commonjs/PopoverSurface.js +10 -0
- package/lib-commonjs/PopoverSurface.js.map +1 -0
- package/lib-commonjs/PopoverTrigger.d.ts +1 -0
- package/lib-commonjs/PopoverTrigger.js +10 -0
- package/lib-commonjs/PopoverTrigger.js.map +1 -0
- package/lib-commonjs/components/Popover/Popover.d.ts +6 -0
- package/lib-commonjs/components/Popover/Popover.js +23 -0
- package/lib-commonjs/components/Popover/Popover.js.map +1 -0
- package/lib-commonjs/components/Popover/Popover.types.d.ts +103 -0
- package/lib-commonjs/components/Popover/Popover.types.js +6 -0
- package/lib-commonjs/components/Popover/Popover.types.js.map +1 -0
- package/lib-commonjs/components/Popover/index.d.ts +4 -0
- package/lib-commonjs/components/Popover/index.js +16 -0
- package/lib-commonjs/components/Popover/index.js.map +1 -0
- package/lib-commonjs/components/Popover/renderPopover.d.ts +5 -0
- package/lib-commonjs/components/Popover/renderPopover.js +50 -0
- package/lib-commonjs/components/Popover/renderPopover.js.map +1 -0
- package/lib-commonjs/components/Popover/usePopover.d.ts +10 -0
- package/lib-commonjs/components/Popover/usePopover.js +139 -0
- package/lib-commonjs/components/Popover/usePopover.js.map +1 -0
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.d.ts +6 -0
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.js +26 -0
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.js.map +1 -0
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.d.ts +21 -0
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.js +6 -0
- package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.js.map +1 -0
- package/lib-commonjs/components/PopoverSurface/index.d.ts +5 -0
- package/lib-commonjs/components/PopoverSurface/index.js +18 -0
- package/lib-commonjs/components/PopoverSurface/index.js.map +1 -0
- package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.d.ts +5 -0
- package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.js +38 -0
- package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.js.map +1 -0
- package/lib-commonjs/components/PopoverSurface/usePopoverSurface.d.ts +12 -0
- package/lib-commonjs/components/PopoverSurface/usePopoverSurface.js +107 -0
- package/lib-commonjs/components/PopoverSurface/usePopoverSurface.js.map +1 -0
- package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.d.ts +8 -0
- package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.js +124 -0
- package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.js.map +1 -0
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.d.ts +7 -0
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.js +24 -0
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.js.map +1 -0
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.d.ts +18 -0
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.js +6 -0
- package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.js.map +1 -0
- package/lib-commonjs/components/PopoverTrigger/index.d.ts +4 -0
- package/lib-commonjs/components/PopoverTrigger/index.js +16 -0
- package/lib-commonjs/components/PopoverTrigger/index.js.map +1 -0
- package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.d.ts +5 -0
- package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.js +16 -0
- package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.js.map +1 -0
- package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.d.ts +10 -0
- package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.js +95 -0
- package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.js.map +1 -0
- package/lib-commonjs/index.d.ts +4 -0
- package/lib-commonjs/index.js +16 -0
- package/lib-commonjs/index.js.map +1 -0
- package/lib-commonjs/popoverContext.d.ts +8 -0
- package/lib-commonjs/popoverContext.js +31 -0
- package/lib-commonjs/popoverContext.js.map +1 -0
- package/package.json +69 -0
@@ -0,0 +1,107 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.usePopoverSurface_unstable = void 0;
|
7
|
+
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
|
+
|
10
|
+
const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
|
11
|
+
|
12
|
+
const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
|
13
|
+
|
14
|
+
const popoverContext_1 = /*#__PURE__*/require("../../popoverContext");
|
15
|
+
/**
|
16
|
+
* Create the state required to render PopoverSurface.
|
17
|
+
*
|
18
|
+
* The returned state can be modified with hooks such as usePopoverSurfaceStyles_unstable,
|
19
|
+
* before being passed to renderPopoverSurface_unstable.
|
20
|
+
*
|
21
|
+
* @param props - props from this instance of PopoverSurface
|
22
|
+
* @param ref - reference to root HTMLDivElement of PopoverSurface
|
23
|
+
*/
|
24
|
+
|
25
|
+
|
26
|
+
const usePopoverSurface_unstable = (props, ref) => {
|
27
|
+
const contentRef = popoverContext_1.usePopoverContext_unstable(context => context.contentRef);
|
28
|
+
const open = popoverContext_1.usePopoverContext_unstable(context => context.open);
|
29
|
+
const openOnHover = popoverContext_1.usePopoverContext_unstable(context => context.openOnHover);
|
30
|
+
const setOpen = popoverContext_1.usePopoverContext_unstable(context => context.setOpen);
|
31
|
+
const mountNode = popoverContext_1.usePopoverContext_unstable(context => context.mountNode);
|
32
|
+
const arrowRef = popoverContext_1.usePopoverContext_unstable(context => context.arrowRef);
|
33
|
+
const size = popoverContext_1.usePopoverContext_unstable(context => context.size);
|
34
|
+
const noArrow = popoverContext_1.usePopoverContext_unstable(context => context.noArrow);
|
35
|
+
const appearance = popoverContext_1.usePopoverContext_unstable(context => context.appearance);
|
36
|
+
const trapFocus = popoverContext_1.usePopoverContext_unstable(context => context.trapFocus);
|
37
|
+
const {
|
38
|
+
modalAttributes
|
39
|
+
} = react_tabster_1.useModalAttributes({
|
40
|
+
trapFocus
|
41
|
+
});
|
42
|
+
const state = {
|
43
|
+
appearance,
|
44
|
+
noArrow,
|
45
|
+
size,
|
46
|
+
arrowRef,
|
47
|
+
open,
|
48
|
+
mountNode,
|
49
|
+
components: {
|
50
|
+
root: 'div'
|
51
|
+
},
|
52
|
+
root: react_utilities_1.getNativeElementProps('div', {
|
53
|
+
ref: react_utilities_1.useMergedRefs(ref, contentRef),
|
54
|
+
role: trapFocus ? 'dialog' : 'complementary',
|
55
|
+
'aria-modal': trapFocus ? true : undefined,
|
56
|
+
...modalAttributes,
|
57
|
+
...props
|
58
|
+
})
|
59
|
+
};
|
60
|
+
const {
|
61
|
+
onMouseEnter: onMouseEnterOriginal,
|
62
|
+
onMouseLeave: onMouseLeaveOriginal,
|
63
|
+
onKeyDown: onKeyDownOriginal
|
64
|
+
} = state.root;
|
65
|
+
|
66
|
+
state.root.onMouseEnter = e => {
|
67
|
+
if (openOnHover) {
|
68
|
+
setOpen(e, true);
|
69
|
+
}
|
70
|
+
|
71
|
+
onMouseEnterOriginal === null || onMouseEnterOriginal === void 0 ? void 0 : onMouseEnterOriginal(e);
|
72
|
+
};
|
73
|
+
|
74
|
+
state.root.onMouseLeave = e => {
|
75
|
+
if (openOnHover) {
|
76
|
+
setOpen(e, false);
|
77
|
+
}
|
78
|
+
|
79
|
+
onMouseLeaveOriginal === null || onMouseLeaveOriginal === void 0 ? void 0 : onMouseLeaveOriginal(e);
|
80
|
+
};
|
81
|
+
|
82
|
+
state.root.onKeyDown = e => {
|
83
|
+
var _a; // only close if the event happened inside the current popover
|
84
|
+
// If using a stack of inline popovers, the user should call `stopPropagation` to avoid dismissing the entire stack
|
85
|
+
|
86
|
+
|
87
|
+
if (e.key === 'Escape' && ((_a = contentRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
|
88
|
+
setOpen(e, false);
|
89
|
+
}
|
90
|
+
|
91
|
+
onKeyDownOriginal === null || onKeyDownOriginal === void 0 ? void 0 : onKeyDownOriginal(e);
|
92
|
+
};
|
93
|
+
|
94
|
+
const {
|
95
|
+
findFirstFocusable
|
96
|
+
} = react_tabster_1.useFocusFinders();
|
97
|
+
React.useEffect(() => {
|
98
|
+
if (state.open && contentRef.current) {
|
99
|
+
const firstFocusable = findFirstFocusable(contentRef.current);
|
100
|
+
firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
|
101
|
+
}
|
102
|
+
}, [contentRef, findFirstFocusable, state.open]);
|
103
|
+
return state;
|
104
|
+
};
|
105
|
+
|
106
|
+
exports.usePopoverSurface_unstable = usePopoverSurface_unstable;
|
107
|
+
//# sourceMappingURL=usePopoverSurface.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"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_unstable } from '../../popoverContext';\nimport type { PopoverSurfaceProps, PopoverSurfaceState } from './PopoverSurface.types';\n\n/**\n * Create the state required to render PopoverSurface.\n *\n * The returned state can be modified with hooks such as usePopoverSurfaceStyles_unstable,\n * before being passed to renderPopoverSurface_unstable.\n *\n * @param props - props from this instance of PopoverSurface\n * @param ref - reference to root HTMLDivElement of PopoverSurface\n */\nexport const usePopoverSurface_unstable = (\n props: PopoverSurfaceProps,\n ref: React.Ref<HTMLDivElement>,\n): PopoverSurfaceState => {\n const contentRef = usePopoverContext_unstable(context => context.contentRef);\n const open = usePopoverContext_unstable(context => context.open);\n const openOnHover = usePopoverContext_unstable(context => context.openOnHover);\n const setOpen = usePopoverContext_unstable(context => context.setOpen);\n const mountNode = usePopoverContext_unstable(context => context.mountNode);\n const arrowRef = usePopoverContext_unstable(context => context.arrowRef);\n const size = usePopoverContext_unstable(context => context.size);\n const noArrow = usePopoverContext_unstable(context => context.noArrow);\n const appearance = usePopoverContext_unstable(context => context.appearance);\n const trapFocus = usePopoverContext_unstable(context => context.trapFocus);\n const { modalAttributes } = useModalAttributes({ trapFocus });\n\n const state: PopoverSurfaceState = {\n appearance,\n noArrow,\n size,\n arrowRef,\n open,\n mountNode,\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref: useMergedRefs(ref, contentRef),\n role: trapFocus ? 'dialog' : 'complementary',\n 'aria-modal': trapFocus ? true : undefined,\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"],"sourceRoot":"../src/"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { PopoverSize } from '../Popover/Popover.types';
|
2
|
+
import type { PopoverSurfaceState } from './PopoverSurface.types';
|
3
|
+
export declare const popoverSurfaceClassName = "fui-PopoverSurface";
|
4
|
+
export declare const arrowHeights: Record<PopoverSize, number>;
|
5
|
+
/**
|
6
|
+
* Apply styling to the PopoverSurface slots based on the state
|
7
|
+
*/
|
8
|
+
export declare const usePopoverSurfaceStyles_unstable: (state: PopoverSurfaceState) => PopoverSurfaceState;
|
@@ -0,0 +1,124 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.usePopoverSurfaceStyles_unstable = exports.arrowHeights = exports.popoverSurfaceClassName = void 0;
|
7
|
+
|
8
|
+
const react_1 = /*#__PURE__*/require("@griffel/react");
|
9
|
+
|
10
|
+
const react_positioning_1 = /*#__PURE__*/require("@fluentui/react-positioning");
|
11
|
+
|
12
|
+
const react_theme_1 = /*#__PURE__*/require("@fluentui/react-theme");
|
13
|
+
|
14
|
+
exports.popoverSurfaceClassName = 'fui-PopoverSurface';
|
15
|
+
exports.arrowHeights = {
|
16
|
+
small: 6,
|
17
|
+
medium: 8,
|
18
|
+
large: 8
|
19
|
+
};
|
20
|
+
/**
|
21
|
+
* Styles for the root slot
|
22
|
+
*/
|
23
|
+
|
24
|
+
const useStyles = /*#__PURE__*/react_1.__styles({
|
25
|
+
"root": {
|
26
|
+
"De3pzq": "fxugw4r",
|
27
|
+
"E5pizo": "f1hg901r",
|
28
|
+
"Bbmb7ep": ["fff7au0", "f1bjk9e1"],
|
29
|
+
"Beyfa6y": ["f1bjk9e1", "fff7au0"],
|
30
|
+
"B7oj6ja": ["fwsfkhu", "f8wkphi"],
|
31
|
+
"Btl43ni": ["f8wkphi", "fwsfkhu"],
|
32
|
+
"B4j52fo": "f5ogflp",
|
33
|
+
"Bekrc4i": ["f1hqa2wf", "finvdd3"],
|
34
|
+
"Bn0qgzm": "f1f09k3d",
|
35
|
+
"ibv6hh": ["finvdd3", "f1hqa2wf"],
|
36
|
+
"icvyot": "fzkkow9",
|
37
|
+
"vrafjx": ["fcdblym", "fjik90z"],
|
38
|
+
"oivjwe": "fg706s2",
|
39
|
+
"wvpqe5": ["fjik90z", "fcdblym"],
|
40
|
+
"g2u3we": "fghlq4f",
|
41
|
+
"h3c5rm": ["f1gn591s", "fjscplz"],
|
42
|
+
"B9xav0g": "fb073pr",
|
43
|
+
"zhjwy3": ["fjscplz", "f1gn591s"]
|
44
|
+
},
|
45
|
+
"inverted": {
|
46
|
+
"De3pzq": "f1c73kur",
|
47
|
+
"sj55zd": "fqpbvvt"
|
48
|
+
},
|
49
|
+
"brand": {
|
50
|
+
"De3pzq": "ffp7eso",
|
51
|
+
"sj55zd": "fqpbvvt"
|
52
|
+
},
|
53
|
+
"smallPadding": {
|
54
|
+
"z8tnut": "f1kcqot9",
|
55
|
+
"z189sj": ["f11qrl6u", "fjlbh76"],
|
56
|
+
"Byoj8tv": "fpe6lb7",
|
57
|
+
"uwmqm3": ["fjlbh76", "f11qrl6u"]
|
58
|
+
},
|
59
|
+
"mediumPadding": {
|
60
|
+
"z8tnut": "fqag9an",
|
61
|
+
"z189sj": ["f1gbmcue", "f1rh9g5y"],
|
62
|
+
"Byoj8tv": "fp67ikv",
|
63
|
+
"uwmqm3": ["f1rh9g5y", "f1gbmcue"]
|
64
|
+
},
|
65
|
+
"largePadding": {
|
66
|
+
"z8tnut": "fc7z3ec",
|
67
|
+
"z189sj": ["fat0sn4", "fekwl8i"],
|
68
|
+
"Byoj8tv": "fe2my4m",
|
69
|
+
"uwmqm3": ["fekwl8i", "fat0sn4"]
|
70
|
+
},
|
71
|
+
"smallArrow": {
|
72
|
+
"a9b677": "f1ekdpwm",
|
73
|
+
"Bqenvij": "f83vc9z"
|
74
|
+
},
|
75
|
+
"mediumLargeArrow": {
|
76
|
+
"a9b677": "f1kmc0fn",
|
77
|
+
"Bqenvij": "fb6lvc5"
|
78
|
+
},
|
79
|
+
"arrow": {
|
80
|
+
"qhf8xq": "f1euv43f",
|
81
|
+
"De3pzq": "f1u2r49w",
|
82
|
+
"Bcdw1i0": "fd7fpy0",
|
83
|
+
"Bj3rh1h": "f1bsuimh",
|
84
|
+
"rurcny": "fuzzvh5",
|
85
|
+
"Bex5imi": "fkk33zh",
|
86
|
+
"xx9plb": "fxf9f1y",
|
87
|
+
"Bmqnesq": "f170vdtw",
|
88
|
+
"Bdn98qo": "f103af6e",
|
89
|
+
"Bbc2r3f": "f15umuo5",
|
90
|
+
"B1dvbpk": "f3wpjpt",
|
91
|
+
"D4ky5z": "f1k3tce7",
|
92
|
+
"cqycoz": "f1dkdgqi",
|
93
|
+
"I89eb": "f5ghsz",
|
94
|
+
"k1i1uq": "fyqop9u",
|
95
|
+
"Epwjcz": "f1m5ya7j",
|
96
|
+
"Bp1vogq": "f3sp63x",
|
97
|
+
"px8gyy": ["f5bg3dr", "f1rfdd74"],
|
98
|
+
"h6z6rw": "fzd2j21",
|
99
|
+
"hl6cv3": "f1773hnp",
|
100
|
+
"Bh2vraf": "f1n8855c",
|
101
|
+
"yayu3t": "f1v7783n",
|
102
|
+
"wedwtw": "fsw6im5",
|
103
|
+
"rhl9o9": "fh2hsk5",
|
104
|
+
"Bu8t5uz": "f159pzir",
|
105
|
+
"B6q6orb": "f11yvu4",
|
106
|
+
"Bwwlvwl": "fm1ycve"
|
107
|
+
}
|
108
|
+
}, {
|
109
|
+
"d": [".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".f1hg901r{box-shadow:var(--shadow16);}", ".fff7au0{border-bottom-right-radius:4px;}", ".f1bjk9e1{border-bottom-left-radius:4px;}", ".fwsfkhu{border-top-right-radius:4px;}", ".f8wkphi{border-top-left-radius:4px;}", ".f5ogflp{border-top-width:1px;}", ".f1hqa2wf{border-right-width:1px;}", ".finvdd3{border-left-width:1px;}", ".f1f09k3d{border-bottom-width:1px;}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".fghlq4f{border-top-color:var(--colorTransparentStroke);}", ".f1gn591s{border-right-color:var(--colorTransparentStroke);}", ".fjscplz{border-left-color:var(--colorTransparentStroke);}", ".fb073pr{border-bottom-color:var(--colorTransparentStroke);}", ".f1c73kur{background-color:var(--colorNeutralForeground1);}", ".fqpbvvt{color:var(--colorNeutralForegroundInverted);}", ".ffp7eso{background-color:var(--colorBrandBackground);}", ".f1kcqot9{padding-top:12px;}", ".f11qrl6u{padding-right:12px;}", ".fjlbh76{padding-left:12px;}", ".fpe6lb7{padding-bottom:12px;}", ".fqag9an{padding-top:16px;}", ".f1gbmcue{padding-right:16px;}", ".f1rh9g5y{padding-left:16px;}", ".fp67ikv{padding-bottom:16px;}", ".fc7z3ec{padding-top:20px;}", ".fat0sn4{padding-right:20px;}", ".fekwl8i{padding-left:20px;}", ".fe2my4m{padding-bottom:20px;}", ".f1ekdpwm{width:8.484px;}", ".f83vc9z{height:8.484px;}", ".f1kmc0fn{width:11.312px;}", ".fb6lvc5{height:11.312px;}", ".f1euv43f{position:absolute;}", ".f1u2r49w{background-color:inherit;}", ".fd7fpy0{visibility:hidden;}", ".f1bsuimh{z-index:-1;}", ".fuzzvh5:before{content:\"\";}", ".fkk33zh:before{visibility:visible;}", ".fxf9f1y:before{position:absolute;}", ".f170vdtw:before{box-sizing:border-box;}", ".f103af6e:before{width:inherit;}", ".f15umuo5:before{height:inherit;}", ".f3wpjpt:before{background-color:inherit;}", ".f1k3tce7:before{border-right-width:1px;}", ".f1dkdgqi:before{border-right-style:solid;}", ".f5ghsz:before{border-right-color:var(--colorTransparentStroke);}", ".fyqop9u:before{border-bottom-width:1px;}", ".f1m5ya7j:before{border-bottom-style:solid;}", ".f3sp63x:before{border-bottom-color:var(--colorTransparentStroke);}", ".f5bg3dr:before{border-bottom-right-radius:var(--borderRadiusSmall);}", ".f1rfdd74:before{border-bottom-left-radius:var(--borderRadiusSmall);}", ".fzd2j21:before{-webkit-transform:rotate(var(--angle)) translate(0, 50%) rotate(45deg);-moz-transform:rotate(var(--angle)) translate(0, 50%) rotate(45deg);-ms-transform:rotate(var(--angle)) translate(0, 50%) rotate(45deg);transform:rotate(var(--angle)) translate(0, 50%) rotate(45deg);}", "[data-popper-placement^=\"top\"] .f1773hnp{bottom:-1px;}", "[data-popper-placement^=\"top\"] .f1n8855c{--angle:0;}", "[data-popper-placement^=\"right\"] .f1v7783n{left:-1px;}", "[data-popper-placement^=\"right\"] .fsw6im5{--angle:90deg;}", "[data-popper-placement^=\"bottom\"] .fh2hsk5{top:-1px;}", "[data-popper-placement^=\"bottom\"] .f159pzir{--angle:180deg;}", "[data-popper-placement^=\"left\"] .f11yvu4{right:-1px;}", "[data-popper-placement^=\"left\"] .fm1ycve{--angle:270deg;}"]
|
110
|
+
});
|
111
|
+
/**
|
112
|
+
* Apply styling to the PopoverSurface slots based on the state
|
113
|
+
*/
|
114
|
+
|
115
|
+
|
116
|
+
const usePopoverSurfaceStyles_unstable = state => {
|
117
|
+
const styles = useStyles();
|
118
|
+
state.root.className = react_1.mergeClasses(exports.popoverSurfaceClassName, styles.root, state.size === 'small' && styles.smallPadding, state.size === 'medium' && styles.mediumPadding, state.size === 'large' && styles.largePadding, state.appearance === 'inverted' && styles.inverted, state.appearance === 'brand' && styles.brand, state.root.className);
|
119
|
+
state.arrowClassName = react_1.mergeClasses(styles.arrow, state.size === 'small' ? styles.smallArrow : styles.mediumLargeArrow);
|
120
|
+
return state;
|
121
|
+
};
|
122
|
+
|
123
|
+
exports.usePopoverSurfaceStyles_unstable = usePopoverSurfaceStyles_unstable;
|
124
|
+
//# sourceMappingURL=usePopoverSurfaceStyles.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["components/PopoverSurface/usePopoverSurfaceStyles.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,OAAA,gBAAA,OAAA,CAAA,gBAAA,CAAA;;AACA,MAAA,mBAAA,gBAAA,OAAA,CAAA,6BAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AAIa,OAAA,CAAA,uBAAA,GAA0B,oBAA1B;AAEA,OAAA,CAAA,YAAA,GAA4C;AACvD,EAAA,KAAK,EAAE,CADgD;AAEvD,EAAA,MAAM,EAAE,CAF+C;AAGvD,EAAA,KAAK,EAAE;AAHgD,CAA5C;AAMb;;AAEG;;AACH,MAAM,SAAS,gBAAG,OAAA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;AAqCA;;AAEG;;;AACI,MAAM,gCAAgC,GAAI,KAAD,IAAoD;AAClG,QAAM,MAAM,GAAG,SAAS,EAAxB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,OAAA,CAAA,YAAA,CACrB,OAAA,CAAA,uBADqB,EAErB,MAAM,CAAC,IAFc,EAGrB,KAAK,CAAC,IAAN,KAAe,OAAf,IAA0B,MAAM,CAAC,YAHZ,EAIrB,KAAK,CAAC,IAAN,KAAe,QAAf,IAA2B,MAAM,CAAC,aAJb,EAKrB,KAAK,CAAC,IAAN,KAAe,OAAf,IAA0B,MAAM,CAAC,YALZ,EAMrB,KAAK,CAAC,UAAN,KAAqB,UAArB,IAAmC,MAAM,CAAC,QANrB,EAOrB,KAAK,CAAC,UAAN,KAAqB,OAArB,IAAgC,MAAM,CAAC,KAPlB,EAQrB,KAAK,CAAC,IAAN,CAAW,SARU,CAAvB;AAWA,EAAA,KAAK,CAAC,cAAN,GAAuB,OAAA,CAAA,YAAA,CACrB,MAAM,CAAC,KADc,EAErB,KAAK,CAAC,IAAN,KAAe,OAAf,GAAyB,MAAM,CAAC,UAAhC,GAA6C,MAAM,CAAC,gBAF/B,CAAvB;AAKA,SAAO,KAAP;AACD,CAnBM;;AAAM,OAAA,CAAA,gCAAA,GAAgC,gCAAhC","sourcesContent":["import { shorthands, makeStyles, mergeClasses } from '@griffel/react';\nimport { createArrowHeightStyles, createArrowStyles } from '@fluentui/react-positioning';\nimport { tokens } from '@fluentui/react-theme';\nimport type { PopoverSize } from '../Popover/Popover.types';\nimport type { PopoverSurfaceState } from './PopoverSurface.types';\n\nexport const popoverSurfaceClassName = 'fui-PopoverSurface';\n\nexport const arrowHeights: Record<PopoverSize, number> = {\n small: 6,\n medium: 8,\n large: 8,\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n backgroundColor: tokens.colorNeutralBackground1,\n boxShadow: tokens.shadow16,\n ...shorthands.borderRadius('4px'),\n ...shorthands.border('1px', 'solid', tokens.colorTransparentStroke),\n },\n\n inverted: {\n // TODO: neutral background inverted missing from superset and theme\n backgroundColor: tokens.colorNeutralForeground1,\n color: tokens.colorNeutralForegroundInverted,\n },\n\n brand: {\n backgroundColor: tokens.colorBrandBackground,\n // TODO: clarify with designers what foreground color should be with brand background,\n color: tokens.colorNeutralForegroundInverted,\n },\n\n smallPadding: {\n ...shorthands.padding('12px'),\n },\n\n mediumPadding: {\n ...shorthands.padding('16px'),\n },\n\n largePadding: {\n ...shorthands.padding('20px'),\n },\n\n smallArrow: createArrowHeightStyles(arrowHeights.small),\n mediumLargeArrow: createArrowHeightStyles(arrowHeights.medium),\n arrow: createArrowStyles({ arrowHeight: undefined }),\n});\n\n/**\n * Apply styling to the PopoverSurface slots based on the state\n */\nexport const usePopoverSurfaceStyles_unstable = (state: PopoverSurfaceState): PopoverSurfaceState => {\n const styles = useStyles();\n state.root.className = mergeClasses(\n popoverSurfaceClassName,\n styles.root,\n state.size === 'small' && styles.smallPadding,\n state.size === 'medium' && styles.mediumPadding,\n state.size === 'large' && styles.largePadding,\n state.appearance === 'inverted' && styles.inverted,\n state.appearance === 'brand' && styles.brand,\n state.root.className,\n );\n\n state.arrowClassName = mergeClasses(\n styles.arrow,\n state.size === 'small' ? styles.smallArrow : styles.mediumLargeArrow,\n );\n\n return state;\n};\n"],"sourceRoot":"../src/"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import type { FluentTriggerComponent } from '@fluentui/react-utilities';
|
3
|
+
import type { PopoverTriggerProps } from './PopoverTrigger.types';
|
4
|
+
/**
|
5
|
+
* Wraps a trigger element as an only child and adds the necessary event handling to open a popover.
|
6
|
+
*/
|
7
|
+
export declare const PopoverTrigger: React.FC<PopoverTriggerProps> & FluentTriggerComponent;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.PopoverTrigger = void 0;
|
7
|
+
|
8
|
+
const usePopoverTrigger_1 = /*#__PURE__*/require("./usePopoverTrigger");
|
9
|
+
|
10
|
+
const renderPopoverTrigger_1 = /*#__PURE__*/require("./renderPopoverTrigger");
|
11
|
+
/**
|
12
|
+
* Wraps a trigger element as an only child and adds the necessary event handling to open a popover.
|
13
|
+
*/
|
14
|
+
|
15
|
+
|
16
|
+
const PopoverTrigger = props => {
|
17
|
+
const state = usePopoverTrigger_1.usePopoverTrigger_unstable(props);
|
18
|
+
return renderPopoverTrigger_1.renderPopoverTrigger_unstable(state);
|
19
|
+
};
|
20
|
+
|
21
|
+
exports.PopoverTrigger = PopoverTrigger;
|
22
|
+
exports.PopoverTrigger.displayName = 'PopoverTrigger';
|
23
|
+
exports.PopoverTrigger.isFluentTriggerComponent = true;
|
24
|
+
//# sourceMappingURL=PopoverTrigger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["components/PopoverTrigger/PopoverTrigger.tsx"],"names":[],"mappings":";;;;;;;AACA,MAAA,mBAAA,gBAAA,OAAA,CAAA,qBAAA,CAAA;;AACA,MAAA,sBAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;AAIA;;AAEG;;;AACI,MAAM,cAAc,GAA2D,KAAK,IAAG;AAC5F,QAAM,KAAK,GAAG,mBAAA,CAAA,0BAAA,CAA2B,KAA3B,CAAd;AAEA,SAAO,sBAAA,CAAA,6BAAA,CAA8B,KAA9B,CAAP;AACD,CAJM;;AAAM,OAAA,CAAA,cAAA,GAAc,cAAd;AAMb,OAAA,CAAA,cAAA,CAAe,WAAf,GAA6B,gBAA7B;AACA,OAAA,CAAA,cAAA,CAAe,wBAAf,GAA0C,IAA1C","sourcesContent":["import * as React from 'react';\nimport { usePopoverTrigger_unstable } from './usePopoverTrigger';\nimport { renderPopoverTrigger_unstable } from './renderPopoverTrigger';\nimport type { FluentTriggerComponent } from '@fluentui/react-utilities';\nimport type { PopoverTriggerProps } from './PopoverTrigger.types';\n\n/**\n * Wraps a trigger element as an only child and adds the necessary event handling to open a popover.\n */\nexport const PopoverTrigger: React.FC<PopoverTriggerProps> & FluentTriggerComponent = props => {\n const state = usePopoverTrigger_unstable(props);\n\n return renderPopoverTrigger_unstable(state);\n};\n\nPopoverTrigger.displayName = 'PopoverTrigger';\nPopoverTrigger.isFluentTriggerComponent = true;\n"],"sourceRoot":"../src/"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
/**
|
3
|
+
* PopoverTrigger Props
|
4
|
+
*/
|
5
|
+
export declare type PopoverTriggerProps = {
|
6
|
+
children: (React.ReactElement & {
|
7
|
+
ref?: React.Ref<unknown>;
|
8
|
+
}) | ((props: PopoverTriggerChildProps) => React.ReactElement | null);
|
9
|
+
};
|
10
|
+
/**
|
11
|
+
* PopoverTrigger State
|
12
|
+
*/
|
13
|
+
export declare type PopoverTriggerState = {
|
14
|
+
children: React.ReactElement | null;
|
15
|
+
};
|
16
|
+
export declare type PopoverTriggerChildProps = {
|
17
|
+
ref?: React.Ref<never>;
|
18
|
+
} & Pick<React.HTMLAttributes<HTMLElement>, 'aria-haspopup' | 'onClick' | 'onMouseEnter' | 'onKeyDown' | 'onMouseLeave' | 'onContextMenu'>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
const tslib_1 = /*#__PURE__*/require("tslib");
|
8
|
+
|
9
|
+
tslib_1.__exportStar(require("./PopoverTrigger"), exports);
|
10
|
+
|
11
|
+
tslib_1.__exportStar(require("./PopoverTrigger.types"), exports);
|
12
|
+
|
13
|
+
tslib_1.__exportStar(require("./renderPopoverTrigger"), exports);
|
14
|
+
|
15
|
+
tslib_1.__exportStar(require("./usePopoverTrigger"), exports);
|
16
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["components/PopoverTrigger/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,wBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,wBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,qBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './PopoverTrigger';\nexport * from './PopoverTrigger.types';\nexport * from './renderPopoverTrigger';\nexport * from './usePopoverTrigger';\n"],"sourceRoot":"../src/"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { PopoverTriggerState } from './PopoverTrigger.types';
|
2
|
+
/**
|
3
|
+
* Render the final JSX of PopoverTrigger
|
4
|
+
*/
|
5
|
+
export declare const renderPopoverTrigger_unstable: (state: PopoverTriggerState) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.renderPopoverTrigger_unstable = void 0;
|
7
|
+
/**
|
8
|
+
* Render the final JSX of PopoverTrigger
|
9
|
+
*/
|
10
|
+
|
11
|
+
const renderPopoverTrigger_unstable = state => {
|
12
|
+
return state.children;
|
13
|
+
};
|
14
|
+
|
15
|
+
exports.renderPopoverTrigger_unstable = renderPopoverTrigger_unstable;
|
16
|
+
//# sourceMappingURL=renderPopoverTrigger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["components/PopoverTrigger/renderPopoverTrigger.tsx"],"names":[],"mappings":";;;;;;AAEA;;AAEG;;AACI,MAAM,6BAA6B,GAAI,KAAD,IAA+B;AAC1E,SAAO,KAAK,CAAC,QAAb;AACD,CAFM;;AAAM,OAAA,CAAA,6BAAA,GAA6B,6BAA7B","sourcesContent":["import type { PopoverTriggerState } from './PopoverTrigger.types';\n\n/**\n * Render the final JSX of PopoverTrigger\n */\nexport const renderPopoverTrigger_unstable = (state: PopoverTriggerState) => {\n return state.children;\n};\n"],"sourceRoot":"../src/"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import type { PopoverTriggerProps, PopoverTriggerState } from './PopoverTrigger.types';
|
2
|
+
/**
|
3
|
+
* Create the state required to render PopoverTrigger.
|
4
|
+
*
|
5
|
+
* The returned state can be modified with hooks such as usePopoverTriggerStyles,
|
6
|
+
* before being passed to renderPopoverTrigger_unstable.
|
7
|
+
*
|
8
|
+
* @param props - props from this instance of PopoverTrigger
|
9
|
+
*/
|
10
|
+
export declare const usePopoverTrigger_unstable: (props: PopoverTriggerProps) => PopoverTriggerState;
|
@@ -0,0 +1,95 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.usePopoverTrigger_unstable = void 0;
|
7
|
+
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
|
+
|
10
|
+
const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
|
11
|
+
|
12
|
+
const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
|
13
|
+
|
14
|
+
const popoverContext_1 = /*#__PURE__*/require("../../popoverContext");
|
15
|
+
/**
|
16
|
+
* Create the state required to render PopoverTrigger.
|
17
|
+
*
|
18
|
+
* The returned state can be modified with hooks such as usePopoverTriggerStyles,
|
19
|
+
* before being passed to renderPopoverTrigger_unstable.
|
20
|
+
*
|
21
|
+
* @param props - props from this instance of PopoverTrigger
|
22
|
+
*/
|
23
|
+
|
24
|
+
|
25
|
+
const usePopoverTrigger_unstable = props => {
|
26
|
+
var _a, _b, _c, _d, _e;
|
27
|
+
|
28
|
+
const {
|
29
|
+
children
|
30
|
+
} = props;
|
31
|
+
const child = React.isValidElement(children) ? react_utilities_1.getTriggerChild(children) : undefined;
|
32
|
+
const setOpen = popoverContext_1.usePopoverContext_unstable(context => context.setOpen);
|
33
|
+
const open = popoverContext_1.usePopoverContext_unstable(context => context.open);
|
34
|
+
const triggerRef = popoverContext_1.usePopoverContext_unstable(context => context.triggerRef);
|
35
|
+
const openOnHover = popoverContext_1.usePopoverContext_unstable(context => context.openOnHover);
|
36
|
+
const openOnContext = popoverContext_1.usePopoverContext_unstable(context => context.openOnContext);
|
37
|
+
const trapFocus = popoverContext_1.usePopoverContext_unstable(context => context.trapFocus);
|
38
|
+
const {
|
39
|
+
triggerAttributes
|
40
|
+
} = react_tabster_1.useModalAttributes();
|
41
|
+
|
42
|
+
const onContextMenu = e => {
|
43
|
+
if (openOnContext) {
|
44
|
+
e.preventDefault();
|
45
|
+
setOpen(e, true);
|
46
|
+
}
|
47
|
+
};
|
48
|
+
|
49
|
+
const onClick = e => {
|
50
|
+
if (!openOnContext) {
|
51
|
+
setOpen(e, !open);
|
52
|
+
}
|
53
|
+
};
|
54
|
+
|
55
|
+
const onKeyDown = e => {
|
56
|
+
var _a;
|
57
|
+
|
58
|
+
if (react_utilities_1.shouldPreventDefaultOnKeyDown(e) && (e.key === ' ' || e.key === 'Enter')) {
|
59
|
+
e.preventDefault();
|
60
|
+
(_a = e.target) === null || _a === void 0 ? void 0 : _a.click();
|
61
|
+
}
|
62
|
+
|
63
|
+
if (e.key === 'Escape') {
|
64
|
+
setOpen(e, false);
|
65
|
+
}
|
66
|
+
};
|
67
|
+
|
68
|
+
const onMouseEnter = react_utilities_1.useEventCallback(e => {
|
69
|
+
if (openOnHover) {
|
70
|
+
setOpen(e, true);
|
71
|
+
}
|
72
|
+
});
|
73
|
+
|
74
|
+
const onMouseLeave = e => {
|
75
|
+
if (openOnHover) {
|
76
|
+
setOpen(e, false);
|
77
|
+
}
|
78
|
+
};
|
79
|
+
|
80
|
+
return {
|
81
|
+
children: react_utilities_1.applyTriggerPropsToChildren(props.children, { ...triggerAttributes,
|
82
|
+
'aria-haspopup': trapFocus ? 'dialog' : 'true',
|
83
|
+
...(child === null || child === void 0 ? void 0 : child.props),
|
84
|
+
onClick: react_utilities_1.useMergedEventCallbacks((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onClick, onClick),
|
85
|
+
onMouseEnter: react_utilities_1.useMergedEventCallbacks((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onMouseEnter, onMouseEnter),
|
86
|
+
onKeyDown: react_utilities_1.useMergedEventCallbacks((_c = child === null || child === void 0 ? void 0 : child.props) === null || _c === void 0 ? void 0 : _c.onKeyDown, onKeyDown),
|
87
|
+
onMouseLeave: react_utilities_1.useMergedEventCallbacks((_d = child === null || child === void 0 ? void 0 : child.props) === null || _d === void 0 ? void 0 : _d.onMouseLeave, onMouseLeave),
|
88
|
+
onContextMenu: react_utilities_1.useMergedEventCallbacks((_e = child === null || child === void 0 ? void 0 : child.props) === null || _e === void 0 ? void 0 : _e.onContextMenu, onContextMenu),
|
89
|
+
ref: react_utilities_1.useMergedRefs(triggerRef, child === null || child === void 0 ? void 0 : child.ref)
|
90
|
+
})
|
91
|
+
};
|
92
|
+
};
|
93
|
+
|
94
|
+
exports.usePopoverTrigger_unstable = usePopoverTrigger_unstable;
|
95
|
+
//# sourceMappingURL=usePopoverTrigger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["components/PopoverTrigger/usePopoverTrigger.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {\n applyTriggerPropsToChildren,\n getTriggerChild,\n shouldPreventDefaultOnKeyDown,\n useMergedRefs,\n useMergedEventCallbacks,\n useEventCallback,\n} from '@fluentui/react-utilities';\nimport { useModalAttributes } from '@fluentui/react-tabster';\nimport { usePopoverContext_unstable } from '../../popoverContext';\nimport type { PopoverTriggerChildProps, PopoverTriggerProps, PopoverTriggerState } from './PopoverTrigger.types';\n\n/**\n * Create the state required to render PopoverTrigger.\n *\n * The returned state can be modified with hooks such as usePopoverTriggerStyles,\n * before being passed to renderPopoverTrigger_unstable.\n *\n * @param props - props from this instance of PopoverTrigger\n */\nexport const usePopoverTrigger_unstable = (props: PopoverTriggerProps): PopoverTriggerState => {\n const { children } = props;\n const child = React.isValidElement(children) ? getTriggerChild(children) : undefined;\n\n const setOpen = usePopoverContext_unstable(context => context.setOpen);\n const open = usePopoverContext_unstable(context => context.open);\n const triggerRef = usePopoverContext_unstable(context => context.triggerRef);\n const openOnHover = usePopoverContext_unstable(context => context.openOnHover);\n const openOnContext = usePopoverContext_unstable(context => context.openOnContext);\n const trapFocus = usePopoverContext_unstable(context => context.trapFocus);\n const { triggerAttributes } = useModalAttributes();\n\n const onContextMenu = (e: React.MouseEvent<HTMLElement>) => {\n if (openOnContext) {\n e.preventDefault();\n setOpen(e, true);\n }\n };\n\n const onClick = (e: React.MouseEvent<HTMLElement>) => {\n if (!openOnContext) {\n setOpen(e, !open);\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (shouldPreventDefaultOnKeyDown(e) && (e.key === ' ' || e.key === 'Enter')) {\n e.preventDefault();\n (e.target as HTMLElement)?.click();\n }\n\n if (e.key === 'Escape') {\n setOpen(e, false);\n }\n };\n\n const onMouseEnter = useEventCallback((e: React.MouseEvent<HTMLElement>) => {\n if (openOnHover) {\n setOpen(e, true);\n }\n });\n\n const onMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n if (openOnHover) {\n setOpen(e, false);\n }\n };\n\n return {\n children: applyTriggerPropsToChildren<PopoverTriggerChildProps>(props.children, {\n ...triggerAttributes,\n 'aria-haspopup': trapFocus ? 'dialog' : 'true',\n ...child?.props,\n onClick: useMergedEventCallbacks(child?.props?.onClick, onClick),\n onMouseEnter: useMergedEventCallbacks(child?.props?.onMouseEnter, onMouseEnter),\n onKeyDown: useMergedEventCallbacks(child?.props?.onKeyDown, onKeyDown),\n onMouseLeave: useMergedEventCallbacks(child?.props?.onMouseLeave, onMouseLeave),\n onContextMenu: useMergedEventCallbacks(child?.props?.onContextMenu, onContextMenu),\n ref: useMergedRefs(triggerRef, child?.ref),\n }),\n };\n};\n"],"sourceRoot":"../src/"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
const tslib_1 = /*#__PURE__*/require("tslib");
|
8
|
+
|
9
|
+
tslib_1.__exportStar(require("./Popover"), exports);
|
10
|
+
|
11
|
+
tslib_1.__exportStar(require("./PopoverSurface"), exports);
|
12
|
+
|
13
|
+
tslib_1.__exportStar(require("./popoverContext"), exports);
|
14
|
+
|
15
|
+
tslib_1.__exportStar(require("./PopoverTrigger"), exports);
|
16
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,WAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './Popover';\nexport * from './PopoverSurface';\nexport * from './popoverContext';\nexport * from './PopoverTrigger';\n"],"sourceRoot":"../src/"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { ContextSelector, Context } from '@fluentui/react-context-selector';
|
2
|
+
import type { PopoverState } from './components/Popover/index';
|
3
|
+
export declare const PopoverContext: Context<PopoverContextValue>;
|
4
|
+
/**
|
5
|
+
* Context shared between Popover and its children components
|
6
|
+
*/
|
7
|
+
export declare type PopoverContextValue = Pick<PopoverState, 'open' | 'setOpen' | 'triggerRef' | 'contentRef' | 'openOnHover' | 'openOnContext' | 'mountNode' | 'noArrow' | 'arrowRef' | 'size' | 'appearance' | 'trapFocus'>;
|
8
|
+
export declare const usePopoverContext_unstable: <T>(selector: ContextSelector<PopoverContextValue, T>) => T;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.usePopoverContext_unstable = exports.PopoverContext = void 0;
|
7
|
+
|
8
|
+
const react_context_selector_1 = /*#__PURE__*/require("@fluentui/react-context-selector");
|
9
|
+
|
10
|
+
exports.PopoverContext = /*#__PURE__*/react_context_selector_1.createContext({
|
11
|
+
open: false,
|
12
|
+
setOpen: () => null,
|
13
|
+
triggerRef: {
|
14
|
+
current: null
|
15
|
+
},
|
16
|
+
contentRef: {
|
17
|
+
current: null
|
18
|
+
},
|
19
|
+
arrowRef: {
|
20
|
+
current: null
|
21
|
+
},
|
22
|
+
openOnContext: false,
|
23
|
+
openOnHover: false,
|
24
|
+
size: 'medium',
|
25
|
+
trapFocus: false
|
26
|
+
});
|
27
|
+
|
28
|
+
const usePopoverContext_unstable = selector => react_context_selector_1.useContextSelector(exports.PopoverContext, selector);
|
29
|
+
|
30
|
+
exports.usePopoverContext_unstable = usePopoverContext_unstable;
|
31
|
+
//# sourceMappingURL=popoverContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["popoverContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AAIa,OAAA,CAAA,cAAA,gBAA+C,wBAAA,CAAA,aAAA,CAAmC;AAC7F,EAAA,IAAI,EAAE,KADuF;AAE7F,EAAA,OAAO,EAAE,MAAM,IAF8E;AAG7F,EAAA,UAAU,EAAE;AAAE,IAAA,OAAO,EAAE;AAAX,GAHiF;AAI7F,EAAA,UAAU,EAAE;AAAE,IAAA,OAAO,EAAE;AAAX,GAJiF;AAK7F,EAAA,QAAQ,EAAE;AAAE,IAAA,OAAO,EAAE;AAAX,GALmF;AAM7F,EAAA,aAAa,EAAE,KAN8E;AAO7F,EAAA,WAAW,EAAE,KAPgF;AAQ7F,EAAA,IAAI,EAAE,QARuF;AAS7F,EAAA,SAAS,EAAE;AATkF,CAAnC,CAA/C;;AA+BN,MAAM,0BAA0B,GAAO,QAAJ,IACxC,wBAAA,CAAA,kBAAA,CAAmB,OAAA,CAAA,cAAnB,EAAmC,QAAnC,CADK;;AAAM,OAAA,CAAA,0BAAA,GAA0B,0BAA1B","sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport type { ContextSelector, Context } from '@fluentui/react-context-selector';\nimport type { PopoverState } from './components/Popover/index';\n\nexport const PopoverContext: Context<PopoverContextValue> = createContext<PopoverContextValue>({\n open: false,\n setOpen: () => null,\n triggerRef: { current: null },\n contentRef: { current: null },\n arrowRef: { current: null },\n openOnContext: false,\n openOnHover: false,\n size: 'medium',\n trapFocus: false,\n});\n\n/**\n * Context shared between Popover and its children components\n */\nexport type PopoverContextValue = Pick<\n PopoverState,\n | 'open'\n | 'setOpen'\n | 'triggerRef'\n | 'contentRef'\n | 'openOnHover'\n | 'openOnContext'\n | 'mountNode'\n | 'noArrow'\n | 'arrowRef'\n | 'size'\n | 'appearance'\n | 'trapFocus'\n>;\n\nexport const usePopoverContext_unstable = <T>(selector: ContextSelector<PopoverContextValue, T>): T =>\n useContextSelector(PopoverContext, selector);\n"],"sourceRoot":"../src/"}
|