@elliemae/ds-portal 3.0.0-next.42 → 3.0.0-next.45

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.
@@ -38,9 +38,11 @@ var import_ds_utilities = require("@elliemae/ds-utilities");
38
38
  const blockName = "portal";
39
39
  const canRenderPortal = (0, import_ds_utilities.isFunction)(import_react_dom.default.createPortal);
40
40
  class DSPortal extends import_react.Component {
41
- constructor() {
42
- super(...arguments);
41
+ constructor(props) {
42
+ super(props);
43
43
  this.state = { isMounted: false };
44
+ this.createPortalContainer = this.createPortalContainer.bind(this);
45
+ this.renderNoPortal = this.renderNoPortal.bind(this);
44
46
  }
45
47
  componentDidMount() {
46
48
  const { onRender } = this.props;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSPortal.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { isFunction, DOCUMENT } from '@elliemae/ds-utilities';\n\nconst blockName = 'portal';\n\nconst canRenderPortal = isFunction(ReactDOM.createPortal);\n\n// TODO: If this is rendered on server, is going to break\n\nclass DSPortal extends Component {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = { onRender: () => null };\n\n // eslint-disable-next-line react/state-in-constructor\n state = { isMounted: false };\n\n componentDidMount() {\n const { onRender } = this.props;\n this.portalEl = this.createPortalContainer();\n if (DOCUMENT && this.portalEl) {\n DOCUMENT.body.appendChild(this.portalEl);\n onRender();\n this.setState({ isMounted: true });\n }\n }\n\n componentDidUpdate() {\n if (!canRenderPortal) {\n this.renderNoPortal();\n }\n }\n\n componentWillUnmount() {\n if (this.portalEl) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n }\n\n createPortalContainer() {\n if (!DOCUMENT) return null;\n\n const { className } = this.props;\n const { cssClassName } = convertPropToCssClassName(blockName, className);\n const container = DOCUMENT.createElement('div');\n container.classList.add(cssClassName);\n container.setAttribute('data-testid', 'portal');\n\n return container;\n }\n\n renderNoPortal() {\n const { children } = this.props;\n ReactDOM.unstable_renderSubtreeIntoContainer(\n this,\n <div>{children}</div>,\n this.portalEl,\n );\n }\n\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return !canRenderPortal || !isMounted\n ? null\n : ReactDOM.createPortal(children, this.portalEl);\n }\n}\nexport { DSPortal };\nexport default DSPortal;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAiC;AACjC,uBAAqB;AACrB,2BAA0C;AAC1C,0BAAqC;AAErC,MAAM,YAAY;AAElB,MAAM,kBAAkB,oCAAW,yBAAS,YAAY;AAIxD,MAAM,iBAAiB,uBAAU;AAAA,EAAjC;AAAA;AAKE,iBAAQ,EAAE,WAAW,MAAM;AAAA;AAAA,EAE3B,oBAAoB;AAClB,UAAM,EAAE,aAAa,KAAK;AAC1B,SAAK,WAAW,KAAK,sBAAsB;AAC3C,QAAI,gCAAY,KAAK,UAAU;AAC7B,mCAAS,KAAK,YAAY,KAAK,QAAQ;AACvC,eAAS;AACT,WAAK,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,IACnC;AAAA,EACF;AAAA,EAEA,qBAAqB;AACnB,QAAI,CAAC,iBAAiB;AACpB,WAAK,eAAe;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,uBAAuB;AACrB,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,WAAW,YAAY,KAAK,QAAQ;AAAA,IACpD;AAAA,EACF;AAAA,EAEA,wBAAwB;AACtB,QAAI,CAAC;AAAU,aAAO;AAEtB,UAAM,EAAE,cAAc,KAAK;AAC3B,UAAM,EAAE,iBAAiB,oDAA0B,WAAW,SAAS;AACvE,UAAM,YAAY,6BAAS,cAAc,KAAK;AAC9C,cAAU,UAAU,IAAI,YAAY;AACpC,cAAU,aAAa,eAAe,QAAQ;AAE9C,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,UAAM,EAAE,aAAa,KAAK;AAC1B,6BAAS,oCACP,MACA,mDAAC,aAAK,QAAS,GACf,KAAK,QACP;AAAA,EACF;AAAA,EAEA,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,UAAM,EAAE,cAAc,KAAK;AAC3B,WAAO,CAAC,mBAAmB,CAAC,YACxB,OACA,yBAAS,aAAa,UAAU,KAAK,QAAQ;AAAA,EACnD;AACF;AAvDS,AAFT,SAES,eAAe,EAAE,UAAU,MAAM,KAAK;AAyD/C,IAAO,mBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { isFunction, DOCUMENT } from '@elliemae/ds-utilities';\n\nconst blockName = 'portal';\n\nconst canRenderPortal = isFunction(ReactDOM.createPortal);\n\n// TODO: If this is rendered on server, is going to break\n\nclass DSPortal extends Component {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = { onRender: () => null };\n\n constructor(props) {\n super(props);\n\n this.createPortalContainer = this.createPortalContainer.bind(this);\n this.renderNoPortal = this.renderNoPortal.bind(this);\n }\n\n // eslint-disable-next-line react/state-in-constructor\n state = { isMounted: false };\n\n componentDidMount() {\n const { onRender } = this.props;\n this.portalEl = this.createPortalContainer();\n if (DOCUMENT && this.portalEl) {\n DOCUMENT.body.appendChild(this.portalEl);\n onRender();\n this.setState({ isMounted: true });\n }\n }\n\n componentDidUpdate() {\n if (!canRenderPortal) {\n this.renderNoPortal();\n }\n }\n\n componentWillUnmount() {\n if (this.portalEl) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n }\n\n createPortalContainer() {\n if (!DOCUMENT) return null;\n\n const { className } = this.props;\n const { cssClassName } = convertPropToCssClassName(blockName, className);\n const container = DOCUMENT.createElement('div');\n container.classList.add(cssClassName);\n container.setAttribute('data-testid', 'portal');\n\n return container;\n }\n\n renderNoPortal() {\n const { children } = this.props;\n ReactDOM.unstable_renderSubtreeIntoContainer(this, <div>{children}</div>, this.portalEl);\n }\n\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return !canRenderPortal || !isMounted ? null : ReactDOM.createPortal(children, this.portalEl);\n }\n}\nexport { DSPortal };\nexport default DSPortal;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAiC;AACjC,uBAAqB;AACrB,2BAA0C;AAC1C,0BAAqC;AAErC,MAAM,YAAY;AAElB,MAAM,kBAAkB,oCAAW,yBAAS,YAAY;AAIxD,MAAM,iBAAiB,uBAAU;AAAA,EAI/B,YAAY,OAAO;AACjB,UAAM,KAAK;AAOb,iBAAQ,EAAE,WAAW,MAAM;AALzB,SAAK,wBAAwB,KAAK,sBAAsB,KAAK,IAAI;AACjE,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AAAA,EACrD;AAAA,EAKA,oBAAoB;AAClB,UAAM,EAAE,aAAa,KAAK;AAC1B,SAAK,WAAW,KAAK,sBAAsB;AAC3C,QAAI,gCAAY,KAAK,UAAU;AAC7B,mCAAS,KAAK,YAAY,KAAK,QAAQ;AACvC,eAAS;AACT,WAAK,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,IACnC;AAAA,EACF;AAAA,EAEA,qBAAqB;AACnB,QAAI,CAAC,iBAAiB;AACpB,WAAK,eAAe;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,uBAAuB;AACrB,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,WAAW,YAAY,KAAK,QAAQ;AAAA,IACpD;AAAA,EACF;AAAA,EAEA,wBAAwB;AACtB,QAAI,CAAC;AAAU,aAAO;AAEtB,UAAM,EAAE,cAAc,KAAK;AAC3B,UAAM,EAAE,iBAAiB,oDAA0B,WAAW,SAAS;AACvE,UAAM,YAAY,6BAAS,cAAc,KAAK;AAC9C,cAAU,UAAU,IAAI,YAAY;AACpC,cAAU,aAAa,eAAe,QAAQ;AAE9C,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,UAAM,EAAE,aAAa,KAAK;AAC1B,6BAAS,oCAAoC,MAAM,mDAAC,aAAK,QAAS,GAAQ,KAAK,QAAQ;AAAA,EACzF;AAAA,EAEA,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,UAAM,EAAE,cAAc,KAAK;AAC3B,WAAO,CAAC,mBAAmB,CAAC,YAAY,OAAO,yBAAS,aAAa,UAAU,KAAK,QAAQ;AAAA,EAC9F;AACF;AAxDS,AAFT,SAES,eAAe,EAAE,UAAU,MAAM,KAAK;AA0D/C,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -6,9 +6,11 @@ import { isFunction, DOCUMENT } from "@elliemae/ds-utilities";
6
6
  const blockName = "portal";
7
7
  const canRenderPortal = isFunction(ReactDOM.createPortal);
8
8
  class DSPortal extends Component {
9
- constructor() {
10
- super(...arguments);
9
+ constructor(props) {
10
+ super(props);
11
11
  this.state = { isMounted: false };
12
+ this.createPortalContainer = this.createPortalContainer.bind(this);
13
+ this.renderNoPortal = this.renderNoPortal.bind(this);
12
14
  }
13
15
  componentDidMount() {
14
16
  const { onRender } = this.props;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSPortal.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { isFunction, DOCUMENT } from '@elliemae/ds-utilities';\n\nconst blockName = 'portal';\n\nconst canRenderPortal = isFunction(ReactDOM.createPortal);\n\n// TODO: If this is rendered on server, is going to break\n\nclass DSPortal extends Component {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = { onRender: () => null };\n\n // eslint-disable-next-line react/state-in-constructor\n state = { isMounted: false };\n\n componentDidMount() {\n const { onRender } = this.props;\n this.portalEl = this.createPortalContainer();\n if (DOCUMENT && this.portalEl) {\n DOCUMENT.body.appendChild(this.portalEl);\n onRender();\n this.setState({ isMounted: true });\n }\n }\n\n componentDidUpdate() {\n if (!canRenderPortal) {\n this.renderNoPortal();\n }\n }\n\n componentWillUnmount() {\n if (this.portalEl) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n }\n\n createPortalContainer() {\n if (!DOCUMENT) return null;\n\n const { className } = this.props;\n const { cssClassName } = convertPropToCssClassName(blockName, className);\n const container = DOCUMENT.createElement('div');\n container.classList.add(cssClassName);\n container.setAttribute('data-testid', 'portal');\n\n return container;\n }\n\n renderNoPortal() {\n const { children } = this.props;\n ReactDOM.unstable_renderSubtreeIntoContainer(\n this,\n <div>{children}</div>,\n this.portalEl,\n );\n }\n\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return !canRenderPortal || !isMounted\n ? null\n : ReactDOM.createPortal(children, this.portalEl);\n }\n}\nexport { DSPortal };\nexport default DSPortal;\n"],
5
- "mappings": "AAAA;ACCA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAElB,MAAM,kBAAkB,WAAW,SAAS,YAAY;AAIxD,MAAM,iBAAiB,UAAU;AAAA,EAAjC;AAAA;AAKE,iBAAQ,EAAE,WAAW,MAAM;AAAA;AAAA,EAE3B,oBAAoB;AAClB,UAAM,EAAE,aAAa,KAAK;AAC1B,SAAK,WAAW,KAAK,sBAAsB;AAC3C,QAAI,YAAY,KAAK,UAAU;AAC7B,eAAS,KAAK,YAAY,KAAK,QAAQ;AACvC,eAAS;AACT,WAAK,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,IACnC;AAAA,EACF;AAAA,EAEA,qBAAqB;AACnB,QAAI,CAAC,iBAAiB;AACpB,WAAK,eAAe;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,uBAAuB;AACrB,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,WAAW,YAAY,KAAK,QAAQ;AAAA,IACpD;AAAA,EACF;AAAA,EAEA,wBAAwB;AACtB,QAAI,CAAC;AAAU,aAAO;AAEtB,UAAM,EAAE,cAAc,KAAK;AAC3B,UAAM,EAAE,iBAAiB,0BAA0B,WAAW,SAAS;AACvE,UAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,cAAU,UAAU,IAAI,YAAY;AACpC,cAAU,aAAa,eAAe,QAAQ;AAE9C,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,UAAM,EAAE,aAAa,KAAK;AAC1B,aAAS,oCACP,MACA,qCAAC,aAAK,QAAS,GACf,KAAK,QACP;AAAA,EACF;AAAA,EAEA,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,UAAM,EAAE,cAAc,KAAK;AAC3B,WAAO,CAAC,mBAAmB,CAAC,YACxB,OACA,SAAS,aAAa,UAAU,KAAK,QAAQ;AAAA,EACnD;AACF;AAvDS,AAFT,SAES,eAAe,EAAE,UAAU,MAAM,KAAK;AAyD/C,IAAO,mBAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { isFunction, DOCUMENT } from '@elliemae/ds-utilities';\n\nconst blockName = 'portal';\n\nconst canRenderPortal = isFunction(ReactDOM.createPortal);\n\n// TODO: If this is rendered on server, is going to break\n\nclass DSPortal extends Component {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = { onRender: () => null };\n\n constructor(props) {\n super(props);\n\n this.createPortalContainer = this.createPortalContainer.bind(this);\n this.renderNoPortal = this.renderNoPortal.bind(this);\n }\n\n // eslint-disable-next-line react/state-in-constructor\n state = { isMounted: false };\n\n componentDidMount() {\n const { onRender } = this.props;\n this.portalEl = this.createPortalContainer();\n if (DOCUMENT && this.portalEl) {\n DOCUMENT.body.appendChild(this.portalEl);\n onRender();\n this.setState({ isMounted: true });\n }\n }\n\n componentDidUpdate() {\n if (!canRenderPortal) {\n this.renderNoPortal();\n }\n }\n\n componentWillUnmount() {\n if (this.portalEl) {\n this.portalEl.parentNode.removeChild(this.portalEl);\n }\n }\n\n createPortalContainer() {\n if (!DOCUMENT) return null;\n\n const { className } = this.props;\n const { cssClassName } = convertPropToCssClassName(blockName, className);\n const container = DOCUMENT.createElement('div');\n container.classList.add(cssClassName);\n container.setAttribute('data-testid', 'portal');\n\n return container;\n }\n\n renderNoPortal() {\n const { children } = this.props;\n ReactDOM.unstable_renderSubtreeIntoContainer(this, <div>{children}</div>, this.portalEl);\n }\n\n render() {\n const { children } = this.props;\n const { isMounted } = this.state;\n return !canRenderPortal || !isMounted ? null : ReactDOM.createPortal(children, this.portalEl);\n }\n}\nexport { DSPortal };\nexport default DSPortal;\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAElB,MAAM,kBAAkB,WAAW,SAAS,YAAY;AAIxD,MAAM,iBAAiB,UAAU;AAAA,EAI/B,YAAY,OAAO;AACjB,UAAM,KAAK;AAOb,iBAAQ,EAAE,WAAW,MAAM;AALzB,SAAK,wBAAwB,KAAK,sBAAsB,KAAK,IAAI;AACjE,SAAK,iBAAiB,KAAK,eAAe,KAAK,IAAI;AAAA,EACrD;AAAA,EAKA,oBAAoB;AAClB,UAAM,EAAE,aAAa,KAAK;AAC1B,SAAK,WAAW,KAAK,sBAAsB;AAC3C,QAAI,YAAY,KAAK,UAAU;AAC7B,eAAS,KAAK,YAAY,KAAK,QAAQ;AACvC,eAAS;AACT,WAAK,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,IACnC;AAAA,EACF;AAAA,EAEA,qBAAqB;AACnB,QAAI,CAAC,iBAAiB;AACpB,WAAK,eAAe;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,uBAAuB;AACrB,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,WAAW,YAAY,KAAK,QAAQ;AAAA,IACpD;AAAA,EACF;AAAA,EAEA,wBAAwB;AACtB,QAAI,CAAC;AAAU,aAAO;AAEtB,UAAM,EAAE,cAAc,KAAK;AAC3B,UAAM,EAAE,iBAAiB,0BAA0B,WAAW,SAAS;AACvE,UAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,cAAU,UAAU,IAAI,YAAY;AACpC,cAAU,aAAa,eAAe,QAAQ;AAE9C,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,UAAM,EAAE,aAAa,KAAK;AAC1B,aAAS,oCAAoC,MAAM,qCAAC,aAAK,QAAS,GAAQ,KAAK,QAAQ;AAAA,EACzF;AAAA,EAEA,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,UAAM,EAAE,cAAc,KAAK;AAC3B,WAAO,CAAC,mBAAmB,CAAC,YAAY,OAAO,SAAS,aAAa,UAAU,KAAK,QAAQ;AAAA,EAC9F;AACF;AAxDS,AAFT,SAES,eAAe,EAAE,UAAU,MAAM,KAAK;AA0D/C,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-portal",
3
- "version": "3.0.0-next.42",
3
+ "version": "3.0.0-next.45",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Portal",
6
6
  "files": [
@@ -43,8 +43,8 @@
43
43
  "indent": 4
44
44
  },
45
45
  "dependencies": {
46
- "@elliemae/ds-classnames": "3.0.0-next.42",
47
- "@elliemae/ds-utilities": "3.0.0-next.42"
46
+ "@elliemae/ds-classnames": "3.0.0-next.45",
47
+ "@elliemae/ds-utilities": "3.0.0-next.45"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "react": "^17.0.2",