mcfe-react-lib
Version:
Mount/unmount React components flexibly with React 17 or 18 support
1 lines • 2.45 kB
Source Map (JSON)
{"version":3,"sources":["../src/createInitial.tsx","../src/adapters/reactDomAdapter17.ts","../src/CreateInitialReact17.tsx"],"sourcesContent":["import React from 'react';\r\nimport { ICreateInitial, IReactDOMAdapter } from './type';\r\n\r\nexport const CreateInitial = (\r\n Component: React.ComponentType<any>,\r\n adapter: IReactDOMAdapter\r\n): ICreateInitial => {\r\n const reactDomAdapter = adapter;\r\n\r\n let root: any = null;\r\n let container: Element | null = null;\r\n\r\n return {\r\n _root: null,\r\n mount: function (selector: string) {\r\n container = document.querySelector(selector);\r\n if (!container) throw new Error('Mount target not found');\r\n root = reactDomAdapter.render(<Component />, container);\r\n this._root = root;\r\n },\r\n unmount: function () {\r\n if (container) reactDomAdapter.unmount(container, root);\r\n this._root = null;\r\n }\r\n };\r\n};\r\n\r\n","import { IReactDOMAdapter } from '../type';\r\nimport * as ReactDOM from 'react-dom';\r\n\r\nexport const reactDomAdapter17: IReactDOMAdapter = {\r\n render: (element, container) => {\r\n ReactDOM.render(element, container);\r\n return null;\r\n },\r\n unmount: (container) => {\r\n ReactDOM.unmountComponentAtNode(container);\r\n }\r\n};\r\n","import React from 'react';\r\nimport { ICreateInitial, IReactDOMAdapter } from './type';\r\nimport { CreateInitial } from './createInitial';\r\nimport { reactDomAdapter17 } from './adapters/reactDomAdapter17';\r\n\r\n\r\nexport const CreateInitialReact17 = (\r\n Component: React.ComponentType<any>\r\n): ICreateInitial => {\r\n return CreateInitial(Component, reactDomAdapter17);\r\n};"],"mappings":";AAAA,OAAO,WAAW;AAGX,IAAM,gBAAgB,CACzB,WACA,YACiB;AACjB,QAAM,kBAAkB;AAExB,MAAI,OAAY;AAChB,MAAI,YAA4B;AAEhC,SAAO;AAAA,IACH,OAAO;AAAA,IACP,OAAO,SAAU,UAAkB;AAC/B,kBAAY,SAAS,cAAc,QAAQ;AAC3C,UAAI,CAAC;AAAW,cAAM,IAAI,MAAM,wBAAwB;AACxD,aAAO,gBAAgB,OAAO,oCAAC,eAAU,GAAI,SAAS;AACtD,WAAK,QAAQ;AAAA,IACjB;AAAA,IACA,SAAS,WAAY;AACjB,UAAI;AAAW,wBAAgB,QAAQ,WAAW,IAAI;AACtD,WAAK,QAAQ;AAAA,IACjB;AAAA,EACJ;AACJ;;;ACxBA,YAAY,cAAc;AAEnB,IAAM,oBAAsC;AAAA,EAC/C,QAAQ,CAAC,SAAS,cAAc;AAC5B,IAAS,gBAAO,SAAS,SAAS;AAClC,WAAO;AAAA,EACX;AAAA,EACA,SAAS,CAAC,cAAc;AACpB,IAAS,gCAAuB,SAAS;AAAA,EAC7C;AACJ;;;ACLO,IAAM,uBAAuB,CAChC,cACiB;AACjB,SAAO,cAAc,WAAW,iBAAiB;AACrD;","names":[]}