UNPKG

mcfe-react-lib

Version:

Mount/unmount React components flexibly with React 17 or 18 support

1 lines 2.5 kB
{"version":3,"sources":["../src/createInitial.tsx","../src/adapters/reactDomAdapter18.ts","../src/CreateInitialReact18.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 * as ReactDOMClient from 'react-dom/client';\r\nimport { IReactDOMAdapter } from '../type';\r\n\r\nexport const reactDomAdapter18: IReactDOMAdapter = {\r\n render: (element, container) => {\r\n const root = ReactDOMClient.createRoot(container);\r\n root.render(element);\r\n return root;\r\n },\r\n unmount: (container, root) => {\r\n root?.unmount?.();\r\n }\r\n};\r\n","import React from 'react';\r\nimport { ICreateInitial, } from './type';\r\nimport { CreateInitial } from './createInitial';\r\nimport { reactDomAdapter18 } from './adapters/reactDomAdapter18';\r\n\r\nexport const CreateInitialReact18 = (\r\n Component: React.ComponentType<any>\r\n): ICreateInitial => {\r\n return CreateInitial(Component, reactDomAdapter18);\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;;;ACzBA,YAAY,oBAAoB;AAGzB,IAAM,oBAAsC;AAAA,EAC/C,QAAQ,CAAC,SAAS,cAAc;AAC5B,UAAM,OAAsB,0BAAW,SAAS;AAChD,SAAK,OAAO,OAAO;AACnB,WAAO;AAAA,EACX;AAAA,EACA,SAAS,CAAC,WAAW,SAAS;AAC1B,UAAM,UAAU;AAAA,EACpB;AACJ;;;ACPO,IAAM,uBAAuB,CAChC,cACiB;AACjB,SAAO,cAAc,WAAW,iBAAiB;AACrD;","names":[]}