@fluentui/react-portal 0.0.0-nightlyfe9829e48120211112.1 → 0.0.0-nightlyff78d1e27a20220217.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 (70) hide show
  1. package/CHANGELOG.json +184 -21
  2. package/CHANGELOG.md +50 -10
  3. package/dist/react-portal.d.ts +4 -4
  4. package/lib/Portal.js.map +1 -1
  5. package/lib/components/Portal/Portal.js +5 -4
  6. package/lib/components/Portal/Portal.js.map +1 -1
  7. package/lib/components/Portal/Portal.types.d.ts +2 -1
  8. package/lib/components/Portal/Portal.types.js.map +1 -1
  9. package/lib/components/Portal/index.js.map +1 -1
  10. package/lib/components/Portal/renderPortal.d.ts +1 -1
  11. package/lib/components/Portal/renderPortal.js +6 -2
  12. package/lib/components/Portal/renderPortal.js.map +1 -1
  13. package/lib/components/Portal/usePortal.d.ts +2 -2
  14. package/lib/components/Portal/usePortal.js +23 -17
  15. package/lib/components/Portal/usePortal.js.map +1 -1
  16. package/lib/components/Portal/usePortalMountNode.js +27 -21
  17. package/lib/components/Portal/usePortalMountNode.js.map +1 -1
  18. package/lib/index.js.map +1 -1
  19. package/lib/virtualParent/elementContains.js +18 -14
  20. package/lib/virtualParent/elementContains.js.map +1 -1
  21. package/lib/virtualParent/getParent.js +2 -1
  22. package/lib/virtualParent/getParent.js.map +1 -1
  23. package/lib/virtualParent/getVirtualParent.js +8 -5
  24. package/lib/virtualParent/getVirtualParent.js.map +1 -1
  25. package/lib/virtualParent/index.js.map +1 -1
  26. package/lib/virtualParent/isVirtualElement.js +1 -1
  27. package/lib/virtualParent/isVirtualElement.js.map +1 -1
  28. package/lib/virtualParent/setVirtualParent.js +11 -8
  29. package/lib/virtualParent/setVirtualParent.js.map +1 -1
  30. package/lib/virtualParent/types.js.map +1 -1
  31. package/lib-commonjs/Portal.js +7 -2
  32. package/lib-commonjs/Portal.js.map +1 -1
  33. package/lib-commonjs/components/Portal/Portal.js +13 -5
  34. package/lib-commonjs/components/Portal/Portal.js.map +1 -1
  35. package/lib-commonjs/components/Portal/Portal.types.d.ts +2 -1
  36. package/lib-commonjs/components/Portal/Portal.types.js +4 -1
  37. package/lib-commonjs/components/Portal/Portal.types.js.map +1 -1
  38. package/lib-commonjs/components/Portal/index.js +10 -2
  39. package/lib-commonjs/components/Portal/index.js.map +1 -1
  40. package/lib-commonjs/components/Portal/renderPortal.d.ts +1 -1
  41. package/lib-commonjs/components/Portal/renderPortal.js +18 -7
  42. package/lib-commonjs/components/Portal/renderPortal.js.map +1 -1
  43. package/lib-commonjs/components/Portal/usePortal.d.ts +2 -2
  44. package/lib-commonjs/components/Portal/usePortal.js +39 -24
  45. package/lib-commonjs/components/Portal/usePortal.js.map +1 -1
  46. package/lib-commonjs/components/Portal/usePortalMountNode.js +41 -26
  47. package/lib-commonjs/components/Portal/usePortalMountNode.js.map +1 -1
  48. package/lib-commonjs/index.js +22 -5
  49. package/lib-commonjs/index.js.map +1 -1
  50. package/lib-commonjs/virtualParent/elementContains.js +26 -16
  51. package/lib-commonjs/virtualParent/elementContains.js.map +1 -1
  52. package/lib-commonjs/virtualParent/getParent.js +10 -3
  53. package/lib-commonjs/virtualParent/getParent.js.map +1 -1
  54. package/lib-commonjs/virtualParent/getVirtualParent.js +16 -7
  55. package/lib-commonjs/virtualParent/getVirtualParent.js.map +1 -1
  56. package/lib-commonjs/virtualParent/index.js +11 -2
  57. package/lib-commonjs/virtualParent/index.js.map +1 -1
  58. package/lib-commonjs/virtualParent/isVirtualElement.js +7 -2
  59. package/lib-commonjs/virtualParent/isVirtualElement.js.map +1 -1
  60. package/lib-commonjs/virtualParent/setVirtualParent.js +17 -9
  61. package/lib-commonjs/virtualParent/setVirtualParent.js.map +1 -1
  62. package/lib-commonjs/virtualParent/types.js +4 -1
  63. package/lib-commonjs/virtualParent/types.js.map +1 -1
  64. package/package.json +8 -10
  65. package/lib/common/isConformant.d.ts +0 -4
  66. package/lib/common/isConformant.js +0 -9
  67. package/lib/common/isConformant.js.map +0 -1
  68. package/lib-commonjs/common/isConformant.d.ts +0 -4
  69. package/lib-commonjs/common/isConformant.js +0 -13
  70. package/lib-commonjs/common/isConformant.js.map +0 -1
@@ -5,22 +5,26 @@ import { getParent } from './getParent';
5
5
  *
6
6
  * @returns true if the child can find the parent in its virtual hierarchy
7
7
  */
8
+
8
9
  export function elementContains(parent, child) {
9
- if (!parent || !child) {
10
- return false;
11
- }
12
- if (parent === child) {
10
+ if (!parent || !child) {
11
+ return false;
12
+ }
13
+
14
+ if (parent === child) {
15
+ return true;
16
+ } else {
17
+ while (child) {
18
+ const nextParent = getParent(child);
19
+
20
+ if (nextParent === parent) {
13
21
  return true;
22
+ }
23
+
24
+ child = nextParent;
14
25
  }
15
- else {
16
- while (child) {
17
- const nextParent = getParent(child);
18
- if (nextParent === parent) {
19
- return true;
20
- }
21
- child = nextParent;
22
- }
23
- }
24
- return false;
26
+ }
27
+
28
+ return false;
25
29
  }
26
30
  //# sourceMappingURL=elementContains.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"elementContains.js","sourceRoot":"","sources":["../../src/virtualParent/elementContains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAA0B,EAAE,KAAyB;IACnF,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,KAAK,EAAE;YACZ,MAAM,UAAU,GAAuB,SAAS,CAAC,KAAK,CAAC,CAAC;YAExD,IAAI,UAAU,KAAK,MAAM,EAAE;gBACzB,OAAO,IAAI,CAAC;aACb;YAED,KAAK,GAAG,UAAU,CAAC;SACpB;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"sources":["virtualParent/elementContains.ts"],"names":[],"mappings":"AAAA,SAAS,SAAT,QAA0B,aAA1B;AACA;;;;;AAKG;;AACH,OAAM,SAAU,eAAV,CAA0B,MAA1B,EAAsD,KAAtD,EAA+E;AACnF,MAAI,CAAC,MAAD,IAAW,CAAC,KAAhB,EAAuB;AACrB,WAAO,KAAP;AACD;;AAED,MAAI,MAAM,KAAK,KAAf,EAAsB;AACpB,WAAO,IAAP;AACD,GAFD,MAEO;AACL,WAAO,KAAP,EAAc;AACZ,YAAM,UAAU,GAAuB,SAAS,CAAC,KAAD,CAAhD;;AAEA,UAAI,UAAU,KAAK,MAAnB,EAA2B;AACzB,eAAO,IAAP;AACD;;AAED,MAAA,KAAK,GAAG,UAAR;AACD;AACF;;AAED,SAAO,KAAP;AACD","sourcesContent":["import { getParent } from './getParent';\n/**\n * Similar functionality to `element.contains` DOM API for use with out of order DOM elements that\n * checks the virtual parent hierarchy. If a virtual parents exists, it is chosen over the actual parent\n *\n * @returns true if the child can find the parent in its virtual hierarchy\n */\nexport function elementContains(parent: HTMLElement | null, child: HTMLElement | null): boolean {\n if (!parent || !child) {\n return false;\n }\n\n if (parent === child) {\n return true;\n } else {\n while (child) {\n const nextParent: HTMLElement | null = getParent(child);\n\n if (nextParent === parent) {\n return true;\n }\n\n child = nextParent;\n }\n }\n\n return false;\n}\n"],"sourceRoot":"../src/"}
@@ -3,7 +3,8 @@ import { getVirtualParent } from './getVirtualParent';
3
3
  * Gets the element which is the parent of a given element.
4
4
  * This method prefers the virtual parent over real DOM parent when present.
5
5
  */
6
+
6
7
  export function getParent(child) {
7
- return (child && getVirtualParent(child)) || (child === null || child === void 0 ? void 0 : child.parentNode);
8
+ return child && getVirtualParent(child) || (child === null || child === void 0 ? void 0 : child.parentNode);
8
9
  }
9
10
  //# sourceMappingURL=getParent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getParent.js","sourceRoot":"","sources":["../../src/virtualParent/getParent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAyB;IACjD,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAiC,CAAA,CAAC;AACzF,CAAC"}
1
+ {"version":3,"sources":["virtualParent/getParent.ts"],"names":[],"mappings":"AAAA,SAAS,gBAAT,QAAiC,oBAAjC;AAEA;;;AAGG;;AACH,OAAM,SAAU,SAAV,CAAoB,KAApB,EAA6C;AACjD,SAAQ,KAAK,IAAI,gBAAgB,CAAC,KAAD,CAA1B,KAAuC,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,UAA9C,CAAP;AACD","sourcesContent":["import { getVirtualParent } from './getVirtualParent';\n\n/**\n * Gets the element which is the parent of a given element.\n * This method prefers the virtual parent over real DOM parent when present.\n */\nexport function getParent(child: HTMLElement | null): HTMLElement | null {\n return (child && getVirtualParent(child)) || (child?.parentNode as HTMLElement | null);\n}\n"],"sourceRoot":"../src/"}
@@ -2,11 +2,14 @@ import { isVirtualElement } from './isVirtualElement';
2
2
  /**
3
3
  * Gets the virtual parent given the child element, if it exists.
4
4
  */
5
+
5
6
  export function getVirtualParent(child) {
6
- let parent;
7
- if (isVirtualElement(child)) {
8
- parent = child._virtual.parent;
9
- }
10
- return parent;
7
+ let parent;
8
+
9
+ if (isVirtualElement(child)) {
10
+ parent = child._virtual.parent;
11
+ }
12
+
13
+ return parent;
11
14
  }
12
15
  //# sourceMappingURL=getVirtualParent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getVirtualParent.js","sourceRoot":"","sources":["../../src/virtualParent/getVirtualParent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,IAAI,MAA+B,CAAC;IACpC,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;QAC3B,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;KAChC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"sources":["virtualParent/getVirtualParent.ts"],"names":[],"mappings":"AAAA,SAAS,gBAAT,QAAiC,oBAAjC;AACA;;AAEG;;AACH,OAAM,SAAU,gBAAV,CAA2B,KAA3B,EAA6C;AACjD,MAAI,MAAJ;;AACA,MAAI,gBAAgB,CAAC,KAAD,CAApB,EAA6B;AAC3B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAN,CAAe,MAAxB;AACD;;AACD,SAAO,MAAP;AACD","sourcesContent":["import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n */\nexport function getVirtualParent(child: HTMLElement): HTMLElement | undefined {\n let parent: HTMLElement | undefined;\n if (isVirtualElement(child)) {\n parent = child._virtual.parent;\n }\n return parent;\n}\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/virtualParent/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["virtualParent/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './elementContains';\nexport * from './getParent';\nexport * from './getVirtualParent';\nexport * from './isVirtualElement';\nexport * from './setVirtualParent';\n"]}
@@ -2,6 +2,6 @@
2
2
  * Determines whether or not an element has the virtual hierarchy extension.
3
3
  */
4
4
  export function isVirtualElement(element) {
5
- return element && !!element._virtual;
5
+ return element && !!element._virtual;
6
6
  }
7
7
  //# sourceMappingURL=isVirtualElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isVirtualElement.js","sourceRoot":"","sources":["../../src/virtualParent/isVirtualElement.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAqC;IACpE,OAAO,OAAO,IAAI,CAAC,CAAkB,OAAQ,CAAC,QAAQ,CAAC;AACzD,CAAC"}
1
+ {"version":3,"sources":["virtualParent/isVirtualElement.ts"],"names":[],"mappings":"AAEA;;AAEG;AACH,OAAM,SAAU,gBAAV,CAA2B,OAA3B,EAAgE;AACpE,SAAO,OAAO,IAAI,CAAC,CAAkB,OAAQ,CAAC,QAA9C;AACD","sourcesContent":["import type { VirtualElement } from './types';\n\n/**\n * Determines whether or not an element has the virtual hierarchy extension.\n */\nexport function isVirtualElement(element: HTMLElement | VirtualElement): element is VirtualElement {\n return element && !!(<VirtualElement>element)._virtual;\n}\n"],"sourceRoot":"../src/"}
@@ -5,13 +5,16 @@
5
5
  * @param parent - The virtual parent, use `undefined` to remove a virtual parent relationship
6
6
  */
7
7
  export function setVirtualParent(child, parent) {
8
- if (!child) {
9
- return;
10
- }
11
- const virtualChild = child;
12
- if (!virtualChild._virtual) {
13
- virtualChild._virtual = {};
14
- }
15
- virtualChild._virtual.parent = parent || undefined;
8
+ if (!child) {
9
+ return;
10
+ }
11
+
12
+ const virtualChild = child;
13
+
14
+ if (!virtualChild._virtual) {
15
+ virtualChild._virtual = {};
16
+ }
17
+
18
+ virtualChild._virtual.parent = parent || undefined;
16
19
  }
17
20
  //# sourceMappingURL=setVirtualParent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setVirtualParent.js","sourceRoot":"","sources":["../../src/virtualParent/setVirtualParent.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,MAAoB;IACvE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;KACR;IAED,MAAM,YAAY,GAAmB,KAAK,CAAC;IAE3C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC1B,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAC;KAC5B;IAED,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC;AACrD,CAAC"}
1
+ {"version":3,"sources":["virtualParent/setVirtualParent.ts"],"names":[],"mappings":"AAEA;;;;;AAKG;AACH,OAAM,SAAU,gBAAV,CAA2B,KAA3B,EAA+C,MAA/C,EAAmE;AACvE,MAAI,CAAC,KAAL,EAAY;AACV;AACD;;AAED,QAAM,YAAY,GAAmB,KAArC;;AAEA,MAAI,CAAC,YAAY,CAAC,QAAlB,EAA4B;AAC1B,IAAA,YAAY,CAAC,QAAb,GAAwB,EAAxB;AACD;;AAED,EAAA,YAAY,CAAC,QAAb,CAAsB,MAAtB,GAA+B,MAAM,IAAI,SAAzC;AACD","sourcesContent":["import type { VirtualElement } from './types';\n\n/**\n * Sets the virtual parent of an element.\n *\n * @param child - Theme element to set the virtual parent\n * @param parent - The virtual parent, use `undefined` to remove a virtual parent relationship\n */\nexport function setVirtualParent(child: HTMLElement, parent?: HTMLElement): void {\n if (!child) {\n return;\n }\n\n const virtualChild = <VirtualElement>child;\n\n if (!virtualChild._virtual) {\n virtualChild._virtual = {};\n }\n\n virtualChild._virtual.parent = parent || undefined;\n}\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/virtualParent/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"../src/","sources":["virtualParent/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface VirtualElement extends HTMLElement {\n _virtual: {\n parent?: HTMLElement;\n };\n}\n"]}
@@ -1,5 +1,10 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
4
9
  tslib_1.__exportStar(require("./components/Portal/index"), exports);
5
10
  //# sourceMappingURL=Portal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../src/Portal.ts"],"names":[],"mappings":";;;AAAA,oEAA0C"}
1
+ {"version":3,"sources":["Portal.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,2BAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './components/Portal/index';\n"],"sourceRoot":"../src/"}
@@ -1,16 +1,24 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.Portal = void 0;
4
- const usePortal_1 = require("./usePortal");
5
- const renderPortal_1 = require("./renderPortal");
7
+
8
+ const usePortal_1 = /*#__PURE__*/require("./usePortal");
9
+
10
+ const renderPortal_1 = /*#__PURE__*/require("./renderPortal");
6
11
  /**
7
12
  * A portal provides a way to render children into a DOM node
8
13
  * that exists outside the DOM hierarchy of the parent component.
9
14
  */
15
+
16
+
10
17
  const Portal = props => {
11
- const state = usePortal_1.usePortal(props);
12
- return renderPortal_1.renderPortal(state);
18
+ const state = usePortal_1.usePortal_unstable(props);
19
+ return renderPortal_1.renderPortal_unstable(state);
13
20
  };
21
+
14
22
  exports.Portal = Portal;
15
23
  exports.Portal.displayName = 'Portal';
16
24
  //# sourceMappingURL=Portal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/components/Portal/Portal.tsx"],"names":[],"mappings":";;;AAEA,2CAAwC;AACxC,iDAA8C;AAG9C;;;GAGG;AACI,MAAM,MAAM,GAA0B,KAAK,CAAC,EAAE;IACnD,MAAM,KAAK,GAAG,qBAAS,CAAC,KAAK,CAAC,CAAC;IAE/B,OAAO,2BAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC;AAJW,QAAA,MAAM,UAIjB;AAEF,cAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"sources":["components/Portal/Portal.tsx"],"names":[],"mappings":";;;;;;;AAEA,MAAA,WAAA,gBAAA,OAAA,CAAA,aAAA,CAAA;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,gBAAA,CAAA;AAGA;;;AAGG;;;AACI,MAAM,MAAM,GAA0B,KAAK,IAAG;AACnD,QAAM,KAAK,GAAG,WAAA,CAAA,kBAAA,CAAmB,KAAnB,CAAd;AAEA,SAAO,cAAA,CAAA,qBAAA,CAAsB,KAAtB,CAAP;AACD,CAJM;;AAAM,OAAA,CAAA,MAAA,GAAM,MAAN;AAMb,OAAA,CAAA,MAAA,CAAO,WAAP,GAAqB,QAArB","sourcesContent":["import * as React from 'react';\n\nimport { usePortal_unstable } from './usePortal';\nimport { renderPortal_unstable } from './renderPortal';\nimport type { PortalProps } from './Portal.types';\n\n/**\n * A portal provides a way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n */\nexport const Portal: React.FC<PortalProps> = props => {\n const state = usePortal_unstable(props);\n\n return renderPortal_unstable(state);\n};\n\nPortal.displayName = 'Portal';\n"],"sourceRoot":"../src/"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare type PortalCommons = {
2
+ declare type PortalCommons = {
3
3
  /**
4
4
  * React children
5
5
  */
@@ -19,3 +19,4 @@ export declare type PortalState = PortalCommons & {
19
19
  */
20
20
  virtualParentRootRef: React.MutableRefObject<HTMLSpanElement | null>;
21
21
  };
22
+ export {};
@@ -1,3 +1,6 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  //# sourceMappingURL=Portal.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.types.js","sourceRoot":"","sources":["../../../src/components/Portal/Portal.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -1,8 +1,16 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
4
9
  tslib_1.__exportStar(require("./Portal"), exports);
10
+
5
11
  tslib_1.__exportStar(require("./Portal.types"), exports);
12
+
6
13
  tslib_1.__exportStar(require("./renderPortal"), exports);
14
+
7
15
  tslib_1.__exportStar(require("./usePortal"), exports);
8
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Portal/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,yDAA+B;AAC/B,yDAA+B;AAC/B,sDAA4B"}
1
+ {"version":3,"sources":["components/Portal/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,UAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,gBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,gBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,aAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './Portal';\nexport * from './Portal.types';\nexport * from './renderPortal';\nexport * from './usePortal';\n"],"sourceRoot":"../src/"}
@@ -3,4 +3,4 @@ import type { PortalState } from './Portal.types';
3
3
  /**
4
4
  * Render the final JSX of Portal
5
5
  */
6
- export declare const renderPortal: (state: PortalState) => React.ReactElement;
6
+ export declare const renderPortal_unstable: (state: PortalState) => React.ReactElement;
@@ -1,13 +1,24 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderPortal = void 0;
4
- const ReactDOM = require("react-dom");
5
- const React = require("react");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderPortal_unstable = void 0;
7
+
8
+ const ReactDOM = /*#__PURE__*/require("react-dom");
9
+
10
+ const React = /*#__PURE__*/require("react");
6
11
  /**
7
12
  * Render the final JSX of Portal
8
13
  */
9
- const renderPortal = (state) => {
10
- return (React.createElement("span", { hidden: true, ref: state.virtualParentRootRef }, state.shouldRender && state.mountNode && ReactDOM.createPortal(state.children, state.mountNode)));
14
+
15
+
16
+ const renderPortal_unstable = state => {
17
+ return React.createElement("span", {
18
+ hidden: true,
19
+ ref: state.virtualParentRootRef
20
+ }, state.shouldRender && state.mountNode && ReactDOM.createPortal(state.children, state.mountNode));
11
21
  };
12
- exports.renderPortal = renderPortal;
22
+
23
+ exports.renderPortal_unstable = renderPortal_unstable;
13
24
  //# sourceMappingURL=renderPortal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderPortal.js","sourceRoot":"","sources":["../../../src/components/Portal/renderPortal.tsx"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,+BAA+B;AAG/B;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAsB,EAAE;IACrE,OAAO,CACL,8BAAM,MAAM,QAAC,GAAG,EAAE,KAAK,CAAC,oBAAoB,IACzC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAC3F,CACR,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,YAAY,gBAMvB"}
1
+ {"version":3,"sources":["components/Portal/renderPortal.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,QAAA,gBAAA,OAAA,CAAA,WAAA,CAAA;;AACA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,qBAAqB,GAAI,KAAD,IAA2C;AAC9E,SACE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,MAAM,EAAA,IAAZ;AAAa,IAAA,GAAG,EAAE,KAAK,CAAC;AAAxB,GAAA,EACG,KAAK,CAAC,YAAN,IAAsB,KAAK,CAAC,SAA5B,IAAyC,QAAQ,CAAC,YAAT,CAAsB,KAAK,CAAC,QAA5B,EAAsC,KAAK,CAAC,SAA5C,CAD5C,CADF;AAKD,CANM;;AAAM,OAAA,CAAA,qBAAA,GAAqB,qBAArB","sourcesContent":["import * as ReactDOM from 'react-dom';\nimport * as React from 'react';\nimport type { PortalState } from './Portal.types';\n\n/**\n * Render the final JSX of Portal\n */\nexport const renderPortal_unstable = (state: PortalState): React.ReactElement => {\n return (\n <span hidden ref={state.virtualParentRootRef}>\n {state.shouldRender && state.mountNode && ReactDOM.createPortal(state.children, state.mountNode)}\n </span>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -2,8 +2,8 @@ import type { PortalProps, PortalState } from './Portal.types';
2
2
  /**
3
3
  * Create the state required to render Portal.
4
4
  *
5
- * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
5
+ * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal_unstable.
6
6
  *
7
7
  * @param props - props from this instance of Portal
8
8
  */
9
- export declare const usePortal: (props: PortalProps) => PortalState;
9
+ export declare const usePortal_unstable: (props: PortalProps) => PortalState;
@@ -1,33 +1,48 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.usePortal = void 0;
4
- const React = require("react");
5
- const react_utilities_1 = require("@fluentui/react-utilities");
6
- const usePortalMountNode_1 = require("./usePortalMountNode");
7
- const index_1 = require("../../virtualParent/index");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePortal_unstable = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+
12
+ const usePortalMountNode_1 = /*#__PURE__*/require("./usePortalMountNode");
13
+
14
+ const index_1 = /*#__PURE__*/require("../../virtualParent/index");
8
15
  /**
9
16
  * Create the state required to render Portal.
10
17
  *
11
- * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
18
+ * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal_unstable.
12
19
  *
13
20
  * @param props - props from this instance of Portal
14
21
  */
15
- const usePortal = (props) => {
16
- const { children, mountNode } = props;
17
- const virtualParentRootRef = React.useRef(null);
18
- const fallbackMountNode = usePortalMountNode_1.usePortalMountNode({ disabled: !!mountNode });
19
- const state = {
20
- children,
21
- mountNode: mountNode !== null && mountNode !== void 0 ? mountNode : fallbackMountNode,
22
- shouldRender: !react_utilities_1.useIsSSR(),
23
- virtualParentRootRef,
24
- };
25
- React.useEffect(() => {
26
- if (state.virtualParentRootRef.current && state.mountNode) {
27
- index_1.setVirtualParent(state.mountNode, state.virtualParentRootRef.current);
28
- }
29
- }, [state.virtualParentRootRef, state.mountNode]);
30
- return state;
22
+
23
+
24
+ const usePortal_unstable = props => {
25
+ const {
26
+ children,
27
+ mountNode
28
+ } = props;
29
+ const virtualParentRootRef = React.useRef(null);
30
+ const fallbackMountNode = usePortalMountNode_1.usePortalMountNode({
31
+ disabled: !!mountNode
32
+ });
33
+ const state = {
34
+ children,
35
+ mountNode: mountNode !== null && mountNode !== void 0 ? mountNode : fallbackMountNode,
36
+ shouldRender: !react_utilities_1.useIsSSR(),
37
+ virtualParentRootRef
38
+ };
39
+ React.useEffect(() => {
40
+ if (state.virtualParentRootRef.current && state.mountNode) {
41
+ index_1.setVirtualParent(state.mountNode, state.virtualParentRootRef.current);
42
+ }
43
+ }, [state.virtualParentRootRef, state.mountNode]);
44
+ return state;
31
45
  };
32
- exports.usePortal = usePortal;
46
+
47
+ exports.usePortal_unstable = usePortal_unstable;
33
48
  //# sourceMappingURL=usePortal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePortal.js","sourceRoot":"","sources":["../../../src/components/Portal/usePortal.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+DAAqD;AACrD,6DAA0D;AAC1D,qDAA6D;AAG7D;;;;;;GAMG;AACI,MAAM,SAAS,GAAG,CAAC,KAAkB,EAAe,EAAE;IAC3D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAEtC,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,uCAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAExE,MAAM,KAAK,GAAgB;QACzB,QAAQ;QACR,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,iBAAiB;QACzC,YAAY,EAAE,CAAC,0BAAQ,EAAE;QACzB,oBAAoB;KACrB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,KAAK,CAAC,oBAAoB,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;YACzD,wBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACvE;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAElD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AApBW,QAAA,SAAS,aAoBpB"}
1
+ {"version":3,"sources":["components/Portal/usePortal.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,oBAAA,gBAAA,OAAA,CAAA,sBAAA,CAAA;;AACA,MAAA,OAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;AAGA;;;;;;AAMG;;;AACI,MAAM,kBAAkB,GAAI,KAAD,IAAoC;AACpE,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA;AAAZ,MAA0B,KAAhC;AAEA,QAAM,oBAAoB,GAAG,KAAK,CAAC,MAAN,CAA8B,IAA9B,CAA7B;AACA,QAAM,iBAAiB,GAAG,oBAAA,CAAA,kBAAA,CAAmB;AAAE,IAAA,QAAQ,EAAE,CAAC,CAAC;AAAd,GAAnB,CAA1B;AAEA,QAAM,KAAK,GAAgB;AACzB,IAAA,QADyB;AAEzB,IAAA,SAAS,EAAE,SAAS,KAAA,IAAT,IAAA,SAAS,KAAA,KAAA,CAAT,GAAA,SAAA,GAAa,iBAFC;AAGzB,IAAA,YAAY,EAAE,CAAC,iBAAA,CAAA,QAAA,EAHU;AAIzB,IAAA;AAJyB,GAA3B;AAOA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,QAAI,KAAK,CAAC,oBAAN,CAA2B,OAA3B,IAAsC,KAAK,CAAC,SAAhD,EAA2D;AACzD,MAAA,OAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,SAAvB,EAAkC,KAAK,CAAC,oBAAN,CAA2B,OAA7D;AACD;AACF,GAJD,EAIG,CAAC,KAAK,CAAC,oBAAP,EAA6B,KAAK,CAAC,SAAnC,CAJH;AAMA,SAAO,KAAP;AACD,CApBM;;AAAM,OAAA,CAAA,kBAAA,GAAkB,kBAAlB","sourcesContent":["import * as React from 'react';\nimport { useIsSSR } from '@fluentui/react-utilities';\nimport { usePortalMountNode } from './usePortalMountNode';\nimport { setVirtualParent } from '../../virtualParent/index';\nimport type { PortalProps, PortalState } from './Portal.types';\n\n/**\n * Create the state required to render Portal.\n *\n * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal_unstable.\n *\n * @param props - props from this instance of Portal\n */\nexport const usePortal_unstable = (props: PortalProps): PortalState => {\n const { children, mountNode } = props;\n\n const virtualParentRootRef = React.useRef<HTMLSpanElement>(null);\n const fallbackMountNode = usePortalMountNode({ disabled: !!mountNode });\n\n const state: PortalState = {\n children,\n mountNode: mountNode ?? fallbackMountNode,\n shouldRender: !useIsSSR(),\n virtualParentRootRef,\n };\n\n React.useEffect(() => {\n if (state.virtualParentRootRef.current && state.mountNode) {\n setVirtualParent(state.mountNode, state.virtualParentRootRef.current);\n }\n }, [state.virtualParentRootRef, state.mountNode]);\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -1,34 +1,49 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.usePortalMountNode = void 0;
4
- const React = require("react");
5
- const react_utilities_1 = require("@fluentui/react-utilities");
6
- const react_shared_contexts_1 = require("@fluentui/react-shared-contexts");
7
- const react_tabster_1 = require("@fluentui/react-tabster");
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_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
8
15
  /**
9
16
  * Creates a new element on a document.body to mount portals
10
17
  */
11
- const usePortalMountNode = (options) => {
12
- const themeClassName = react_shared_contexts_1.useThemeClassName();
13
- const { targetDocument, dir } = react_shared_contexts_1.useFluent();
14
- const element = React.useMemo(() => {
15
- if (targetDocument === undefined || options.disabled) {
16
- return undefined;
17
- }
18
- const newElement = targetDocument.createElement('div');
19
- newElement.setAttribute('class', themeClassName);
20
- newElement.setAttribute('dir', dir);
21
- targetDocument.body.appendChild(newElement);
22
- return newElement;
23
- }, [targetDocument, themeClassName, dir, options.disabled]);
24
- react_tabster_1.useKeyboardNavAttribute().current = element;
25
- react_utilities_1.useIsomorphicLayoutEffect(() => {
26
- return () => {
27
- var _a;
28
- (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(element);
29
- };
30
- }, [element]);
31
- return element;
18
+
19
+
20
+ const usePortalMountNode = options => {
21
+ const themeClassName = react_shared_contexts_1.useThemeClassName();
22
+ const {
23
+ targetDocument,
24
+ dir
25
+ } = react_shared_contexts_1.useFluent();
26
+ const element = React.useMemo(() => {
27
+ if (targetDocument === undefined || options.disabled) {
28
+ return undefined;
29
+ }
30
+
31
+ const newElement = targetDocument.createElement('div');
32
+ newElement.setAttribute('class', themeClassName);
33
+ newElement.setAttribute('dir', dir);
34
+ targetDocument.body.appendChild(newElement);
35
+ return newElement;
36
+ }, [targetDocument, themeClassName, dir, options.disabled]);
37
+ react_tabster_1.useKeyboardNavAttribute().current = element;
38
+ react_utilities_1.useIsomorphicLayoutEffect(() => {
39
+ return () => {
40
+ var _a;
41
+
42
+ (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(element);
43
+ };
44
+ }, [element]);
45
+ return element;
32
46
  };
47
+
33
48
  exports.usePortalMountNode = usePortalMountNode;
34
49
  //# sourceMappingURL=usePortalMountNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePortalMountNode.js","sourceRoot":"","sources":["../../../src/components/Portal/usePortalMountNode.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+DAAsE;AACtE,2EAA+E;AAC/E,2DAAkE;AASlE;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAAC,OAAkC,EAAE,EAAE;IACvE,MAAM,cAAc,GAAG,yCAAiB,EAAE,CAAC;IAC3C,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,iCAAS,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACjD,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE5C,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3D,uCAAuB,EAA0C,CAAC,OAAO,GAAG,OAAQ,CAAC;IAEtF,2CAAyB,CAAC,GAAG,EAAE;QAC7B,OAAO,GAAG,EAAE;;YACV,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,0CAAE,WAAW,CAAC,OAAO,EAAE;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AA1BW,QAAA,kBAAkB,sBA0B7B"}
1
+ {"version":3,"sources":["components/Portal/usePortalMountNode.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,uBAAA,gBAAA,OAAA,CAAA,iCAAA,CAAA;;AACA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;AASA;;AAEG;;;AACI,MAAM,kBAAkB,GAAI,OAAD,IAAuC;AACvE,QAAM,cAAc,GAAG,uBAAA,CAAA,iBAAA,EAAvB;AACA,QAAM;AAAE,IAAA,cAAF;AAAkB,IAAA;AAAlB,MAA0B,uBAAA,CAAA,SAAA,EAAhC;AAEA,QAAM,OAAO,GAAG,KAAK,CAAC,OAAN,CAAc,MAAK;AACjC,QAAI,cAAc,KAAK,SAAnB,IAAgC,OAAO,CAAC,QAA5C,EAAsD;AACpD,aAAO,SAAP;AACD;;AAED,UAAM,UAAU,GAAG,cAAc,CAAC,aAAf,CAA6B,KAA7B,CAAnB;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,OAAxB,EAAiC,cAAjC;AACA,IAAA,UAAU,CAAC,YAAX,CAAwB,KAAxB,EAA+B,GAA/B;AACA,IAAA,cAAc,CAAC,IAAf,CAAoB,WAApB,CAAgC,UAAhC;AAEA,WAAO,UAAP;AACD,GAXe,EAWb,CAAC,cAAD,EAAiB,cAAjB,EAAiC,GAAjC,EAAsC,OAAO,CAAC,QAA9C,CAXa,CAAhB;AAaC,EAAA,eAAA,CAAA,uBAAA,GAAkE,OAAlE,GAA4E,OAA5E;AAED,EAAA,iBAAA,CAAA,yBAAA,CAA0B,MAAK;AAC7B,WAAO,MAAK;;;AACV,OAAA,EAAA,GAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,aAAT,MAAsB,IAAtB,IAAsB,EAAA,KAAA,KAAA,CAAtB,GAAsB,KAAA,CAAtB,GAAsB,EAAA,CAAE,WAAF,CAAc,OAAd,CAAtB;AACD,KAFD;AAGD,GAJD,EAIG,CAAC,OAAD,CAJH;AAMA,SAAO,OAAP;AACD,CA1BM;;AAAM,OAAA,CAAA,kBAAA,GAAkB,kBAAlB","sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport { useThemeClassName, useFluent } from '@fluentui/react-shared-contexts';\nimport { useKeyboardNavAttribute } from '@fluentui/react-tabster';\n\nexport type UsePortalMountNodeOptions = {\n /**\n * Since hooks cannot be called conditionally use this flag to disable creating the node\n */\n disabled?: boolean;\n};\n\n/**\n * Creates a new element on a document.body to mount portals\n */\nexport const usePortalMountNode = (options: UsePortalMountNodeOptions) => {\n const themeClassName = useThemeClassName();\n const { targetDocument, dir } = useFluent();\n\n const element = React.useMemo(() => {\n if (targetDocument === undefined || options.disabled) {\n return undefined;\n }\n\n const newElement = targetDocument.createElement('div');\n newElement.setAttribute('class', themeClassName);\n newElement.setAttribute('dir', dir);\n targetDocument.body.appendChild(newElement);\n\n return newElement;\n }, [targetDocument, themeClassName, dir, options.disabled]);\n\n (useKeyboardNavAttribute() as React.MutableRefObject<HTMLElement>).current = element!;\n\n useIsomorphicLayoutEffect(() => {\n return () => {\n element?.parentElement?.removeChild(element);\n };\n }, [element]);\n\n return element;\n};\n"],"sourceRoot":"../src/"}
@@ -1,9 +1,26 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.setVirtualParent = exports.elementContains = void 0;
4
- const tslib_1 = require("tslib");
7
+
8
+ const tslib_1 = /*#__PURE__*/require("tslib");
9
+
5
10
  tslib_1.__exportStar(require("./components/Portal/index"), exports);
6
- var index_1 = require("./virtualParent/index");
7
- Object.defineProperty(exports, "elementContains", { enumerable: true, get: function () { return index_1.elementContains; } });
8
- Object.defineProperty(exports, "setVirtualParent", { enumerable: true, get: function () { return index_1.setVirtualParent; } });
11
+
12
+ var index_1 = /*#__PURE__*/require("./virtualParent/index");
13
+
14
+ Object.defineProperty(exports, "elementContains", {
15
+ enumerable: true,
16
+ get: function () {
17
+ return index_1.elementContains;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "setVirtualParent", {
21
+ enumerable: true,
22
+ get: function () {
23
+ return index_1.setVirtualParent;
24
+ }
25
+ });
9
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,oEAA0C;AAC1C,+CAA0E;AAAjE,wGAAA,eAAe,OAAA;AAAE,yGAAA,gBAAgB,OAAA"}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,2BAAA,CAAA,EAAA,OAAA;;AACA,IAAA,OAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,iBAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,OAAA,CAAA,eAAA;AAAe;AAAf,CAAA;AAAiB,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,kBAAA,EAAA;AAAA,EAAA,UAAA,EAAA,IAAA;AAAA,EAAA,GAAA,EAAA,YAAA;AAAA,WAAA,OAAA,CAAA,gBAAA;AAAgB;AAAhB,CAAA","sourcesContent":["export * from './components/Portal/index';\nexport { elementContains, setVirtualParent } from './virtualParent/index';\n"],"sourceRoot":"../src/"}
@@ -1,30 +1,40 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.elementContains = void 0;
4
- const getParent_1 = require("./getParent");
7
+
8
+ const getParent_1 = /*#__PURE__*/require("./getParent");
5
9
  /**
6
10
  * Similar functionality to `element.contains` DOM API for use with out of order DOM elements that
7
11
  * checks the virtual parent hierarchy. If a virtual parents exists, it is chosen over the actual parent
8
12
  *
9
13
  * @returns true if the child can find the parent in its virtual hierarchy
10
14
  */
15
+
16
+
11
17
  function elementContains(parent, child) {
12
- if (!parent || !child) {
13
- return false;
14
- }
15
- if (parent === child) {
18
+ if (!parent || !child) {
19
+ return false;
20
+ }
21
+
22
+ if (parent === child) {
23
+ return true;
24
+ } else {
25
+ while (child) {
26
+ const nextParent = getParent_1.getParent(child);
27
+
28
+ if (nextParent === parent) {
16
29
  return true;
30
+ }
31
+
32
+ child = nextParent;
17
33
  }
18
- else {
19
- while (child) {
20
- const nextParent = getParent_1.getParent(child);
21
- if (nextParent === parent) {
22
- return true;
23
- }
24
- child = nextParent;
25
- }
26
- }
27
- return false;
34
+ }
35
+
36
+ return false;
28
37
  }
38
+
29
39
  exports.elementContains = elementContains;
30
40
  //# sourceMappingURL=elementContains.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"elementContains.js","sourceRoot":"","sources":["../../src/virtualParent/elementContains.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,MAA0B,EAAE,KAAyB;IACnF,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,KAAK,EAAE;YACZ,MAAM,UAAU,GAAuB,qBAAS,CAAC,KAAK,CAAC,CAAC;YAExD,IAAI,UAAU,KAAK,MAAM,EAAE;gBACzB,OAAO,IAAI,CAAC;aACb;YAED,KAAK,GAAG,UAAU,CAAC;SACpB;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AApBD,0CAoBC"}
1
+ {"version":3,"sources":["virtualParent/elementContains.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,WAAA,gBAAA,OAAA,CAAA,aAAA,CAAA;AACA;;;;;AAKG;;;AACH,SAAgB,eAAhB,CAAgC,MAAhC,EAA4D,KAA5D,EAAqF;AACnF,MAAI,CAAC,MAAD,IAAW,CAAC,KAAhB,EAAuB;AACrB,WAAO,KAAP;AACD;;AAED,MAAI,MAAM,KAAK,KAAf,EAAsB;AACpB,WAAO,IAAP;AACD,GAFD,MAEO;AACL,WAAO,KAAP,EAAc;AACZ,YAAM,UAAU,GAAuB,WAAA,CAAA,SAAA,CAAU,KAAV,CAAvC;;AAEA,UAAI,UAAU,KAAK,MAAnB,EAA2B;AACzB,eAAO,IAAP;AACD;;AAED,MAAA,KAAK,GAAG,UAAR;AACD;AACF;;AAED,SAAO,KAAP;AACD;;AApBD,OAAA,CAAA,eAAA,GAAA,eAAA","sourcesContent":["import { getParent } from './getParent';\n/**\n * Similar functionality to `element.contains` DOM API for use with out of order DOM elements that\n * checks the virtual parent hierarchy. If a virtual parents exists, it is chosen over the actual parent\n *\n * @returns true if the child can find the parent in its virtual hierarchy\n */\nexport function elementContains(parent: HTMLElement | null, child: HTMLElement | null): boolean {\n if (!parent || !child) {\n return false;\n }\n\n if (parent === child) {\n return true;\n } else {\n while (child) {\n const nextParent: HTMLElement | null = getParent(child);\n\n if (nextParent === parent) {\n return true;\n }\n\n child = nextParent;\n }\n }\n\n return false;\n}\n"],"sourceRoot":"../src/"}