sample-piral 0.14.8-beta.3500 → 0.14.8-beta.3511

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.
@@ -1812,8 +1812,10 @@ __webpack_require__.r(__webpack_exports__);
1812
1812
  /* harmony import */ var _createInstance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createInstance */ "../../framework/piral-core/esm/createInstance.js");
1813
1813
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/ResponsiveLayout.js");
1814
1814
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/Mediator.js");
1815
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/PiralView.js");
1816
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/PortalRenderer.js");
1815
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/PiralView.js");
1816
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components */ "../../framework/piral-core/esm/components/PortalRenderer.js");
1817
+ /* harmony import */ var _RootListener__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RootListener */ "../../framework/piral-core/esm/RootListener.js");
1818
+
1817
1819
 
1818
1820
 
1819
1821
 
@@ -1844,8 +1846,9 @@ var Piral = function Piral(_ref) {
1844
1846
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_3__.ResponsiveLayout, {
1845
1847
  breakpoints: breakpoints
1846
1848
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_4__.Mediator, {
1847
- options: instance.options
1848
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_5__.PiralView, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_6__.PortalRenderer, {
1849
+ options: instance.options,
1850
+ key: instance.id
1851
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_RootListener__WEBPACK_IMPORTED_MODULE_5__.RootListener, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_6__.PiralView, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_7__.PortalRenderer, {
1849
1852
  id: "root"
1850
1853
  }), children));
1851
1854
  };
@@ -1853,6 +1856,65 @@ Piral.displayName = 'Piral';
1853
1856
 
1854
1857
  /***/ }),
1855
1858
 
1859
+ /***/ "../../framework/piral-core/esm/RootListener.js":
1860
+ /*!******************************************************!*\
1861
+ !*** ../../framework/piral-core/esm/RootListener.js ***!
1862
+ \******************************************************/
1863
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1864
+
1865
+ "use strict";
1866
+ __webpack_require__.r(__webpack_exports__);
1867
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1868
+ /* harmony export */ "RootListener": () => (/* binding */ RootListener)
1869
+ /* harmony export */ });
1870
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
1871
+ /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! . */ "../../framework/piral-core/esm/hooks/globalState.js");
1872
+ /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/element.js");
1873
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
1874
+
1875
+ 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."); }
1876
+
1877
+ 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); }
1878
+
1879
+ 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; }
1880
+
1881
+ 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; }
1882
+
1883
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
1884
+
1885
+
1886
+
1887
+
1888
+ var RootListener = function RootListener() {
1889
+ var context = (0,___WEBPACK_IMPORTED_MODULE_1__.useGlobalStateContext)();
1890
+ react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect(function () {
1891
+ if (typeof document !== 'undefined') {
1892
+ var handler = function handler(ev) {
1893
+ ev.stopPropagation();
1894
+ var _ev$detail = ev.detail,
1895
+ target = _ev$detail.target,
1896
+ props = _ev$detail.props;
1897
+
1898
+ var _renderElement = (0,_modules__WEBPACK_IMPORTED_MODULE_2__.renderElement)(context, target, props),
1899
+ _renderElement2 = _slicedToArray(_renderElement, 2),
1900
+ dispose = _renderElement2[0],
1901
+ update = _renderElement2[1];
1902
+
1903
+ target.dispose = dispose;
1904
+ target.update = update;
1905
+ };
1906
+
1907
+ document.body.addEventListener('render-html', handler, false);
1908
+ return function () {
1909
+ document.body.removeEventListener('render-html', handler, false);
1910
+ };
1911
+ }
1912
+ }, [context]);
1913
+ return null;
1914
+ };
1915
+
1916
+ /***/ }),
1917
+
1856
1918
  /***/ "../../framework/piral-core/esm/actions/app.js":
1857
1919
  /*!*****************************************************!*\
1858
1920
  !*** ../../framework/piral-core/esm/actions/app.js ***!
@@ -2427,7 +2489,8 @@ function ExtensionSlot(props) {
2427
2489
  _props$render = props.render,
2428
2490
  render = _props$render === void 0 ? _utils__WEBPACK_IMPORTED_MODULE_1__.defaultRender : _props$render,
2429
2491
  empty = props.empty,
2430
- params = props.params;
2492
+ params = props.params,
2493
+ children = props.children;
2431
2494
  var extensions = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalState)(function (s) {
2432
2495
  return s.registry.extensions[name] || _utils__WEBPACK_IMPORTED_MODULE_3__.none;
2433
2496
  });
@@ -2438,6 +2501,7 @@ function ExtensionSlot(props) {
2438
2501
  defaults = _ref$defaults === void 0 ? {} : _ref$defaults;
2439
2502
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, {
2440
2503
  key: "".concat((reference === null || reference === void 0 ? void 0 : reference.displayName) || '_').concat(i),
2504
+ children: children,
2441
2505
  params: Object.assign(Object.assign({}, defaults), params || {})
2442
2506
  });
2443
2507
  }));
@@ -2459,7 +2523,7 @@ __webpack_require__.r(__webpack_exports__);
2459
2523
  /* harmony export */ });
2460
2524
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
2461
2525
  /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/create.js");
2462
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/action.js");
2526
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2463
2527
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
2464
2528
 
2465
2529
 
@@ -2471,20 +2535,30 @@ __webpack_require__.r(__webpack_exports__);
2471
2535
 
2472
2536
  var Mediator = function Mediator(_ref) {
2473
2537
  var options = _ref.options;
2474
- var initialize = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useAction)('initialize');
2538
+
2539
+ var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useGlobalStateContext)(),
2540
+ initialize = _useGlobalStateContex.initialize,
2541
+ readState = _useGlobalStateContex.readState;
2542
+
2475
2543
  react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
2476
- var _startLoadingPilets = (0,piral_base__WEBPACK_IMPORTED_MODULE_2__.startLoadingPilets)(options),
2477
- connect = _startLoadingPilets.connect,
2478
- disconnect = _startLoadingPilets.disconnect;
2544
+ var shouldLoad = readState(function (s) {
2545
+ return s.app.loading;
2546
+ });
2479
2547
 
2480
- var notifier = function notifier(error, pilets, loaded) {
2481
- initialize(!loaded, error, pilets);
2482
- };
2548
+ if (shouldLoad) {
2549
+ var _startLoadingPilets = (0,piral_base__WEBPACK_IMPORTED_MODULE_2__.startLoadingPilets)(options),
2550
+ connect = _startLoadingPilets.connect,
2551
+ disconnect = _startLoadingPilets.disconnect;
2483
2552
 
2484
- connect(notifier);
2485
- return function () {
2486
- return disconnect(notifier);
2487
- };
2553
+ var notifier = function notifier(error, pilets, loaded) {
2554
+ initialize(!loaded, error, pilets);
2555
+ };
2556
+
2557
+ connect(notifier);
2558
+ return function () {
2559
+ return disconnect(notifier);
2560
+ };
2561
+ }
2488
2562
  }, _utils__WEBPACK_IMPORTED_MODULE_3__.none); // tslint:disable-next-line:no-null-keyword
2489
2563
 
2490
2564
  return null;
@@ -2666,10 +2740,9 @@ __webpack_require__.r(__webpack_exports__);
2666
2740
  /* harmony export */ });
2667
2741
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
2668
2742
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2669
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/action.js");
2670
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/media.js");
2743
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/media.js");
2671
2744
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/media.js");
2672
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/react.js");
2745
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/react.js");
2673
2746
 
2674
2747
 
2675
2748
 
@@ -2684,14 +2757,17 @@ var ResponsiveLayout = function ResponsiveLayout(_ref) {
2684
2757
  var current = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalState)(function (m) {
2685
2758
  return m.app.layout;
2686
2759
  }) || 'desktop';
2687
- var changeTo = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useAction)('changeLayout');
2688
- var selected = (0,_hooks__WEBPACK_IMPORTED_MODULE_4__.useMedia)(breakpoints, _utils__WEBPACK_IMPORTED_MODULE_1__.defaultLayouts, current);
2760
+
2761
+ var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalStateContext)(),
2762
+ changeLayout = _useGlobalStateContex.changeLayout;
2763
+
2764
+ var selected = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useMedia)(breakpoints, _utils__WEBPACK_IMPORTED_MODULE_1__.defaultLayouts, current);
2689
2765
  react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
2690
2766
  if (selected !== current) {
2691
- changeTo(selected);
2767
+ changeLayout(selected);
2692
2768
  }
2693
2769
  }, [selected]);
2694
- return (0,_utils__WEBPACK_IMPORTED_MODULE_5__.defaultRender)(children);
2770
+ return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.defaultRender)(children);
2695
2771
  };
2696
2772
  ResponsiveLayout.displayName = 'ResponsiveLayout';
2697
2773
 
@@ -2708,7 +2784,7 @@ __webpack_require__.r(__webpack_exports__);
2708
2784
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2709
2785
  /* harmony export */ "SetComponent": () => (/* binding */ SetComponent)
2710
2786
  /* harmony export */ });
2711
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/action.js");
2787
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2712
2788
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/setter.js");
2713
2789
 
2714
2790
  /**
@@ -2718,7 +2794,10 @@ __webpack_require__.r(__webpack_exports__);
2718
2794
  function SetComponent(_ref) {
2719
2795
  var name = _ref.name,
2720
2796
  component = _ref.component;
2721
- var setComponent = (0,_hooks__WEBPACK_IMPORTED_MODULE_0__.useAction)('setComponent');
2797
+
2798
+ var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_0__.useGlobalStateContext)(),
2799
+ setComponent = _useGlobalStateContex.setComponent;
2800
+
2722
2801
  (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useSetter)(function () {
2723
2802
  return component && setComponent(name, component);
2724
2803
  }); // tslint:disable-next-line:no-null-keyword
@@ -2739,7 +2818,7 @@ __webpack_require__.r(__webpack_exports__);
2739
2818
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2740
2819
  /* harmony export */ "SetError": () => (/* binding */ SetError)
2741
2820
  /* harmony export */ });
2742
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/action.js");
2821
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2743
2822
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/setter.js");
2744
2823
 
2745
2824
  /**
@@ -2749,7 +2828,10 @@ __webpack_require__.r(__webpack_exports__);
2749
2828
  function SetError(_ref) {
2750
2829
  var type = _ref.type,
2751
2830
  component = _ref.component;
2752
- var setErrorComponent = (0,_hooks__WEBPACK_IMPORTED_MODULE_0__.useAction)('setErrorComponent');
2831
+
2832
+ var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_0__.useGlobalStateContext)(),
2833
+ setErrorComponent = _useGlobalStateContex.setErrorComponent;
2834
+
2753
2835
  (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useSetter)(function () {
2754
2836
  return component && setErrorComponent(type, component);
2755
2837
  }); // tslint:disable-next-line:no-null-keyword
@@ -2836,7 +2918,7 @@ __webpack_require__.r(__webpack_exports__);
2836
2918
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2837
2919
  /* harmony export */ "SetProvider": () => (/* binding */ SetProvider)
2838
2920
  /* harmony export */ });
2839
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/action.js");
2921
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2840
2922
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/setter.js");
2841
2923
 
2842
2924
  /**
@@ -2845,7 +2927,10 @@ __webpack_require__.r(__webpack_exports__);
2845
2927
 
2846
2928
  function SetProvider(_ref) {
2847
2929
  var provider = _ref.provider;
2848
- var includeProvider = (0,_hooks__WEBPACK_IMPORTED_MODULE_0__.useAction)('includeProvider');
2930
+
2931
+ var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_0__.useGlobalStateContext)(),
2932
+ includeProvider = _useGlobalStateContex.includeProvider;
2933
+
2849
2934
  (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useSetter)(function () {
2850
2935
  return provider && includeProvider(provider);
2851
2936
  }); // tslint:disable-next-line:no-null-keyword
@@ -2868,7 +2953,7 @@ __webpack_require__.r(__webpack_exports__);
2868
2953
  /* harmony export */ });
2869
2954
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
2870
2955
  /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router */ "../../../node_modules/react-router/esm/react-router.js");
2871
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/action.js");
2956
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2872
2957
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/setter.js");
2873
2958
 
2874
2959
 
@@ -2880,7 +2965,10 @@ __webpack_require__.r(__webpack_exports__);
2880
2965
  function SetRedirect(_ref) {
2881
2966
  var from = _ref.from,
2882
2967
  to = _ref.to;
2883
- var setRoute = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useAction)('setRoute');
2968
+
2969
+ var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useGlobalStateContext)(),
2970
+ setRoute = _useGlobalStateContex.setRoute;
2971
+
2884
2972
  (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useSetter)(function () {
2885
2973
  return setRoute(from, function () {
2886
2974
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_router__WEBPACK_IMPORTED_MODULE_3__.Redirect, {
@@ -2905,7 +2993,7 @@ __webpack_require__.r(__webpack_exports__);
2905
2993
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2906
2994
  /* harmony export */ "SetRoute": () => (/* binding */ SetRoute)
2907
2995
  /* harmony export */ });
2908
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/action.js");
2996
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
2909
2997
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/setter.js");
2910
2998
 
2911
2999
  /**
@@ -2915,7 +3003,10 @@ __webpack_require__.r(__webpack_exports__);
2915
3003
  function SetRoute(_ref) {
2916
3004
  var path = _ref.path,
2917
3005
  component = _ref.component;
2918
- var setRoute = (0,_hooks__WEBPACK_IMPORTED_MODULE_0__.useAction)('setRoute');
3006
+
3007
+ var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_0__.useGlobalStateContext)(),
3008
+ setRoute = _useGlobalStateContex.setRoute;
3009
+
2919
3010
  (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useSetter)(function () {
2920
3011
  return component && setRoute(path, component);
2921
3012
  }); // tslint:disable-next-line:no-null-keyword
@@ -3128,15 +3219,17 @@ __webpack_require__.r(__webpack_exports__);
3128
3219
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3129
3220
  /* harmony export */ "createInstance": () => (/* binding */ createInstance)
3130
3221
  /* harmony export */ });
3131
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js");
3132
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/events.js");
3133
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/utils.js");
3134
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/strategies.js");
3135
- /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/dependencies.js");
3136
- /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/api.js");
3137
- /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./state */ "../../framework/piral-core/esm/state/createGlobalState.js");
3138
- /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./state */ "../../framework/piral-core/esm/state/createActions.js");
3139
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers */ "../../framework/piral-core/esm/helpers.js");
3222
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js");
3223
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/events.js");
3224
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/utils.js");
3225
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/strategies.js");
3226
+ /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/dependencies.js");
3227
+ /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/api.js");
3228
+ /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./state */ "../../framework/piral-core/esm/state/createGlobalState.js");
3229
+ /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./state */ "../../framework/piral-core/esm/state/createActions.js");
3230
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./helpers */ "../../framework/piral-core/esm/helpers.js");
3231
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "../../framework/piral-core/esm/utils/guid.js");
3232
+
3140
3233
 
3141
3234
 
3142
3235
 
@@ -3165,35 +3258,37 @@ render(app, document.querySelector('#app'));
3165
3258
 
3166
3259
  function createInstance() {
3167
3260
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3168
- var state = config.state,
3261
+ var _config$id = config.id,
3262
+ id = _config$id === void 0 ? (0,_utils__WEBPACK_IMPORTED_MODULE_0__.generateId)() : _config$id,
3263
+ state = config.state,
3169
3264
  actions = config.actions,
3170
3265
  _config$availablePile = config.availablePilets,
3171
3266
  availablePilets = _config$availablePile === void 0 ? [] : _config$availablePile,
3172
3267
  plugins = config.plugins,
3173
3268
  _config$requestPilets = config.requestPilets,
3174
- requestPilets = _config$requestPilets === void 0 ? _modules__WEBPACK_IMPORTED_MODULE_0__.defaultModuleRequester : _config$requestPilets,
3269
+ requestPilets = _config$requestPilets === void 0 ? _modules__WEBPACK_IMPORTED_MODULE_1__.defaultModuleRequester : _config$requestPilets,
3175
3270
  loaderConfig = config.loaderConfig,
3176
3271
  _config$async = config.async,
3177
3272
  async = _config$async === void 0 ? false : _config$async,
3178
3273
  _config$shareDependen = config.shareDependencies,
3179
- shareDependencies = _config$shareDependen === void 0 ? _modules__WEBPACK_IMPORTED_MODULE_0__.defaultDependencySelector : _config$shareDependen,
3274
+ shareDependencies = _config$shareDependen === void 0 ? _modules__WEBPACK_IMPORTED_MODULE_1__.defaultDependencySelector : _config$shareDependen,
3180
3275
  loadPilet = config.loadPilet,
3181
3276
  loaders = config.loaders,
3182
3277
  debug = config.debug,
3183
3278
  _config$apiFactory = config.apiFactory,
3184
- apiFactory = _config$apiFactory === void 0 ? _modules__WEBPACK_IMPORTED_MODULE_1__.defaultApiFactory : _config$apiFactory;
3185
- var globalState = (0,_state__WEBPACK_IMPORTED_MODULE_2__.createGlobalState)(state);
3186
- var events = (0,piral_base__WEBPACK_IMPORTED_MODULE_3__.createListener)(globalState);
3187
- var context = (0,_state__WEBPACK_IMPORTED_MODULE_4__.createActions)(globalState, events);
3279
+ apiFactory = _config$apiFactory === void 0 ? _modules__WEBPACK_IMPORTED_MODULE_2__.defaultApiFactory : _config$apiFactory;
3280
+ var globalState = (0,_state__WEBPACK_IMPORTED_MODULE_3__.createGlobalState)(state);
3281
+ var events = (0,piral_base__WEBPACK_IMPORTED_MODULE_4__.createListener)(globalState);
3282
+ var context = (0,_state__WEBPACK_IMPORTED_MODULE_5__.createActions)(globalState, events);
3188
3283
  var definedPlugins = plugins || [];
3189
3284
  var usedPlugins = Array.isArray(definedPlugins) ? definedPlugins : [definedPlugins];
3190
3285
  var createApi = apiFactory(context, usedPlugins);
3191
3286
  var root = createApi({
3192
3287
  name: 'root',
3193
- version: "0.14.8-beta.3500" || 0,
3288
+ version: "0.14.8-beta.3511" || 0,
3194
3289
  spec: ''
3195
3290
  });
3196
- var options = (0,_helpers__WEBPACK_IMPORTED_MODULE_5__.createPiletOptions)({
3291
+ var options = (0,_helpers__WEBPACK_IMPORTED_MODULE_6__.createPiletOptions)({
3197
3292
  context: context,
3198
3293
  createApi: createApi,
3199
3294
  loaders: loaders,
@@ -3201,17 +3296,18 @@ function createInstance() {
3201
3296
  availablePilets: availablePilets,
3202
3297
  loaderConfig: loaderConfig,
3203
3298
  shareDependencies: shareDependencies,
3204
- strategy: (0,piral_base__WEBPACK_IMPORTED_MODULE_6__.isfunc)(async) ? async : async ? piral_base__WEBPACK_IMPORTED_MODULE_7__.blazingStrategy : piral_base__WEBPACK_IMPORTED_MODULE_7__.standardStrategy,
3299
+ strategy: (0,piral_base__WEBPACK_IMPORTED_MODULE_7__.isfunc)(async) ? async : async ? piral_base__WEBPACK_IMPORTED_MODULE_8__.blazingStrategy : piral_base__WEBPACK_IMPORTED_MODULE_8__.standardStrategy,
3205
3300
  requestPilets: requestPilets,
3206
3301
  debug: debug
3207
3302
  });
3208
3303
 
3209
3304
  if (actions) {
3210
- (0,_state__WEBPACK_IMPORTED_MODULE_4__.includeActions)(context, actions);
3305
+ (0,_state__WEBPACK_IMPORTED_MODULE_5__.includeActions)(context, actions);
3211
3306
  }
3212
3307
 
3213
3308
  context.options = options;
3214
- return (0,tslib__WEBPACK_IMPORTED_MODULE_8__.__assign)(events, {
3309
+ return (0,tslib__WEBPACK_IMPORTED_MODULE_9__.__assign)(events, {
3310
+ id: id,
3215
3311
  createApi: createApi,
3216
3312
  context: context,
3217
3313
  root: root,
@@ -3605,6 +3701,7 @@ __webpack_require__.r(__webpack_exports__);
3605
3701
  /* harmony export */ "noop": () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.noop),
3606
3702
  /* harmony export */ "prependItem": () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.prependItem),
3607
3703
  /* harmony export */ "prependItems": () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.prependItems),
3704
+ /* harmony export */ "reactifyContent": () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.reactifyContent),
3608
3705
  /* harmony export */ "removeIndicator": () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.removeIndicator),
3609
3706
  /* harmony export */ "removeNested": () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.removeNested),
3610
3707
  /* harmony export */ "renderInDom": () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.renderInDom),
@@ -3651,201 +3748,103 @@ __webpack_require__.r(__webpack_exports__);
3651
3748
  "use strict";
3652
3749
  __webpack_require__.r(__webpack_exports__);
3653
3750
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3654
- /* harmony export */ "createCoreApi": () => (/* binding */ createCoreApi),
3655
3751
  /* harmony export */ "createExtenders": () => (/* binding */ createExtenders),
3656
3752
  /* harmony export */ "defaultApiFactory": () => (/* binding */ defaultApiFactory)
3657
3753
  /* harmony export */ });
3658
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/utils.js");
3659
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/api.js");
3660
- /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../state */ "../../framework/piral-core/esm/state/withApi.js");
3661
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/ExtensionSlot.js");
3662
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
3663
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/foreign.js");
3664
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/data.js");
3665
- 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); }
3666
-
3754
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/utils.js");
3755
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/api.js");
3756
+ /* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ "../../framework/piral-core/esm/modules/core.js");
3667
3757
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3668
3758
 
3669
3759
  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."); }
3670
3760
 
3761
+ 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); }
3762
+
3671
3763
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
3672
3764
 
3673
3765
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
3674
3766
 
3675
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3676
-
3677
- 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."); }
3678
-
3679
- 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); }
3680
-
3681
3767
  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; }
3682
3768
 
3683
- 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; }
3684
-
3685
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
3686
-
3687
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3688
-
3689
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
3690
-
3691
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
3692
-
3693
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
3694
-
3695
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
3696
-
3697
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
3698
-
3699
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
3700
-
3701
- function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
3702
-
3703
- function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
3704
-
3705
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3706
-
3707
- function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
3708
-
3709
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
3710
-
3711
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
3712
-
3713
-
3714
-
3715
-
3716
3769
 
3717
3770
 
3718
- if (typeof window !== 'undefined' && 'customElements' in window) {
3719
- var PiralExtension = /*#__PURE__*/function (_HTMLElement) {
3720
- _inherits(PiralExtension, _HTMLElement);
3721
-
3722
- var _super = _createSuper(PiralExtension);
3723
-
3724
- function PiralExtension() {
3725
- var _this;
3726
-
3727
- _classCallCheck(this, PiralExtension);
3771
+ function createExtenders(context, apis) {
3772
+ var creators = [_core__WEBPACK_IMPORTED_MODULE_0__.createCoreApi].concat(_toConsumableArray(apis.filter(piral_base__WEBPACK_IMPORTED_MODULE_1__.isfunc)));
3773
+ return creators.map(function (c) {
3774
+ var ctx = c(context);
3728
3775
 
3729
- _this = _super.apply(this, arguments);
3730
- _this.dispose = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
3731
- _this.update = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
3732
- return _this;
3776
+ if ((0,piral_base__WEBPACK_IMPORTED_MODULE_1__.isfunc)(ctx)) {
3777
+ return ctx;
3778
+ } else {
3779
+ return function () {
3780
+ return Object.assign({}, ctx);
3781
+ };
3733
3782
  }
3734
-
3735
- _createClass(PiralExtension, [{
3736
- key: "getProps",
3737
- value: function getProps() {
3738
- var name = this.getAttribute('name');
3739
- var params = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.tryParseJson)(this.getAttribute('params'));
3740
- return {
3741
- name: name,
3742
- params: params
3743
- };
3744
- }
3745
- }, {
3746
- key: "connectedCallback",
3747
- value: function connectedCallback() {
3748
- if (this.isConnected) {
3749
- this.dispatchEvent(new CustomEvent('render-html', {
3750
- bubbles: true,
3751
- detail: {
3752
- target: this,
3753
- props: this.getProps()
3754
- }
3755
- }));
3756
- }
3757
- }
3758
- }, {
3759
- key: "disconnectedCallback",
3760
- value: function disconnectedCallback() {
3761
- this.dispose();
3762
- this.dispose = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
3763
- this.update = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
3764
- }
3765
- }, {
3766
- key: "attributeChangedCallback",
3767
- value: function attributeChangedCallback() {
3768
- this.update(this.getProps());
3769
- }
3770
- }], [{
3771
- key: "observedAttributes",
3772
- get: function get() {
3773
- return ['name', 'params'];
3774
- }
3775
- }]);
3776
-
3777
- return PiralExtension;
3778
- }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
3779
-
3780
- customElements.define('piral-extension', PiralExtension);
3783
+ });
3784
+ }
3785
+ function defaultApiFactory(context, apis) {
3786
+ var extenders = createExtenders(context, apis);
3787
+ return function (target) {
3788
+ var api = (0,piral_base__WEBPACK_IMPORTED_MODULE_2__.initializeApi)(target, context);
3789
+ context.apis[target.name] = api;
3790
+ return (0,piral_base__WEBPACK_IMPORTED_MODULE_2__.mergeApis)(api, extenders, target);
3791
+ };
3781
3792
  }
3782
3793
 
3783
- function render(context, element, props) {
3784
- var _renderInDom = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.renderInDom)(context, element, _components__WEBPACK_IMPORTED_MODULE_2__.ExtensionSlot, props),
3785
- _renderInDom2 = _slicedToArray(_renderInDom, 2),
3786
- id = _renderInDom2[0],
3787
- portal = _renderInDom2[1];
3794
+ /***/ }),
3788
3795
 
3789
- var evName = 'extension-props-changed';
3796
+ /***/ "../../framework/piral-core/esm/modules/core.js":
3797
+ /*!******************************************************!*\
3798
+ !*** ../../framework/piral-core/esm/modules/core.js ***!
3799
+ \******************************************************/
3800
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3790
3801
 
3791
- var handler = function handler(ev) {
3792
- return update(ev.detail);
3793
- };
3802
+ "use strict";
3803
+ __webpack_require__.r(__webpack_exports__);
3804
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3805
+ /* harmony export */ "createCoreApi": () => (/* binding */ createCoreApi)
3806
+ /* harmony export */ });
3807
+ /* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./element */ "../../framework/piral-core/esm/modules/element.js");
3808
+ /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../state */ "../../framework/piral-core/esm/state/withApi.js");
3809
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/ExtensionSlot.js");
3810
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/data.js");
3811
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3794
3812
 
3795
- var dispose = function dispose() {
3796
- context.hidePortal(id, portal);
3797
- element.removeEventListener(evName, handler);
3798
- };
3813
+ 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."); }
3799
3814
 
3800
- var update = function update(newProps) {
3801
- var _changeDomPortal = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.changeDomPortal)(id, portal, context, element, _components__WEBPACK_IMPORTED_MODULE_2__.ExtensionSlot, newProps);
3815
+ 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); }
3802
3816
 
3803
- var _changeDomPortal2 = _slicedToArray(_changeDomPortal, 2);
3817
+ 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; }
3804
3818
 
3805
- id = _changeDomPortal2[0];
3806
- portal = _changeDomPortal2[1];
3807
- };
3819
+ 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; }
3808
3820
 
3809
- element.addEventListener(evName, handler);
3810
- return [dispose, update];
3811
- }
3821
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
3812
3822
 
3813
- function createCoreApi(context) {
3814
- if (typeof document !== 'undefined') {
3815
- document.body.addEventListener('render-html', function (ev) {
3816
- ev.stopPropagation();
3817
- var container = ev.detail.target;
3818
3823
 
3819
- var _render = render(context, container, ev.detail.props),
3820
- _render2 = _slicedToArray(_render, 2),
3821
- dispose = _render2[0],
3822
- update = _render2[1];
3823
3824
 
3824
- container.dispose = dispose;
3825
- container.update = update;
3826
- }, false);
3827
- }
3828
3825
 
3829
- return function (api, target) {
3830
- var pilet = target.name;
3826
+
3827
+ function createCoreApi(context) {
3828
+ return function (api, meta) {
3829
+ var pilet = meta.name;
3831
3830
  return {
3832
3831
  getData: function getData(name) {
3833
3832
  return context.readDataValue(name);
3834
3833
  },
3835
3834
  setData: function setData(name, value, options) {
3836
- var _createDataOptions = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.createDataOptions)(options),
3835
+ var _createDataOptions = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.createDataOptions)(options),
3837
3836
  _createDataOptions$ta = _createDataOptions.target,
3838
3837
  target = _createDataOptions$ta === void 0 ? 'memory' : _createDataOptions$ta,
3839
3838
  expires = _createDataOptions.expires;
3840
3839
 
3841
- var expiration = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getDataExpiration)(expires);
3840
+ var expiration = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDataExpiration)(expires);
3842
3841
  return context.tryWriteDataItem(name, value, pilet, target, expiration);
3843
3842
  },
3844
3843
  registerPage: function registerPage(route, arg, meta) {
3845
3844
  context.registerPage(route, {
3846
3845
  pilet: pilet,
3847
3846
  meta: meta,
3848
- component: (0,_state__WEBPACK_IMPORTED_MODULE_4__.withApi)(context, arg, api, 'page')
3847
+ component: (0,_state__WEBPACK_IMPORTED_MODULE_1__.withApi)(context, arg, api, 'page')
3849
3848
  });
3850
3849
  return function () {
3851
3850
  return api.unregisterPage(route);
@@ -3857,7 +3856,7 @@ function createCoreApi(context) {
3857
3856
  registerExtension: function registerExtension(name, arg, defaults) {
3858
3857
  context.registerExtension(name, {
3859
3858
  pilet: pilet,
3860
- component: (0,_state__WEBPACK_IMPORTED_MODULE_4__.withApi)(context, arg, api, 'extension'),
3859
+ component: (0,_state__WEBPACK_IMPORTED_MODULE_1__.withApi)(context, arg, api, 'extension'),
3861
3860
  reference: arg,
3862
3861
  defaults: defaults
3863
3862
  });
@@ -3869,38 +3868,16 @@ function createCoreApi(context) {
3869
3868
  context.unregisterExtension(name, arg);
3870
3869
  },
3871
3870
  renderHtmlExtension: function renderHtmlExtension(element, props) {
3872
- var _render3 = render(context, element, props),
3873
- _render4 = _slicedToArray(_render3, 1),
3874
- dispose = _render4[0];
3871
+ var _renderElement = (0,_element__WEBPACK_IMPORTED_MODULE_2__.renderElement)(context, element, props),
3872
+ _renderElement2 = _slicedToArray(_renderElement, 1),
3873
+ dispose = _renderElement2[0];
3875
3874
 
3876
3875
  return dispose;
3877
3876
  },
3878
- Extension: _components__WEBPACK_IMPORTED_MODULE_2__.ExtensionSlot
3877
+ Extension: _components__WEBPACK_IMPORTED_MODULE_3__.ExtensionSlot
3879
3878
  };
3880
3879
  };
3881
3880
  }
3882
- function createExtenders(context, apis) {
3883
- var creators = [createCoreApi].concat(_toConsumableArray(apis.filter(piral_base__WEBPACK_IMPORTED_MODULE_5__.isfunc)));
3884
- return creators.map(function (c) {
3885
- var ctx = c(context);
3886
-
3887
- if ((0,piral_base__WEBPACK_IMPORTED_MODULE_5__.isfunc)(ctx)) {
3888
- return ctx;
3889
- } else {
3890
- return function () {
3891
- return Object.assign({}, ctx);
3892
- };
3893
- }
3894
- });
3895
- }
3896
- function defaultApiFactory(context, apis) {
3897
- var extenders = createExtenders(context, apis);
3898
- return function (target) {
3899
- var api = (0,piral_base__WEBPACK_IMPORTED_MODULE_6__.initializeApi)(target, context);
3900
- context.apis[target.name] = api;
3901
- return (0,piral_base__WEBPACK_IMPORTED_MODULE_6__.mergeApis)(api, extenders, target);
3902
- };
3903
- }
3904
3881
 
3905
3882
  /***/ }),
3906
3883
 
@@ -3975,6 +3952,192 @@ function defaultModuleRequester() {
3975
3952
 
3976
3953
  /***/ }),
3977
3954
 
3955
+ /***/ "../../framework/piral-core/esm/modules/element.js":
3956
+ /*!*********************************************************!*\
3957
+ !*** ../../framework/piral-core/esm/modules/element.js ***!
3958
+ \*********************************************************/
3959
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3960
+
3961
+ "use strict";
3962
+ __webpack_require__.r(__webpack_exports__);
3963
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3964
+ /* harmony export */ "renderElement": () => (/* binding */ renderElement)
3965
+ /* harmony export */ });
3966
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/ExtensionSlot.js");
3967
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
3968
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/extension.js");
3969
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/foreign.js");
3970
+ 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); }
3971
+
3972
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3973
+
3974
+ 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."); }
3975
+
3976
+ 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); }
3977
+
3978
+ 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; }
3979
+
3980
+ 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; }
3981
+
3982
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
3983
+
3984
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3985
+
3986
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
3987
+
3988
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
3989
+
3990
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
3991
+
3992
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
3993
+
3994
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
3995
+
3996
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
3997
+
3998
+ function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
3999
+
4000
+ function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
4001
+
4002
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
4003
+
4004
+ function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
4005
+
4006
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
4007
+
4008
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
4009
+
4010
+
4011
+
4012
+
4013
+ if (typeof window !== 'undefined' && 'customElements' in window) {
4014
+ var PiralExtension = /*#__PURE__*/function (_HTMLElement) {
4015
+ _inherits(PiralExtension, _HTMLElement);
4016
+
4017
+ var _super = _createSuper(PiralExtension);
4018
+
4019
+ function PiralExtension() {
4020
+ var _this;
4021
+
4022
+ _classCallCheck(this, PiralExtension);
4023
+
4024
+ _this = _super.apply(this, arguments);
4025
+ _this.dispose = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
4026
+ _this.update = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
4027
+ _this.props = {
4028
+ name: _this.getAttribute('name'),
4029
+ params: (0,_utils__WEBPACK_IMPORTED_MODULE_0__.tryParseJson)(_this.getAttribute('params')),
4030
+ empty: undefined,
4031
+ children: (0,_utils__WEBPACK_IMPORTED_MODULE_1__.reactifyContent)(_this.childNodes)
4032
+ };
4033
+ return _this;
4034
+ }
4035
+
4036
+ _createClass(PiralExtension, [{
4037
+ key: "params",
4038
+ get: function get() {
4039
+ return this.props.params;
4040
+ },
4041
+ set: function set(value) {
4042
+ this.props.params = value;
4043
+ this.update(this.props);
4044
+ }
4045
+ }, {
4046
+ key: "name",
4047
+ get: function get() {
4048
+ return this.props.name;
4049
+ },
4050
+ set: function set(value) {
4051
+ this.props.name = value;
4052
+ this.update(this.props);
4053
+ }
4054
+ }, {
4055
+ key: "empty",
4056
+ get: function get() {
4057
+ return this.props.empty;
4058
+ },
4059
+ set: function set(value) {
4060
+ this.props.empty = value;
4061
+ this.update(this.props);
4062
+ }
4063
+ }, {
4064
+ key: "connectedCallback",
4065
+ value: function connectedCallback() {
4066
+ if (this.isConnected) {
4067
+ this.dispatchEvent(new CustomEvent('render-html', {
4068
+ bubbles: true,
4069
+ detail: {
4070
+ target: this,
4071
+ props: this.props
4072
+ }
4073
+ }));
4074
+ }
4075
+ }
4076
+ }, {
4077
+ key: "disconnectedCallback",
4078
+ value: function disconnectedCallback() {
4079
+ this.dispose();
4080
+ this.dispose = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
4081
+ this.update = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
4082
+ }
4083
+ }, {
4084
+ key: "attributeChangedCallback",
4085
+ value: function attributeChangedCallback(name, _, newValue) {
4086
+ switch (name) {
4087
+ case 'name':
4088
+ this.name = newValue;
4089
+ break;
4090
+
4091
+ case 'params':
4092
+ this.params = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.tryParseJson)(newValue);
4093
+ break;
4094
+ }
4095
+ }
4096
+ }], [{
4097
+ key: "observedAttributes",
4098
+ get: function get() {
4099
+ return ['name', 'params'];
4100
+ }
4101
+ }]);
4102
+
4103
+ return PiralExtension;
4104
+ }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
4105
+
4106
+ customElements.define('piral-extension', PiralExtension);
4107
+ }
4108
+
4109
+ function renderElement(context, element, props) {
4110
+ var _renderInDom = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.renderInDom)(context, element, _components__WEBPACK_IMPORTED_MODULE_3__.ExtensionSlot, props),
4111
+ _renderInDom2 = _slicedToArray(_renderInDom, 2),
4112
+ id = _renderInDom2[0],
4113
+ portal = _renderInDom2[1];
4114
+
4115
+ var evName = 'extension-props-changed';
4116
+
4117
+ var handler = function handler(ev) {
4118
+ return update(ev.detail);
4119
+ };
4120
+
4121
+ var dispose = function dispose() {
4122
+ context.hidePortal(id, portal);
4123
+ element.removeEventListener(evName, handler);
4124
+ };
4125
+
4126
+ var update = function update(newProps) {
4127
+ var _changeDomPortal = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.changeDomPortal)(id, portal, context, element, _components__WEBPACK_IMPORTED_MODULE_3__.ExtensionSlot, newProps);
4128
+
4129
+ var _changeDomPortal2 = _slicedToArray(_changeDomPortal, 2);
4130
+
4131
+ id = _changeDomPortal2[0];
4132
+ portal = _changeDomPortal2[1];
4133
+ };
4134
+
4135
+ element.addEventListener(evName, handler);
4136
+ return [dispose, update];
4137
+ }
4138
+
4139
+ /***/ }),
4140
+
3978
4141
  /***/ "../../framework/piral-core/esm/state/createActions.js":
3979
4142
  /*!*************************************************************!*\
3980
4143
  !*** ../../framework/piral-core/esm/state/createActions.js ***!
@@ -4149,15 +4312,14 @@ __webpack_require__.r(__webpack_exports__);
4149
4312
  /* harmony export */ });
4150
4313
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
4151
4314
  /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/esm/utils.js");
4152
- /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router */ "../../../node_modules/react-router/esm/react-router.js");
4315
+ /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router */ "../../../node_modules/react-router/esm/react-router.js");
4153
4316
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/ErrorBoundary.js");
4154
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/PortalRenderer.js");
4155
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/components.js");
4156
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/actions.js");
4157
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
4317
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/PortalRenderer.js");
4318
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../components */ "../../framework/piral-core/esm/components/components.js");
4319
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
4158
4320
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/react.js");
4159
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
4160
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/foreign.js");
4321
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
4322
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/foreign.js");
4161
4323
  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); }
4162
4324
 
4163
4325
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -4295,17 +4457,15 @@ function wrapReactComponent(Component, stasisOptions, piral, Wrapper) {
4295
4457
 
4296
4458
  function wrapForeignComponent(component, stasisOptions, piral, Wrapper) {
4297
4459
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.memo(function (props) {
4298
- var _useActions = (0,_hooks__WEBPACK_IMPORTED_MODULE_4__.useActions)(),
4299
- destroyPortal = _useActions.destroyPortal;
4300
-
4301
- var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_5__.useGlobalStateContext)(),
4460
+ var _useGlobalStateContex = (0,_hooks__WEBPACK_IMPORTED_MODULE_4__.useGlobalStateContext)(),
4302
4461
  state = _useGlobalStateContex.state,
4303
- readState = _useGlobalStateContex.readState;
4462
+ readState = _useGlobalStateContex.readState,
4463
+ destroyPortal = _useGlobalStateContex.destroyPortal;
4304
4464
 
4305
- var router = react__WEBPACK_IMPORTED_MODULE_0__.useContext(react_router__WEBPACK_IMPORTED_MODULE_6__.__RouterContext);
4465
+ var router = react__WEBPACK_IMPORTED_MODULE_0__.useContext(react_router__WEBPACK_IMPORTED_MODULE_5__.__RouterContext);
4306
4466
  var id = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(function () {
4307
4467
  return (portalIdBase++).toString(26);
4308
- }, _utils__WEBPACK_IMPORTED_MODULE_7__.none);
4468
+ }, _utils__WEBPACK_IMPORTED_MODULE_6__.none);
4309
4469
  var context = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(function () {
4310
4470
  return {
4311
4471
  router: router,
@@ -4322,10 +4482,10 @@ function wrapForeignComponent(component, stasisOptions, piral, Wrapper) {
4322
4482
  return function () {
4323
4483
  return destroyPortal(id);
4324
4484
  };
4325
- }, _utils__WEBPACK_IMPORTED_MODULE_7__.none);
4485
+ }, _utils__WEBPACK_IMPORTED_MODULE_6__.none);
4326
4486
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Wrapper, Object.assign({}, innerProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_3__.ErrorBoundary, Object.assign({}, stasisOptions, {
4327
4487
  renderProps: props
4328
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_8__.PortalRenderer, {
4488
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_7__.PortalRenderer, {
4329
4489
  id: id
4330
4490
  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ForeignComponentContainer, {
4331
4491
  innerProps: innerProps,
@@ -4350,7 +4510,7 @@ function wrapComponent(converters, component, piral, Wrapper, stasisOptions) {
4350
4510
  }
4351
4511
 
4352
4512
  if (_typeof(component) === 'object' && isNotExotic(component)) {
4353
- var result = (0,_utils__WEBPACK_IMPORTED_MODULE_9__.convertComponent)(converters[component.type], component);
4513
+ var result = (0,_utils__WEBPACK_IMPORTED_MODULE_8__.convertComponent)(converters[component.type], component);
4354
4514
  return wrapForeignComponent(result, stasisOptions, piral, Wrapper);
4355
4515
  }
4356
4516
 
@@ -4373,11 +4533,11 @@ function withApi(context, component, piral, errorType) {
4373
4533
  },
4374
4534
  renderChild: function renderChild(child) {
4375
4535
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {
4376
- fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_10__.PiralLoadingIndicator, null)
4536
+ fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_9__.PiralLoadingIndicator, null)
4377
4537
  }, child);
4378
4538
  },
4379
4539
  renderError: function renderError(error, props) {
4380
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_10__.PiralError, Object.assign({
4540
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_9__.PiralError, Object.assign({
4381
4541
  type: errorType,
4382
4542
  error: error
4383
4543
  }, props));
@@ -4498,15 +4658,79 @@ function getDataExpiration(expires) {
4498
4658
  "use strict";
4499
4659
  __webpack_require__.r(__webpack_exports__);
4500
4660
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4501
- /* harmony export */ "toExtension": () => (/* binding */ toExtension)
4661
+ /* harmony export */ "toExtension": () => (/* binding */ toExtension),
4662
+ /* harmony export */ "reactifyContent": () => (/* binding */ reactifyContent)
4502
4663
  /* harmony export */ });
4503
4664
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
4665
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4666
+
4667
+ 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."); }
4668
+
4669
+ 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); }
4670
+
4671
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4672
+
4673
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
4674
+
4675
+ 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; }
4676
+
4677
+
4678
+
4679
+ function removeAll(nodes) {
4680
+ nodes.forEach(function (node) {
4681
+ return node.remove();
4682
+ });
4683
+ }
4684
+
4685
+ var SlotCarrier = function SlotCarrier(_ref) {
4686
+ var nodes = _ref.nodes;
4687
+ var host = react__WEBPACK_IMPORTED_MODULE_0__.useRef();
4688
+ react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
4689
+ var _a2;
4690
+
4691
+ var _a;
4692
+
4693
+ (_a = host.current) === null || _a === void 0 ? void 0 : (_a2 = _a).append.apply(_a2, _toConsumableArray(nodes));
4694
+ return function () {
4695
+ return removeAll(nodes);
4696
+ };
4697
+ }, [nodes]);
4698
+
4699
+ if (nodes.length) {
4700
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("slot", {
4701
+ ref: host
4702
+ });
4703
+ }
4704
+
4705
+ return null;
4706
+ };
4707
+ /**
4708
+ * Transforms the given component to an extension component.
4709
+ * @param Component The component to transform.
4710
+ * @returns The extension component (receiving its props via params).
4711
+ */
4712
+
4504
4713
 
4505
4714
  function toExtension(Component) {
4506
4715
  return function (props) {
4507
4716
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, Object.assign({}, props.params));
4508
4717
  };
4509
4718
  }
4719
+ /**
4720
+ * Reactifies the list of child nodes to a React Node by removing the
4721
+ * nodes from the DOM and carrying it in a React Node, where it would be
4722
+ * attached at a slot.
4723
+ * @param childNodes The child nodes to reactify.
4724
+ * @returns The React Node.
4725
+ */
4726
+
4727
+ function reactifyContent(childNodes) {
4728
+ var nodes = Array.prototype.filter.call(childNodes, Boolean);
4729
+ removeAll(nodes);
4730
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(SlotCarrier, {
4731
+ nodes: nodes
4732
+ });
4733
+ }
4510
4734
 
4511
4735
  /***/ }),
4512
4736
 
@@ -4732,6 +4956,7 @@ __webpack_require__.r(__webpack_exports__);
4732
4956
  /* harmony export */ "createDataOptions": () => (/* reexport safe */ _data__WEBPACK_IMPORTED_MODULE_1__.createDataOptions),
4733
4957
  /* harmony export */ "createDataView": () => (/* reexport safe */ _data__WEBPACK_IMPORTED_MODULE_1__.createDataView),
4734
4958
  /* harmony export */ "getDataExpiration": () => (/* reexport safe */ _data__WEBPACK_IMPORTED_MODULE_1__.getDataExpiration),
4959
+ /* harmony export */ "reactifyContent": () => (/* reexport safe */ _extension__WEBPACK_IMPORTED_MODULE_2__.reactifyContent),
4735
4960
  /* harmony export */ "toExtension": () => (/* reexport safe */ _extension__WEBPACK_IMPORTED_MODULE_2__.toExtension),
4736
4961
  /* harmony export */ "attachDomPortal": () => (/* reexport safe */ _foreign__WEBPACK_IMPORTED_MODULE_3__.attachDomPortal),
4737
4962
  /* harmony export */ "changeDomPortal": () => (/* reexport safe */ _foreign__WEBPACK_IMPORTED_MODULE_3__.changeDomPortal),
@@ -5427,6 +5652,7 @@ __webpack_require__.r(__webpack_exports__);
5427
5652
  /* harmony export */ "noop": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.noop),
5428
5653
  /* harmony export */ "prependItem": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.prependItem),
5429
5654
  /* harmony export */ "prependItems": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.prependItems),
5655
+ /* harmony export */ "reactifyContent": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.reactifyContent),
5430
5656
  /* harmony export */ "removeIndicator": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.removeIndicator),
5431
5657
  /* harmony export */ "removeNested": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.removeNested),
5432
5658
  /* harmony export */ "renderInDom": () => (/* reexport safe */ piral_core__WEBPACK_IMPORTED_MODULE_0__.renderInDom),
@@ -8998,11 +9224,11 @@ function installPiralDebug(options) {
8998
9224
  debug: debugApiVersion,
8999
9225
  instance: {
9000
9226
  name: "sample-piral",
9001
- version: "0.14.8-beta.3500",
9227
+ version: "0.14.8-beta.3511",
9002
9228
  dependencies: "reactstrap,react,react-dom,react-router,react-router-dom,history,tslib,path-to-regexp,@libre/atom,@dbeining/react-atom"
9003
9229
  },
9004
9230
  build: {
9005
- date: "2022-01-17T12:32:35.628Z",
9231
+ date: "2022-01-20T02:03:29.347Z",
9006
9232
  cli: "0.14.7",
9007
9233
  compat: "0.14"
9008
9234
  },
@@ -80307,4 +80533,4 @@ var layout_1 = __webpack_require__(/*! ./layout */ "./src/layout.tsx");
80307
80533
 
80308
80534
  /******/ })()
80309
80535
  ;
80310
- //# sourceMappingURL=index.a98486.js.map
80536
+ //# sourceMappingURL=index.545e8c.js.map