@appshell/react-shell 1.0.0-alpha.8 → 1.0.0-alpha.80
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.
- package/README.md +33 -26
- package/dist/144.js +1 -1
- package/dist/466.js +2 -0
- package/dist/466.js.LICENSE.txt +9 -0
- package/dist/58.js +1 -0
- package/dist/630.js +1 -0
- package/dist/677.js +1 -0
- package/dist/85.js +2 -0
- package/dist/85.js.LICENSE.txt +9 -0
- package/dist/941.js +1 -0
- package/dist/dev/favicon.ico +0 -0
- package/dist/dev/logo192.png +0 -0
- package/dist/dev/logo512.png +0 -0
- package/dist/dev/main.js +8160 -0
- package/dist/dev/main.js.map +1 -0
- package/dist/dev/manifest.json +25 -0
- package/dist/dev/mf-manifest.json +130 -0
- package/dist/dev/mf-stats.json +150 -0
- package/dist/dev/react_src_index_ts.js +554 -0
- package/dist/dev/react_src_index_ts.js.map +1 -0
- package/dist/dev/runtime_src_index_ts.js +231 -0
- package/dist/dev/runtime_src_index_ts.js.map +1 -0
- package/dist/dev/src_bootstrap_tsx.js +768 -0
- package/dist/dev/src_bootstrap_tsx.js.map +1 -0
- package/dist/dev/vendors-node_modules_react-dom_index_js.js +30577 -0
- package/dist/dev/vendors-node_modules_react-dom_index_js.js.map +1 -0
- package/dist/dev/vendors-node_modules_react_index_js.js +2771 -0
- package/dist/dev/vendors-node_modules_react_index_js.js.map +1 -0
- package/dist/dev/vendors-node_modules_react_jsx-runtime_js.js +1345 -0
- package/dist/dev/vendors-node_modules_react_jsx-runtime_js.js.map +1 -0
- package/dist/main.js +1 -1
- package/dist/mf-manifest.json +132 -0
- package/dist/mf-stats.json +152 -0
- package/package.json +16 -8
- package/dist/190.js +0 -1
- package/dist/320.js +0 -1
- package/dist/48.js +0 -1
- package/dist/939.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src_bootstrap_tsx.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAC6C;AACnB;AACoB;AACC;AAC1B;AAC2B;AAAA;AAEhD,MAAMO,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAAC,MAAM,CAAgB;AAChE,MAAMC,IAAI,GAAGR,4DAAU,CAACK,SAAS,CAAC;;AAElC;AACA,MAAMI,WAAW,GAAGC,MAAM,CAACC,mBAAmB;;AAE9C;AACAV,yDAAiB,CAACQ,WAAW,CAAC;AAE9B,IAAI,CAACA,WAAW,EAAED,IAAI,EAAE;EACtB,MAAM,IAAII,KAAK,CAAC,wEAAwE,CAAC;AAC3F;AAEA,MAAMC,MAAM,GAAGJ,WAAW,CAACD,IAAI;AAC/B,MAAMM,KAAK,GAAGL,WAAW,CAACM,SAAS;;AAEnC;AACA;AACA;AACAb,mDAAwB,CAACG,SAAS,CAAC;AAEnCG,IAAI,CAACQ,MAAM,cACTZ,sDAAA,CAACL,yDAAgB;EAAAmB,QAAA,eACfd,sDAAA,CAACN,uDAAU;IAACe,MAAM,EAAEA,MAAO;IAAA,GAAKC;EAAK,CAAG;AAAC,CACzB,CACpB,CAAC,C;;;;;;;;;;;;;;;;;AC/BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAGA,MAAMK,YAAY,GAAG,wBAAwB;AAE7C,MAAMC,MAAM,GAAG;EACbf,SAAS,EAAE,CACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,0CAA0C,EAC1C,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,8DAA8D,EAC9D,sCAAsC,CACvC,CAACgB,IAAI,CAAC,GAAG,CAAC;EACXC,OAAO,EAAE,gDAAgD;EACzDC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,MAAM,GAAIC,KAAa,IAAKA,KAAK,CAACC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;;AAEpF;;AAGA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAU;;AAEpF;AACA;AACA;AACA;;AAGO,MAAMC,8BAAmD,GAAG,IAAI;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,GAAIC,OAAuB,IAAa;EACrE,MAAM;IAAEC,OAAO,GAAG,EAAE;IAAEC,KAAK,GAAG,EAAE;IAAEC,WAAW,GAAG,MAAM;IAAEC;EAAM,CAAC,GAAGJ,OAAO;EACzE;EACA;EACA,MAAMK,UAAU,GAAG,IAAIC,GAAG,CAACJ,KAAK,CAAC;EACjC,MAAMK,UAAU,GAAGN,OAAO,CAACO,MAAM,CAAEC,GAAG,IAAK,CAACJ,UAAU,CAACK,GAAG,CAACD,GAAG,CAAC,CAAC;EAEhE,MAAME,OAAO,GAAG,CACdR,WAAW,KAAK,KAAK,IAAI,mBAAmB,EAC5CI,UAAU,CAACK,MAAM,IACf,GAAGL,UAAU,CAACK,MAAM,UAAUL,UAAU,CAACK,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa;EAC/E;EACA;EACA;EACA;EACAV,KAAK,CAACU,MAAM,IAAI,GAAGV,KAAK,CAACU,MAAM,gBAAgB;EAC/C;EACA;EACA;EACAR,KAAK,IAAI,SAASV,MAAM,CAACU,KAAK,CAAC,EAAE,CAClC,CAACI,MAAM,CAACK,OAAO,CAAC;EAEjB,MAAMC,KAAK,GAAGb;EACZ;EACA;EAAA,CACCc,GAAG,CACDN,GAAG,IACF,OAAOf,MAAM,CAACe,GAAG,CAAC,GAChBJ,UAAU,CAACK,GAAG,CAACD,GAAG,CAAC,GACf,gEAAgE,GAChE,EAAE,OAEZ,CAAC,CACAlB,IAAI,CAAC,EAAE,CAAC;EAEX,OAAO,CACL,mBAAmBD,MAAM,CAACf,SAAS,SAAS,EAC5C,mBAAmBe,MAAM,CAACE,OAAO,6BAA6BmB,OAAO,CAACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EAC5FuB,KAAK,GAAG,cAAcxB,MAAM,CAACG,IAAI,KAAKqB,KAAK,OAAO,GAAG,EAAE,EACvD,YAAY,CACb,CAACvB,IAAI,CAAC,EAAE,CAAC;AACZ,CAAC;AAED,iEAAgBZ,WAAiC,IAAW;EAC1D,MAAMqB,OAAO,GAAGrB,WAAW,EAAEqB,OAAO;;EAEpC;EACA;EACA,IAAI,CAACA,OAAO,IAAIxB,QAAQ,CAACC,cAAc,CAACY,YAAY,CAAC,EAAE;EAEvD,MAAMd,SAAS,GAAGC,QAAQ,CAACwC,aAAa,CAAC,KAAK,CAAC;EAC/CzC,SAAS,CAAC0C,EAAE,GAAG5B,YAAY;EAC3Bd,SAAS,CAAC2C,SAAS,GAAGnB,kBAAkB,CAACC,OAAO,CAAC;EAEjDxB,QAAQ,CAAC2C,IAAI,CAACC,WAAW,CAAC7C,SAAS,CAAC;AACtC,CAAC;AAAA,4L;;;;;;;;;;;;;;ACtID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM8C,SAAS,GAAG,iBAAiB;;AAEnC;AACA,MAAMC,gBAAgB,GAAG,MAAM;AAE/B,MAAMC,MAAM,GAAIC,MAAe,IAAKA,MAAM,CAACC,UAAU,EAAEC,WAAW,CAACF,MAAM,CAAC;AAE1E,iEAAgB9C,IAAiB,IAAmB;EAClD,MAAM8C,MAAM,GAAGhD,QAAQ,CAACC,cAAc,CAAC4C,SAAS,CAAC;;EAEjD;EACA,IAAI,CAACG,MAAM,EAAE,OAAO,MAAM,CAAC,CAAC;EAE5B,IAAI9C,IAAI,CAACiD,iBAAiB,EAAE;IAC1BJ,MAAM,CAACC,MAAM,CAAC;IAEd,OAAO,MAAM,CAAC,CAAC;EACjB;EAEA,MAAMI,QAAQ,GAAG,IAAIC,gBAAgB,CAAC,MAAM;IAC1C,IAAI,CAACnD,IAAI,CAACiD,iBAAiB,EAAE;IAE7BC,QAAQ,CAACE,UAAU,CAAC,CAAC;IACrBP,MAAM,CAACC,MAAM,CAAC;EAChB,CAAC,CAAC;EAEFI,QAAQ,CAACG,OAAO,CAACrD,IAAI,EAAE;IAAEsD,SAAS,EAAE;EAAK,CAAC,CAAC;;EAE3C;EACA;EACA,MAAMC,OAAO,GAAGC,UAAU,CAAC,MAAM;IAC/BN,QAAQ,CAACE,UAAU,CAAC,CAAC;IACrBP,MAAM,CAACC,MAAM,CAAC;EAChB,CAAC,EAAEF,gBAAgB,CAAC;EAEpB,OAAO,MAAM;IACXM,QAAQ,CAACE,UAAU,CAAC,CAAC;IACrBK,YAAY,CAACF,OAAO,CAAC;EACvB,CAAC;AACH,CAAC;AAAA,4L;;;;;;;;;;;;;;;;;;ACpDD;AACgH;AACjB;AAC/F,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA,ubAAub,cAAc,eAAe,GAAG,UAAU,sBAAsB,wCAAwC,uCAAuC,GAAG,8BAA8B,2BAA2B,GAAG,WAAW,sBAAsB,GAAG,SAAS,sFAAsF,KAAK,MAAM,UAAU,UAAU,MAAM,KAAK,YAAY,aAAa,aAAa,OAAO,OAAO,YAAY,OAAO,KAAK,YAAY,uaAAua,cAAc,eAAe,GAAG,UAAU,sBAAsB,wCAAwC,uCAAuC,GAAG,8BAA8B,2BAA2B,GAAG,WAAW,sBAAsB,GAAG,qBAAqB;AACxjD;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;ACP1B;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA;AACA;AACA,E;;;;;;;;;;ACfa;;AAEb,QAAQ,mBAAO,CAAC,sEAAW;AAC3B,IAAI,KAAqC,EAAE;AAAA,EAG1C,CAAC;AACF;AACA,EAAE,kBAAkB;AACpB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,EAAE,mBAAmB;AACrB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA,MAAqG;AACrG,MAA2F;AAC3F,MAAkG;AAClG,MAAqH;AACrH,MAA8G;AAC9G,MAA8G;AAC9G,MAA0J;AAC1J;AACA;;AAEA;;AAEA,4BAA4B,qGAAmB;AAC/C,wBAAwB,kHAAa;;AAErC,uBAAuB,uGAAa;AACpC;AACA,iBAAiB,+FAAM;AACvB,6BAA6B,sGAAkB;;AAE/C,aAAa,0GAAG,CAAC,8HAAO;;;;AAIoG;AAC5H,OAAO,iEAAe,8HAAO,IAAI,8HAAO,UAAU,8HAAO,mBAAmB,EAAC;;;;;;;;;;;AC1BhE;;AAEb;;AAEA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB,6BAA6B;AAClD;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;ACvGa;;AAEb;AACA;;AAEA;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kC;;;;;;;;;;ACtCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;;;;ACVa;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;;AAEjF;AACA;AACA;AACA;;AAEA,gD;;;;;;;;;;ACXa;;AAEb;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;;AAEA;AACA,0CAA0C;AAC1C;;AAEA;;AAEA;AACA,iFAAiF;AACjF;;AAEA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA,aAAa;AACb;;AAEA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA,yDAAyD;AACzD,IAAI;;AAEJ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,wB;;;;;;;;;;ACrEa;;AAEb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mC","sources":["webpack://appshell-react-shell/./src/bootstrap.tsx","webpack://appshell-react-shell/./src/overlayBadge.ts","webpack://appshell-react-shell/./src/splash.ts","webpack://appshell-react-shell/./src/reset.css","webpack://appshell-react-shell/../../node_modules/css-loader/dist/runtime/api.js","webpack://appshell-react-shell/../../node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://appshell-react-shell/../../node_modules/react-dom/client.js","webpack://appshell-react-shell/./src/reset.css?5a04","webpack://appshell-react-shell/../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://appshell-react-shell/../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://appshell-react-shell/../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://appshell-react-shell/../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://appshell-react-shell/../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://appshell-react-shell/../../node_modules/style-loader/dist/runtime/styleTagTransform.js"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport { RemoteSlot } from '@appshell/react';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport mountOverlayBadge from './overlayBadge';\nimport './reset.css';\nimport dismissSplashWhenMounted from './splash';\n\nconst container = document.getElementById('root') as HTMLElement;\nconst root = createRoot(container);\n\n// The registry inlines the composition into the document it serves.\nconst composition = window.__appshell_config__;\n\n// Outside the React root on purpose, so it outlives a crash in the composed app.\nmountOverlayBadge(composition);\n\nif (!composition?.root) {\n throw new Error('No root remote to mount. The registry supplies one in the composition.');\n}\n\nconst remote = composition.root;\nconst props = composition.rootProps;\n\n// No fallback here. What covers the gap before the root package mounts is in the document\n// the registry served — it has to be, because the thing being waited for is the package's\n// own code, and this bundle is fetched before it. All the shell does is take it away.\ndismissSplashWhenMounted(container);\n\nroot.render(\n <React.StrictMode>\n <RemoteSlot remote={remote} {...props} />\n </React.StrictMode>,\n);\n","import type { AppshellComposition } from '@appshell/config';\n\n/**\n * Marks a page a per-developer overlay has changed — redirected remotes, remotes it\n * introduced that the application does not publish, a development shell, or a\n * substituted theme.\n *\n * Deliberately plain DOM in its own element rather than a component inside the React\n * tree, for two reasons. It has to survive a crash in the composed app — the moment\n * the page misbehaves is exactly when knowing your remotes are not the published ones\n * matters most — and nothing about it is React-specific, so it lifts into a shared\n * package unchanged the day a second shell implementation exists.\n *\n * Styles are inline: the badge renders alongside whatever CSS the remotes ship, and a\n * stylesheet of its own would be one more thing for them to override.\n */\n\n/**\n * The overlay as the composition carries it. Derived rather than restated, so the badge is\n * typed by what the registry actually sends.\n */\ntype OverlayEffects = NonNullable<AppshellComposition['overlay']>;\n\nconst CONTAINER_ID = 'appshell-overlay-badge';\n\nconst styles = {\n container: [\n 'position:fixed',\n 'bottom:12px',\n 'left:12px',\n 'z-index:2147483647',\n 'max-width:min(420px, calc(100vw - 24px))',\n 'padding:8px 12px',\n 'border-radius:6px',\n 'border:1px solid #f0b429',\n 'background:#3d3016',\n 'color:#f7e3a1',\n 'font:12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace',\n 'box-shadow:0 2px 8px rgba(0,0,0,.35)',\n ].join(';'),\n summary: 'cursor:pointer;font-weight:600;list-style:none',\n list: 'margin:6px 0 0;padding-left:16px',\n};\n\nconst escape = (value: string) => value.replace(/&/g, '&').replace(/</g, '<');\n\n/** Which overlay this is, as opposed to what it does. Nothing here changes the page. */\ntype OverlayIdentity = 'id';\n\n/** A field that changes what the developer sees, and so has to appear on the badge. */\nexport type OverlayEffect = Exclude<keyof OverlayEffects, OverlayIdentity>;\n\n/**\n * The effects, enumerated so the badge can be checked against them.\n *\n * The badge is where this was first missed: it listed remotes and shell flavour, and a\n * theme-only overlay produced a badge naming nothing that had changed. Two other surfaces\n * had the same omission independently.\n *\n * The registry and the CLI each keep their own list against their own type — the three\n * share no code, and each is checked against the shape it actually renders, so none can\n * drift quietly from the surface it guards.\n */\nexport const OVERLAY_EFFECTS = ['remotes', 'added', 'shellFlavor', 'theme'] as const;\n\n/*\n * Adding a field to the composition's overlay now forces a decision here: name it as an\n * effect or as identity. Leaving it unclassified fails to compile, before any test runs.\n */\ntype Unclassified = Exclude<OverlayEffect, (typeof OVERLAY_EFFECTS)[number]>;\ntype EveryEffectIsListed = Unclassified extends never ? true : 'unclassified overlay field';\nexport const OVERLAY_EFFECTS_ARE_EXHAUSTIVE: EveryEffectIsListed = true;\n\n/*\n * Takes the overlay rather than three of its fields. Splatting them at the call site is\n * how the theme came to be dropped: the caller had it and simply did not pass it, and\n * nothing said so. Passing the object means a field the overlay gains is a field this\n * function is handed.\n */\nexport const overlayBadgeMarkup = (overlay: OverlayEffects): string => {\n const { remotes = [], added = [], shellFlavor = 'prod', theme } = overlay;\n // `remotes` is everything the overlay touched, additions included, so redirects are\n // what is left after taking them out.\n const introduced = new Set(added);\n const redirected = remotes.filter((key) => !introduced.has(key));\n\n const changes = [\n shellFlavor === 'dev' && 'development shell',\n redirected.length &&\n `${redirected.length} remote${redirected.length === 1 ? '' : 's'} redirected`,\n // Counted separately, and worded as existing rather than as being replaced. A\n // redirected remote is a different copy of something everyone has; an added one is\n // not in the application at all, so a feature resting on it works here and nowhere\n // else — which is a different thing to have been told.\n added.length && `${added.length} not published`,\n // Named, not just counted. A theme changes what the whole page looks like, so the\n // useful question is which one — otherwise the badge says something is different\n // while the difference is the very thing you are looking at.\n theme && `theme ${escape(theme)}`,\n ].filter(Boolean);\n\n const items = remotes\n // The keys come from the registry's own composition, but this string is written\n // straight into innerHTML, so it is escaped rather than trusted by provenance.\n .map(\n (key) =>\n `<li>${escape(key)}${\n introduced.has(key)\n ? ' <em style=\"font-style:normal;opacity:.8\">— not published</em>'\n : ''\n }</li>`,\n )\n .join('');\n\n return [\n `<details style=\"${styles.container}\" open>`,\n `<summary style=\"${styles.summary}\">⚠ Development overlay — ${changes.join(', ')}</summary>`,\n items ? `<ul style=\"${styles.list}\">${items}</ul>` : '',\n '</details>',\n ].join('');\n};\n\nexport default (composition?: AppshellComposition): void => {\n const overlay = composition?.overlay;\n\n // The registry only emits the block when an overlay changed something, so its mere\n // presence is the signal. A shell-only overlay has no remotes and still has to show.\n if (!overlay || document.getElementById(CONTAINER_ID)) return;\n\n const container = document.createElement('div');\n container.id = CONTAINER_ID;\n container.innerHTML = overlayBadgeMarkup(overlay);\n\n document.body.appendChild(container);\n};\n","/**\n * Removes the placeholder the registry rendered, once the root package has put something\n * on the page.\n *\n * Plain DOM outside the React tree, for the same reason as the overlay badge: the element\n * was never React's to begin with — it is in the document before this bundle is fetched —\n * and nothing about dismissing it is React-specific.\n *\n * It watches for content rather than taking a callback from `RemoteSlot`. A callback would\n * put a prop on the public component that exists only to serve the shell, and would still\n * fire before the browser had painted anything. First rendered child is the honest signal:\n * it is the moment there is something to look at.\n */\nconst SPLASH_ID = 'appshell-splash';\n\n/** Long enough to be a stuck load rather than a slow one. */\nconst GIVE_UP_AFTER_MS = 30_000;\n\nconst remove = (splash: Element) => splash.parentNode?.removeChild(splash);\n\nexport default (root: HTMLElement): (() => void) => {\n const splash = document.getElementById(SPLASH_ID);\n\n // Absent when a host renders its own document rather than letting the registry serve one.\n if (!splash) return () => {};\n\n if (root.firstElementChild) {\n remove(splash);\n\n return () => {};\n }\n\n const observer = new MutationObserver(() => {\n if (!root.firstElementChild) return;\n\n observer.disconnect();\n remove(splash);\n });\n\n observer.observe(root, { childList: true });\n\n // A root package that never loads would otherwise leave the placeholder covering the\n // error the shell rendered underneath it.\n const timeout = setTimeout(() => {\n observer.disconnect();\n remove(splash);\n }, GIVE_UP_AFTER_MS);\n\n return () => {\n observer.disconnect();\n clearTimeout(timeout);\n };\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n * The one reset on the page.\\n *\\n * Packages must not ship their own — several global resets (Tailwind's Preflight, for\\n * one) fight each other and the shell. This is structural only: it holds no view on how\\n * an application looks, which is the packages' and the theme's business, but it does own\\n * the handful of browser defaults that must be settled exactly once.\\n */\\nhtml,\\nbody {\\n margin: 0;\\n padding: 0;\\n}\\n\\nbody {\\n min-height: 100vh;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n*,\\n*::before,\\n*::after {\\n box-sizing: border-box;\\n}\\n\\n#root {\\n min-height: 100vh;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/reset.css\"],\"names\":[],\"mappings\":\"AAAA;;;;;;;EAOE;AACF;;EAEE,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,iBAAiB;EACjB,mCAAmC;EACnC,kCAAkC;AACpC;;AAEA;;;EAGE,sBAAsB;AACxB;;AAEA;EACE,iBAAiB;AACnB\",\"sourcesContent\":[\"/*\\n * The one reset on the page.\\n *\\n * Packages must not ship their own — several global resets (Tailwind's Preflight, for\\n * one) fight each other and the shell. This is structural only: it holds no view on how\\n * an application looks, which is the packages' and the theme's business, but it does own\\n * the handful of browser defaults that must be settled exactly once.\\n */\\nhtml,\\nbody {\\n margin: 0;\\n padding: 0;\\n}\\n\\nbody {\\n min-height: 100vh;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n*,\\n*::before,\\n*::after {\\n box-sizing: border-box;\\n}\\n\\n#root {\\n min-height: 100vh;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./reset.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./reset.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;"],"names":["RemoteSlot","React","createRoot","mountOverlayBadge","dismissSplashWhenMounted","jsx","_jsx","container","document","getElementById","root","composition","window","__appshell_config__","Error","remote","props","rootProps","render","StrictMode","children","CONTAINER_ID","styles","join","summary","list","escape","value","replace","OVERLAY_EFFECTS","OVERLAY_EFFECTS_ARE_EXHAUSTIVE","overlayBadgeMarkup","overlay","remotes","added","shellFlavor","theme","introduced","Set","redirected","filter","key","has","changes","length","Boolean","items","map","createElement","id","innerHTML","body","appendChild","SPLASH_ID","GIVE_UP_AFTER_MS","remove","splash","parentNode","removeChild","firstElementChild","observer","MutationObserver","disconnect","observe","childList","timeout","setTimeout","clearTimeout"],"sourceRoot":""}
|