sample-piral 0.14.14-beta.3748 → 0.14.14-beta.3767

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/app/index.d.ts CHANGED
@@ -1281,6 +1281,10 @@ declare module "sample-piral" {
1281
1281
  * The layout used for pages.
1282
1282
  */
1283
1283
  Layout: React.ComponentType<LayoutProps>;
1284
+ /**
1285
+ * The route switch used for determining the route registration.
1286
+ */
1287
+ RouteSwitch: React.ComponentType<RouteSwitchProps>;
1284
1288
  /**
1285
1289
  * A component that can be used for debugging purposes.
1286
1290
  */
@@ -1681,6 +1685,29 @@ declare module "sample-piral" {
1681
1685
  currentLayout: LayoutType;
1682
1686
  }
1683
1687
 
1688
+ /**
1689
+ * The props of the RouteSwitch component.
1690
+ */
1691
+ export interface RouteSwitchProps extends ReactRouter.SwitchProps {
1692
+ /**
1693
+ * The component that should be used in case nothing was found.
1694
+ */
1695
+ NotFound: React.ComponentType<ReactRouter.RouteComponentProps>;
1696
+ /**
1697
+ * The component to register for the different paths.
1698
+ */
1699
+ paths: Array<{
1700
+ /**
1701
+ * The exact path to use.
1702
+ */
1703
+ path: string;
1704
+ /**
1705
+ * The component to register for this path.
1706
+ */
1707
+ Component: React.ComponentType<ReactRouter.RouteComponentProps>;
1708
+ }>;
1709
+ }
1710
+
1684
1711
  /**
1685
1712
  * Custom parts of the global registry state defined outside of piral-core.
1686
1713
  */
@@ -2375,6 +2375,44 @@ DefaultLoadingIndicator.displayName = 'DefaultLoadingIndicator';
2375
2375
 
2376
2376
  /***/ }),
2377
2377
 
2378
+ /***/ "../../framework/piral-core/esm/components/DefaultRouteSwitch.js":
2379
+ /*!***********************************************************************!*\
2380
+ !*** ../../framework/piral-core/esm/components/DefaultRouteSwitch.js ***!
2381
+ \***********************************************************************/
2382
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2383
+
2384
+ "use strict";
2385
+ __webpack_require__.r(__webpack_exports__);
2386
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2387
+ /* harmony export */ "DefaultRouteSwitch": () => (/* binding */ DefaultRouteSwitch)
2388
+ /* harmony export */ });
2389
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js");
2390
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
2391
+ /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-router */ "../../../node_modules/react-router/esm/react-router.js");
2392
+
2393
+
2394
+
2395
+ var DefaultRouteSwitch = function DefaultRouteSwitch(_a) {
2396
+ var paths = _a.paths,
2397
+ NotFound = _a.NotFound,
2398
+ props = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__rest)(_a, ["paths", "NotFound"]);
2399
+
2400
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_2__.Switch, Object.assign({}, props), paths.map(function (_ref) {
2401
+ var path = _ref.path,
2402
+ Component = _ref.Component;
2403
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_2__.Route, {
2404
+ exact: true,
2405
+ key: path,
2406
+ path: path,
2407
+ component: Component
2408
+ });
2409
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_2__.Route, {
2410
+ component: NotFound
2411
+ }));
2412
+ };
2413
+
2414
+ /***/ }),
2415
+
2378
2416
  /***/ "../../framework/piral-core/esm/components/DefaultRouter.js":
2379
2417
  /*!******************************************************************!*\
2380
2418
  !*** ../../framework/piral-core/esm/components/DefaultRouter.js ***!
@@ -2756,19 +2794,18 @@ __webpack_require__.r(__webpack_exports__);
2756
2794
  /* harmony export */ });
2757
2795
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js");
2758
2796
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
2759
- /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router */ "../../../node_modules/react-router/esm/react-router.js");
2760
2797
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2761
2798
 
2762
2799
 
2763
2800
 
2764
-
2765
2801
  /**
2766
2802
  * The component for defining the exclusive routes to be used.
2767
2803
  */
2768
2804
 
2769
2805
  var PiralRoutes = function PiralRoutes(_a) {
2770
2806
  var NotFound = _a.NotFound,
2771
- props = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__rest)(_a, ["NotFound"]);
2807
+ RouteSwitch = _a.RouteSwitch,
2808
+ props = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__rest)(_a, ["NotFound", "RouteSwitch"]);
2772
2809
 
2773
2810
  var routes = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalState)(function (s) {
2774
2811
  return s.routes;
@@ -2776,23 +2813,23 @@ var PiralRoutes = function PiralRoutes(_a) {
2776
2813
  var pages = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalState)(function (s) {
2777
2814
  return s.registry.pages;
2778
2815
  });
2779
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_3__.Switch, Object.assign({}, props), Object.keys(routes).map(function (url) {
2780
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_3__.Route, {
2781
- exact: true,
2782
- key: url,
2783
- path: url,
2784
- component: routes[url]
2816
+ var paths = [];
2817
+ Object.keys(routes).map(function (path) {
2818
+ return paths.push({
2819
+ path: path,
2820
+ Component: routes[path]
2785
2821
  });
2786
- }), Object.keys(pages).map(function (url) {
2787
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_3__.Route, {
2788
- exact: true,
2789
- key: url,
2790
- path: url,
2791
- component: pages[url].component
2822
+ });
2823
+ Object.keys(pages).map(function (path) {
2824
+ return paths.push({
2825
+ path: path,
2826
+ Component: pages[path].component
2792
2827
  });
2793
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_3__.Route, {
2794
- component: NotFound
2795
- }));
2828
+ });
2829
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(RouteSwitch, Object.assign({
2830
+ NotFound: NotFound,
2831
+ paths: paths
2832
+ }, props));
2796
2833
  };
2797
2834
  PiralRoutes.displayName = 'Routes';
2798
2835
 
@@ -2811,8 +2848,8 @@ __webpack_require__.r(__webpack_exports__);
2811
2848
  /* harmony export */ });
2812
2849
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
2813
2850
  /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router */ "../../../node_modules/react-router/esm/react-router.js");
2814
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/components.js");
2815
2851
  /* harmony import */ var _PiralRoutes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PiralRoutes */ "../../framework/piral-core/esm/components/PiralRoutes.js");
2852
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/components.js");
2816
2853
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2817
2854
 
2818
2855
 
@@ -2840,7 +2877,8 @@ var PiralContent = function PiralContent() {
2840
2877
  }) : loading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_1__.PiralLoadingIndicator, null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_1__.PiralLayout, {
2841
2878
  currentLayout: layout
2842
2879
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_PiralRoutes__WEBPACK_IMPORTED_MODULE_3__.PiralRoutes, {
2843
- NotFound: NotFound
2880
+ NotFound: NotFound,
2881
+ RouteSwitch: _components__WEBPACK_IMPORTED_MODULE_1__.PiralRouteSwitch
2844
2882
  }));
2845
2883
  };
2846
2884
 
@@ -3259,6 +3297,7 @@ __webpack_require__.r(__webpack_exports__);
3259
3297
  /* harmony export */ "PiralError": () => (/* binding */ PiralError),
3260
3298
  /* harmony export */ "PiralLoadingIndicator": () => (/* binding */ PiralLoadingIndicator),
3261
3299
  /* harmony export */ "PiralRouter": () => (/* binding */ PiralRouter),
3300
+ /* harmony export */ "PiralRouteSwitch": () => (/* binding */ PiralRouteSwitch),
3262
3301
  /* harmony export */ "PiralLayout": () => (/* binding */ PiralLayout),
3263
3302
  /* harmony export */ "PiralDebug": () => (/* binding */ PiralDebug)
3264
3303
  /* harmony export */ });
@@ -3270,7 +3309,8 @@ function getPiralComponent(name) {
3270
3309
  return function (props) {
3271
3310
  var Component = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useGlobalState)(function (s) {
3272
3311
  return s.components[name];
3273
- });
3312
+ }); // tslint:disable-next-line:no-null-keyword
3313
+
3274
3314
  return Component ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, Object.assign({}, props)) : null;
3275
3315
  };
3276
3316
  }
@@ -3292,6 +3332,12 @@ var PiralLoadingIndicator = getPiralComponent('LoadingIndicator');
3292
3332
  */
3293
3333
 
3294
3334
  var PiralRouter = getPiralComponent('Router');
3335
+ /**
3336
+ * Gets the currently registered Route Switch component.
3337
+ * By default the DefaultRouteSwitch component is used.
3338
+ */
3339
+
3340
+ var PiralRouteSwitch = getPiralComponent('RouteSwitch');
3295
3341
  /**
3296
3342
  * Gets the currently registered Layout component.
3297
3343
  * By default the children are rendered.
@@ -3320,50 +3366,54 @@ __webpack_require__.r(__webpack_exports__);
3320
3366
  /* harmony export */ "PiralError": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_0__.PiralError),
3321
3367
  /* harmony export */ "PiralLayout": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_0__.PiralLayout),
3322
3368
  /* harmony export */ "PiralLoadingIndicator": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_0__.PiralLoadingIndicator),
3369
+ /* harmony export */ "PiralRouteSwitch": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_0__.PiralRouteSwitch),
3323
3370
  /* harmony export */ "PiralRouter": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_0__.PiralRouter),
3324
3371
  /* harmony export */ "getPiralComponent": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_0__.getPiralComponent),
3325
3372
  /* harmony export */ "DefaultErrorInfo": () => (/* reexport safe */ _DefaultErrorInfo__WEBPACK_IMPORTED_MODULE_1__.DefaultErrorInfo),
3326
3373
  /* harmony export */ "DefaultLayout": () => (/* reexport safe */ _DefaultLayout__WEBPACK_IMPORTED_MODULE_2__.DefaultLayout),
3327
3374
  /* harmony export */ "DefaultLoadingIndicator": () => (/* reexport safe */ _DefaultLoader__WEBPACK_IMPORTED_MODULE_3__.DefaultLoadingIndicator),
3328
3375
  /* harmony export */ "DefaultRouter": () => (/* reexport safe */ _DefaultRouter__WEBPACK_IMPORTED_MODULE_4__.DefaultRouter),
3329
- /* harmony export */ "ErrorBoundary": () => (/* reexport safe */ _ErrorBoundary__WEBPACK_IMPORTED_MODULE_5__.ErrorBoundary),
3330
- /* harmony export */ "ExtensionSlot": () => (/* reexport safe */ _ExtensionSlot__WEBPACK_IMPORTED_MODULE_6__.ExtensionSlot),
3331
- /* harmony export */ "Mediator": () => (/* reexport safe */ _Mediator__WEBPACK_IMPORTED_MODULE_7__.Mediator),
3332
- /* harmony export */ "PiralRoutes": () => (/* reexport safe */ _PiralRoutes__WEBPACK_IMPORTED_MODULE_8__.PiralRoutes),
3333
- /* harmony export */ "PiralView": () => (/* reexport safe */ _PiralView__WEBPACK_IMPORTED_MODULE_9__.PiralView),
3334
- /* harmony export */ "PortalRenderer": () => (/* reexport safe */ _PortalRenderer__WEBPACK_IMPORTED_MODULE_10__.PortalRenderer),
3335
- /* harmony export */ "ResponsiveLayout": () => (/* reexport safe */ _ResponsiveLayout__WEBPACK_IMPORTED_MODULE_11__.ResponsiveLayout),
3336
- /* harmony export */ "SetComponent": () => (/* reexport safe */ _SetComponent__WEBPACK_IMPORTED_MODULE_12__.SetComponent),
3337
- /* harmony export */ "SetError": () => (/* reexport safe */ _SetError__WEBPACK_IMPORTED_MODULE_13__.SetError),
3338
- /* harmony export */ "SetErrors": () => (/* reexport safe */ _SetErrors__WEBPACK_IMPORTED_MODULE_14__.SetErrors),
3339
- /* harmony export */ "SetLayout": () => (/* reexport safe */ _SetLayout__WEBPACK_IMPORTED_MODULE_15__.SetLayout),
3340
- /* harmony export */ "SetProvider": () => (/* reexport safe */ _SetProvider__WEBPACK_IMPORTED_MODULE_16__.SetProvider),
3341
- /* harmony export */ "SetRedirect": () => (/* reexport safe */ _SetRedirect__WEBPACK_IMPORTED_MODULE_17__.SetRedirect),
3342
- /* harmony export */ "SetRoute": () => (/* reexport safe */ _SetRoute__WEBPACK_IMPORTED_MODULE_18__.SetRoute),
3343
- /* harmony export */ "SwitchErrorInfo": () => (/* reexport safe */ _SwitchErrorInfo__WEBPACK_IMPORTED_MODULE_19__.SwitchErrorInfo),
3344
- /* harmony export */ "wrapComponent": () => (/* reexport safe */ _wrapComponent__WEBPACK_IMPORTED_MODULE_20__.wrapComponent)
3376
+ /* harmony export */ "DefaultRouteSwitch": () => (/* reexport safe */ _DefaultRouteSwitch__WEBPACK_IMPORTED_MODULE_5__.DefaultRouteSwitch),
3377
+ /* harmony export */ "ErrorBoundary": () => (/* reexport safe */ _ErrorBoundary__WEBPACK_IMPORTED_MODULE_6__.ErrorBoundary),
3378
+ /* harmony export */ "ExtensionSlot": () => (/* reexport safe */ _ExtensionSlot__WEBPACK_IMPORTED_MODULE_7__.ExtensionSlot),
3379
+ /* harmony export */ "Mediator": () => (/* reexport safe */ _Mediator__WEBPACK_IMPORTED_MODULE_8__.Mediator),
3380
+ /* harmony export */ "PiralRoutes": () => (/* reexport safe */ _PiralRoutes__WEBPACK_IMPORTED_MODULE_9__.PiralRoutes),
3381
+ /* harmony export */ "PiralView": () => (/* reexport safe */ _PiralView__WEBPACK_IMPORTED_MODULE_10__.PiralView),
3382
+ /* harmony export */ "PortalRenderer": () => (/* reexport safe */ _PortalRenderer__WEBPACK_IMPORTED_MODULE_11__.PortalRenderer),
3383
+ /* harmony export */ "ResponsiveLayout": () => (/* reexport safe */ _ResponsiveLayout__WEBPACK_IMPORTED_MODULE_12__.ResponsiveLayout),
3384
+ /* harmony export */ "SetComponent": () => (/* reexport safe */ _SetComponent__WEBPACK_IMPORTED_MODULE_13__.SetComponent),
3385
+ /* harmony export */ "SetError": () => (/* reexport safe */ _SetError__WEBPACK_IMPORTED_MODULE_14__.SetError),
3386
+ /* harmony export */ "SetErrors": () => (/* reexport safe */ _SetErrors__WEBPACK_IMPORTED_MODULE_15__.SetErrors),
3387
+ /* harmony export */ "SetLayout": () => (/* reexport safe */ _SetLayout__WEBPACK_IMPORTED_MODULE_16__.SetLayout),
3388
+ /* harmony export */ "SetProvider": () => (/* reexport safe */ _SetProvider__WEBPACK_IMPORTED_MODULE_17__.SetProvider),
3389
+ /* harmony export */ "SetRedirect": () => (/* reexport safe */ _SetRedirect__WEBPACK_IMPORTED_MODULE_18__.SetRedirect),
3390
+ /* harmony export */ "SetRoute": () => (/* reexport safe */ _SetRoute__WEBPACK_IMPORTED_MODULE_19__.SetRoute),
3391
+ /* harmony export */ "SwitchErrorInfo": () => (/* reexport safe */ _SwitchErrorInfo__WEBPACK_IMPORTED_MODULE_20__.SwitchErrorInfo),
3392
+ /* harmony export */ "wrapComponent": () => (/* reexport safe */ _wrapComponent__WEBPACK_IMPORTED_MODULE_21__.wrapComponent)
3345
3393
  /* harmony export */ });
3346
3394
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/components.js");
3347
3395
  /* harmony import */ var _DefaultErrorInfo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DefaultErrorInfo */ "../../framework/piral-core/esm/components/DefaultErrorInfo.js");
3348
3396
  /* harmony import */ var _DefaultLayout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DefaultLayout */ "../../framework/piral-core/esm/components/DefaultLayout.js");
3349
3397
  /* harmony import */ var _DefaultLoader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./DefaultLoader */ "../../framework/piral-core/esm/components/DefaultLoader.js");
3350
3398
  /* harmony import */ var _DefaultRouter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./DefaultRouter */ "../../framework/piral-core/esm/components/DefaultRouter.js");
3351
- /* harmony import */ var _ErrorBoundary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ErrorBoundary */ "../../framework/piral-core/esm/components/ErrorBoundary.js");
3352
- /* harmony import */ var _ExtensionSlot__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ExtensionSlot */ "../../framework/piral-core/esm/components/ExtensionSlot.js");
3353
- /* harmony import */ var _Mediator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Mediator */ "../../framework/piral-core/esm/components/Mediator.js");
3354
- /* harmony import */ var _PiralRoutes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PiralRoutes */ "../../framework/piral-core/esm/components/PiralRoutes.js");
3355
- /* harmony import */ var _PiralView__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PiralView */ "../../framework/piral-core/esm/components/PiralView.js");
3356
- /* harmony import */ var _PortalRenderer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PortalRenderer */ "../../framework/piral-core/esm/components/PortalRenderer.js");
3357
- /* harmony import */ var _ResponsiveLayout__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ResponsiveLayout */ "../../framework/piral-core/esm/components/ResponsiveLayout.js");
3358
- /* harmony import */ var _SetComponent__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./SetComponent */ "../../framework/piral-core/esm/components/SetComponent.js");
3359
- /* harmony import */ var _SetError__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SetError */ "../../framework/piral-core/esm/components/SetError.js");
3360
- /* harmony import */ var _SetErrors__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./SetErrors */ "../../framework/piral-core/esm/components/SetErrors.js");
3361
- /* harmony import */ var _SetLayout__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./SetLayout */ "../../framework/piral-core/esm/components/SetLayout.js");
3362
- /* harmony import */ var _SetProvider__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./SetProvider */ "../../framework/piral-core/esm/components/SetProvider.js");
3363
- /* harmony import */ var _SetRedirect__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./SetRedirect */ "../../framework/piral-core/esm/components/SetRedirect.js");
3364
- /* harmony import */ var _SetRoute__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./SetRoute */ "../../framework/piral-core/esm/components/SetRoute.js");
3365
- /* harmony import */ var _SwitchErrorInfo__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./SwitchErrorInfo */ "../../framework/piral-core/esm/components/SwitchErrorInfo.js");
3366
- /* harmony import */ var _wrapComponent__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./wrapComponent */ "../../framework/piral-core/esm/components/wrapComponent.js");
3399
+ /* harmony import */ var _DefaultRouteSwitch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./DefaultRouteSwitch */ "../../framework/piral-core/esm/components/DefaultRouteSwitch.js");
3400
+ /* harmony import */ var _ErrorBoundary__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ErrorBoundary */ "../../framework/piral-core/esm/components/ErrorBoundary.js");
3401
+ /* harmony import */ var _ExtensionSlot__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ExtensionSlot */ "../../framework/piral-core/esm/components/ExtensionSlot.js");
3402
+ /* harmony import */ var _Mediator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Mediator */ "../../framework/piral-core/esm/components/Mediator.js");
3403
+ /* harmony import */ var _PiralRoutes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PiralRoutes */ "../../framework/piral-core/esm/components/PiralRoutes.js");
3404
+ /* harmony import */ var _PiralView__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PiralView */ "../../framework/piral-core/esm/components/PiralView.js");
3405
+ /* harmony import */ var _PortalRenderer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PortalRenderer */ "../../framework/piral-core/esm/components/PortalRenderer.js");
3406
+ /* harmony import */ var _ResponsiveLayout__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ResponsiveLayout */ "../../framework/piral-core/esm/components/ResponsiveLayout.js");
3407
+ /* harmony import */ var _SetComponent__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SetComponent */ "../../framework/piral-core/esm/components/SetComponent.js");
3408
+ /* harmony import */ var _SetError__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./SetError */ "../../framework/piral-core/esm/components/SetError.js");
3409
+ /* harmony import */ var _SetErrors__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./SetErrors */ "../../framework/piral-core/esm/components/SetErrors.js");
3410
+ /* harmony import */ var _SetLayout__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./SetLayout */ "../../framework/piral-core/esm/components/SetLayout.js");
3411
+ /* harmony import */ var _SetProvider__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./SetProvider */ "../../framework/piral-core/esm/components/SetProvider.js");
3412
+ /* harmony import */ var _SetRedirect__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./SetRedirect */ "../../framework/piral-core/esm/components/SetRedirect.js");
3413
+ /* harmony import */ var _SetRoute__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./SetRoute */ "../../framework/piral-core/esm/components/SetRoute.js");
3414
+ /* harmony import */ var _SwitchErrorInfo__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./SwitchErrorInfo */ "../../framework/piral-core/esm/components/SwitchErrorInfo.js");
3415
+ /* harmony import */ var _wrapComponent__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./wrapComponent */ "../../framework/piral-core/esm/components/wrapComponent.js");
3416
+
3367
3417
 
3368
3418
 
3369
3419
 
@@ -3561,7 +3611,7 @@ function createInstance() {
3561
3611
  var createApi = apiFactory(context, usedPlugins);
3562
3612
  var root = createApi({
3563
3613
  name: 'root',
3564
- version: "0.14.14-beta.3748" || 0,
3614
+ version: "0.14.14-beta.3767" || 0,
3565
3615
  spec: ''
3566
3616
  });
3567
3617
  var options = (0,_helpers__WEBPACK_IMPORTED_MODULE_6__.createPiletOptions)({
@@ -3920,6 +3970,7 @@ __webpack_require__.r(__webpack_exports__);
3920
3970
  /* harmony export */ "DefaultErrorInfo": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.DefaultErrorInfo),
3921
3971
  /* harmony export */ "DefaultLayout": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.DefaultLayout),
3922
3972
  /* harmony export */ "DefaultLoadingIndicator": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.DefaultLoadingIndicator),
3973
+ /* harmony export */ "DefaultRouteSwitch": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.DefaultRouteSwitch),
3923
3974
  /* harmony export */ "DefaultRouter": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.DefaultRouter),
3924
3975
  /* harmony export */ "ErrorBoundary": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.ErrorBoundary),
3925
3976
  /* harmony export */ "ExtensionSlot": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.ExtensionSlot),
@@ -3928,6 +3979,7 @@ __webpack_require__.r(__webpack_exports__);
3928
3979
  /* harmony export */ "PiralError": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.PiralError),
3929
3980
  /* harmony export */ "PiralLayout": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.PiralLayout),
3930
3981
  /* harmony export */ "PiralLoadingIndicator": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.PiralLoadingIndicator),
3982
+ /* harmony export */ "PiralRouteSwitch": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.PiralRouteSwitch),
3931
3983
  /* harmony export */ "PiralRouter": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.PiralRouter),
3932
3984
  /* harmony export */ "PiralRoutes": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.PiralRoutes),
3933
3985
  /* harmony export */ "PiralView": () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.PiralView),
@@ -4476,12 +4528,13 @@ __webpack_require__.r(__webpack_exports__);
4476
4528
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4477
4529
  /* harmony export */ "createGlobalState": () => (/* binding */ createGlobalState)
4478
4530
  /* harmony export */ });
4479
- /* harmony import */ var _dbeining_react_atom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @dbeining/react-atom */ "../../../node_modules/@dbeining/react-atom/dist/react-atom.js");
4480
- /* harmony import */ var _dbeining_react_atom__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_dbeining_react_atom__WEBPACK_IMPORTED_MODULE_4__);
4531
+ /* harmony import */ var _dbeining_react_atom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @dbeining/react-atom */ "../../../node_modules/@dbeining/react-atom/dist/react-atom.js");
4532
+ /* harmony import */ var _dbeining_react_atom__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_dbeining_react_atom__WEBPACK_IMPORTED_MODULE_5__);
4481
4533
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/DefaultErrorInfo.js");
4482
4534
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/DefaultLoader.js");
4483
4535
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/DefaultRouter.js");
4484
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/DefaultLayout.js");
4536
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/DefaultRouteSwitch.js");
4537
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/DefaultLayout.js");
4485
4538
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4486
4539
 
4487
4540
 
@@ -4517,7 +4570,8 @@ function createGlobalState() {
4517
4570
  ErrorInfo: _components__WEBPACK_IMPORTED_MODULE_0__.DefaultErrorInfo,
4518
4571
  LoadingIndicator: _components__WEBPACK_IMPORTED_MODULE_1__.DefaultLoadingIndicator,
4519
4572
  Router: _components__WEBPACK_IMPORTED_MODULE_2__.DefaultRouter,
4520
- Layout: _components__WEBPACK_IMPORTED_MODULE_3__.DefaultLayout
4573
+ RouteSwitch: _components__WEBPACK_IMPORTED_MODULE_3__.DefaultRouteSwitch,
4574
+ Layout: _components__WEBPACK_IMPORTED_MODULE_4__.DefaultLayout
4521
4575
  },
4522
4576
  errorComponents: {},
4523
4577
  registry: {
@@ -4530,7 +4584,7 @@ function createGlobalState() {
4530
4584
  portals: {},
4531
4585
  modules: []
4532
4586
  };
4533
- return _dbeining_react_atom__WEBPACK_IMPORTED_MODULE_4__.Atom.of(extend(defaultState, customState));
4587
+ return _dbeining_react_atom__WEBPACK_IMPORTED_MODULE_5__.Atom.of(extend(defaultState, customState));
4534
4588
  }
4535
4589
 
4536
4590
  /***/ }),
@@ -5693,6 +5747,7 @@ __webpack_require__.r(__webpack_exports__);
5693
5747
  /* harmony export */ "DefaultErrorInfo": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.DefaultErrorInfo),
5694
5748
  /* harmony export */ "DefaultLayout": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.DefaultLayout),
5695
5749
  /* harmony export */ "DefaultLoadingIndicator": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.DefaultLoadingIndicator),
5750
+ /* harmony export */ "DefaultRouteSwitch": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.DefaultRouteSwitch),
5696
5751
  /* harmony export */ "DefaultRouter": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.DefaultRouter),
5697
5752
  /* harmony export */ "ErrorBoundary": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.ErrorBoundary),
5698
5753
  /* harmony export */ "ExtensionSlot": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.ExtensionSlot),
@@ -5702,6 +5757,7 @@ __webpack_require__.r(__webpack_exports__);
5702
5757
  /* harmony export */ "PiralError": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.PiralError),
5703
5758
  /* harmony export */ "PiralLayout": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.PiralLayout),
5704
5759
  /* harmony export */ "PiralLoadingIndicator": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.PiralLoadingIndicator),
5760
+ /* harmony export */ "PiralRouteSwitch": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.PiralRouteSwitch),
5705
5761
  /* harmony export */ "PiralRouter": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.PiralRouter),
5706
5762
  /* harmony export */ "PiralRoutes": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.PiralRoutes),
5707
5763
  /* harmony export */ "PiralView": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.PiralView),
@@ -8863,6 +8919,89 @@ var Localizer = /*#__PURE__*/function () {
8863
8919
 
8864
8920
  /***/ }),
8865
8921
 
8922
+ /***/ "../../utilities/piral-debug-utils/esm/DebugRouteSwitch.js":
8923
+ /*!*****************************************************************!*\
8924
+ !*** ../../utilities/piral-debug-utils/esm/DebugRouteSwitch.js ***!
8925
+ \*****************************************************************/
8926
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8927
+
8928
+ "use strict";
8929
+ __webpack_require__.r(__webpack_exports__);
8930
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8931
+ /* harmony export */ "freezeRouteRefresh": () => (/* binding */ freezeRouteRefresh),
8932
+ /* harmony export */ "DebugRouteSwitch": () => (/* binding */ DebugRouteSwitch)
8933
+ /* harmony export */ });
8934
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
8935
+ /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router */ "../../../node_modules/react-router/esm/react-router.js");
8936
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8937
+
8938
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8939
+
8940
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8941
+
8942
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8943
+
8944
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
8945
+
8946
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8947
+
8948
+
8949
+
8950
+ var debugRouteCache = {
8951
+ active: 0,
8952
+ paths: [],
8953
+ refresh: undefined
8954
+ };
8955
+ function freezeRouteRefresh() {
8956
+ debugRouteCache.active++;
8957
+ return function () {
8958
+ var _a;
8959
+
8960
+ debugRouteCache.active--;
8961
+
8962
+ if (!debugRouteCache.active) {
8963
+ (_a = debugRouteCache.refresh) === null || _a === void 0 ? void 0 : _a.call(debugRouteCache, function (s) {
8964
+ return s + 1;
8965
+ });
8966
+ }
8967
+ };
8968
+ }
8969
+ var DebugRouteSwitch = function DebugRouteSwitch(_ref) {
8970
+ var paths = _ref.paths,
8971
+ NotFound = _ref.NotFound;
8972
+
8973
+ var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(0),
8974
+ _React$useState2 = _slicedToArray(_React$useState, 2),
8975
+ _ = _React$useState2[0],
8976
+ triggerChange = _React$useState2[1];
8977
+
8978
+ react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
8979
+ debugRouteCache.refresh = triggerChange;
8980
+ return function () {
8981
+ debugRouteCache.refresh = undefined;
8982
+ };
8983
+ }, []);
8984
+
8985
+ if (!debugRouteCache.active) {
8986
+ debugRouteCache.paths = paths;
8987
+ }
8988
+
8989
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_1__.Switch, null, debugRouteCache.paths.map(function (_ref2) {
8990
+ var path = _ref2.path,
8991
+ Component = _ref2.Component;
8992
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_1__.Route, {
8993
+ exact: true,
8994
+ key: path,
8995
+ path: path,
8996
+ component: Component
8997
+ });
8998
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_1__.Route, {
8999
+ component: NotFound
9000
+ }));
9001
+ };
9002
+
9003
+ /***/ }),
9004
+
8866
9005
  /***/ "../../utilities/piral-debug-utils/esm/DebugTracker.js":
8867
9006
  /*!*************************************************************!*\
8868
9007
  !*** ../../utilities/piral-debug-utils/esm/DebugTracker.js ***!
@@ -9349,11 +9488,11 @@ function installPiralDebug(options) {
9349
9488
  debug: debugApiVersion,
9350
9489
  instance: {
9351
9490
  name: "sample-piral",
9352
- version: "0.14.14-beta.3748",
9491
+ version: "0.14.14-beta.3767",
9353
9492
  dependencies: "reactstrap,react,react-dom,react-router,react-router-dom,history,tslib,path-to-regexp,@libre/atom,@dbeining/react-atom"
9354
9493
  },
9355
9494
  build: {
9356
- date: "2022-03-01T10:58:40.309Z",
9495
+ date: "2022-03-02T21:15:45.925Z",
9357
9496
  cli: "0.14.13",
9358
9497
  compat: "0.14"
9359
9498
  },
@@ -9684,8 +9823,9 @@ __webpack_require__.r(__webpack_exports__);
9684
9823
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9685
9824
  /* harmony export */ "withEmulatorPilets": () => (/* binding */ withEmulatorPilets)
9686
9825
  /* harmony export */ });
9687
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/utils.js");
9688
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/setup.js");
9826
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/utils.js");
9827
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/setup.js");
9828
+ /* harmony import */ var _DebugRouteSwitch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DebugRouteSwitch */ "../../utilities/piral-debug-utils/esm/DebugRouteSwitch.js");
9689
9829
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9690
9830
 
9691
9831
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -9699,10 +9839,12 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
9699
9839
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
9700
9840
 
9701
9841
 
9842
+
9702
9843
  function withEmulatorPilets(requestPilets, options) {
9703
9844
  var loadPilet = options.loadPilet,
9704
9845
  createApi = options.createApi,
9705
9846
  injectPilet = options.injectPilet,
9847
+ integrate = options.integrate,
9706
9848
  _options$piletApiFall = options.piletApiFallback,
9707
9849
  piletApiFallback = _options$piletApiFall === void 0 ? '/$pilet-api' : _options$piletApiFall; // check if pilets should be loaded
9708
9850
 
@@ -9713,6 +9855,11 @@ function withEmulatorPilets(requestPilets, options) {
9713
9855
  };
9714
9856
 
9715
9857
  var requester = loadPilets ? requestPilets : noPilets;
9858
+ integrate === null || integrate === void 0 ? void 0 : integrate({
9859
+ components: {
9860
+ RouteSwitch: _DebugRouteSwitch__WEBPACK_IMPORTED_MODULE_0__.DebugRouteSwitch
9861
+ }
9862
+ });
9716
9863
  return function () {
9717
9864
  var promise = requester(); // the window['dbg:pilet-api'] should point to an API address used as a proxy, fall back to '/$pilet-api' if unavailable
9718
9865
 
@@ -9721,6 +9868,8 @@ function withEmulatorPilets(requestPilets, options) {
9721
9868
  var initialTarget = /^https?:/.test(piletApi) ? piletApi : "".concat(location.origin).concat(piletApi[0] === '/' ? '' : '/').concat(piletApi);
9722
9869
  var updateTarget = initialTarget.replace('http', 'ws');
9723
9870
  var ws = new WebSocket(updateTarget);
9871
+ var timeoutCache = {};
9872
+ var timeout = 150;
9724
9873
  var appendix = fetch(initialTarget).then(function (res) {
9725
9874
  return res.json();
9726
9875
  }).then(function (item) {
@@ -9733,23 +9882,35 @@ function withEmulatorPilets(requestPilets, options) {
9733
9882
 
9734
9883
  if (!hardRefresh) {
9735
9884
  // standard setting is to just perform an inject
9736
- var meta = JSON.parse(data); // tear down pilet
9885
+ var meta = JSON.parse(data);
9886
+ var name = meta.name; // like a debounce; only one change of the current pilet should be actively processed
9737
9887
 
9738
- injectPilet({
9739
- name: meta.name
9740
- }); // load and evaluate pilet
9888
+ clearTimeout(timeoutCache[name]); // some bundlers may have fired before writing to the disk
9889
+ // so we give them a bit of time before actually loading the pilet
9741
9890
 
9742
- loadPilet(meta).then(function (pilet) {
9743
- try {
9744
- if ((0,piral_base__WEBPACK_IMPORTED_MODULE_0__.isfunc)(injectPilet)) {
9745
- injectPilet(pilet);
9746
- }
9891
+ timeoutCache[name] = setTimeout(function () {
9892
+ // we should make sure to only refresh the page / router if pilets have been loaded
9893
+ var unfreeze = (0,_DebugRouteSwitch__WEBPACK_IMPORTED_MODULE_0__.freezeRouteRefresh)(); // tear down pilet
9747
9894
 
9748
- (0,piral_base__WEBPACK_IMPORTED_MODULE_1__.setupPilet)(pilet, createApi);
9749
- } catch (error) {
9750
- console.error(error);
9751
- }
9752
- });
9895
+ injectPilet({
9896
+ name: name
9897
+ }); // load and evaluate pilet
9898
+
9899
+ loadPilet(meta).then(function (pilet) {
9900
+ try {
9901
+ if ((0,piral_base__WEBPACK_IMPORTED_MODULE_1__.isfunc)(injectPilet)) {
9902
+ injectPilet(pilet);
9903
+ } // setup actual pilet
9904
+
9905
+
9906
+ (0,piral_base__WEBPACK_IMPORTED_MODULE_2__.setupPilet)(pilet, createApi); // disable route cache, should be zero again and lead to route refresh
9907
+
9908
+ unfreeze();
9909
+ } catch (error) {
9910
+ console.error(error);
9911
+ }
9912
+ });
9913
+ }, timeout);
9753
9914
  } else {
9754
9915
  location.reload();
9755
9916
  }
@@ -9915,7 +10076,14 @@ function integrate(context, options) {
9915
10076
  options.fetchPilets = (0, piral_debug_utils_1.withEmulatorPilets)(options.fetchPilets, {
9916
10077
  injectPilet: context.injectPilet,
9917
10078
  createApi: options.createApi,
9918
- loadPilet: options.loadPilet
10079
+ loadPilet: options.loadPilet,
10080
+ integrate: function integrate(emulator) {
10081
+ context.dispatch(function (s) {
10082
+ return Object.assign(Object.assign({}, s), {
10083
+ components: Object.assign(Object.assign({}, s.components), emulator.components)
10084
+ });
10085
+ });
10086
+ }
9919
10087
  });
9920
10088
  }
9921
10089
 
@@ -80725,4 +80893,4 @@ var layout_1 = __webpack_require__(/*! ./layout */ "./src/layout.tsx");
80725
80893
 
80726
80894
  /******/ })()
80727
80895
  ;
80728
- //# sourceMappingURL=index.c7bc70.js.map
80896
+ //# sourceMappingURL=index.e77abf.js.map