From 9ecf16f639a5e3dd2e9d38afef0ca82c1a2c8986 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 21:21:51 +0000 Subject: [PATCH] deploy: ebef57c78802744ee55241f486cd7ace85c9e4af --- 404.html | 4 +-- assets/js/015816e2.6b425b31.js | 1 + assets/js/015816e2.db317805.js | 1 - ...c7e36.94cb67b6.js => 017c7e36.4b462330.js} | 2 +- ...c147e.9923f778.js => 076c147e.821b8568.js} | 2 +- ...25933.35acecc6.js => 08c25933.ddd7fb10.js} | 2 +- assets/js/0abd59c6.6ad3a681.js | 1 - assets/js/0abd59c6.b9c0d462.js | 1 + ...76a47.c19f6ce3.js => 0ae76a47.25d0fbce.js} | 2 +- assets/js/0b8ff5c4.abec767f.js | 1 - assets/js/0b8ff5c4.b5d08366.js | 1 + ...1a66c.7b0aba5f.js => 0df1a66c.d3158487.js} | 2 +- ...72e6e.8446ea3a.js => 0f572e6e.23c864da.js} | 2 +- ...5c961.f11270a6.js => 0f85c961.d3fd49cb.js} | 2 +- ...86f64.868d60b0.js => 1b186f64.49660654.js} | 2 +- ...a1e09.a91e5561.js => 29aa1e09.c7594f24.js} | 2 +- ...c956c.62573a8e.js => 2aac956c.18591e1b.js} | 2 +- assets/js/3031e46b.1391e650.js | 1 + assets/js/3031e46b.ce0f628f.js | 1 - assets/js/377636fe.669e1837.js | 1 - assets/js/377636fe.a9266ed6.js | 1 + ...fefd0.02b39a7e.js => 3a7fefd0.9b554251.js} | 2 +- assets/js/3ab9445b.0402d3a6.js | 1 + assets/js/3ab9445b.5d2a7bdc.js | 1 - ...51796.deec4465.js => 40951796.486dffd6.js} | 2 +- ...c08fa.2ec80102.js => 4a6c08fa.30fde405.js} | 2 +- ...789b6.5ebcacd2.js => 4f0789b6.2c7931ce.js} | 2 +- ...a5667.1f44003b.js => 50fa5667.2bd75fca.js} | 2 +- ...8ee85.b05ad952.js => 5118ee85.0ef3734e.js} | 2 +- assets/js/55102a22.7b1a401e.js | 1 + assets/js/55102a22.d1af8085.js | 1 - ...e4edf.6ddf86ac.js => 572e4edf.f72ff873.js} | 2 +- assets/js/5896a7ea.26c7a08c.js | 1 + assets/js/5896a7ea.88dd3ca9.js | 1 - assets/js/5b8adf66.8aa0cb73.js | 1 - assets/js/5b8adf66.bd860d9b.js | 1 + ...35ad5.5716dd5b.js => 5c035ad5.0842cf2c.js} | 2 +- ...2ca1d.a54ba0af.js => 5e12ca1d.1b2368aa.js} | 2 +- assets/js/67152cfe.452464b9.js | 1 + assets/js/67152cfe.47182120.js | 1 - ...4a0c2.36493c41.js => 68a4a0c2.055cae4a.js} | 2 +- assets/js/696a01cf.4d7f27a2.js | 1 + assets/js/696a01cf.68a4606c.js | 1 - assets/js/69e6e3bb.6815a14c.js | 1 - assets/js/69e6e3bb.a38142f3.js | 1 + assets/js/6c11b4de.265d48be.js | 1 - assets/js/6c11b4de.48751be8.js | 1 + ...52a88.216763a2.js => 76852a88.bb9dcac9.js} | 2 +- assets/js/7a77816f.257586ef.js | 1 + assets/js/7a77816f.990ec40f.js | 1 - assets/js/7bb2f638.993ed0d3.js | 1 - assets/js/7bb2f638.a7c1e94f.js | 1 + ...97847.966a8151.js => 80697847.a27dd490.js} | 2 +- assets/js/85376e8b.3e5535b8.js | 1 - assets/js/85376e8b.478c7aa0.js | 1 + ...b1274.cdb7f09f.js => 88ab1274.4f4ae4cc.js} | 2 +- assets/js/8999baf8.c7552f37.js | 1 - assets/js/8999baf8.f974ea1f.js | 1 + assets/js/8bb54e26.793adc84.js | 1 + assets/js/8bb54e26.a6c03bde.js | 1 - ...ee7f5.d6917a14.js => 8f8ee7f5.10629d5f.js} | 2 +- assets/js/9093cedc.4e7ce0ab.js | 1 - assets/js/9093cedc.f6207b5b.js | 1 + ...0a41c.34dc2551.js => 90e0a41c.a81797df.js} | 2 +- ...4d5ec.7a51b885.js => 91e4d5ec.5dcfc83d.js} | 2 +- assets/js/93e8f896.70e8c639.js | 1 + assets/js/93e8f896.7f2101df.js | 1 - ...fc73a.3783d308.js => 940fc73a.de683598.js} | 2 +- ...9dd39.bf42fc99.js => 96f9dd39.36b32a6c.js} | 2 +- assets/js/99cd0956.2b2e4812.js | 1 + assets/js/99cd0956.e5ebebf1.js | 1 - ...da0ee.7a1bfd41.js => 9afda0ee.a36c4aaf.js} | 2 +- ...72d00.fdcdc2ac.js => 9d672d00.7e4d4842.js} | 2 +- ...f1d6a.385bbe4b.js => 9d6f1d6a.bd917ffa.js} | 2 +- ...9fa54.4b6c36b2.js => 9eb9fa54.8b0ee825.js} | 2 +- ...eee7f.097dbc35.js => 9efeee7f.ec52cd41.js} | 2 +- ...ef419.4a9b23e6.js => a4cef419.1c46405c.js} | 2 +- assets/js/a4df4865.7c79b48d.js | 1 - assets/js/a4df4865.93fd4324.js | 1 + ...ccd44.2ad2e217.js => a57ccd44.04786fbd.js} | 2 +- ...5e601.02784cb2.js => a6e5e601.d87a3ed1.js} | 2 +- assets/js/a9668f36.9129c134.js | 1 - assets/js/a9668f36.cb53c4f9.js | 1 + assets/js/a97faf63.30079709.js | 1 - assets/js/a97faf63.a5377160.js | 1 + assets/js/a998b65c.42b6ce68.js | 1 - assets/js/a998b65c.b117f6ef.js | 1 + ...fa101.c25ff2e7.js => a9afa101.721e6a4a.js} | 2 +- ...abcdb.3c3984a0.js => ae4abcdb.bc93ab09.js} | 2 +- ...5bb67.b2309825.js => b025bb67.2e4a59ad.js} | 2 +- assets/js/b2f554cd.a8cc3d64.js | 1 + assets/js/b2f554cd.bdadaad1.js | 1 - ...51572.92dca923.js => b5351572.dc5f53d9.js} | 2 +- ...fbaa4.2f093e2e.js => b7efbaa4.d0348736.js} | 2 +- ...8dcaf.253f2c08.js => bdd8dcaf.f552b54e.js} | 2 +- ...e1667.c3188df1.js => c09e1667.b958cb78.js} | 2 +- ...acfd1.2e1eee4f.js => c41acfd1.8f3935bb.js} | 2 +- ...7fe7c.9479fd6d.js => c867fe7c.701c7e05.js} | 2 +- assets/js/cc32fbde.96545f6e.js | 1 + assets/js/cc32fbde.9c022368.js | 1 - assets/js/cdaae041.30d12fa7.js | 1 + assets/js/cdaae041.f8948497.js | 1 - assets/js/ce6e696b.14effdba.js | 1 - assets/js/ce6e696b.8d70c90e.js | 1 + assets/js/d1104007.307b8396.js | 1 + assets/js/d1104007.e37552ee.js | 1 - ...d1f61.d802b511.js => d3dd1f61.ae594dbb.js} | 2 +- assets/js/d549428a.a7283f31.js | 1 + assets/js/d549428a.caaca9a0.js | 1 - assets/js/d6377ff4.6dc0bf7f.js | 1 + assets/js/d6377ff4.ce56d0c7.js | 1 - ...47bb5.8febfb24.js => d7647bb5.34d1c01f.js} | 2 +- ...69925.98a52ccc.js => daa69925.9c9d3815.js} | 2 +- ...53905.b46d9b5b.js => dcc53905.55dd7f61.js} | 2 +- ...fdbba.9503ff57.js => decfdbba.a903b99c.js} | 2 +- ...6d91c.72a5c212.js => e076d91c.c3afb6ea.js} | 2 +- assets/js/e4355444.74a64afb.js | 1 - assets/js/e4355444.b851d8bf.js | 1 + assets/js/e469ac48.7cc7af49.js | 1 + assets/js/e469ac48.e1d82d92.js | 1 - assets/js/e5846443.1d727800.js | 1 + assets/js/e5846443.4ca76b9e.js | 1 - ...aa823.16c00d8c.js => e6baa823.6c5b17dc.js} | 2 +- ...cd470.9e34119f.js => e6bcd470.b844aab1.js} | 2 +- ...3dc32.10bb78f9.js => ec93dc32.aaed7650.js} | 2 +- assets/js/edba9c72.07f007d2.js | 1 + assets/js/edba9c72.c255927e.js | 1 - assets/js/ee76fcac.2aa3d325.js | 1 - assets/js/ee76fcac.2edb9f4c.js | 1 + ...44494.8c173f43.js => f3344494.045fa3e2.js} | 2 +- ...9466a.63036316.js => f539466a.507662a7.js} | 2 +- assets/js/f89f17ac.16f4ef2c.js | 1 + assets/js/f89f17ac.31fa18e3.js | 1 - ...e79c8.1fb113d2.js => f91e79c8.42a212f4.js} | 2 +- ...948d0.e6dc0105.js => fad948d0.62176d72.js} | 2 +- assets/js/fcc2aa60.2087b3cc.js | 1 + assets/js/fcc2aa60.c02ca7a0.js | 1 - ...ac0f1.eb0b7b76.js => fcfac0f1.fe68d129.js} | 2 +- ...bf730.b3b2d466.js => fe4bf730.a53db0ee.js} | 2 +- ...0df8a.f77d183c.js => feb0df8a.52d3b917.js} | 2 +- ...dff58.0b208a6d.js => febdff58.a7b9561e.js} | 2 +- ...85f4e.7ad9416a.js => ff185f4e.c7699f25.js} | 2 +- ...n.c9b80144.js => runtime~main.de1a946f.js} | 2 +- .../a-case-for-soa-in-the-browser/index.html | 6 ++-- .../index.html | 6 ++-- .../single-spa-parcels-explained/index.html | 4 +-- .../02/20/single-spa-inspector/index.html | 4 +-- blog/2020/02/24/single-spa-5/index.html | 4 +-- .../single-spa-core-is-expanding/index.html | 4 +-- .../index.html | 4 +-- .../11/07/core-team-meeting-notes/index.html | 4 +-- blog/2023/11/27/single-spa-6/index.html | 6 ++-- .../12/12/core-team-meeting-notes/index.html | 4 +-- .../01/03/core-team-meeting-notes/index.html | 4 +-- .../02/14/core-team-meeting-notes/index.html | 4 +-- blog/archive/index.html | 4 +-- blog/atom.xml | 6 ++-- blog/index.html | 6 ++-- blog/page/2/index.html | 6 ++-- blog/rss.xml | 6 ++-- contributors/index.html | 4 +-- css/custom.css | 22 +++++++-------- docs/4.x/api/index.html | 10 +++---- docs/4.x/building-applications/index.html | 6 ++-- docs/4.x/code-of-conduct/index.html | 6 ++-- docs/4.x/configuration/index.html | 10 +++---- docs/4.x/contributing-overview/index.html | 4 +-- docs/4.x/ecosystem-angular/index.html | 18 ++++++------ docs/4.x/ecosystem-angularjs/index.html | 10 +++---- docs/4.x/ecosystem-backbone/index.html | 8 +++--- docs/4.x/ecosystem-cycle/index.html | 6 ++-- docs/4.x/ecosystem-ember/index.html | 6 ++-- .../ecosystem-html-web-components/index.html | 6 ++-- docs/4.x/ecosystem-inferno/index.html | 6 ++-- docs/4.x/ecosystem-leaked-globals/index.html | 6 ++-- docs/4.x/ecosystem-preact/index.html | 6 ++-- docs/4.x/ecosystem-react/index.html | 6 ++-- docs/4.x/ecosystem-riot/index.html | 6 ++-- docs/4.x/ecosystem-svelte/index.html | 6 ++-- docs/4.x/ecosystem-vue/index.html | 14 ++++------ docs/4.x/ecosystem/index.html | 10 +++---- docs/4.x/examples/index.html | 4 +-- docs/4.x/faq/index.html | 6 ++-- docs/4.x/getting-started-overview/index.html | 6 ++-- docs/4.x/glossary/index.html | 4 +-- .../migrating-angularJS-tutorial/index.html | 6 ++-- docs/4.x/migrating-existing-spas/index.html | 4 +-- docs/4.x/migrating-react-tutorial/index.html | 6 ++-- docs/4.x/parcels-api/index.html | 8 +++--- docs/4.x/parcels-overview/index.html | 14 +++++----- docs/4.x/separating-applications/index.html | 4 +-- docs/4.x/starting-from-scratch/index.html | 6 ++-- docs/5.x/api/index.html | 10 +++---- docs/5.x/building-applications/index.html | 6 ++-- docs/5.x/code-of-conduct/index.html | 6 ++-- docs/5.x/configuration/index.html | 12 ++++---- docs/5.x/contributing-overview/index.html | 4 +-- docs/5.x/create-single-spa/index.html | 6 ++-- docs/5.x/devtools/index.html | 6 ++-- docs/5.x/ecosystem-alpinejs/index.html | 8 +++--- docs/5.x/ecosystem-angular/index.html | 28 +++++++++---------- docs/5.x/ecosystem-angularjs/index.html | 12 ++++---- docs/5.x/ecosystem-backbone/index.html | 8 +++--- docs/5.x/ecosystem-css/index.html | 8 +++--- docs/5.x/ecosystem-cycle/index.html | 6 ++-- docs/5.x/ecosystem-dojo/index.html | 6 ++-- docs/5.x/ecosystem-ember/index.html | 8 +++--- .../ecosystem-html-web-components/index.html | 6 ++-- docs/5.x/ecosystem-inferno/index.html | 6 ++-- docs/5.x/ecosystem-leaked-globals/index.html | 6 ++-- docs/5.x/ecosystem-preact/index.html | 6 ++-- docs/5.x/ecosystem-react/index.html | 6 ++-- docs/5.x/ecosystem-riot/index.html | 6 ++-- docs/5.x/ecosystem-snowpack/index.html | 4 +-- docs/5.x/ecosystem-svelte/index.html | 6 ++-- docs/5.x/ecosystem-vite/index.html | 6 ++-- docs/5.x/ecosystem-vue/index.html | 12 ++++---- docs/5.x/ecosystem/index.html | 4 +-- docs/5.x/examples/index.html | 4 +-- docs/5.x/faq/index.html | 6 ++-- docs/5.x/getting-started-overview/index.html | 4 +-- docs/5.x/glossary/index.html | 4 +-- docs/5.x/layout-api/index.html | 6 ++-- docs/5.x/layout-definition/index.html | 6 ++-- docs/5.x/layout-overview/index.html | 6 ++-- docs/5.x/microfrontends-concept/index.html | 4 +-- docs/5.x/migrating-existing-spas/index.html | 4 +-- docs/5.x/module-types/index.html | 4 +-- docs/5.x/parcels-api/index.html | 8 +++--- docs/5.x/parcels-overview/index.html | 14 +++++----- docs/5.x/recommended-setup/index.html | 10 +++---- docs/5.x/separating-applications/index.html | 4 +-- docs/5.x/shared-webpack-configs/index.html | 6 ++-- docs/5.x/single-spa-playground/index.html | 4 +-- docs/5.x/ssr-overview/index.html | 6 ++-- docs/5.x/testing/e2e/index.html | 6 ++-- docs/5.x/testing/units/index.html | 6 ++-- docs/5.x/videos/index.html | 4 +-- docs/api/index.html | 10 +++---- docs/building-applications/index.html | 6 ++-- docs/code-of-conduct/index.html | 6 ++-- docs/configuration/index.html | 12 ++++---- docs/contributing-overview/index.html | 4 +-- docs/create-single-spa/index.html | 6 ++-- docs/devtools/index.html | 6 ++-- docs/ecosystem-alpinejs/index.html | 8 +++--- docs/ecosystem-angular/index.html | 28 +++++++++---------- docs/ecosystem-angularjs/index.html | 12 ++++---- docs/ecosystem-backbone/index.html | 8 +++--- docs/ecosystem-css/index.html | 8 +++--- docs/ecosystem-cycle/index.html | 6 ++-- docs/ecosystem-dojo/index.html | 6 ++-- docs/ecosystem-ember/index.html | 8 +++--- docs/ecosystem-html-web-components/index.html | 6 ++-- docs/ecosystem-inferno/index.html | 6 ++-- docs/ecosystem-leaked-globals/index.html | 6 ++-- docs/ecosystem-preact/index.html | 6 ++-- docs/ecosystem-react/index.html | 6 ++-- docs/ecosystem-riot/index.html | 6 ++-- docs/ecosystem-snowpack/index.html | 4 +-- docs/ecosystem-svelte/index.html | 6 ++-- docs/ecosystem-vite/index.html | 6 ++-- docs/ecosystem-vue/index.html | 12 ++++---- docs/ecosystem/index.html | 4 +-- docs/examples/index.html | 4 +-- docs/faq/index.html | 6 ++-- docs/getting-started-overview/index.html | 4 +-- docs/glossary/index.html | 4 +-- docs/index.html | 4 +-- docs/layout-api/index.html | 6 ++-- docs/layout-definition/index.html | 6 ++-- docs/layout-overview/index.html | 6 ++-- docs/microfrontends-concept/index.html | 4 +-- docs/migrating-existing-spas/index.html | 4 +-- docs/module-types/index.html | 4 +-- docs/next/index.html | 4 +-- docs/parcels-api/index.html | 8 +++--- docs/parcels-overview/index.html | 14 +++++----- docs/recommended-setup/index.html | 10 +++---- docs/separating-applications/index.html | 4 +-- docs/shared-webpack-configs/index.html | 6 ++-- docs/single-spa-playground/index.html | 4 +-- docs/ssr-overview/index.html | 6 ++-- docs/testing/e2e/index.html | 6 ++-- docs/testing/units/index.html | 6 ++-- docs/videos/index.html | 4 +-- error/index.html | 4 +-- help/index.html | 4 +-- index.html | 4 +-- js/index.js | 2 +- languages/index.html | 4 +-- .../index.html | 6 ++-- search/index.html | 4 +-- sponsors/index.html | 4 +-- users/index.html | 4 +-- versions/index.html | 4 +-- 296 files changed, 608 insertions(+), 612 deletions(-) create mode 100644 assets/js/015816e2.6b425b31.js delete mode 100644 assets/js/015816e2.db317805.js rename assets/js/{017c7e36.94cb67b6.js => 017c7e36.4b462330.js} (65%) rename assets/js/{076c147e.9923f778.js => 076c147e.821b8568.js} (68%) rename assets/js/{08c25933.35acecc6.js => 08c25933.ddd7fb10.js} (68%) delete mode 100644 assets/js/0abd59c6.6ad3a681.js create mode 100644 assets/js/0abd59c6.b9c0d462.js rename assets/js/{0ae76a47.c19f6ce3.js => 0ae76a47.25d0fbce.js} (55%) delete mode 100644 assets/js/0b8ff5c4.abec767f.js create mode 100644 assets/js/0b8ff5c4.b5d08366.js rename assets/js/{0df1a66c.7b0aba5f.js => 0df1a66c.d3158487.js} (95%) rename assets/js/{0f572e6e.8446ea3a.js => 0f572e6e.23c864da.js} (77%) rename assets/js/{0f85c961.f11270a6.js => 0f85c961.d3fd49cb.js} (76%) rename assets/js/{1b186f64.868d60b0.js => 1b186f64.49660654.js} (94%) rename assets/js/{29aa1e09.a91e5561.js => 29aa1e09.c7594f24.js} (94%) rename assets/js/{2aac956c.62573a8e.js => 2aac956c.18591e1b.js} (94%) create mode 100644 assets/js/3031e46b.1391e650.js delete mode 100644 assets/js/3031e46b.ce0f628f.js delete mode 100644 assets/js/377636fe.669e1837.js create mode 100644 assets/js/377636fe.a9266ed6.js rename assets/js/{3a7fefd0.02b39a7e.js => 3a7fefd0.9b554251.js} (73%) create mode 100644 assets/js/3ab9445b.0402d3a6.js delete mode 100644 assets/js/3ab9445b.5d2a7bdc.js rename assets/js/{40951796.deec4465.js => 40951796.486dffd6.js} (71%) rename assets/js/{4a6c08fa.2ec80102.js => 4a6c08fa.30fde405.js} (72%) rename assets/js/{4f0789b6.5ebcacd2.js => 4f0789b6.2c7931ce.js} (93%) rename assets/js/{50fa5667.1f44003b.js => 50fa5667.2bd75fca.js} (50%) rename assets/js/{5118ee85.b05ad952.js => 5118ee85.0ef3734e.js} (61%) create mode 100644 assets/js/55102a22.7b1a401e.js delete mode 100644 assets/js/55102a22.d1af8085.js rename assets/js/{572e4edf.6ddf86ac.js => 572e4edf.f72ff873.js} (71%) create mode 100644 assets/js/5896a7ea.26c7a08c.js delete mode 100644 assets/js/5896a7ea.88dd3ca9.js delete mode 100644 assets/js/5b8adf66.8aa0cb73.js create mode 100644 assets/js/5b8adf66.bd860d9b.js rename assets/js/{5c035ad5.5716dd5b.js => 5c035ad5.0842cf2c.js} (73%) rename assets/js/{5e12ca1d.a54ba0af.js => 5e12ca1d.1b2368aa.js} (94%) create mode 100644 assets/js/67152cfe.452464b9.js delete mode 100644 assets/js/67152cfe.47182120.js rename assets/js/{68a4a0c2.36493c41.js => 68a4a0c2.055cae4a.js} (68%) create mode 100644 assets/js/696a01cf.4d7f27a2.js delete mode 100644 assets/js/696a01cf.68a4606c.js delete mode 100644 assets/js/69e6e3bb.6815a14c.js create mode 100644 assets/js/69e6e3bb.a38142f3.js delete mode 100644 assets/js/6c11b4de.265d48be.js create mode 100644 assets/js/6c11b4de.48751be8.js rename assets/js/{76852a88.216763a2.js => 76852a88.bb9dcac9.js} (65%) create mode 100644 assets/js/7a77816f.257586ef.js delete mode 100644 assets/js/7a77816f.990ec40f.js delete mode 100644 assets/js/7bb2f638.993ed0d3.js create mode 100644 assets/js/7bb2f638.a7c1e94f.js rename assets/js/{80697847.966a8151.js => 80697847.a27dd490.js} (76%) delete mode 100644 assets/js/85376e8b.3e5535b8.js create mode 100644 assets/js/85376e8b.478c7aa0.js rename assets/js/{88ab1274.cdb7f09f.js => 88ab1274.4f4ae4cc.js} (75%) delete mode 100644 assets/js/8999baf8.c7552f37.js create mode 100644 assets/js/8999baf8.f974ea1f.js create mode 100644 assets/js/8bb54e26.793adc84.js delete mode 100644 assets/js/8bb54e26.a6c03bde.js rename assets/js/{8f8ee7f5.d6917a14.js => 8f8ee7f5.10629d5f.js} (56%) delete mode 100644 assets/js/9093cedc.4e7ce0ab.js create mode 100644 assets/js/9093cedc.f6207b5b.js rename assets/js/{90e0a41c.34dc2551.js => 90e0a41c.a81797df.js} (56%) rename assets/js/{91e4d5ec.7a51b885.js => 91e4d5ec.5dcfc83d.js} (94%) create mode 100644 assets/js/93e8f896.70e8c639.js delete mode 100644 assets/js/93e8f896.7f2101df.js rename assets/js/{940fc73a.3783d308.js => 940fc73a.de683598.js} (92%) rename assets/js/{96f9dd39.bf42fc99.js => 96f9dd39.36b32a6c.js} (93%) create mode 100644 assets/js/99cd0956.2b2e4812.js delete mode 100644 assets/js/99cd0956.e5ebebf1.js rename assets/js/{9afda0ee.7a1bfd41.js => 9afda0ee.a36c4aaf.js} (62%) rename assets/js/{9d672d00.fdcdc2ac.js => 9d672d00.7e4d4842.js} (52%) rename assets/js/{9d6f1d6a.385bbe4b.js => 9d6f1d6a.bd917ffa.js} (61%) rename assets/js/{9eb9fa54.4b6c36b2.js => 9eb9fa54.8b0ee825.js} (94%) rename assets/js/{9efeee7f.097dbc35.js => 9efeee7f.ec52cd41.js} (94%) rename assets/js/{a4cef419.4a9b23e6.js => a4cef419.1c46405c.js} (94%) delete mode 100644 assets/js/a4df4865.7c79b48d.js create mode 100644 assets/js/a4df4865.93fd4324.js rename assets/js/{a57ccd44.2ad2e217.js => a57ccd44.04786fbd.js} (92%) rename assets/js/{a6e5e601.02784cb2.js => a6e5e601.d87a3ed1.js} (55%) delete mode 100644 assets/js/a9668f36.9129c134.js create mode 100644 assets/js/a9668f36.cb53c4f9.js delete mode 100644 assets/js/a97faf63.30079709.js create mode 100644 assets/js/a97faf63.a5377160.js delete mode 100644 assets/js/a998b65c.42b6ce68.js create mode 100644 assets/js/a998b65c.b117f6ef.js rename assets/js/{a9afa101.c25ff2e7.js => a9afa101.721e6a4a.js} (55%) rename assets/js/{ae4abcdb.3c3984a0.js => ae4abcdb.bc93ab09.js} (72%) rename assets/js/{b025bb67.b2309825.js => b025bb67.2e4a59ad.js} (55%) create mode 100644 assets/js/b2f554cd.a8cc3d64.js delete mode 100644 assets/js/b2f554cd.bdadaad1.js rename assets/js/{b5351572.92dca923.js => b5351572.dc5f53d9.js} (94%) rename assets/js/{b7efbaa4.2f093e2e.js => b7efbaa4.d0348736.js} (52%) rename assets/js/{bdd8dcaf.253f2c08.js => bdd8dcaf.f552b54e.js} (53%) rename assets/js/{c09e1667.c3188df1.js => c09e1667.b958cb78.js} (76%) rename assets/js/{c41acfd1.2e1eee4f.js => c41acfd1.8f3935bb.js} (75%) rename assets/js/{c867fe7c.9479fd6d.js => c867fe7c.701c7e05.js} (99%) create mode 100644 assets/js/cc32fbde.96545f6e.js delete mode 100644 assets/js/cc32fbde.9c022368.js create mode 100644 assets/js/cdaae041.30d12fa7.js delete mode 100644 assets/js/cdaae041.f8948497.js delete mode 100644 assets/js/ce6e696b.14effdba.js create mode 100644 assets/js/ce6e696b.8d70c90e.js create mode 100644 assets/js/d1104007.307b8396.js delete mode 100644 assets/js/d1104007.e37552ee.js rename assets/js/{d3dd1f61.d802b511.js => d3dd1f61.ae594dbb.js} (75%) create mode 100644 assets/js/d549428a.a7283f31.js delete mode 100644 assets/js/d549428a.caaca9a0.js create mode 100644 assets/js/d6377ff4.6dc0bf7f.js delete mode 100644 assets/js/d6377ff4.ce56d0c7.js rename assets/js/{d7647bb5.8febfb24.js => d7647bb5.34d1c01f.js} (95%) rename assets/js/{daa69925.98a52ccc.js => daa69925.9c9d3815.js} (54%) rename assets/js/{dcc53905.b46d9b5b.js => dcc53905.55dd7f61.js} (76%) rename assets/js/{decfdbba.9503ff57.js => decfdbba.a903b99c.js} (94%) rename assets/js/{e076d91c.72a5c212.js => e076d91c.c3afb6ea.js} (77%) delete mode 100644 assets/js/e4355444.74a64afb.js create mode 100644 assets/js/e4355444.b851d8bf.js create mode 100644 assets/js/e469ac48.7cc7af49.js delete mode 100644 assets/js/e469ac48.e1d82d92.js create mode 100644 assets/js/e5846443.1d727800.js delete mode 100644 assets/js/e5846443.4ca76b9e.js rename assets/js/{e6baa823.16c00d8c.js => e6baa823.6c5b17dc.js} (99%) rename assets/js/{e6bcd470.9e34119f.js => e6bcd470.b844aab1.js} (96%) rename assets/js/{ec93dc32.10bb78f9.js => ec93dc32.aaed7650.js} (92%) create mode 100644 assets/js/edba9c72.07f007d2.js delete mode 100644 assets/js/edba9c72.c255927e.js delete mode 100644 assets/js/ee76fcac.2aa3d325.js create mode 100644 assets/js/ee76fcac.2edb9f4c.js rename assets/js/{f3344494.8c173f43.js => f3344494.045fa3e2.js} (95%) rename assets/js/{f539466a.63036316.js => f539466a.507662a7.js} (94%) create mode 100644 assets/js/f89f17ac.16f4ef2c.js delete mode 100644 assets/js/f89f17ac.31fa18e3.js rename assets/js/{f91e79c8.1fb113d2.js => f91e79c8.42a212f4.js} (92%) rename assets/js/{fad948d0.e6dc0105.js => fad948d0.62176d72.js} (78%) create mode 100644 assets/js/fcc2aa60.2087b3cc.js delete mode 100644 assets/js/fcc2aa60.c02ca7a0.js rename assets/js/{fcfac0f1.eb0b7b76.js => fcfac0f1.fe68d129.js} (99%) rename assets/js/{fe4bf730.b3b2d466.js => fe4bf730.a53db0ee.js} (77%) rename assets/js/{feb0df8a.f77d183c.js => feb0df8a.52d3b917.js} (93%) rename assets/js/{febdff58.0b208a6d.js => febdff58.a7b9561e.js} (62%) rename assets/js/{ff185f4e.7ad9416a.js => ff185f4e.c7699f25.js} (96%) rename assets/js/{runtime~main.c9b80144.js => runtime~main.de1a946f.js} (77%) diff --git a/404.html b/404.html index 8caebda2a..5713ed501 100644 --- a/404.html +++ b/404.html @@ -14,13 +14,13 @@ - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/015816e2.6b425b31.js b/assets/js/015816e2.6b425b31.js new file mode 100644 index 000000000..a3723cd69 --- /dev/null +++ b/assets/js/015816e2.6b425b31.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4786],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return h}});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=a.createContext({}),p=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=p(e.components);return a.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=p(n),m=i,h=c["".concat(s,".").concat(m)]||c[m]||d[m]||r;return n?a.createElement(h,o(o({ref:t},u),{},{components:n})):a.createElement(h,o({ref:t},u))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,o=new Array(r);o[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:i,o[1]=l;for(var p=2;p<\/script>')," to your HTML file and\naccessing the ",(0,r.kt)("inlineCode",{parentName:"p"},"singleSpaVue")," global variable."),(0,r.kt)("h2",{id:"usage"},"Usage"),(0,r.kt)("p",null,"Install ",(0,r.kt)("inlineCode",{parentName:"p"},"systemjs-webpack-interop")," if you have not already done so."),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"npm install systemjs-webpack-interop -S")),(0,r.kt)("p",null,"Create a file at the same level as your ",(0,r.kt)("inlineCode",{parentName:"p"},"main.js/ts")," called ",(0,r.kt)("inlineCode",{parentName:"p"},"set-public-path.js")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},'import { setPublicPath } from "systemjs-webpack-interop";\n\nsetPublicPath("appName");\n')),(0,r.kt)("p",null,"Change your application's entry file to be the following."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},'import "./set-public-path";\nimport Vue from "vue";\nimport App from "./App.vue";\nimport router from "./router";\nimport singleSpaVue from "single-spa-vue";\n\nconst vueLifecycles = singleSpaVue({\n Vue,\n appOptions: {\n render: (h) => h(App),\n router,\n },\n});\n\nexport const bootstrap = vueLifecycles.bootstrap;\nexport const mount = vueLifecycles.mount;\nexport const unmount = vueLifecycles.unmount;\n')),(0,r.kt)("p",null,"Note that if you are using the Vue CLI Plugin, your ",(0,r.kt)("inlineCode",{parentName:"p"},"main.ts")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"main.js")," file will be updated with this code automatically and the ",(0,r.kt)("inlineCode",{parentName:"p"},"set-public-path.js")," file\nwill automatically be created with the app name being your package.json's name property."),(0,r.kt)("h2",{id:"shared-dependencies"},"Shared dependencies"),(0,r.kt)("p",null,"For performance, it is best to share a single version and instance of Vue, Vue Router, and other large libraries."),(0,r.kt)("p",null,"To do this, add your shared dependencies as ",(0,r.kt)("a",{parentName:"p",href:"https://webpack.js.org/configuration/externals"},"webpack externals"),". Then you use\nan in-browser module loader such as ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/systemjs/systemjs"},"systemjs")," to provide those shared dependencies\nto each of the single-spa applications. Adding ",(0,r.kt)("inlineCode",{parentName:"p"},"vue")," and other libraries to your\n",(0,r.kt)("a",{parentName:"p",href:"http://single-spa-playground.org/playground/import-map"},"import map"),". For an example import map that is doing this,\ncheckout ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/joeldenning/coexisting-vue-microfrontends/blob/master/root-html-file/index.html"},"coexisting-vue-microfrontends' index.html file"),"."),(0,r.kt)("p",null,"Sharing a single instance of Vue and other common libraries is highly recommended. See the\n",(0,r.kt)("a",{parentName:"p",href:"https://single-spa.js.org/docs/faq#is-there-a-recommended-setup"},"recommended setup for single-spa")," for more details on why."),(0,r.kt)("h3",{id:"shared-deps-with-vue-cli"},"Shared deps with Vue CLI"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},'// vue.config.js\nmodule.exports = {\n chainWebpack: (config) => {\n config.externals(["vue", "vue-router"]);\n },\n};\n')),(0,r.kt)("h3",{id:"shared-deps-without-vue-cli"},"Shared deps without Vue CLI"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},'// webpack.config.js\nmodule.exports = {\n externals: ["vue", "vue-router"],\n};\n')),(0,r.kt)("h2",{id:"options"},"Options"),(0,r.kt)("p",null,"All options are passed to single-spa-vue via the ",(0,r.kt)("inlineCode",{parentName:"p"},"opts")," parameter when calling ",(0,r.kt)("inlineCode",{parentName:"p"},"singleSpaVue(opts)"),". The following options are available:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Vue"),": (required) The main Vue object, which is generally either exposed onto the window or is available via ",(0,r.kt)("inlineCode",{parentName:"li"},"require('vue')")," ",(0,r.kt)("inlineCode",{parentName:"li"},"import Vue from 'vue'"),"."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"appOptions"),": (required) An object which will be used to instantiate your Vue.js application. ",(0,r.kt)("inlineCode",{parentName:"li"},"appOptions")," will pass directly through to ",(0,r.kt)("inlineCode",{parentName:"li"},"new Vue(appOptions)"),". Note that if you do not provide an ",(0,r.kt)("inlineCode",{parentName:"li"},"el")," to appOptions, that a div will be created and appended to the DOM as a default container for your Vue application."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"loadRootComponent"),": (optional and replaces ",(0,r.kt)("inlineCode",{parentName:"li"},"appOptions.render"),") A promise that resolves with your root component. This is useful for lazy loading.")),(0,r.kt)("h2",{id:"as-a-single-spa-parcel"},"As a single-spa parcel"),(0,r.kt)("p",null,"To create a single-spa parcel, simply omit the ",(0,r.kt)("inlineCode",{parentName:"p"},"el")," option from your appOptions, since the dom element will be specified by the user of the Parcel. Every other\noption should be provided exactly the same as in the example above."),(0,r.kt)("h2",{id:"custom-props"},"Custom Props"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/docs/building-applications#custom-props"},"single-spa custom props")," are added to your App component as\n",(0,r.kt)("inlineCode",{parentName:"p"},"appOptions.data"),", and are accessible via ",(0,r.kt)("inlineCode",{parentName:"p"},"vm.$data"),". See ",(0,r.kt)("a",{parentName:"p",href:"https://vuejs.org/v2/api/#data"},"this Vue documentation"),"\nfor more information on ",(0,r.kt)("inlineCode",{parentName:"p"},"appOptions.data"),"."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/015816e2.db317805.js b/assets/js/015816e2.db317805.js deleted file mode 100644 index 94f7e6bed..000000000 --- a/assets/js/015816e2.db317805.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4786],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return h}});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=a.createContext({}),l=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=l(e.components);return a.createElement(p.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,p=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=l(n),m=i,h=c["".concat(p,".").concat(m)]||c[m]||d[m]||r;return n?a.createElement(h,o(o({ref:t},u),{},{components:n})):a.createElement(h,o({ref:t},u))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,o=new Array(r);o[0]=m;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[c]="string"==typeof e?e:i,o[1]=s;for(var l=2;l<\/script>')," to your HTML file and\naccessing the ",(0,r.kt)("inlineCode",{parentName:"p"},"singleSpaVue")," global variable."),(0,r.kt)("h2",{id:"usage"},"Usage"),(0,r.kt)("p",null,"Install ",(0,r.kt)("inlineCode",{parentName:"p"},"systemjs-webpack-interop")," if you have not already done so."),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"npm install systemjs-webpack-interop -S")),(0,r.kt)("p",null,"Create a file at the same level as your ",(0,r.kt)("inlineCode",{parentName:"p"},"main.js/ts")," called ",(0,r.kt)("inlineCode",{parentName:"p"},"set-public-path.js")," "),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"import { setPublicPath } from 'systemjs-webpack-interop';\n\nsetPublicPath('appName');\n\n")),(0,r.kt)("p",null,"Change your application's entry file to be the following."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"import './set-public-path';\nimport Vue from 'vue';\nimport App from './App.vue';\nimport router from './router';\nimport singleSpaVue from 'single-spa-vue';\n\nconst vueLifecycles = singleSpaVue({\n Vue,\n appOptions: {\n render: h => h(App),\n router,\n },\n});\n\nexport const bootstrap = vueLifecycles.bootstrap;\nexport const mount = vueLifecycles.mount;\nexport const unmount = vueLifecycles.unmount;\n\n")),(0,r.kt)("p",null,"Note that if you are using the Vue CLI Plugin, your ",(0,r.kt)("inlineCode",{parentName:"p"},"main.ts")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"main.js")," file will be updated with this code automatically and the ",(0,r.kt)("inlineCode",{parentName:"p"},"set-public-path.js")," file\nwill automatically be created with the app name being your package.json's name property."),(0,r.kt)("h2",{id:"shared-dependencies"},"Shared dependencies"),(0,r.kt)("p",null,"For performance, it is best to share a single version and instance of Vue, Vue Router, and other large libraries."),(0,r.kt)("p",null,"To do this, add your shared dependencies as ",(0,r.kt)("a",{parentName:"p",href:"https://webpack.js.org/configuration/externals"},"webpack externals"),". Then you use\nan in-browser module loader such as ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/systemjs/systemjs"},"systemjs")," to provide those shared dependencies\nto each of the single-spa applications. Adding ",(0,r.kt)("inlineCode",{parentName:"p"},"vue")," and other libraries to your\n",(0,r.kt)("a",{parentName:"p",href:"http://single-spa-playground.org/playground/import-map"},"import map"),". For an example import map that is doing this,\ncheckout ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/joeldenning/coexisting-vue-microfrontends/blob/master/root-html-file/index.html"},"coexisting-vue-microfrontends' index.html file"),"."),(0,r.kt)("p",null,"Sharing a single instance of Vue and other common libraries is highly recommended. See the\n",(0,r.kt)("a",{parentName:"p",href:"https://single-spa.js.org/docs/faq#is-there-a-recommended-setup"},"recommended setup for single-spa")," for more details on why."),(0,r.kt)("h3",{id:"shared-deps-with-vue-cli"},"Shared deps with Vue CLI"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"// vue.config.js\nmodule.exports = {\n chainWebpack: config => {\n config.externals(['vue', 'vue-router'])\n }\n}\n")),(0,r.kt)("h3",{id:"shared-deps-without-vue-cli"},"Shared deps without Vue CLI"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"// webpack.config.js\nmodule.exports = {\n externals: ['vue', 'vue-router'],\n}\n")),(0,r.kt)("h2",{id:"options"},"Options"),(0,r.kt)("p",null,"All options are passed to single-spa-vue via the ",(0,r.kt)("inlineCode",{parentName:"p"},"opts")," parameter when calling ",(0,r.kt)("inlineCode",{parentName:"p"},"singleSpaVue(opts)"),". The following options are available:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Vue"),": (required) The main Vue object, which is generally either exposed onto the window or is available via ",(0,r.kt)("inlineCode",{parentName:"li"},"require('vue')")," ",(0,r.kt)("inlineCode",{parentName:"li"},"import Vue from 'vue'"),"."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"appOptions"),": (required) An object which will be used to instantiate your Vue.js application. ",(0,r.kt)("inlineCode",{parentName:"li"},"appOptions")," will pass directly through to ",(0,r.kt)("inlineCode",{parentName:"li"},"new Vue(appOptions)"),". Note that if you do not provide an ",(0,r.kt)("inlineCode",{parentName:"li"},"el")," to appOptions, that a div will be created and appended to the DOM as a default container for your Vue application."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"loadRootComponent"),": (optional and replaces ",(0,r.kt)("inlineCode",{parentName:"li"},"appOptions.render"),") A promise that resolves with your root component. This is useful for lazy loading.")),(0,r.kt)("h2",{id:"as-a-single-spa-parcel"},"As a single-spa parcel"),(0,r.kt)("p",null,"To create a single-spa parcel, simply omit the ",(0,r.kt)("inlineCode",{parentName:"p"},"el")," option from your appOptions, since the dom element will be specified by the user of the Parcel. Every other\noption should be provided exactly the same as in the example above."),(0,r.kt)("h2",{id:"custom-props"},"Custom Props"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/docs/building-applications#custom-props"},"single-spa custom props")," are added to your App component as\n",(0,r.kt)("inlineCode",{parentName:"p"},"appOptions.data"),", and are accessible via ",(0,r.kt)("inlineCode",{parentName:"p"},"vm.$data"),". See ",(0,r.kt)("a",{parentName:"p",href:"https://vuejs.org/v2/api/#data"},"this Vue documentation"),"\nfor more information on ",(0,r.kt)("inlineCode",{parentName:"p"},"appOptions.data"),"."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/017c7e36.94cb67b6.js b/assets/js/017c7e36.4b462330.js similarity index 65% rename from assets/js/017c7e36.94cb67b6.js rename to assets/js/017c7e36.4b462330.js index 23c55dcd7..6570783cc 100644 --- a/assets/js/017c7e36.94cb67b6.js +++ b/assets/js/017c7e36.4b462330.js @@ -1 +1 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3283],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return f}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),p=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=p(e.components);return o.createElement(s.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),m=p(n),d=r,f=m["".concat(s,".").concat(d)]||m[d]||u[d]||i;return n?o.createElement(f,l(l({ref:t},c),{},{components:n})):o.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=d;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[m]="string"==typeof e?e:r,l[1]=a;for(var p=2;p document.getElementById('svelte-app'),\n props: { someData: 'data' }\n});\n\nexport const bootstrap = svelteLifecycles.bootstrap;\nexport const mount = svelteLifecycles.mount;\nexport const unmount = svelteLifecycles.unmount;\n")),(0,i.kt)("h2",{id:"options"},"Options"),(0,i.kt)("p",null,"All options are passed to single-spa-svelte via the ",(0,i.kt)("inlineCode",{parentName:"p"},"opts")," parameter when calling ",(0,i.kt)("inlineCode",{parentName:"p"},"singleSpaSvelte(opts)"),". The following options are available:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"component"),": (required) The root component that will be rendered. This component should be compiled by svelte and ",(0,i.kt)("strong",{parentName:"li"},"not")," an iife."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"domElementGetter"),": (optional) A function which will return a dom element. The root component will be mounted in this element. If not provided, a default dom element will be provided.")),(0,i.kt)("p",null,"Svelte-specific options"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"anchor"),": (optional) A child of the dom element identified by ",(0,i.kt)("inlineCode",{parentName:"li"},"domElementGetter")," to render the component immediately before"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"hydrate"),": (optional) See the svelte ",(0,i.kt)("a",{parentName:"li",href:"https://svelte.dev/docs#Creating_a_component"},"Creating a component")," documentation"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"intro"),": (optional) If ",(0,i.kt)("inlineCode",{parentName:"li"},"true"),", will play transitions on initial render, rather than waiting for subsequent state changes"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"props"),": (optional) An object of properties to supply to the component")),(0,i.kt)("h2",{id:"single-spa-props"},"single-spa props"),(0,i.kt)("p",null,"All ",(0,i.kt)("a",{parentName:"p",href:"/docs/api/#registerapplication"},"single-spa props")," are passed to the svelte component as props. The props provided to ",(0,i.kt)("inlineCode",{parentName:"p"},"singleSpaSvelte({props: {...}})")," are merged with the single-spa props."))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3283],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return f}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),p=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=p(e.components);return o.createElement(s.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),m=p(n),d=r,f=m["".concat(s,".").concat(d)]||m[d]||u[d]||i;return n?o.createElement(f,l(l({ref:t},c),{},{components:n})):o.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=d;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[m]="string"==typeof e?e:r,l[1]=a;for(var p=2;p document.getElementById("svelte-app"),\n props: { someData: "data" },\n});\n\nexport const bootstrap = svelteLifecycles.bootstrap;\nexport const mount = svelteLifecycles.mount;\nexport const unmount = svelteLifecycles.unmount;\n')),(0,i.kt)("h2",{id:"options"},"Options"),(0,i.kt)("p",null,"All options are passed to single-spa-svelte via the ",(0,i.kt)("inlineCode",{parentName:"p"},"opts")," parameter when calling ",(0,i.kt)("inlineCode",{parentName:"p"},"singleSpaSvelte(opts)"),". The following options are available:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"component"),": (required) The root component that will be rendered. This component should be compiled by svelte and ",(0,i.kt)("strong",{parentName:"li"},"not")," an iife."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"domElementGetter"),": (optional) A function which will return a dom element. The root component will be mounted in this element. If not provided, a default dom element will be provided.")),(0,i.kt)("p",null,"Svelte-specific options"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"anchor"),": (optional) A child of the dom element identified by ",(0,i.kt)("inlineCode",{parentName:"li"},"domElementGetter")," to render the component immediately before"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"hydrate"),": (optional) See the svelte ",(0,i.kt)("a",{parentName:"li",href:"https://svelte.dev/docs#Creating_a_component"},"Creating a component")," documentation"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"intro"),": (optional) If ",(0,i.kt)("inlineCode",{parentName:"li"},"true"),", will play transitions on initial render, rather than waiting for subsequent state changes"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"props"),": (optional) An object of properties to supply to the component")),(0,i.kt)("h2",{id:"single-spa-props"},"single-spa props"),(0,i.kt)("p",null,"All ",(0,i.kt)("a",{parentName:"p",href:"/docs/api/#registerapplication"},"single-spa props")," are passed to the svelte component as props. The props provided to ",(0,i.kt)("inlineCode",{parentName:"p"},"singleSpaSvelte({props: {...}})")," are merged with the single-spa props."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/076c147e.9923f778.js b/assets/js/076c147e.821b8568.js similarity index 68% rename from assets/js/076c147e.9923f778.js rename to assets/js/076c147e.821b8568.js index 92c9a49fd..d3c9b61b2 100644 --- a/assets/js/076c147e.9923f778.js +++ b/assets/js/076c147e.821b8568.js @@ -1 +1 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[79],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return f}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),p=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=p(e.components);return o.createElement(l.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),c=p(n),m=r,f=c["".concat(l,".").concat(m)]||c[m]||u[m]||i;return n?o.createElement(f,a(a({ref:t},d),{},{components:n})):o.createElement(f,a({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:r,a[1]=s;for(var p=2;p=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),p=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=p(e.components);return o.createElement(l.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),c=p(n),m=r,f=c["".concat(l,".").concat(m)]||c[m]||u[m]||i;return n?o.createElement(f,a(a({ref:t},d),{},{components:n})):o.createElement(f,a({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:r,a[1]=s;for(var p=2;p=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),m=p(n),d=o,f=m["".concat(s,".").concat(d)]||m[d]||u[d]||i;return n?r.createElement(f,l(l({ref:t},c),{},{components:n})):r.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,l=new Array(i);l[0]=d;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[m]="string"==typeof e?e:o,l[1]=a;for(var p=2;p document.getElementById('svelte-app'),\n data: { someData: 'data' }\n});\n\nexport const bootstrap = svelteLifecycles.bootstrap;\nexport const mount = svelteLifecycles.mount;\nexport const unmount = svelteLifecycles.unmount;\n")),(0,i.kt)("h2",{id:"options"},"Options"),(0,i.kt)("p",null,"All options are passed to single-spa-svelte via the ",(0,i.kt)("inlineCode",{parentName:"p"},"opts")," parameter when calling ",(0,i.kt)("inlineCode",{parentName:"p"},"singleSpaSvelte(opts)"),". The following options are available:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"component"),": (required) The root component that will be rendered. This component should be compiled by svelte and ",(0,i.kt)("strong",{parentName:"li"},"not")," an iife."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"domElementGetter"),": (required) A function which will return a dom element. The root component will be mounted in this element.")),(0,i.kt)("p",null,"Svelte-specific options"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"anchor"),": (optional) A child of the dom element identified by ",(0,i.kt)("inlineCode",{parentName:"li"},"domElementGetter")," to render the component immediately before"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"hydrate"),": (optional) See the svelte ",(0,i.kt)("a",{parentName:"li",href:"https://svelte.dev/docs#Creating_a_component"},"Creating a component")," documentation"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"intro"),": (optional) If ",(0,i.kt)("inlineCode",{parentName:"li"},"true"),", will play transitions on initial render, rather than waiting for subsequent state changes"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"props"),": (optional) An object of properties to supply to the component")))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2449],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return f}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),m=p(n),d=o,f=m["".concat(s,".").concat(d)]||m[d]||u[d]||i;return n?r.createElement(f,l(l({ref:t},c),{},{components:n})):r.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,l=new Array(i);l[0]=d;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[m]="string"==typeof e?e:o,l[1]=a;for(var p=2;p document.getElementById("svelte-app"),\n data: { someData: "data" },\n});\n\nexport const bootstrap = svelteLifecycles.bootstrap;\nexport const mount = svelteLifecycles.mount;\nexport const unmount = svelteLifecycles.unmount;\n')),(0,i.kt)("h2",{id:"options"},"Options"),(0,i.kt)("p",null,"All options are passed to single-spa-svelte via the ",(0,i.kt)("inlineCode",{parentName:"p"},"opts")," parameter when calling ",(0,i.kt)("inlineCode",{parentName:"p"},"singleSpaSvelte(opts)"),". The following options are available:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"component"),": (required) The root component that will be rendered. This component should be compiled by svelte and ",(0,i.kt)("strong",{parentName:"li"},"not")," an iife."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"domElementGetter"),": (required) A function which will return a dom element. The root component will be mounted in this element.")),(0,i.kt)("p",null,"Svelte-specific options"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"anchor"),": (optional) A child of the dom element identified by ",(0,i.kt)("inlineCode",{parentName:"li"},"domElementGetter")," to render the component immediately before"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"hydrate"),": (optional) See the svelte ",(0,i.kt)("a",{parentName:"li",href:"https://svelte.dev/docs#Creating_a_component"},"Creating a component")," documentation"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"intro"),": (optional) If ",(0,i.kt)("inlineCode",{parentName:"li"},"true"),", will play transitions on initial render, rather than waiting for subsequent state changes"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"props"),": (optional) An object of properties to supply to the component")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0abd59c6.6ad3a681.js b/assets/js/0abd59c6.6ad3a681.js deleted file mode 100644 index 5fc9eb558..000000000 --- a/assets/js/0abd59c6.6ad3a681.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1055],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return h}});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=a.createContext({}),p=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},u=function(e){var t=p(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=p(n),m=o,h=d["".concat(s,".").concat(m)]||d[m]||c[m]||i;return n?a.createElement(h,r(r({ref:t},u),{},{components:n})):a.createElement(h,r({ref:t},u))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,r=new Array(i);r[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:o,r[1]=l;for(var p=2;p<template>",id:"template",level:3},{value:"<single-spa-router>",id:"single-spa-router",level:3},{value:"<route>",id:"route",level:3},{value:"<application>",id:"application",level:3},{value:"<fragment>",id:"fragment",level:3},{value:"<assets>",id:"assets",level:3},{value:"<redirect>",id:"redirect",level:3},{value:"DOM elements",id:"dom-elements",level:3},{value:"JSON DOM Nodes",id:"json-dom-nodes",level:4},{value:"HTMLElement",id:"htmlelement",level:5},{value:"Text Nodes",id:"text-nodes",level:5},{value:"Comment Nodes",id:"comment-nodes",level:5},{value:"Props",id:"props",level:2},{value:"JSON",id:"json",level:3},{value:"HTML",id:"html",level:3},{value:"Loading UIs",id:"loading-uis",level:2},{value:"Transitions",id:"transitions",level:2},{value:"Default Routes (404 Not Found)",id:"default-routes-404-not-found",level:2},{value:"Error UIs",id:"error-uis",level:2}],c={toc:d};function m(e){var t=e.components,n=(0,o.Z)(e,r);return(0,i.kt)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"A layout is a combination of HTMLElements, routes, and ",(0,i.kt)("a",{parentName:"p",href:"/docs/building-applications/"},"single-spa applications"),". Layout is defined statically in your ",(0,i.kt)("a",{parentName:"p",href:"/docs/configuration/"},"root config")," to handle your top level routes and dom elements. Single-spa-layout should not be used outside of the root config; instead, a UI framework (React, Angular, Vue) should handle layouts within the applications."),(0,i.kt)("p",null,"You may define layouts as either HTML templates or JSON objects. Defining in JSON is supported for organizations who prefer storing their layout definitions in a database instead of code. Both HTML and JSON layouts have the same feature set. However, storing layouts in code is generally preferred and encouraged by default. If you're just getting started with single-spa-layout, we encourage using an HTML template."),(0,i.kt)("p",null,"Once you define your layout, you should ",(0,i.kt)("inlineCode",{parentName:"p"},"constructRoutes"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"constructApplications"),", and ",(0,i.kt)("inlineCode",{parentName:"p"},"constructLayoutEngine"),"."),(0,i.kt)("h2",{id:"html-layouts"},"HTML Layouts"),(0,i.kt)("p",null,"You may define HTML layouts either within your root config's index.html file, or within a javascript string that is parsed as HTML. We generally encourage defining the layout within your root config's index.html file."),(0,i.kt)("p",null,"To define a layout within your index.html file, create a ",(0,i.kt)("inlineCode",{parentName:"p"},'