@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.
Files changed (134) hide show
  1. package/CHANGELOG.json +2819 -0
  2. package/CHANGELOG.md +854 -0
  3. package/LICENSE +15 -0
  4. package/README.md +25 -0
  5. package/Spec.md +496 -0
  6. package/dist/react-popover.d.ts +242 -0
  7. package/lib/Popover.d.ts +1 -0
  8. package/lib/Popover.js +2 -0
  9. package/lib/Popover.js.map +1 -0
  10. package/lib/PopoverSurface.d.ts +1 -0
  11. package/lib/PopoverSurface.js +2 -0
  12. package/lib/PopoverSurface.js.map +1 -0
  13. package/lib/PopoverTrigger.d.ts +1 -0
  14. package/lib/PopoverTrigger.js +2 -0
  15. package/lib/PopoverTrigger.js.map +1 -0
  16. package/lib/components/Popover/Popover.d.ts +6 -0
  17. package/lib/components/Popover/Popover.js +12 -0
  18. package/lib/components/Popover/Popover.js.map +1 -0
  19. package/lib/components/Popover/Popover.types.d.ts +103 -0
  20. package/lib/components/Popover/Popover.types.js +2 -0
  21. package/lib/components/Popover/Popover.types.js.map +1 -0
  22. package/lib/components/Popover/index.d.ts +4 -0
  23. package/lib/components/Popover/index.js +5 -0
  24. package/lib/components/Popover/index.js.map +1 -0
  25. package/lib/components/Popover/renderPopover.d.ts +5 -0
  26. package/lib/components/Popover/renderPopover.js +39 -0
  27. package/lib/components/Popover/renderPopover.js.map +1 -0
  28. package/lib/components/Popover/usePopover.d.ts +10 -0
  29. package/lib/components/Popover/usePopover.js +124 -0
  30. package/lib/components/Popover/usePopover.js.map +1 -0
  31. package/lib/components/PopoverSurface/PopoverSurface.d.ts +6 -0
  32. package/lib/components/PopoverSurface/PopoverSurface.js +15 -0
  33. package/lib/components/PopoverSurface/PopoverSurface.js.map +1 -0
  34. package/lib/components/PopoverSurface/PopoverSurface.types.d.ts +21 -0
  35. package/lib/components/PopoverSurface/PopoverSurface.types.js +2 -0
  36. package/lib/components/PopoverSurface/PopoverSurface.types.js.map +1 -0
  37. package/lib/components/PopoverSurface/index.d.ts +5 -0
  38. package/lib/components/PopoverSurface/index.js +6 -0
  39. package/lib/components/PopoverSurface/index.js.map +1 -0
  40. package/lib/components/PopoverSurface/renderPopoverSurface.d.ts +5 -0
  41. package/lib/components/PopoverSurface/renderPopoverSurface.js +26 -0
  42. package/lib/components/PopoverSurface/renderPopoverSurface.js.map +1 -0
  43. package/lib/components/PopoverSurface/usePopoverSurface.d.ts +12 -0
  44. package/lib/components/PopoverSurface/usePopoverSurface.js +94 -0
  45. package/lib/components/PopoverSurface/usePopoverSurface.js.map +1 -0
  46. package/lib/components/PopoverSurface/usePopoverSurfaceStyles.d.ts +8 -0
  47. package/lib/components/PopoverSurface/usePopoverSurfaceStyles.js +112 -0
  48. package/lib/components/PopoverSurface/usePopoverSurfaceStyles.js.map +1 -0
  49. package/lib/components/PopoverTrigger/PopoverTrigger.d.ts +7 -0
  50. package/lib/components/PopoverTrigger/PopoverTrigger.js +13 -0
  51. package/lib/components/PopoverTrigger/PopoverTrigger.js.map +1 -0
  52. package/lib/components/PopoverTrigger/PopoverTrigger.types.d.ts +18 -0
  53. package/lib/components/PopoverTrigger/PopoverTrigger.types.js +2 -0
  54. package/lib/components/PopoverTrigger/PopoverTrigger.types.js.map +1 -0
  55. package/lib/components/PopoverTrigger/index.d.ts +4 -0
  56. package/lib/components/PopoverTrigger/index.js +5 -0
  57. package/lib/components/PopoverTrigger/index.js.map +1 -0
  58. package/lib/components/PopoverTrigger/renderPopoverTrigger.d.ts +5 -0
  59. package/lib/components/PopoverTrigger/renderPopoverTrigger.js +7 -0
  60. package/lib/components/PopoverTrigger/renderPopoverTrigger.js.map +1 -0
  61. package/lib/components/PopoverTrigger/usePopoverTrigger.d.ts +10 -0
  62. package/lib/components/PopoverTrigger/usePopoverTrigger.js +82 -0
  63. package/lib/components/PopoverTrigger/usePopoverTrigger.js.map +1 -0
  64. package/lib/index.d.ts +4 -0
  65. package/lib/index.js +5 -0
  66. package/lib/index.js.map +1 -0
  67. package/lib/popoverContext.d.ts +8 -0
  68. package/lib/popoverContext.js +20 -0
  69. package/lib/popoverContext.js.map +1 -0
  70. package/lib/tsdoc-metadata.json +11 -0
  71. package/lib-commonjs/Popover.d.ts +1 -0
  72. package/lib-commonjs/Popover.js +10 -0
  73. package/lib-commonjs/Popover.js.map +1 -0
  74. package/lib-commonjs/PopoverSurface.d.ts +1 -0
  75. package/lib-commonjs/PopoverSurface.js +10 -0
  76. package/lib-commonjs/PopoverSurface.js.map +1 -0
  77. package/lib-commonjs/PopoverTrigger.d.ts +1 -0
  78. package/lib-commonjs/PopoverTrigger.js +10 -0
  79. package/lib-commonjs/PopoverTrigger.js.map +1 -0
  80. package/lib-commonjs/components/Popover/Popover.d.ts +6 -0
  81. package/lib-commonjs/components/Popover/Popover.js +23 -0
  82. package/lib-commonjs/components/Popover/Popover.js.map +1 -0
  83. package/lib-commonjs/components/Popover/Popover.types.d.ts +103 -0
  84. package/lib-commonjs/components/Popover/Popover.types.js +6 -0
  85. package/lib-commonjs/components/Popover/Popover.types.js.map +1 -0
  86. package/lib-commonjs/components/Popover/index.d.ts +4 -0
  87. package/lib-commonjs/components/Popover/index.js +16 -0
  88. package/lib-commonjs/components/Popover/index.js.map +1 -0
  89. package/lib-commonjs/components/Popover/renderPopover.d.ts +5 -0
  90. package/lib-commonjs/components/Popover/renderPopover.js +50 -0
  91. package/lib-commonjs/components/Popover/renderPopover.js.map +1 -0
  92. package/lib-commonjs/components/Popover/usePopover.d.ts +10 -0
  93. package/lib-commonjs/components/Popover/usePopover.js +139 -0
  94. package/lib-commonjs/components/Popover/usePopover.js.map +1 -0
  95. package/lib-commonjs/components/PopoverSurface/PopoverSurface.d.ts +6 -0
  96. package/lib-commonjs/components/PopoverSurface/PopoverSurface.js +26 -0
  97. package/lib-commonjs/components/PopoverSurface/PopoverSurface.js.map +1 -0
  98. package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.d.ts +21 -0
  99. package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.js +6 -0
  100. package/lib-commonjs/components/PopoverSurface/PopoverSurface.types.js.map +1 -0
  101. package/lib-commonjs/components/PopoverSurface/index.d.ts +5 -0
  102. package/lib-commonjs/components/PopoverSurface/index.js +18 -0
  103. package/lib-commonjs/components/PopoverSurface/index.js.map +1 -0
  104. package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.d.ts +5 -0
  105. package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.js +38 -0
  106. package/lib-commonjs/components/PopoverSurface/renderPopoverSurface.js.map +1 -0
  107. package/lib-commonjs/components/PopoverSurface/usePopoverSurface.d.ts +12 -0
  108. package/lib-commonjs/components/PopoverSurface/usePopoverSurface.js +107 -0
  109. package/lib-commonjs/components/PopoverSurface/usePopoverSurface.js.map +1 -0
  110. package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.d.ts +8 -0
  111. package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.js +124 -0
  112. package/lib-commonjs/components/PopoverSurface/usePopoverSurfaceStyles.js.map +1 -0
  113. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.d.ts +7 -0
  114. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.js +24 -0
  115. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.js.map +1 -0
  116. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.d.ts +18 -0
  117. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.js +6 -0
  118. package/lib-commonjs/components/PopoverTrigger/PopoverTrigger.types.js.map +1 -0
  119. package/lib-commonjs/components/PopoverTrigger/index.d.ts +4 -0
  120. package/lib-commonjs/components/PopoverTrigger/index.js +16 -0
  121. package/lib-commonjs/components/PopoverTrigger/index.js.map +1 -0
  122. package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.d.ts +5 -0
  123. package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.js +16 -0
  124. package/lib-commonjs/components/PopoverTrigger/renderPopoverTrigger.js.map +1 -0
  125. package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.d.ts +10 -0
  126. package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.js +95 -0
  127. package/lib-commonjs/components/PopoverTrigger/usePopoverTrigger.js.map +1 -0
  128. package/lib-commonjs/index.d.ts +4 -0
  129. package/lib-commonjs/index.js +16 -0
  130. package/lib-commonjs/index.js.map +1 -0
  131. package/lib-commonjs/popoverContext.d.ts +8 -0
  132. package/lib-commonjs/popoverContext.js +31 -0
  133. package/lib-commonjs/popoverContext.js.map +1 -0
  134. package/package.json +69 -0
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.18.1"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1 @@
1
+ export * from './components/Popover/index';
@@ -0,0 +1,10 @@
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("./components/Popover/index"), exports);
10
+ //# sourceMappingURL=Popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Popover.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,4BAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './components/Popover/index';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1 @@
1
+ export * from './components/PopoverSurface/index';
@@ -0,0 +1,10 @@
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("./components/PopoverSurface/index"), exports);
10
+ //# sourceMappingURL=PopoverSurface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["PopoverSurface.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mCAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './components/PopoverSurface/index';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1 @@
1
+ export * from './components/PopoverTrigger/index';
@@ -0,0 +1,10 @@
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("./components/PopoverTrigger/index"), exports);
10
+ //# sourceMappingURL=PopoverTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["PopoverTrigger.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mCAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './components/PopoverTrigger/index';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import type { PopoverProps } from './Popover.types';
3
+ /**
4
+ * Wrapper component that manages state for a PopoverTrigger and a PopoverSurface components.
5
+ */
6
+ export declare const Popover: React.FC<PopoverProps>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Popover = void 0;
7
+
8
+ const usePopover_1 = /*#__PURE__*/require("./usePopover");
9
+
10
+ const renderPopover_1 = /*#__PURE__*/require("./renderPopover");
11
+ /**
12
+ * Wrapper component that manages state for a PopoverTrigger and a PopoverSurface components.
13
+ */
14
+
15
+
16
+ const Popover = props => {
17
+ const state = usePopover_1.usePopover_unstable(props);
18
+ return renderPopover_1.renderPopover_unstable(state);
19
+ };
20
+
21
+ exports.Popover = Popover;
22
+ exports.Popover.displayName = 'Popover';
23
+ //# sourceMappingURL=Popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Popover/Popover.tsx"],"names":[],"mappings":";;;;;;;AACA,MAAA,YAAA,gBAAA,OAAA,CAAA,cAAA,CAAA;;AACA,MAAA,eAAA,gBAAA,OAAA,CAAA,iBAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,OAAO,GAA2B,KAAK,IAAG;AACrD,QAAM,KAAK,GAAG,YAAA,CAAA,mBAAA,CAAoB,KAApB,CAAd;AAEA,SAAO,eAAA,CAAA,sBAAA,CAAuB,KAAvB,CAAP;AACD,CAJM;;AAAM,OAAA,CAAA,OAAA,GAAO,OAAP;AAMb,OAAA,CAAA,OAAA,CAAQ,WAAR,GAAsB,SAAtB","sourcesContent":["import * as React from 'react';\nimport { usePopover_unstable } from './usePopover';\nimport { renderPopover_unstable } from './renderPopover';\nimport type { PopoverProps } from './Popover.types';\n\n/**\n * Wrapper component that manages state for a PopoverTrigger and a PopoverSurface components.\n */\nexport const Popover: React.FC<PopoverProps> = props => {\n const state = usePopover_unstable(props);\n\n return renderPopover_unstable(state);\n};\n\nPopover.displayName = 'Popover';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,103 @@
1
+ import * as React from 'react';
2
+ import type { PopperVirtualElement, PositioningShorthand, usePopperMouseTarget } from '@fluentui/react-positioning';
3
+ import type { PortalProps } from '@fluentui/react-portal';
4
+ /**
5
+ * Determines popover padding and arrow size
6
+ */
7
+ export declare type PopoverSize = 'small' | 'medium' | 'large';
8
+ declare type PopoverCommons = Pick<PortalProps, 'mountNode'> & {
9
+ /**
10
+ * Controls the opening of the Popover
11
+ */
12
+ open: boolean;
13
+ /**
14
+ * Used to set the initial open state of the Popover in uncontrolled mode
15
+ */
16
+ defaultOpen?: boolean;
17
+ /**
18
+ * Call back when the component requests to change value
19
+ * The `open` value is used as a hint when directly controlling the component
20
+ */
21
+ onOpenChange?: (e: OpenPopoverEvents, data: OnOpenChangeData) => void;
22
+ /**
23
+ * Flag to open the Popover by hovering the trigger
24
+ */
25
+ openOnHover?: boolean;
26
+ /**
27
+ * Flag to open the Popover as a context menu. Disables all other interactions
28
+ */
29
+ openOnContext?: boolean;
30
+ /**
31
+ * Do not display the arrow
32
+ */
33
+ noArrow?: boolean;
34
+ /**
35
+ * Determines popover padding and arrow size
36
+ * @default medium
37
+ */
38
+ size?: PopoverSize;
39
+ /**
40
+ * A popover can appear styled with brand or inverted.
41
+ * When not specified, the default style is used.
42
+ */
43
+ appearance?: 'brand' | 'inverted';
44
+ /**
45
+ * Should trap focus
46
+ */
47
+ trapFocus?: boolean;
48
+ /**
49
+ * Configures the position of the Popover
50
+ */
51
+ positioning?: PositioningShorthand;
52
+ };
53
+ /**
54
+ * Popover Props
55
+ */
56
+ export declare type PopoverProps = Partial<PopoverCommons> & {
57
+ /**
58
+ * Can contain two children including {@link PopoverTrigger} and {@link PopoverSurface}.
59
+ * Alternatively can only contain {@link PopoverSurface} if using a custom `target`.
60
+ */
61
+ children: [JSX.Element, JSX.Element] | JSX.Element;
62
+ };
63
+ /**
64
+ * Popover State
65
+ */
66
+ export declare type PopoverState = PopoverCommons & Pick<PopoverProps, 'children'> & {
67
+ /**
68
+ * Callback to open/close the Popover
69
+ */
70
+ setOpen: (e: OpenPopoverEvents, open: boolean) => void;
71
+ /**
72
+ * Ref of the PopoverTrigger
73
+ */
74
+ triggerRef: React.MutableRefObject<HTMLElement | null>;
75
+ /**
76
+ * Ref of the PopoverSurface
77
+ */
78
+ contentRef: React.MutableRefObject<HTMLElement | null>;
79
+ /**
80
+ * Ref of the pointing arrow
81
+ */
82
+ arrowRef: React.MutableRefObject<HTMLDivElement | null>;
83
+ /**
84
+ * Anchors the popper to the mouse click for context events
85
+ */
86
+ contextTarget: PopperVirtualElement | undefined;
87
+ /**
88
+ * A callback to set the target of the popper to the mouse click for context events
89
+ */
90
+ setContextTarget: ReturnType<typeof usePopperMouseTarget>[1];
91
+ size: NonNullable<PopoverProps['size']>;
92
+ };
93
+ /**
94
+ * Data attached to open/close events
95
+ */
96
+ export declare type OnOpenChangeData = {
97
+ open: boolean;
98
+ };
99
+ /**
100
+ * The supported events that will trigger open/close of the menu
101
+ */
102
+ export declare type OpenPopoverEvents = MouseEvent | TouchEvent | React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.FocusEvent<HTMLElement>;
103
+ export {};
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=Popover.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -0,0 +1,4 @@
1
+ export * from './Popover';
2
+ export * from './Popover.types';
3
+ export * from './renderPopover';
4
+ export * from './usePopover';
@@ -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("./Popover.types"), exports);
12
+
13
+ tslib_1.__exportStar(require("./renderPopover"), exports);
14
+
15
+ tslib_1.__exportStar(require("./usePopover"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Popover/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,WAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,iBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,iBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,cAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './Popover';\nexport * from './Popover.types';\nexport * from './renderPopover';\nexport * from './usePopover';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,5 @@
1
+ import type { PopoverState } from './Popover.types';
2
+ /**
3
+ * Render the final JSX of Popover
4
+ */
5
+ export declare const renderPopover_unstable: (state: PopoverState) => JSX.Element;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderPopover_unstable = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const popoverContext_1 = /*#__PURE__*/require("../../popoverContext");
11
+ /**
12
+ * Render the final JSX of Popover
13
+ */
14
+
15
+
16
+ const renderPopover_unstable = state => {
17
+ const {
18
+ open,
19
+ setOpen,
20
+ triggerRef,
21
+ contentRef,
22
+ openOnContext,
23
+ openOnHover,
24
+ mountNode,
25
+ arrowRef,
26
+ size,
27
+ noArrow,
28
+ appearance,
29
+ trapFocus
30
+ } = state;
31
+ return React.createElement(popoverContext_1.PopoverContext.Provider, {
32
+ value: {
33
+ open,
34
+ setOpen,
35
+ triggerRef,
36
+ contentRef,
37
+ openOnHover,
38
+ openOnContext,
39
+ mountNode,
40
+ arrowRef,
41
+ size,
42
+ noArrow,
43
+ appearance,
44
+ trapFocus
45
+ }
46
+ }, state.children);
47
+ };
48
+
49
+ exports.renderPopover_unstable = renderPopover_unstable;
50
+ //# sourceMappingURL=renderPopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Popover/renderPopover.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,gBAAA,gBAAA,OAAA,CAAA,sBAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,sBAAsB,GAAI,KAAD,IAAwB;AAC5D,QAAM;AACJ,IAAA,IADI;AAEJ,IAAA,OAFI;AAGJ,IAAA,UAHI;AAIJ,IAAA,UAJI;AAKJ,IAAA,aALI;AAMJ,IAAA,WANI;AAOJ,IAAA,SAPI;AAQJ,IAAA,QARI;AASJ,IAAA,IATI;AAUJ,IAAA,OAVI;AAWJ,IAAA,UAXI;AAYJ,IAAA;AAZI,MAaF,KAbJ;AAeA,SACE,KAAA,CAAA,aAAA,CAAC,gBAAA,CAAA,cAAA,CAAe,QAAhB,EAAwB;AACtB,IAAA,KAAK,EAAE;AACL,MAAA,IADK;AAEL,MAAA,OAFK;AAGL,MAAA,UAHK;AAIL,MAAA,UAJK;AAKL,MAAA,WALK;AAML,MAAA,aANK;AAOL,MAAA,SAPK;AAQL,MAAA,QARK;AASL,MAAA,IATK;AAUL,MAAA,OAVK;AAWL,MAAA,UAXK;AAYL,MAAA;AAZK;AADe,GAAxB,EAgBG,KAAK,CAAC,QAhBT,CADF;AAoBD,CApCM;;AAAM,OAAA,CAAA,sBAAA,GAAsB,sBAAtB","sourcesContent":["import * as React from 'react';\nimport { PopoverContext } from '../../popoverContext';\nimport type { PopoverState } from './Popover.types';\n\n/**\n * Render the final JSX of Popover\n */\nexport const renderPopover_unstable = (state: PopoverState) => {\n const {\n open,\n setOpen,\n triggerRef,\n contentRef,\n openOnContext,\n openOnHover,\n mountNode,\n arrowRef,\n size,\n noArrow,\n appearance,\n trapFocus,\n } = state;\n\n return (\n <PopoverContext.Provider\n value={{\n open,\n setOpen,\n triggerRef,\n contentRef,\n openOnHover,\n openOnContext,\n mountNode,\n arrowRef,\n size,\n noArrow,\n appearance,\n trapFocus,\n }}\n >\n {state.children}\n </PopoverContext.Provider>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,10 @@
1
+ import type { PopoverProps, PopoverState } from './Popover.types';
2
+ /**
3
+ * Create the state required to render Popover.
4
+ *
5
+ * The returned state can be modified with hooks such as usePopoverStyles,
6
+ * before being passed to renderPopover_unstable.
7
+ *
8
+ * @param props - props from this instance of Popover
9
+ */
10
+ export declare const usePopover_unstable: (props: PopoverProps) => PopoverState;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePopover_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_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
13
+
14
+ const react_positioning_1 = /*#__PURE__*/require("@fluentui/react-positioning");
15
+
16
+ const react_portal_1 = /*#__PURE__*/require("@fluentui/react-portal");
17
+
18
+ const index_1 = /*#__PURE__*/require("../PopoverSurface/index");
19
+ /**
20
+ * Create the state required to render Popover.
21
+ *
22
+ * The returned state can be modified with hooks such as usePopoverStyles,
23
+ * before being passed to renderPopover_unstable.
24
+ *
25
+ * @param props - props from this instance of Popover
26
+ */
27
+
28
+
29
+ const usePopover_unstable = props => {
30
+ const [contextTarget, setContextTarget] = react_positioning_1.usePopperMouseTarget();
31
+ const initialState = {
32
+ size: 'medium',
33
+ contextTarget,
34
+ setContextTarget,
35
+ ...props
36
+ };
37
+ const [open, setOpen] = useOpenState(initialState);
38
+ const popperRefs = usePopoverRefs(initialState);
39
+ const {
40
+ targetDocument
41
+ } = react_shared_contexts_1.useFluent();
42
+ react_utilities_1.useOnClickOutside({
43
+ contains: react_portal_1.elementContains,
44
+ element: targetDocument,
45
+ callback: ev => setOpen(ev, false),
46
+ refs: [popperRefs.triggerRef, popperRefs.contentRef],
47
+ disabled: !open
48
+ });
49
+ react_utilities_1.useOnScrollOutside({
50
+ contains: react_portal_1.elementContains,
51
+ element: targetDocument,
52
+ callback: ev => setOpen(ev, false),
53
+ refs: [popperRefs.triggerRef, popperRefs.contentRef],
54
+ disabled: !open || !initialState.openOnContext // only close on scroll for context
55
+
56
+ });
57
+ return { ...initialState,
58
+ ...popperRefs,
59
+ open,
60
+ setOpen,
61
+ setContextTarget,
62
+ contextTarget
63
+ };
64
+ };
65
+
66
+ exports.usePopover_unstable = usePopover_unstable;
67
+ /**
68
+ * Creates and manages the Popover open state
69
+ */
70
+
71
+ function useOpenState(state) {
72
+ const onOpenChange = react_utilities_1.useEventCallback((e, data) => {
73
+ var _a;
74
+
75
+ return (_a = state.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(state, e, data);
76
+ });
77
+ const [open, setOpenState] = react_utilities_1.useControllableState({
78
+ state: state.open,
79
+ defaultState: state.defaultOpen,
80
+ initialState: false
81
+ });
82
+ state.open = open !== undefined ? open : state.open;
83
+ const setContextTarget = state.setContextTarget;
84
+ const setOpen = React.useCallback((e, shouldOpen) => {
85
+ if (shouldOpen && e.type === 'contextmenu') {
86
+ setContextTarget(e);
87
+ }
88
+
89
+ if (!shouldOpen) {
90
+ setContextTarget(undefined);
91
+ }
92
+
93
+ setOpenState(prevOpen => {
94
+ // More than one event (mouse, focus, keyboard) can request the Popover to close
95
+ // We assume the first event is the correct one
96
+ if (prevOpen !== shouldOpen) {
97
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(e, {
98
+ open: shouldOpen
99
+ });
100
+ }
101
+
102
+ return shouldOpen;
103
+ });
104
+ }, [setOpenState, onOpenChange, setContextTarget]);
105
+ return [open, setOpen];
106
+ }
107
+ /**
108
+ * Creates and sets the necessary trigger, target and content refs used by Popover
109
+ */
110
+
111
+
112
+ function usePopoverRefs(state) {
113
+ const popperOptions = {
114
+ position: 'above',
115
+ align: 'center',
116
+ target: state.openOnContext ? state.contextTarget : undefined,
117
+ ...react_positioning_1.resolvePositioningShorthand(state.positioning)
118
+ }; // no reason to render arrow when covering the target
119
+
120
+ if (popperOptions.coverTarget) {
121
+ state.noArrow = true;
122
+ }
123
+
124
+ if (!state.noArrow) {
125
+ popperOptions.offset = react_positioning_1.mergeArrowOffset(popperOptions.offset, index_1.arrowHeights[state.size]);
126
+ }
127
+
128
+ const {
129
+ targetRef: triggerRef,
130
+ containerRef: contentRef,
131
+ arrowRef
132
+ } = react_positioning_1.usePopper(popperOptions);
133
+ return {
134
+ triggerRef,
135
+ contentRef,
136
+ arrowRef
137
+ };
138
+ }
139
+ //# sourceMappingURL=usePopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Popover/usePopover.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {\n useControllableState,\n useEventCallback,\n useOnClickOutside,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent } from '@fluentui/react-shared-contexts';\nimport {\n usePopper,\n resolvePositioningShorthand,\n mergeArrowOffset,\n usePopperMouseTarget,\n} from '@fluentui/react-positioning';\nimport { elementContains } from '@fluentui/react-portal';\nimport { arrowHeights } from '../PopoverSurface/index';\nimport type { OpenPopoverEvents, PopoverProps, PopoverState } from './Popover.types';\n\n/**\n * Create the state required to render Popover.\n *\n * The returned state can be modified with hooks such as usePopoverStyles,\n * before being passed to renderPopover_unstable.\n *\n * @param props - props from this instance of Popover\n */\nexport const usePopover_unstable = (props: PopoverProps): PopoverState => {\n const [contextTarget, setContextTarget] = usePopperMouseTarget();\n const initialState = {\n size: 'medium',\n contextTarget,\n setContextTarget,\n ...props,\n } as const;\n\n const [open, setOpen] = useOpenState(initialState);\n const popperRefs = usePopoverRefs(initialState);\n\n const { targetDocument } = useFluent();\n useOnClickOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [popperRefs.triggerRef, popperRefs.contentRef],\n disabled: !open,\n });\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: ev => setOpen(ev, false),\n refs: [popperRefs.triggerRef, popperRefs.contentRef],\n disabled: !open || !initialState.openOnContext, // only close on scroll for context\n });\n\n return {\n ...initialState,\n ...popperRefs,\n open,\n setOpen,\n setContextTarget,\n contextTarget,\n };\n};\n\n/**\n * Creates and manages the Popover open state\n */\nfunction useOpenState(\n state: Pick<PopoverState, 'setContextTarget' | 'onOpenChange'> & Pick<PopoverProps, 'open' | 'defaultOpen'>,\n) {\n const onOpenChange: PopoverState['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n state.open = open !== undefined ? open : state.open;\n const setContextTarget = state.setContextTarget;\n\n const setOpen = React.useCallback(\n (e: OpenPopoverEvents, shouldOpen: boolean) => {\n if (shouldOpen && e.type === 'contextmenu') {\n setContextTarget(e as React.MouseEvent);\n }\n\n if (!shouldOpen) {\n setContextTarget(undefined);\n }\n\n setOpenState(prevOpen => {\n // More than one event (mouse, focus, keyboard) can request the Popover to close\n // We assume the first event is the correct one\n if (prevOpen !== shouldOpen) {\n onOpenChange?.(e, { open: shouldOpen });\n }\n\n return shouldOpen;\n });\n },\n [setOpenState, onOpenChange, setContextTarget],\n );\n\n return [open, setOpen] as const;\n}\n\n/**\n * Creates and sets the necessary trigger, target and content refs used by Popover\n */\nfunction usePopoverRefs(\n state: Pick<PopoverState, 'size' | 'contextTarget'> & Pick<PopoverProps, 'positioning' | 'openOnContext' | 'noArrow'>,\n) {\n const popperOptions = {\n position: 'above' as const,\n align: 'center' as const,\n target: state.openOnContext ? state.contextTarget : undefined,\n ...resolvePositioningShorthand(state.positioning),\n };\n\n // no reason to render arrow when covering the target\n if (popperOptions.coverTarget) {\n state.noArrow = true;\n }\n\n if (!state.noArrow) {\n popperOptions.offset = mergeArrowOffset(popperOptions.offset, arrowHeights[state.size]);\n }\n\n const { targetRef: triggerRef, containerRef: contentRef, arrowRef } = usePopper(popperOptions);\n\n return {\n triggerRef,\n contentRef,\n arrowRef,\n } as const;\n}\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ import type { PopoverSurfaceProps } from './PopoverSurface.types';
2
+ import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
+ /**
4
+ * PopoverSurface component renders react children in a positioned box
5
+ */
6
+ export declare const PopoverSurface: ForwardRefComponent<PopoverSurfaceProps>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PopoverSurface = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const usePopoverSurface_1 = /*#__PURE__*/require("./usePopoverSurface");
11
+
12
+ const renderPopoverSurface_1 = /*#__PURE__*/require("./renderPopoverSurface");
13
+
14
+ const usePopoverSurfaceStyles_1 = /*#__PURE__*/require("./usePopoverSurfaceStyles");
15
+ /**
16
+ * PopoverSurface component renders react children in a positioned box
17
+ */
18
+
19
+
20
+ exports.PopoverSurface = /*#__PURE__*/React.forwardRef((props, ref) => {
21
+ const state = usePopoverSurface_1.usePopoverSurface_unstable(props, ref);
22
+ usePopoverSurfaceStyles_1.usePopoverSurfaceStyles_unstable(state);
23
+ return renderPopoverSurface_1.renderPopoverSurface_unstable(state);
24
+ });
25
+ exports.PopoverSurface.displayName = 'PopoverSurface';
26
+ //# sourceMappingURL=PopoverSurface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/PopoverSurface/PopoverSurface.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,mBAAA,gBAAA,OAAA,CAAA,qBAAA,CAAA;;AACA,MAAA,sBAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;;AACA,MAAA,yBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;AAIA;;AAEG;;;AACU,OAAA,CAAA,cAAA,gBAA2D,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACtG,QAAM,KAAK,GAAG,mBAAA,CAAA,0BAAA,CAA2B,KAA3B,EAAkC,GAAlC,CAAd;AAEA,EAAA,yBAAA,CAAA,gCAAA,CAAiC,KAAjC;AACA,SAAO,sBAAA,CAAA,6BAAA,CAA8B,KAA9B,CAAP;AACD,CALuE,CAA3D;AAOb,OAAA,CAAA,cAAA,CAAe,WAAf,GAA6B,gBAA7B","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"],"sourceRoot":"../src/"}
@@ -0,0 +1,21 @@
1
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
+ import type { PopoverContextValue } from '../../popoverContext';
3
+ /**
4
+ * PopoverSurface Props
5
+ */
6
+ export declare type PopoverSurfaceProps = ComponentProps<PopoverSurfaceSlots>;
7
+ /**
8
+ * Names of the slots in PopoverSurfaceProps
9
+ */
10
+ export declare type PopoverSurfaceSlots = {
11
+ root: Slot<'div'>;
12
+ };
13
+ /**
14
+ * PopoverSurface State
15
+ */
16
+ export declare type PopoverSurfaceState = ComponentState<PopoverSurfaceSlots> & Pick<PopoverContextValue, 'open' | 'mountNode' | 'noArrow' | 'size' | 'appearance' | 'arrowRef'> & {
17
+ /**
18
+ * CSS class for the arrow element
19
+ */
20
+ arrowClassName?: string;
21
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=PopoverSurface.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -0,0 +1,5 @@
1
+ export * from './PopoverSurface';
2
+ export * from './PopoverSurface.types';
3
+ export * from './renderPopoverSurface';
4
+ export * from './usePopoverSurface';
5
+ export * from './usePopoverSurfaceStyles';
@@ -0,0 +1,18 @@
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("./PopoverSurface"), exports);
10
+
11
+ tslib_1.__exportStar(require("./PopoverSurface.types"), exports);
12
+
13
+ tslib_1.__exportStar(require("./renderPopoverSurface"), exports);
14
+
15
+ tslib_1.__exportStar(require("./usePopoverSurface"), exports);
16
+
17
+ tslib_1.__exportStar(require("./usePopoverSurfaceStyles"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/PopoverSurface/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;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,2BAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './PopoverSurface';\nexport * from './PopoverSurface.types';\nexport * from './renderPopoverSurface';\nexport * from './usePopoverSurface';\nexport * from './usePopoverSurfaceStyles';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,5 @@
1
+ import type { PopoverSurfaceState } from './PopoverSurface.types';
2
+ /**
3
+ * Render the final JSX of PopoverSurface
4
+ */
5
+ export declare const renderPopoverSurface_unstable: (state: PopoverSurfaceState) => JSX.Element | null;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderPopoverSurface_unstable = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_portal_1 = /*#__PURE__*/require("@fluentui/react-portal");
11
+
12
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
13
+ /**
14
+ * Render the final JSX of PopoverSurface
15
+ */
16
+
17
+
18
+ const renderPopoverSurface_unstable = state => {
19
+ const {
20
+ slots,
21
+ slotProps
22
+ } = react_utilities_1.getSlots(state); // TODO should hidden Popovers be supported ?
23
+
24
+ if (!state.open) {
25
+ return null;
26
+ }
27
+
28
+ return React.createElement(react_portal_1.Portal, {
29
+ mountNode: state.mountNode
30
+ }, React.createElement(slots.root, { ...slotProps.root
31
+ }, !state.noArrow && React.createElement("div", {
32
+ ref: state.arrowRef,
33
+ className: state.arrowClassName
34
+ }), slotProps.root.children));
35
+ };
36
+
37
+ exports.renderPopoverSurface_unstable = renderPopoverSurface_unstable;
38
+ //# sourceMappingURL=renderPopoverSurface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/PopoverSurface/renderPopoverSurface.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,6BAA6B,GAAI,KAAD,IAA+B;AAC1E,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,iBAAA,CAAA,QAAA,CAA8B,KAA9B,CAA7B,CAD0E,CAG1E;;AACA,MAAI,CAAC,KAAK,CAAC,IAAX,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,SACE,KAAA,CAAA,aAAA,CAAC,cAAA,CAAA,MAAD,EAAO;AAAC,IAAA,SAAS,EAAE,KAAK,CAAC;AAAlB,GAAP,EACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACG,CAAC,KAAK,CAAC,OAAP,IAAkB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,GAAG,EAAE,KAAK,CAAC,QAAhB;AAA0B,IAAA,SAAS,EAAE,KAAK,CAAC;AAA3C,GAAA,CADrB,EAEG,SAAS,CAAC,IAAV,CAAe,QAFlB,CADF,CADF;AAQD,CAhBM;;AAAM,OAAA,CAAA,6BAAA,GAA6B,6BAA7B","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 // TODO should hidden Popovers be supported ?\n if (!state.open) {\n return null;\n }\n\n return (\n <Portal mountNode={state.mountNode}>\n <slots.root {...slotProps.root}>\n {!state.noArrow && <div ref={state.arrowRef} className={state.arrowClassName} />}\n {slotProps.root.children}\n </slots.root>\n </Portal>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import type { PopoverSurfaceProps, PopoverSurfaceState } from './PopoverSurface.types';
3
+ /**
4
+ * Create the state required to render PopoverSurface.
5
+ *
6
+ * The returned state can be modified with hooks such as usePopoverSurfaceStyles_unstable,
7
+ * before being passed to renderPopoverSurface_unstable.
8
+ *
9
+ * @param props - props from this instance of PopoverSurface
10
+ * @param ref - reference to root HTMLDivElement of PopoverSurface
11
+ */
12
+ export declare const usePopoverSurface_unstable: (props: PopoverSurfaceProps, ref: React.Ref<HTMLDivElement>) => PopoverSurfaceState;