@fluentui/react-popover 0.0.0-nightly-20230222-0421.1 → 0.0.0-nightly-20230223-2115.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.
Files changed (81) hide show
  1. package/.swcrc +33 -0
  2. package/CHANGELOG.json +44 -23
  3. package/CHANGELOG.md +24 -14
  4. package/lib/Popover.js.map +1 -1
  5. package/lib/PopoverSurface.js.map +1 -1
  6. package/lib/PopoverTrigger.js.map +1 -1
  7. package/lib/components/Popover/Popover.js +1 -0
  8. package/lib/components/Popover/Popover.js.map +1 -1
  9. package/lib/components/Popover/Popover.types.js +1 -1
  10. package/lib/components/Popover/Popover.types.js.map +1 -1
  11. package/lib/components/Popover/constants.js +1 -2
  12. package/lib/components/Popover/constants.js.map +1 -1
  13. package/lib/components/Popover/index.js.map +1 -1
  14. package/lib/components/Popover/renderPopover.js.map +1 -1
  15. package/lib/components/Popover/usePopover.js +5 -8
  16. package/lib/components/Popover/usePopover.js.map +1 -1
  17. package/lib/components/PopoverSurface/PopoverSurface.js.map +1 -1
  18. package/lib/components/PopoverSurface/PopoverSurface.types.js.map +1 -1
  19. package/lib/components/PopoverSurface/index.js.map +1 -1
  20. package/lib/components/PopoverSurface/renderPopoverSurface.js +2 -3
  21. package/lib/components/PopoverSurface/renderPopoverSurface.js.map +1 -1
  22. package/lib/components/PopoverSurface/usePopoverSurface.js +5 -3
  23. package/lib/components/PopoverSurface/usePopoverSurface.js.map +1 -1
  24. package/lib/components/PopoverSurface/usePopoverSurfaceStyles.js.map +1 -1
  25. package/lib/components/PopoverTrigger/PopoverTrigger.js +1 -0
  26. package/lib/components/PopoverTrigger/PopoverTrigger.js.map +1 -1
  27. package/lib/components/PopoverTrigger/PopoverTrigger.types.js +1 -1
  28. package/lib/components/PopoverTrigger/PopoverTrigger.types.js.map +1 -1
  29. package/lib/components/PopoverTrigger/index.js.map +1 -1
  30. package/lib/components/PopoverTrigger/renderPopoverTrigger.js +1 -2
  31. package/lib/components/PopoverTrigger/renderPopoverTrigger.js.map +1 -1
  32. package/lib/components/PopoverTrigger/usePopoverTrigger.js +1 -0
  33. package/lib/components/PopoverTrigger/usePopoverTrigger.js.map +1 -1
  34. package/lib/index.js.map +1 -1
  35. package/lib/popoverContext.js +4 -1
  36. package/lib/popoverContext.js.map +1 -1
  37. package/lib-commonjs/Popover.js +5 -4
  38. package/lib-commonjs/Popover.js.map +1 -1
  39. package/lib-commonjs/PopoverSurface.js +5 -4
  40. package/lib-commonjs/PopoverSurface.js.map +1 -1
  41. package/lib-commonjs/PopoverTrigger.js +5 -4
  42. package/lib-commonjs/PopoverTrigger.js.map +1 -1
  43. package/lib-commonjs/components/Popover/Popover.js +14 -13
  44. package/lib-commonjs/components/Popover/Popover.js.map +1 -1
  45. package/lib-commonjs/components/Popover/Popover.types.js +5 -2
  46. package/lib-commonjs/components/Popover/Popover.types.js.map +1 -1
  47. package/lib-commonjs/components/Popover/constants.js +10 -8
  48. package/lib-commonjs/components/Popover/constants.js.map +1 -1
  49. package/lib-commonjs/components/Popover/index.js +8 -7
  50. package/lib-commonjs/components/Popover/index.js.map +1 -1
  51. package/lib-commonjs/components/Popover/renderPopover.js +31 -47
  52. package/lib-commonjs/components/Popover/renderPopover.js.map +1 -1
  53. package/lib-commonjs/components/Popover/usePopover.js +176 -173
  54. package/lib-commonjs/components/Popover/usePopover.js.map +1 -1
  55. package/lib-commonjs/components/PopoverSurface/PopoverSurface.js +16 -15
  56. package/lib-commonjs/components/PopoverSurface/PopoverSurface.js.map +1 -1
  57. package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.js +3 -2
  58. package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.js.map +1 -1
  59. package/lib-commonjs/components/PopoverSurface/index.js +9 -8
  60. package/lib-commonjs/components/PopoverSurface/index.js.map +1 -1
  61. package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.js +25 -28
  62. package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.js.map +1 -1
  63. package/lib-commonjs/components/PopoverSurface/usePopoverSurface.js +70 -80
  64. package/lib-commonjs/components/PopoverSurface/usePopoverSurface.js.map +1 -1
  65. package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.js +243 -113
  66. package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.js.map +1 -1
  67. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.js +15 -14
  68. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.js.map +1 -1
  69. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.js +5 -2
  70. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.js.map +1 -1
  71. package/lib-commonjs/components/PopoverTrigger/index.js +8 -7
  72. package/lib-commonjs/components/PopoverTrigger/index.js.map +1 -1
  73. package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.js +12 -11
  74. package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.js.map +1 -1
  75. package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.js +71 -80
  76. package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.js.map +1 -1
  77. package/lib-commonjs/index.js +30 -92
  78. package/lib-commonjs/index.js.map +1 -1
  79. package/lib-commonjs/popoverContext.js +37 -25
  80. package/lib-commonjs/popoverContext.js.map +1 -1
  81. package/package.json +13 -13
@@ -1,187 +1,190 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.usePopover_unstable = void 0;
7
- const React = /*#__PURE__*/require("react");
8
- const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
9
- const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
10
- const react_positioning_1 = /*#__PURE__*/require("@fluentui/react-positioning");
11
- const react_portal_1 = /*#__PURE__*/require("@fluentui/react-portal");
12
- const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
13
- const index_1 = /*#__PURE__*/require("../PopoverSurface/index");
14
- const constants_1 = /*#__PURE__*/require("./constants");
15
- /**
16
- * Create the state required to render Popover.
17
- *
18
- * The returned state can be modified with hooks such as usePopoverStyles,
19
- * before being passed to renderPopover_unstable.
20
- *
21
- * @param props - props from this instance of Popover
22
- */
23
- const usePopover_unstable = props => {
24
- var _a;
25
- const [contextTarget, setContextTarget] = react_positioning_1.usePositioningMouseTarget();
26
- const initialState = {
27
- size: 'medium',
28
- contextTarget,
29
- setContextTarget,
30
- ...props
31
- };
32
- const children = React.Children.toArray(props.children);
33
- if (process.env.NODE_ENV !== 'production') {
34
- if (children.length === 0) {
35
- // eslint-disable-next-line no-console
36
- console.warn('Popover must contain at least one child');
37
- }
38
- if (children.length > 2) {
39
- // eslint-disable-next-line no-console
40
- console.warn('Popover must contain at most two children');
41
- }
42
- }
43
- let popoverTrigger = undefined;
44
- let popoverSurface = undefined;
45
- if (children.length === 2) {
46
- popoverTrigger = children[0];
47
- popoverSurface = children[1];
48
- } else if (children.length === 1) {
49
- popoverSurface = children[0];
50
- }
51
- const [open, setOpenState] = useOpenState(initialState);
52
- const setOpenTimeoutRef = React.useRef(0);
53
- const setOpen = react_utilities_1.useEventCallback((e, shouldOpen) => {
54
- var _a;
55
- clearTimeout(setOpenTimeoutRef.current);
56
- if (!(e instanceof Event) && e.persist) {
57
- // < React 17 still uses pooled synthetic events
58
- e.persist();
59
- }
60
- if (e.type === 'mouseleave') {
61
- // FIXME leaking Node timeout type
62
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
63
- // @ts-ignore
64
- setOpenTimeoutRef.current = setTimeout(() => {
65
- setOpenState(e, shouldOpen);
66
- }, (_a = props.mouseLeaveDelay) !== null && _a !== void 0 ? _a : 500);
67
- } else {
68
- setOpenState(e, shouldOpen);
69
- }
70
- });
71
- // Clear timeout on unmount
72
- // Setting state after a component unmounts can cause memory leaks
73
- React.useEffect(() => {
74
- return () => {
75
- clearTimeout(setOpenTimeoutRef.current);
5
+ Object.defineProperty(exports, "usePopover_unstable", {
6
+ enumerable: true,
7
+ get: ()=>usePopover_unstable
8
+ });
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _reactUtilities = require("@fluentui/react-utilities");
12
+ const _reactSharedContexts = require("@fluentui/react-shared-contexts");
13
+ const _reactPositioning = require("@fluentui/react-positioning");
14
+ const _reactPortal = require("@fluentui/react-portal");
15
+ const _reactTabster = require("@fluentui/react-tabster");
16
+ const _index = require("../PopoverSurface/index");
17
+ const _constants = require("./constants");
18
+ const usePopover_unstable = (props)=>{
19
+ const [contextTarget, setContextTarget] = (0, _reactPositioning.usePositioningMouseTarget)();
20
+ const initialState = {
21
+ size: 'medium',
22
+ contextTarget,
23
+ setContextTarget,
24
+ ...props
76
25
  };
77
- }, []);
78
- const toggleOpen = React.useCallback(e => {
79
- setOpen(e, !open);
80
- }, [setOpen, open]);
81
- const positioningRefs = usePopoverRefs(initialState);
82
- const {
83
- targetDocument
84
- } = react_shared_contexts_1.useFluent_unstable();
85
- react_utilities_1.useOnClickOutside({
86
- contains: react_portal_1.elementContains,
87
- element: targetDocument,
88
- callback: ev => setOpen(ev, false),
89
- refs: [positioningRefs.triggerRef, positioningRefs.contentRef],
90
- disabled: !open
91
- });
92
- // only close on scroll for context, or when closeOnScroll is specified
93
- const closeOnScroll = initialState.openOnContext || initialState.closeOnScroll;
94
- react_utilities_1.useOnScrollOutside({
95
- contains: react_portal_1.elementContains,
96
- element: targetDocument,
97
- callback: ev => setOpen(ev, false),
98
- refs: [positioningRefs.triggerRef, positioningRefs.contentRef],
99
- disabled: !open || !closeOnScroll
100
- });
101
- const {
102
- findFirstFocusable
103
- } = react_tabster_1.useFocusFinders();
104
- React.useEffect(() => {
105
- var _a;
106
- if (props.unstable_disableAutoFocus) {
107
- return;
26
+ const children = _react.Children.toArray(props.children);
27
+ if (process.env.NODE_ENV !== 'production') {
28
+ if (children.length === 0) {
29
+ // eslint-disable-next-line no-console
30
+ console.warn('Popover must contain at least one child');
31
+ }
32
+ if (children.length > 2) {
33
+ // eslint-disable-next-line no-console
34
+ console.warn('Popover must contain at most two children');
35
+ }
108
36
  }
109
- if (open && positioningRefs.contentRef.current) {
110
- const containerTabIndex = (_a = positioningRefs.contentRef.current.getAttribute('tabIndex')) !== null && _a !== void 0 ? _a : undefined;
111
- const firstFocusable = isNaN(containerTabIndex) ? findFirstFocusable(positioningRefs.contentRef.current) : positioningRefs.contentRef.current;
112
- firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
37
+ let popoverTrigger = undefined;
38
+ let popoverSurface = undefined;
39
+ if (children.length === 2) {
40
+ popoverTrigger = children[0];
41
+ popoverSurface = children[1];
42
+ } else if (children.length === 1) {
43
+ popoverSurface = children[0];
113
44
  }
114
- }, [findFirstFocusable, open, positioningRefs.contentRef, props.unstable_disableAutoFocus]);
115
- return {
116
- ...initialState,
117
- ...positioningRefs,
118
- popoverTrigger,
119
- popoverSurface,
120
- open,
121
- setOpen,
122
- toggleOpen,
123
- setContextTarget,
124
- contextTarget,
125
- inline: (_a = props.inline) !== null && _a !== void 0 ? _a : false
126
- };
45
+ const [open, setOpenState] = useOpenState(initialState);
46
+ const setOpenTimeoutRef = _react.useRef(0);
47
+ const setOpen = (0, _reactUtilities.useEventCallback)((e, shouldOpen)=>{
48
+ clearTimeout(setOpenTimeoutRef.current);
49
+ if (!(e instanceof Event) && e.persist) {
50
+ // < React 17 still uses pooled synthetic events
51
+ e.persist();
52
+ }
53
+ if (e.type === 'mouseleave') {
54
+ // FIXME leaking Node timeout type
55
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
56
+ // @ts-ignore
57
+ setOpenTimeoutRef.current = setTimeout(()=>{
58
+ setOpenState(e, shouldOpen);
59
+ }, props.mouseLeaveDelay ?? 500);
60
+ } else {
61
+ setOpenState(e, shouldOpen);
62
+ }
63
+ });
64
+ // Clear timeout on unmount
65
+ // Setting state after a component unmounts can cause memory leaks
66
+ _react.useEffect(()=>{
67
+ return ()=>{
68
+ clearTimeout(setOpenTimeoutRef.current);
69
+ };
70
+ }, []);
71
+ const toggleOpen = _react.useCallback((e)=>{
72
+ setOpen(e, !open);
73
+ }, [
74
+ setOpen,
75
+ open
76
+ ]);
77
+ const positioningRefs = usePopoverRefs(initialState);
78
+ const { targetDocument } = (0, _reactSharedContexts.useFluent_unstable)();
79
+ (0, _reactUtilities.useOnClickOutside)({
80
+ contains: _reactPortal.elementContains,
81
+ element: targetDocument,
82
+ callback: (ev)=>setOpen(ev, false),
83
+ refs: [
84
+ positioningRefs.triggerRef,
85
+ positioningRefs.contentRef
86
+ ],
87
+ disabled: !open
88
+ });
89
+ // only close on scroll for context, or when closeOnScroll is specified
90
+ const closeOnScroll = initialState.openOnContext || initialState.closeOnScroll;
91
+ (0, _reactUtilities.useOnScrollOutside)({
92
+ contains: _reactPortal.elementContains,
93
+ element: targetDocument,
94
+ callback: (ev)=>setOpen(ev, false),
95
+ refs: [
96
+ positioningRefs.triggerRef,
97
+ positioningRefs.contentRef
98
+ ],
99
+ disabled: !open || !closeOnScroll
100
+ });
101
+ const { findFirstFocusable } = (0, _reactTabster.useFocusFinders)();
102
+ _react.useEffect(()=>{
103
+ if (props.unstable_disableAutoFocus) {
104
+ return;
105
+ }
106
+ if (open && positioningRefs.contentRef.current) {
107
+ const containerTabIndex = positioningRefs.contentRef.current.getAttribute('tabIndex') ?? undefined;
108
+ const firstFocusable = isNaN(containerTabIndex) ? findFirstFocusable(positioningRefs.contentRef.current) : positioningRefs.contentRef.current;
109
+ firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
110
+ }
111
+ }, [
112
+ findFirstFocusable,
113
+ open,
114
+ positioningRefs.contentRef,
115
+ props.unstable_disableAutoFocus
116
+ ]);
117
+ return {
118
+ ...initialState,
119
+ ...positioningRefs,
120
+ popoverTrigger,
121
+ popoverSurface,
122
+ open,
123
+ setOpen,
124
+ toggleOpen,
125
+ setContextTarget,
126
+ contextTarget,
127
+ inline: props.inline ?? false
128
+ };
127
129
  };
128
- exports.usePopover_unstable = usePopover_unstable;
129
130
  /**
130
131
  * Creates and manages the Popover open state
131
- */
132
- function useOpenState(state) {
133
- const onOpenChange = react_utilities_1.useEventCallback((e, data) => {
134
- var _a;
135
- return (_a = state.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(state, e, data);
136
- });
137
- const [open, setOpenState] = react_utilities_1.useControllableState({
138
- state: state.open,
139
- defaultState: state.defaultOpen,
140
- initialState: false
141
- });
142
- state.open = open !== undefined ? open : state.open;
143
- const setContextTarget = state.setContextTarget;
144
- const setOpen = React.useCallback((e, shouldOpen) => {
145
- if (shouldOpen && e.type === 'contextmenu') {
146
- setContextTarget(e);
147
- }
148
- if (!shouldOpen) {
149
- setContextTarget(undefined);
150
- }
151
- setOpenState(shouldOpen);
152
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(e, {
153
- open: shouldOpen
132
+ */ function useOpenState(state) {
133
+ const onOpenChange = (0, _reactUtilities.useEventCallback)((e, data)=>{
134
+ var _state_onOpenChange;
135
+ return (_state_onOpenChange = state.onOpenChange) === null || _state_onOpenChange === void 0 ? void 0 : _state_onOpenChange.call(state, e, data);
154
136
  });
155
- }, [setOpenState, onOpenChange, setContextTarget]);
156
- return [open, setOpen];
137
+ const [open, setOpenState] = (0, _reactUtilities.useControllableState)({
138
+ state: state.open,
139
+ defaultState: state.defaultOpen,
140
+ initialState: false
141
+ });
142
+ state.open = open !== undefined ? open : state.open;
143
+ const setContextTarget = state.setContextTarget;
144
+ const setOpen = _react.useCallback((e, shouldOpen)=>{
145
+ if (shouldOpen && e.type === 'contextmenu') {
146
+ setContextTarget(e);
147
+ }
148
+ if (!shouldOpen) {
149
+ setContextTarget(undefined);
150
+ }
151
+ setOpenState(shouldOpen);
152
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(e, {
153
+ open: shouldOpen
154
+ });
155
+ }, [
156
+ setOpenState,
157
+ onOpenChange,
158
+ setContextTarget
159
+ ]);
160
+ return [
161
+ open,
162
+ setOpen
163
+ ];
157
164
  }
158
165
  /**
159
166
  * Creates and sets the necessary trigger, target and content refs used by Popover
160
- */
161
- function usePopoverRefs(state) {
162
- const positioningOptions = {
163
- position: 'above',
164
- align: 'center',
165
- arrowPadding: 2 * constants_1.popoverSurfaceBorderRadius,
166
- target: state.openOnContext ? state.contextTarget : undefined,
167
- ...react_positioning_1.resolvePositioningShorthand(state.positioning)
168
- };
169
- // no reason to render arrow when covering the target
170
- if (positioningOptions.coverTarget) {
171
- state.withArrow = false;
172
- }
173
- if (state.withArrow) {
174
- positioningOptions.offset = react_positioning_1.mergeArrowOffset(positioningOptions.offset, index_1.arrowHeights[state.size]);
175
- }
176
- const {
177
- targetRef: triggerRef,
178
- containerRef: contentRef,
179
- arrowRef
180
- } = react_positioning_1.usePositioning(positioningOptions);
181
- return {
182
- triggerRef,
183
- contentRef,
184
- arrowRef
185
- };
186
- }
167
+ */ function usePopoverRefs(state) {
168
+ const positioningOptions = {
169
+ position: 'above',
170
+ align: 'center',
171
+ arrowPadding: 2 * _constants.popoverSurfaceBorderRadius,
172
+ target: state.openOnContext ? state.contextTarget : undefined,
173
+ ...(0, _reactPositioning.resolvePositioningShorthand)(state.positioning)
174
+ };
175
+ // no reason to render arrow when covering the target
176
+ if (positioningOptions.coverTarget) {
177
+ state.withArrow = false;
178
+ }
179
+ if (state.withArrow) {
180
+ positioningOptions.offset = (0, _reactPositioning.mergeArrowOffset)(positioningOptions.offset, _index.arrowHeights[state.size]);
181
+ }
182
+ const { targetRef: triggerRef , containerRef: contentRef , arrowRef } = (0, _reactPositioning.usePositioning)(positioningOptions);
183
+ return {
184
+ triggerRef,
185
+ contentRef,
186
+ arrowRef
187
+ };
188
+ } //# sourceMappingURL=usePopover.js.map
189
+
187
190
  //# sourceMappingURL=usePopover.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":"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","names":["usePopover_unstable","props","contextTarget","setContextTarget","react_positioning_1","initialState","size","children","React","Children","toArray","process","env","NODE_ENV","length","console","warn","popoverTrigger","undefined","popoverSurface","open","setOpenState","useOpenState","setOpenTimeoutRef","useRef","setOpen","react_utilities_1","e","shouldOpen","clearTimeout","current","Event","persist","type","setTimeout","mouseLeaveDelay","useEffect","toggleOpen","useCallback","positioningRefs","usePopoverRefs","targetDocument","react_shared_contexts_1","contains","react_portal_1","element","callback","ev","refs","triggerRef","contentRef","disabled","closeOnScroll","openOnContext","findFirstFocusable","react_tabster_1","unstable_disableAutoFocus","containerTabIndex","getAttribute","firstFocusable","isNaN","focus","inline","exports","state","onOpenChange","data","defaultState","defaultOpen","positioningOptions","position","align","arrowPadding","constants_1","target","positioning","coverTarget","withArrow","offset","index_1","targetRef","containerRef","arrowRef"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-popover/src/components/Popover/usePopover.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n useControllableState,\n useEventCallback,\n useOnClickOutside,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport {\n usePositioning,\n resolvePositioningShorthand,\n mergeArrowOffset,\n usePositioningMouseTarget,\n} from '@fluentui/react-positioning';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { arrowHeights } from '../PopoverSurface/index';\nimport type { OpenPopoverEvents, PopoverProps, PopoverState } from './Popover.types';\nimport { popoverSurfaceBorderRadius } from './constants';\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_unstable.\n *\n * @param props - props from this instance of Popover\n */\nexport const usePopover_unstable = (props: PopoverProps): PopoverState => {\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const initialState = {\n size: 'medium',\n contextTarget,\n setContextTarget,\n ...props,\n } as const;\n\n const children = React.Children.toArray(props.children) as React.ReactElement[];\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at least one child');\n }\n\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at most two children');\n }\n }\n\n let popoverTrigger: React.ReactElement | undefined = undefined;\n let popoverSurface: React.ReactElement | undefined = undefined;\n if (children.length === 2) {\n popoverTrigger = children[0];\n popoverSurface = children[1];\n } else if (children.length === 1) {\n popoverSurface = children[0];\n }\n\n const [open, setOpenState] = useOpenState(initialState);\n\n const setOpenTimeoutRef = React.useRef(0);\n\n const setOpen = useEventCallback((e: OpenPopoverEvents, shouldOpen: boolean) => {\n clearTimeout(setOpenTimeoutRef.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n\n if (e.type === 'mouseleave') {\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeoutRef.current = setTimeout(() => {\n setOpenState(e, shouldOpen);\n }, props.mouseLeaveDelay ?? 500);\n } else {\n setOpenState(e, shouldOpen);\n }\n });\n\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeoutRef.current);\n };\n }, []);\n\n const toggleOpen = React.useCallback<PopoverState['toggleOpen']>(\n e => {\n setOpen(e, !open);\n },\n [setOpen, open],\n );\n\n const positioningRefs = usePopoverRefs(initialState);\n\n const { targetDocument } = useFluent();\n useOnClickOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open,\n });\n\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = initialState.openOnContext || initialState.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open || !closeOnScroll,\n });\n\n const { findFirstFocusable } = useFocusFinders();\n\n React.useEffect(() => {\n if (props.unstable_disableAutoFocus) {\n return;\n }\n\n if (open && positioningRefs.contentRef.current) {\n const containerTabIndex = positioningRefs.contentRef.current.getAttribute('tabIndex') ?? undefined;\n const firstFocusable = isNaN(containerTabIndex)\n ? findFirstFocusable(positioningRefs.contentRef.current)\n : positioningRefs.contentRef.current;\n firstFocusable?.focus();\n }\n }, [findFirstFocusable, open, positioningRefs.contentRef, props.unstable_disableAutoFocus]);\n\n return {\n ...initialState,\n ...positioningRefs,\n popoverTrigger,\n popoverSurface,\n open,\n setOpen,\n toggleOpen,\n setContextTarget,\n contextTarget,\n inline: props.inline ?? false,\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(shouldOpen);\n onOpenChange?.(e, { open: shouldOpen });\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'> &\n Pick<PopoverProps, 'positioning' | 'openOnContext' | 'withArrow'>,\n) {\n const positioningOptions = {\n position: 'above' as const,\n align: 'center' as const,\n arrowPadding: 2 * popoverSurfaceBorderRadius,\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 (positioningOptions.coverTarget) {\n state.withArrow = false;\n }\n\n if (state.withArrow) {\n positioningOptions.offset = mergeArrowOffset(positioningOptions.offset, arrowHeights[state.size]);\n }\n\n const { targetRef: triggerRef, containerRef: contentRef, arrowRef } = usePositioning(positioningOptions);\n\n return {\n triggerRef,\n contentRef,\n arrowRef,\n } as const;\n}\n"]}
1
+ {"version":3,"sources":["../../../lib/components/Popover/usePopover.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState, useEventCallback, useOnClickOutside, useOnScrollOutside } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { usePositioning, resolvePositioningShorthand, mergeArrowOffset, usePositioningMouseTarget } from '@fluentui/react-positioning';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { arrowHeights } from '../PopoverSurface/index';\nimport { popoverSurfaceBorderRadius } from './constants';\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_unstable.\n *\n * @param props - props from this instance of Popover\n */\nexport const usePopover_unstable = props => {\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n const initialState = {\n size: 'medium',\n contextTarget,\n setContextTarget,\n ...props\n };\n const children = React.Children.toArray(props.children);\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at least one child');\n }\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Popover must contain at most two children');\n }\n }\n let popoverTrigger = undefined;\n let popoverSurface = undefined;\n if (children.length === 2) {\n popoverTrigger = children[0];\n popoverSurface = children[1];\n } else if (children.length === 1) {\n popoverSurface = children[0];\n }\n const [open, setOpenState] = useOpenState(initialState);\n const setOpenTimeoutRef = React.useRef(0);\n const setOpen = useEventCallback((e, shouldOpen) => {\n clearTimeout(setOpenTimeoutRef.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n if (e.type === 'mouseleave') {\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeoutRef.current = setTimeout(() => {\n setOpenState(e, shouldOpen);\n }, props.mouseLeaveDelay ?? 500);\n } else {\n setOpenState(e, shouldOpen);\n }\n });\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeoutRef.current);\n };\n }, []);\n const toggleOpen = React.useCallback(e => {\n setOpen(e, !open);\n }, [setOpen, open]);\n const positioningRefs = usePopoverRefs(initialState);\n const {\n targetDocument\n } = useFluent();\n useOnClickOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open\n });\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = initialState.openOnContext || initialState.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [positioningRefs.triggerRef, positioningRefs.contentRef],\n disabled: !open || !closeOnScroll\n });\n const {\n findFirstFocusable\n } = useFocusFinders();\n React.useEffect(() => {\n if (props.unstable_disableAutoFocus) {\n return;\n }\n if (open && positioningRefs.contentRef.current) {\n const containerTabIndex = positioningRefs.contentRef.current.getAttribute('tabIndex') ?? undefined;\n const firstFocusable = isNaN(containerTabIndex) ? findFirstFocusable(positioningRefs.contentRef.current) : positioningRefs.contentRef.current;\n firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();\n }\n }, [findFirstFocusable, open, positioningRefs.contentRef, props.unstable_disableAutoFocus]);\n return {\n ...initialState,\n ...positioningRefs,\n popoverTrigger,\n popoverSurface,\n open,\n setOpen,\n toggleOpen,\n setContextTarget,\n contextTarget,\n inline: props.inline ?? false\n };\n};\n/**\n * Creates and manages the Popover open state\n */\nfunction useOpenState(state) {\n const onOpenChange = useEventCallback((e, data) => {\n var _state_onOpenChange;\n return (_state_onOpenChange = state.onOpenChange) === null || _state_onOpenChange === void 0 ? void 0 : _state_onOpenChange.call(state, 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 const setOpen = React.useCallback((e, shouldOpen) => {\n if (shouldOpen && e.type === 'contextmenu') {\n setContextTarget(e);\n }\n if (!shouldOpen) {\n setContextTarget(undefined);\n }\n setOpenState(shouldOpen);\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(e, {\n open: shouldOpen\n });\n }, [setOpenState, onOpenChange, setContextTarget]);\n return [open, setOpen];\n}\n/**\n * Creates and sets the necessary trigger, target and content refs used by Popover\n */\nfunction usePopoverRefs(state) {\n const positioningOptions = {\n position: 'above',\n align: 'center',\n arrowPadding: 2 * popoverSurfaceBorderRadius,\n target: state.openOnContext ? state.contextTarget : undefined,\n ...resolvePositioningShorthand(state.positioning)\n };\n // no reason to render arrow when covering the target\n if (positioningOptions.coverTarget) {\n state.withArrow = false;\n }\n if (state.withArrow) {\n positioningOptions.offset = mergeArrowOffset(positioningOptions.offset, arrowHeights[state.size]);\n }\n const {\n targetRef: triggerRef,\n containerRef: contentRef,\n arrowRef\n } = usePositioning(positioningOptions);\n return {\n triggerRef,\n contentRef,\n arrowRef\n };\n}\n//# sourceMappingURL=usePopover.js.map"],"names":["usePopover_unstable","props","contextTarget","setContextTarget","usePositioningMouseTarget","initialState","size","children","React","Children","toArray","process","env","NODE_ENV","length","console","warn","popoverTrigger","undefined","popoverSurface","open","setOpenState","useOpenState","setOpenTimeoutRef","useRef","setOpen","useEventCallback","e","shouldOpen","clearTimeout","current","Event","persist","type","setTimeout","mouseLeaveDelay","useEffect","toggleOpen","useCallback","positioningRefs","usePopoverRefs","targetDocument","useFluent","useOnClickOutside","contains","elementContains","element","callback","ev","refs","triggerRef","contentRef","disabled","closeOnScroll","openOnContext","useOnScrollOutside","findFirstFocusable","useFocusFinders","unstable_disableAutoFocus","containerTabIndex","getAttribute","firstFocusable","isNaN","focus","inline","state","onOpenChange","data","_state_onOpenChange","call","useControllableState","defaultState","defaultOpen","positioningOptions","position","align","arrowPadding","popoverSurfaceBorderRadius","target","resolvePositioningShorthand","positioning","coverTarget","withArrow","offset","mergeArrowOffset","arrowHeights","targetRef","containerRef","arrowRef","usePositioning"],"mappings":"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"}
@@ -1,20 +1,21 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "PopoverSurface", {
6
+ enumerable: true,
7
+ get: ()=>PopoverSurface
5
8
  });
6
- exports.PopoverSurface = void 0;
7
- const React = /*#__PURE__*/require("react");
8
- const usePopoverSurface_1 = /*#__PURE__*/require("./usePopoverSurface");
9
- const renderPopoverSurface_1 = /*#__PURE__*/require("./renderPopoverSurface");
10
- const usePopoverSurfaceStyles_1 = /*#__PURE__*/require("./usePopoverSurfaceStyles");
11
- /**
12
- * PopoverSurface component renders react children in a positioned box
13
- */
14
- exports.PopoverSurface = /*#__PURE__*/React.forwardRef((props, ref) => {
15
- const state = usePopoverSurface_1.usePopoverSurface_unstable(props, ref);
16
- usePopoverSurfaceStyles_1.usePopoverSurfaceStyles_unstable(state);
17
- return renderPopoverSurface_1.renderPopoverSurface_unstable(state);
9
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
+ const _usePopoverSurface = require("./usePopoverSurface");
12
+ const _renderPopoverSurface = require("./renderPopoverSurface");
13
+ const _usePopoverSurfaceStyles = require("./usePopoverSurfaceStyles");
14
+ const PopoverSurface = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
15
+ const state = (0, _usePopoverSurface.usePopoverSurface_unstable)(props, ref);
16
+ (0, _usePopoverSurfaceStyles.usePopoverSurfaceStyles_unstable)(state);
17
+ return (0, _renderPopoverSurface.renderPopoverSurface_unstable)(state);
18
18
  });
19
- exports.PopoverSurface.displayName = 'PopoverSurface';
19
+ PopoverSurface.displayName = 'PopoverSurface'; //# sourceMappingURL=PopoverSurface.js.map
20
+
20
21
  //# sourceMappingURL=PopoverSurface.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAIA;;;AAGaA,sBAAc,gBAA6CC,KAAK,CAACC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EACtG,MAAMC,KAAK,GAAGC,8CAA0B,CAACH,KAAK,EAAEC,GAAG,CAAC;EAEpDG,0DAAgC,CAACF,KAAK,CAAC;EACvC,OAAOG,oDAA6B,CAACH,KAAK,CAAC;AAC7C,CAAC,CAAC;AAEFL,sBAAc,CAACS,WAAW,GAAG,gBAAgB","names":["exports","React","forwardRef","props","ref","state","usePopoverSurface_1","usePopoverSurfaceStyles_1","renderPopoverSurface_1","displayName"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-popover/src/components/PopoverSurface/PopoverSurface.tsx"],"sourcesContent":["import * as React from 'react';\nimport { usePopoverSurface_unstable } from './usePopoverSurface';\nimport { renderPopoverSurface_unstable } from './renderPopoverSurface';\nimport { usePopoverSurfaceStyles_unstable } from './usePopoverSurfaceStyles';\nimport type { PopoverSurfaceProps } from './PopoverSurface.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * PopoverSurface component renders react children in a positioned box\n */\nexport const PopoverSurface: ForwardRefComponent<PopoverSurfaceProps> = React.forwardRef((props, ref) => {\n const state = usePopoverSurface_unstable(props, ref);\n\n usePopoverSurfaceStyles_unstable(state);\n return renderPopoverSurface_unstable(state);\n});\n\nPopoverSurface.displayName = 'PopoverSurface';\n"]}
1
+ {"version":3,"sources":["../../../lib/components/PopoverSurface/PopoverSurface.js"],"sourcesContent":["import * as React from 'react';\nimport { usePopoverSurface_unstable } from './usePopoverSurface';\nimport { renderPopoverSurface_unstable } from './renderPopoverSurface';\nimport { usePopoverSurfaceStyles_unstable } from './usePopoverSurfaceStyles';\n/**\n * PopoverSurface component renders react children in a positioned box\n */\nexport const PopoverSurface = /*#__PURE__*/React.forwardRef((props, ref) => {\n const state = usePopoverSurface_unstable(props, ref);\n usePopoverSurfaceStyles_unstable(state);\n return renderPopoverSurface_unstable(state);\n});\nPopoverSurface.displayName = 'PopoverSurface';\n//# sourceMappingURL=PopoverSurface.js.map"],"names":["PopoverSurface","React","forwardRef","props","ref","state","usePopoverSurface_unstable","usePopoverSurfaceStyles_unstable","renderPopoverSurface_unstable","displayName"],"mappings":";;;;+BAOaA;;aAAAA;;;6DAPU;mCACoB;sCACG;yCACG;AAI1C,MAAMA,iBAAiB,WAAW,GAAEC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAQ;IAC1E,MAAMC,QAAQC,IAAAA,6CAA0B,EAACH,OAAOC;IAChDG,IAAAA,yDAAgC,EAACF;IACjC,OAAOG,IAAAA,mDAA6B,EAACH;AACvC;AACAL,eAAeS,WAAW,GAAG,kBAC7B,0CAA0C"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
5
+ //# sourceMappingURL=PopoverSurface.types.js.map
6
+
6
7
  //# sourceMappingURL=PopoverSurface.types.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
1
+ {"version":3,"sources":["../../../lib/components/PopoverSurface/PopoverSurface.types.js"],"sourcesContent":["export {};\n//# sourceMappingURL=PopoverSurface.types.js.map"],"names":[],"mappings":";;;;CACA,gDAAgD"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- const tslib_1 = /*#__PURE__*/require("tslib");
7
- tslib_1.__exportStar(require("./PopoverSurface"), exports);
8
- tslib_1.__exportStar(require("./PopoverSurface.types"), exports);
9
- tslib_1.__exportStar(require("./renderPopoverSurface"), exports);
10
- tslib_1.__exportStar(require("./usePopoverSurface"), exports);
11
- tslib_1.__exportStar(require("./usePopoverSurfaceStyles"), exports);
5
+ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
+ _exportStar(require("./PopoverSurface"), exports);
7
+ _exportStar(require("./PopoverSurface.types"), exports);
8
+ _exportStar(require("./renderPopoverSurface"), exports);
9
+ _exportStar(require("./usePopoverSurface"), exports);
10
+ _exportStar(require("./usePopoverSurfaceStyles"), exports);
11
+ //# sourceMappingURL=index.js.map
12
+
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AAAAA;AACAA;AACAA;AACAA;AACAA","names":["tslib_1"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-popover/src/components/PopoverSurface/index.ts"],"sourcesContent":["export * from './PopoverSurface';\nexport * from './PopoverSurface.types';\nexport * from './renderPopoverSurface';\nexport * from './usePopoverSurface';\nexport * from './usePopoverSurfaceStyles';\n"]}
1
+ {"version":3,"sources":["../../../lib/components/PopoverSurface/index.js"],"sourcesContent":["export * from './PopoverSurface';\nexport * from './PopoverSurface.types';\nexport * from './renderPopoverSurface';\nexport * from './usePopoverSurface';\nexport * from './usePopoverSurfaceStyles';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CACd,iCAAiC"}
@@ -1,32 +1,29 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "renderPopoverSurface_unstable", {
6
+ enumerable: true,
7
+ get: ()=>renderPopoverSurface_unstable
5
8
  });
6
- exports.renderPopoverSurface_unstable = void 0;
7
- const React = /*#__PURE__*/require("react");
8
- const react_portal_1 = /*#__PURE__*/require("@fluentui/react-portal");
9
- const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
10
- /**
11
- * Render the final JSX of PopoverSurface
12
- */
13
- const renderPopoverSurface_unstable = state => {
14
- const {
15
- slots,
16
- slotProps
17
- } = react_utilities_1.getSlots(state);
18
- const surface = React.createElement(slots.root, {
19
- ...slotProps.root
20
- }, state.withArrow && React.createElement("div", {
21
- ref: state.arrowRef,
22
- className: state.arrowClassName
23
- }), slotProps.root.children);
24
- if (state.inline) {
25
- return surface;
26
- }
27
- return React.createElement(react_portal_1.Portal, {
28
- mountNode: state.mountNode
29
- }, surface);
30
- };
31
- exports.renderPopoverSurface_unstable = renderPopoverSurface_unstable;
9
+ const _interopRequireDefault = require("@swc/helpers/lib/_interop_require_default.js").default;
10
+ const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
11
+ const _extends = require("@swc/helpers/lib/_extends.js").default;
12
+ const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
13
+ const _reactPortal = require("@fluentui/react-portal");
14
+ const _reactUtilities = require("@fluentui/react-utilities");
15
+ const renderPopoverSurface_unstable = (state)=>{
16
+ const { slots , slotProps } = (0, _reactUtilities.getSlots)(state);
17
+ const surface = /*#__PURE__*/ _react.createElement(slots.root, _extends({}, slotProps.root), state.withArrow && /*#__PURE__*/ _react.createElement("div", {
18
+ ref: state.arrowRef,
19
+ className: state.arrowClassName
20
+ }), slotProps.root.children);
21
+ if (state.inline) {
22
+ return surface;
23
+ }
24
+ return /*#__PURE__*/ _react.createElement(_reactPortal.Portal, {
25
+ mountNode: state.mountNode
26
+ }, surface);
27
+ }; //# sourceMappingURL=renderPopoverSurface.js.map
28
+
32
29
  //# sourceMappingURL=renderPopoverSurface.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AAAA;AACA;AACA;AAGA;;;AAGO,MAAMA,6BAA6B,GAAIC,KAA0B,IAAI;EAC1E,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAE,GAAGC,0BAAQ,CAAsBH,KAAK,CAAC;EAEjE,MAAMI,OAAO,GACXC,oBAACJ,KAAK,CAACK,IAAI;IAAA,GAAKJ,SAAS,CAACI;EAAI,GAC3BN,KAAK,CAACO,SAAS,IAAIF;IAAKG,GAAG,EAAER,KAAK,CAACS,QAAQ;IAAEC,SAAS,EAAEV,KAAK,CAACW;EAAc,EAAI,EAChFT,SAAS,CAACI,IAAI,CAACM,QAAQ,CAE3B;EAED,IAAIZ,KAAK,CAACa,MAAM,EAAE;IAChB,OAAOT,OAAO;;EAGhB,OAAOC,oBAACS,qBAAM;IAACC,SAAS,EAAEf,KAAK,CAACe;EAAS,GAAGX,OAAO,CAAU;AAC/D,CAAC;AAfYY,qCAA6B","names":["renderPopoverSurface_unstable","state","slots","slotProps","react_utilities_1","surface","React","root","withArrow","ref","arrowRef","className","arrowClassName","children","inline","react_portal_1","mountNode","exports"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-popover/src/components/PopoverSurface/renderPopoverSurface.tsx"],"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';\n\n/**\n * Render the final JSX of PopoverSurface\n */\nexport const renderPopoverSurface_unstable = (state: PopoverSurfaceState) => {\n const { slots, slotProps } = getSlots<PopoverSurfaceSlots>(state);\n\n const surface = (\n <slots.root {...slotProps.root}>\n {state.withArrow && <div ref={state.arrowRef} className={state.arrowClassName} />}\n {slotProps.root.children}\n </slots.root>\n );\n\n if (state.inline) {\n return surface;\n }\n\n return <Portal mountNode={state.mountNode}>{surface}</Portal>;\n};\n"]}
1
+ {"version":3,"sources":["../../../lib/components/PopoverSurface/renderPopoverSurface.js"],"sourcesContent":["import _extends from \"@swc/helpers/src/_extends.mjs\";\nimport * as React from 'react';\nimport { Portal } from '@fluentui/react-portal';\nimport { getSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of PopoverSurface\n */\nexport const renderPopoverSurface_unstable = state => {\n const {\n slots,\n slotProps\n } = getSlots(state);\n const surface = /*#__PURE__*/React.createElement(slots.root, _extends({}, slotProps.root), state.withArrow && /*#__PURE__*/React.createElement(\"div\", {\n ref: state.arrowRef,\n className: state.arrowClassName\n }), slotProps.root.children);\n if (state.inline) {\n return surface;\n }\n return /*#__PURE__*/React.createElement(Portal, {\n mountNode: state.mountNode\n }, surface);\n};\n//# sourceMappingURL=renderPopoverSurface.js.map"],"names":["renderPopoverSurface_unstable","state","slots","slotProps","getSlots","surface","React","createElement","root","_extends","withArrow","ref","arrowRef","className","arrowClassName","children","inline","Portal","mountNode"],"mappings":";;;;+BAOaA;;aAAAA;;;;yBAPQ;6DACE;6BACA;gCACE;AAIlB,MAAMA,gCAAgCC,CAAAA,QAAS;IACpD,MAAM,EACJC,MAAK,EACLC,UAAS,EACV,GAAGC,IAAAA,wBAAQ,EAACH;IACb,MAAMI,UAAU,WAAW,GAAEC,OAAMC,aAAa,CAACL,MAAMM,IAAI,EAAEC,SAAS,CAAC,GAAGN,UAAUK,IAAI,GAAGP,MAAMS,SAAS,IAAI,WAAW,GAAEJ,OAAMC,aAAa,CAAC,OAAO;QACpJI,KAAKV,MAAMW,QAAQ;QACnBC,WAAWZ,MAAMa,cAAc;IACjC,IAAIX,UAAUK,IAAI,CAACO,QAAQ;IAC3B,IAAId,MAAMe,MAAM,EAAE;QAChB,OAAOX;IACT,CAAC;IACD,OAAO,WAAW,GAAEC,OAAMC,aAAa,CAACU,mBAAM,EAAE;QAC9CC,WAAWjB,MAAMiB,SAAS;IAC5B,GAAGb;AACL,GACA,gDAAgD"}