sample-piral 1.4.0-beta.6276 → 1.4.0-beta.6287

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.
@@ -406,10 +406,10 @@ var RootListener = function RootListener() {
406
406
  target.dispose = dispose;
407
407
  };
408
408
  document.body.addEventListener('render-html', renderHtml, false);
409
- document.body.addEventListener('render-content', renderContent, false);
409
+ window.addEventListener('render-content', renderContent, false);
410
410
  return function () {
411
411
  document.body.removeEventListener('render-html', renderHtml, false);
412
- document.body.removeEventListener('render-content', renderContent, false);
412
+ window.removeEventListener('render-content', renderContent, false);
413
413
  };
414
414
  }
415
415
  }, [context]);
@@ -2393,6 +2393,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
2393
2393
 
2394
2394
 
2395
2395
  if (typeof window !== 'undefined' && 'customElements' in window) {
2396
+ var contents = 'contents';
2396
2397
  /**
2397
2398
  * This is a nice abstraction allowing anyone to actually use the extension system
2398
2399
  * brought by Piral. Not all props of the extension system are actually exposed.
@@ -2492,7 +2493,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
2492
2493
  }, {
2493
2494
  key: "connectedCallback",
2494
2495
  value: function connectedCallback() {
2495
- this.style.display = 'contents';
2496
+ this.style.display = contents;
2496
2497
  if (this.isConnected) {
2497
2498
  this.dispatchEvent(new CustomEvent('render-html', {
2498
2499
  bubbles: true,
@@ -2555,7 +2556,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
2555
2556
  _createClass(PiralPortal, [{
2556
2557
  key: "connectedCallback",
2557
2558
  value: function connectedCallback() {
2558
- this.style.display = 'contents';
2559
+ this.style.display = contents;
2559
2560
  }
2560
2561
  }]);
2561
2562
  return PiralPortal;
@@ -2582,7 +2583,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
2582
2583
  _createClass(PiralSlot, [{
2583
2584
  key: "connectedCallback",
2584
2585
  value: function connectedCallback() {
2585
- this.style.display = 'contents';
2586
+ this.style.display = contents;
2586
2587
  }
2587
2588
  }]);
2588
2589
  return PiralSlot;
@@ -2622,13 +2623,13 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
2622
2623
  _createClass(PiralContent, [{
2623
2624
  key: "connectedCallback",
2624
2625
  value: function connectedCallback() {
2625
- this.style.display = 'contents';
2626
+ this.style.display = contents;
2626
2627
  var cid = this.getAttribute('cid');
2627
2628
  var content = PiralContent.contentAssignments[cid];
2628
2629
  var portal = this.closest('piral-portal');
2629
2630
  if (content && portal) {
2630
2631
  var portalId = portal.getAttribute('pid');
2631
- document.body.dispatchEvent(new CustomEvent('render-content', {
2632
+ window.dispatchEvent(new CustomEvent('render-content', {
2632
2633
  detail: {
2633
2634
  target: this,
2634
2635
  content: content,
@@ -2651,6 +2652,58 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
2651
2652
  PiralContent.contentAssignments[cid] = content;
2652
2653
  };
2653
2654
  customElements.define(_utils__WEBPACK_IMPORTED_MODULE_3__.contentName, PiralContent);
2655
+ /**
2656
+ * This is a virtual element to indicate that the contained content is
2657
+ * rendered from a micro frontend's component. It will be used by the
2658
+ * orchestrator, so there is nothing you will need to do with it.
2659
+ *
2660
+ * Right now this is only used when you opt-in in the createInstance.
2661
+ */
2662
+ var PiralComponent = /*#__PURE__*/function (_HTMLElement5) {
2663
+ _inherits(PiralComponent, _HTMLElement5);
2664
+ var _super5 = _createSuper(PiralComponent);
2665
+ function PiralComponent() {
2666
+ _classCallCheck(this, PiralComponent);
2667
+ return _super5.apply(this, arguments);
2668
+ }
2669
+ _createClass(PiralComponent, [{
2670
+ key: "name",
2671
+ get: function get() {
2672
+ return this.getAttribute('name');
2673
+ }
2674
+ }, {
2675
+ key: "origin",
2676
+ get: function get() {
2677
+ return this.getAttribute('origin');
2678
+ }
2679
+ }, {
2680
+ key: "connectedCallback",
2681
+ value: function connectedCallback() {
2682
+ this.style.display = contents;
2683
+ this.deferEvent('add-component');
2684
+ }
2685
+ }, {
2686
+ key: "disconnectedCallback",
2687
+ value: function disconnectedCallback() {
2688
+ this.deferEvent('remove-component');
2689
+ }
2690
+ }, {
2691
+ key: "deferEvent",
2692
+ value: function deferEvent(eventName) {
2693
+ var ev = new CustomEvent(eventName, {
2694
+ detail: {
2695
+ name: this.name,
2696
+ origin: this.origin
2697
+ }
2698
+ });
2699
+ setTimeout(function () {
2700
+ return window.dispatchEvent(ev);
2701
+ }, 0);
2702
+ }
2703
+ }]);
2704
+ return PiralComponent;
2705
+ }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
2706
+ customElements.define(_utils__WEBPACK_IMPORTED_MODULE_3__.componentName, PiralComponent);
2654
2707
  }
2655
2708
  function renderElement(context, element, props) {
2656
2709
  if (typeof window !== 'undefined') {
@@ -2831,14 +2884,22 @@ function getWrapper(wrappers, wrapperType) {
2831
2884
  return WrapType || WrapAll || DefaultWrapper;
2832
2885
  }
2833
2886
  function makeWrapper(context, outerProps, wrapperType, errorType) {
2887
+ var wrapped = context.readState(function (m) {
2888
+ return m.app.wrap;
2889
+ });
2834
2890
  var OuterWrapper = context.readState(function (m) {
2835
2891
  return getWrapper(m.registry.wrappers, wrapperType);
2836
2892
  });
2837
- return function (props) {
2893
+ var Wrapper = function Wrapper(props) {
2838
2894
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(OuterWrapper, _objectSpread(_objectSpread({}, outerProps), props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components__WEBPACK_IMPORTED_MODULE_2__.ErrorBoundary, _objectSpread(_objectSpread(_objectSpread({}, outerProps), props), {}, {
2839
2895
  errorType: errorType
2840
2896
  }), props.children));
2841
2897
  };
2898
+ return wrapped ? function (props) {
2899
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("piral-component", {
2900
+ origin: outerProps.piral.meta.name
2901
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Wrapper, _objectSpread({}, props)));
2902
+ } : Wrapper;
2842
2903
  }
2843
2904
  function withApi(context, component, piral, errorType) {
2844
2905
  var wrapperType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : errorType;
@@ -2931,11 +2992,7 @@ function integrateDebugger(context, options) {
2931
2992
  integrate: function integrate(dbg) {
2932
2993
  context.dispatch(function (s) {
2933
2994
  return _objectSpread(_objectSpread({}, s), {}, {
2934
- components: _objectSpread(_objectSpread({}, s.components), dbg.components),
2935
- routes: _objectSpread(_objectSpread({}, s.routes), dbg.routes),
2936
- registry: _objectSpread(_objectSpread({}, s.registry), {}, {
2937
- wrappers: _objectSpread(_objectSpread({}, s.registry.wrappers), dbg.wrappers)
2938
- })
2995
+ routes: _objectSpread(_objectSpread({}, s.routes), dbg.routes)
2939
2996
  });
2940
2997
  });
2941
2998
  context.state.subscribe(function (current, previous) {
@@ -3175,6 +3232,7 @@ __webpack_require__.r(__webpack_exports__);
3175
3232
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3176
3233
  /* harmony export */ attachDomPortal: () => (/* binding */ attachDomPortal),
3177
3234
  /* harmony export */ changeDomPortal: () => (/* binding */ changeDomPortal),
3235
+ /* harmony export */ componentName: () => (/* binding */ componentName),
3178
3236
  /* harmony export */ contentName: () => (/* binding */ contentName),
3179
3237
  /* harmony export */ convertComponent: () => (/* binding */ convertComponent),
3180
3238
  /* harmony export */ extensionName: () => (/* binding */ extensionName),
@@ -3188,6 +3246,7 @@ __webpack_require__.r(__webpack_exports__);
3188
3246
 
3189
3247
 
3190
3248
  var extensionName = 'piral-extension';
3249
+ var componentName = 'piral-component';
3191
3250
  var contentName = 'piral-content';
3192
3251
  var portalName = 'piral-portal';
3193
3252
  var slotName = 'piral-slot';
@@ -5919,6 +5978,12 @@ __webpack_require__.r(__webpack_exports__);
5919
5978
  /* harmony import */ var _default__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./default */ "../../plugins/piral-translate/esm/default.js");
5920
5979
  /* harmony import */ var _flatten_translations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./flatten-translations */ "../../plugins/piral-translate/esm/flatten-translations.js");
5921
5980
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5981
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5982
+ 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."); }
5983
+ 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); }
5984
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5985
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
5986
+ 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; }
5922
5987
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5923
5988
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5924
5989
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -5965,16 +6030,14 @@ function createLocaleApi() {
5965
6030
  });
5966
6031
  return function (api) {
5967
6032
  var localTranslations = {};
6033
+ var setTranslations = function setTranslations(messages) {
6034
+ localTranslations = (0,_flatten_translations__WEBPACK_IMPORTED_MODULE_4__.flattenTranslations)(messages);
6035
+ };
5968
6036
  return {
5969
6037
  addTranslations: function addTranslations(messages) {
5970
6038
  var isOverriding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
5971
- var messagesToMerge = messages;
5972
- if (isOverriding) {
5973
- messagesToMerge.unshift(localizer.messages);
5974
- } else {
5975
- messagesToMerge.push(localizer.messages);
5976
- }
5977
- this.setTranslations(deepmerge__WEBPACK_IMPORTED_MODULE_0__.all(messagesToMerge));
6039
+ var current = localizer.messages;
6040
+ setTranslations(deepmerge__WEBPACK_IMPORTED_MODULE_0__.all(isOverriding ? [current].concat(_toConsumableArray(messages)) : [].concat(_toConsumableArray(messages), [current])));
5978
6041
  },
5979
6042
  getCurrentLanguage: function getCurrentLanguage(cb) {
5980
6043
  var selected = context.readState(function (s) {
@@ -5992,9 +6055,7 @@ function createLocaleApi() {
5992
6055
  }
5993
6056
  return selected;
5994
6057
  },
5995
- setTranslations: function setTranslations(messages) {
5996
- localTranslations = (0,_flatten_translations__WEBPACK_IMPORTED_MODULE_4__.flattenTranslations)(messages);
5997
- },
6058
+ setTranslations: setTranslations,
5998
6059
  getTranslations: function getTranslations() {
5999
6060
  return localTranslations;
6000
6061
  },
@@ -6072,21 +6133,13 @@ __webpack_require__.r(__webpack_exports__);
6072
6133
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6073
6134
  /* harmony export */ flattenTranslations: () => (/* binding */ flattenTranslations)
6074
6135
  /* harmony export */ });
6075
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6076
6136
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6077
6137
  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."); }
6078
6138
  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); }
6079
6139
  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; }
6080
6140
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6081
6141
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
6082
- function flattenTranslations(messages) {
6083
- return Object.fromEntries(Object.entries(messages).map(function (_ref) {
6084
- var _ref2 = _slicedToArray(_ref, 2),
6085
- language = _ref2[0],
6086
- translations = _ref2[1];
6087
- return [language, flat(translations)];
6088
- }));
6089
- }
6142
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6090
6143
  function flat(source) {
6091
6144
  var target = {};
6092
6145
  flatten(source, target);
@@ -6105,6 +6158,14 @@ function flatten(source, target) {
6105
6158
  return;
6106
6159
  }
6107
6160
  }
6161
+ function flattenTranslations(messages) {
6162
+ return Object.fromEntries(Object.entries(messages).map(function (_ref) {
6163
+ var _ref2 = _slicedToArray(_ref, 2),
6164
+ language = _ref2[0],
6165
+ translations = _ref2[1];
6166
+ return [language, flat(translations)];
6167
+ }));
6168
+ }
6108
6169
 
6109
6170
  /***/ }),
6110
6171
 
@@ -6265,37 +6326,6 @@ var Localizer = /*#__PURE__*/function () {
6265
6326
 
6266
6327
  /***/ }),
6267
6328
 
6268
- /***/ "../../utilities/piral-debug-utils/esm/DebugTracker.js":
6269
- /*!*************************************************************!*\
6270
- !*** ../../utilities/piral-debug-utils/esm/DebugTracker.js ***!
6271
- \*************************************************************/
6272
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6273
-
6274
- "use strict";
6275
- __webpack_require__.r(__webpack_exports__);
6276
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6277
- /* harmony export */ DebugTracker: () => (/* binding */ DebugTracker)
6278
- /* harmony export */ });
6279
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
6280
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6281
- /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./state */ "../../utilities/piral-debug-utils/esm/state.js");
6282
-
6283
-
6284
- var DebugTracker = function DebugTracker() {
6285
- var route = (0,_state__WEBPACK_IMPORTED_MODULE_1__.useDebugState)(function (s) {
6286
- return s.route;
6287
- });
6288
- react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
6289
- if (route) {
6290
- (0,_state__WEBPACK_IMPORTED_MODULE_1__.navigate)(route.path, route.state);
6291
- }
6292
- }, [route]);
6293
- // tslint:disable-next-line:no-null-keyword
6294
- return null;
6295
- };
6296
-
6297
- /***/ }),
6298
-
6299
6329
  /***/ "../../utilities/piral-debug-utils/esm/ExtensionCatalogue.js":
6300
6330
  /*!*******************************************************************!*\
6301
6331
  !*** ../../utilities/piral-debug-utils/esm/ExtensionCatalogue.js ***!
@@ -6320,6 +6350,7 @@ var ExtensionCatalogue = function ExtensionCatalogue() {
6320
6350
  name = _state$name === void 0 ? '' : _state$name,
6321
6351
  _state$params = state.params,
6322
6352
  params = _state$params === void 0 ? {} : _state$params;
6353
+ // @ts-ignore
6323
6354
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("piral-extension", {
6324
6355
  name: name,
6325
6356
  params: JSON.stringify(params)
@@ -6330,141 +6361,6 @@ var ExtensionCatalogue = function ExtensionCatalogue() {
6330
6361
 
6331
6362
  /***/ }),
6332
6363
 
6333
- /***/ "../../utilities/piral-debug-utils/esm/VisualizationWrapper.js":
6334
- /*!*********************************************************************!*\
6335
- !*** ../../utilities/piral-debug-utils/esm/VisualizationWrapper.js ***!
6336
- \*********************************************************************/
6337
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6338
-
6339
- "use strict";
6340
- __webpack_require__.r(__webpack_exports__);
6341
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6342
- /* harmony export */ VisualizationWrapper: () => (/* binding */ VisualizationWrapper)
6343
- /* harmony export */ });
6344
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
6345
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6346
- /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./state */ "../../utilities/piral-debug-utils/esm/state.js");
6347
-
6348
-
6349
- var moduleColor = {};
6350
- var Visualizer = function Visualizer(_ref) {
6351
- var pilet = _ref.pilet,
6352
- force = _ref.force,
6353
- active = _ref.active;
6354
- var colors = ['#001F3F', '#0074D9', '#7FDBFF', '#39CCCC', '#3D9970', '#2ECC40', '#01FF70', '#FFDC00', '#FF851B', '#FF4136', '#85144B', '#F012BE', '#B10DC9'];
6355
- var container = react__WEBPACK_IMPORTED_MODULE_0__.useRef();
6356
- var color = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(function () {
6357
- return moduleColor[pilet] || (moduleColor[pilet] = colors[Object.keys(moduleColor).length % colors.length]);
6358
- }, [pilet]);
6359
- react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
6360
- var sibling = container.current && container.current.nextElementSibling;
6361
- if (sibling && active) {
6362
- var target = container.current.parentNode;
6363
- var mouseIn = function mouseIn() {
6364
- if (container.current && sibling) {
6365
- var style = container.current.style;
6366
- style.display = 'block';
6367
- style.left = '0px';
6368
- style.top = '0px';
6369
- style.bottom = '0px';
6370
- style.right = '0px';
6371
- var targetRect = sibling.getBoundingClientRect();
6372
- var sourceRect = container.current.getBoundingClientRect();
6373
- style.left = targetRect.left - sourceRect.left + 'px';
6374
- style.top = targetRect.top - sourceRect.top + 'px';
6375
- style.bottom = -(targetRect.bottom - sourceRect.bottom) + 'px';
6376
- style.right = -(targetRect.right - sourceRect.right) + 'px';
6377
- }
6378
- };
6379
- var mouseOut = function mouseOut() {
6380
- if (container.current) {
6381
- var style = container.current.style;
6382
- style.display = 'none';
6383
- }
6384
- };
6385
- var append = function append() {
6386
- if (force) {
6387
- mouseIn();
6388
- } else if (sibling) {
6389
- sibling.addEventListener('mouseover', mouseIn);
6390
- sibling.addEventListener('mouseout', mouseOut);
6391
- }
6392
- };
6393
- var remove = function remove() {
6394
- if (force) {
6395
- mouseOut();
6396
- } else if (sibling) {
6397
- sibling.removeEventListener('mouseover', mouseIn);
6398
- sibling.removeEventListener('mouseout', mouseOut);
6399
- }
6400
- };
6401
- var observer = new MutationObserver(function () {
6402
- var _container$current;
6403
- var newSibling = (_container$current = container.current) === null || _container$current === void 0 ? void 0 : _container$current.nextElementSibling;
6404
- if (newSibling !== sibling) {
6405
- remove();
6406
- sibling = newSibling;
6407
- append();
6408
- }
6409
- });
6410
- append();
6411
- observer.observe(target, {
6412
- childList: true
6413
- });
6414
- return function () {
6415
- remove();
6416
- observer.disconnect();
6417
- };
6418
- }
6419
- }, [active, force]);
6420
- if (active) {
6421
- var rect = {
6422
- border: '1px solid red',
6423
- display: 'none',
6424
- position: 'absolute',
6425
- top: 0,
6426
- bottom: 0,
6427
- right: 0,
6428
- left: 0,
6429
- zIndex: 99999999999,
6430
- pointerEvents: 'none',
6431
- borderColor: color
6432
- };
6433
- var info = {
6434
- color: 'white',
6435
- position: 'absolute',
6436
- right: 0,
6437
- top: 0,
6438
- fontSize: '8px',
6439
- background: color
6440
- };
6441
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
6442
- style: rect,
6443
- ref: container
6444
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
6445
- style: info
6446
- }, pilet));
6447
- }
6448
- // tslint:disable-next-line:no-null-keyword
6449
- return null;
6450
- };
6451
- var VisualizationWrapper = function VisualizationWrapper(_ref2) {
6452
- var piral = _ref2.piral,
6453
- children = _ref2.children;
6454
- var _useDebugState = (0,_state__WEBPACK_IMPORTED_MODULE_1__.useDebugState)(function (m) {
6455
- return m.visualize;
6456
- }),
6457
- active = _useDebugState.active,
6458
- force = _useDebugState.force;
6459
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Visualizer, {
6460
- pilet: piral.meta.name,
6461
- force: force,
6462
- active: active
6463
- }), children);
6464
- };
6465
-
6466
- /***/ }),
6467
-
6468
6364
  /***/ "../../utilities/piral-debug-utils/esm/debug.js":
6469
6365
  /*!******************************************************!*\
6470
6366
  !*** ../../utilities/piral-debug-utils/esm/debug.js ***!
@@ -6476,10 +6372,9 @@ __webpack_require__.r(__webpack_exports__);
6476
6372
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6477
6373
  /* harmony export */ installPiralDebug: () => (/* binding */ installPiralDebug)
6478
6374
  /* harmony export */ });
6479
- /* harmony import */ var _DebugTracker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DebugTracker */ "../../utilities/piral-debug-utils/esm/DebugTracker.js");
6480
- /* harmony import */ var _VisualizationWrapper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./VisualizationWrapper */ "../../utilities/piral-debug-utils/esm/VisualizationWrapper.js");
6481
6375
  /* harmony import */ var _ExtensionCatalogue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ExtensionCatalogue */ "../../utilities/piral-debug-utils/esm/ExtensionCatalogue.js");
6482
- /* harmony import */ var _decycle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decycle */ "../../utilities/piral-debug-utils/esm/decycle.js");
6376
+ /* harmony import */ var _decycle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decycle */ "../../utilities/piral-debug-utils/esm/decycle.js");
6377
+ /* harmony import */ var _visualizer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./visualizer */ "../../utilities/piral-debug-utils/esm/visualizer.js");
6483
6378
  /* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./state */ "../../utilities/piral-debug-utils/esm/state.js");
6484
6379
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6485
6380
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -6491,7 +6386,6 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
6491
6386
 
6492
6387
 
6493
6388
 
6494
-
6495
6389
  function installPiralDebug(options) {
6496
6390
  var getGlobalState = options.getGlobalState,
6497
6391
  getExtensions = options.getExtensions,
@@ -6515,7 +6409,6 @@ function installPiralDebug(options) {
6515
6409
  var selfSource = 'piral-debug-api';
6516
6410
  var debugApiVersion = 'v1';
6517
6411
  var setValue = _state__WEBPACK_IMPORTED_MODULE_0__.initialSetter;
6518
- (0,_state__WEBPACK_IMPORTED_MODULE_0__.setInitialState)(initialSettings);
6519
6412
  var settings = _objectSpread(_objectSpread({}, customSettings), {}, {
6520
6413
  viewState: {
6521
6414
  value: initialSettings.viewState,
@@ -6577,6 +6470,9 @@ function installPiralDebug(options) {
6577
6470
  }
6578
6471
  }
6579
6472
  });
6473
+ if (initialSettings.viewOrigins) {
6474
+ (0,_visualizer__WEBPACK_IMPORTED_MODULE_1__.createVisualizer)();
6475
+ }
6580
6476
  var sendMessage = function sendMessage(content) {
6581
6477
  window.postMessage({
6582
6478
  content: content,
@@ -6656,33 +6552,12 @@ function installPiralDebug(options) {
6656
6552
  });
6657
6553
  }
6658
6554
  };
6659
- var toggleVisualize = function toggleVisualize() {
6660
- (0,_state__WEBPACK_IMPORTED_MODULE_0__.setState)(function (s) {
6661
- return _objectSpread(_objectSpread({}, s), {}, {
6662
- visualize: _objectSpread(_objectSpread({}, s.visualize), {}, {
6663
- force: !s.visualize.force
6664
- })
6665
- });
6666
- });
6667
- };
6668
6555
  var updateVisualize = function updateVisualize(active) {
6669
- (0,_state__WEBPACK_IMPORTED_MODULE_0__.setState)(function (s) {
6670
- return _objectSpread(_objectSpread({}, s), {}, {
6671
- visualize: _objectSpread(_objectSpread({}, s.visualize), {}, {
6672
- active: active
6673
- })
6674
- });
6675
- });
6676
- };
6677
- var goToRoute = function goToRoute(path, state) {
6678
- (0,_state__WEBPACK_IMPORTED_MODULE_0__.setState)(function (s) {
6679
- return _objectSpread(_objectSpread({}, s), {}, {
6680
- route: {
6681
- path: path,
6682
- state: state
6683
- }
6684
- });
6685
- });
6556
+ if (active) {
6557
+ (0,_visualizer__WEBPACK_IMPORTED_MODULE_1__.createVisualizer)();
6558
+ } else {
6559
+ (0,_visualizer__WEBPACK_IMPORTED_MODULE_1__.destroyVisualizer)();
6560
+ }
6686
6561
  };
6687
6562
  var eventDispatcher = document.body.dispatchEvent;
6688
6563
  var systemResolve = System.constructor.prototype.resolve;
@@ -6718,12 +6593,12 @@ function installPiralDebug(options) {
6718
6593
  debug: debugApiVersion,
6719
6594
  instance: {
6720
6595
  name: "sample-piral",
6721
- version: "1.4.0-beta.6276",
6596
+ version: "1.4.0-beta.6287",
6722
6597
  dependencies: "reactstrap,tslib,react,react-dom,react-router,react-router-dom"
6723
6598
  },
6724
6599
  build: {
6725
- date: "2023-11-29T10:07:38.936Z",
6726
- cli: "1.4.0-beta.6276",
6600
+ date: "2023-12-01T10:59:05.683Z",
6601
+ cli: "1.4.0-beta.6287",
6727
6602
  compat: "1"
6728
6603
  }
6729
6604
  };
@@ -6735,7 +6610,7 @@ function installPiralDebug(options) {
6735
6610
  capabilities: ['events', 'container', 'routes', 'pilets', 'settings', 'extensions', 'dependencies', 'dependency-map']
6736
6611
  };
6737
6612
  var start = function start() {
6738
- var container = (0,_decycle__WEBPACK_IMPORTED_MODULE_1__.decycle)(getGlobalState());
6613
+ var container = (0,_decycle__WEBPACK_IMPORTED_MODULE_2__.decycle)(getGlobalState());
6739
6614
  var routes = getRoutes().filter(function (r) {
6740
6615
  return !excludedRoutes.includes(r);
6741
6616
  });
@@ -6823,7 +6698,7 @@ function installPiralDebug(options) {
6823
6698
  events.unshift({
6824
6699
  id: events.length.toString(),
6825
6700
  name: ev.type.replace('piral-', ''),
6826
- args: (0,_decycle__WEBPACK_IMPORTED_MODULE_1__.decycle)(ev.detail.arg),
6701
+ args: (0,_decycle__WEBPACK_IMPORTED_MODULE_2__.decycle)(ev.detail.arg),
6827
6702
  time: Date.now()
6828
6703
  });
6829
6704
  sendMessage({
@@ -6870,21 +6745,14 @@ function installPiralDebug(options) {
6870
6745
  case 'emit-event':
6871
6746
  return fireEvent(content.name, content.args);
6872
6747
  case 'goto-route':
6873
- return goToRoute(content.route, content.state);
6748
+ return navigate(content.route, content.state);
6874
6749
  case 'visualize-all':
6875
- return toggleVisualize();
6750
+ return (0,_visualizer__WEBPACK_IMPORTED_MODULE_1__.toggleVisualizer)();
6876
6751
  }
6877
6752
  }
6878
6753
  });
6879
- (0,_state__WEBPACK_IMPORTED_MODULE_0__.setNavigate)(navigate);
6880
6754
  integrate({
6881
- components: {
6882
- Debug: _DebugTracker__WEBPACK_IMPORTED_MODULE_2__.DebugTracker
6883
- },
6884
6755
  routes: _defineProperty({}, initialSettings.cataloguePath, _ExtensionCatalogue__WEBPACK_IMPORTED_MODULE_3__.ExtensionCatalogue),
6885
- wrappers: {
6886
- '*': _VisualizationWrapper__WEBPACK_IMPORTED_MODULE_4__.VisualizationWrapper
6887
- },
6888
6756
  onChange: function onChange(previous, current, changed) {
6889
6757
  if (changed.state) {
6890
6758
  if (settings.viewState.value) {
@@ -6907,7 +6775,7 @@ function installPiralDebug(options) {
6907
6775
  }
6908
6776
  sendMessage({
6909
6777
  type: 'container',
6910
- container: (0,_decycle__WEBPACK_IMPORTED_MODULE_1__.decycle)(getGlobalState())
6778
+ container: (0,_decycle__WEBPACK_IMPORTED_MODULE_2__.decycle)(getGlobalState())
6911
6779
  });
6912
6780
  }
6913
6781
  if (changed.pilets) {
@@ -7154,25 +7022,9 @@ __webpack_require__.r(__webpack_exports__);
7154
7022
  /* harmony export */ disablePersistance: () => (/* binding */ disablePersistance),
7155
7023
  /* harmony export */ enablePersistance: () => (/* binding */ enablePersistance),
7156
7024
  /* harmony export */ getInitialSettings: () => (/* binding */ getInitialSettings),
7157
- /* harmony export */ getState: () => (/* binding */ getState),
7158
7025
  /* harmony export */ initialSetter: () => (/* binding */ initialSetter),
7159
- /* harmony export */ navigate: () => (/* binding */ navigate),
7160
- /* harmony export */ setInitialState: () => (/* binding */ setInitialState),
7161
- /* harmony export */ setNavigate: () => (/* binding */ setNavigate),
7162
- /* harmony export */ setState: () => (/* binding */ setState),
7163
- /* harmony export */ settingsKeys: () => (/* binding */ settingsKeys),
7164
- /* harmony export */ subscribe: () => (/* binding */ subscribe),
7165
- /* harmony export */ useDebugState: () => (/* binding */ useDebugState)
7026
+ /* harmony export */ settingsKeys: () => (/* binding */ settingsKeys)
7166
7027
  /* harmony export */ });
7167
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
7168
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
7169
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
7170
- 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."); }
7171
- 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); }
7172
- 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; }
7173
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7174
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7175
-
7176
7028
  var settingsKeys = {
7177
7029
  viewState: 'dbg:view-state',
7178
7030
  loadPilets: 'dbg:load-pilets',
@@ -7247,73 +7099,6 @@ function getInitialSettings(defaultValues) {
7247
7099
  cataloguePath: '/$debug-extension-catalogue'
7248
7100
  };
7249
7101
  }
7250
- var listeners = [];
7251
- var _navigate = undefined;
7252
- function setNavigate(navigate) {
7253
- _navigate = navigate;
7254
- }
7255
- function navigate(path, state) {
7256
- var _navigate2;
7257
- (_navigate2 = _navigate) === null || _navigate2 === void 0 || _navigate2(path, state);
7258
- }
7259
- var state = {
7260
- visualize: {
7261
- active: false,
7262
- force: false
7263
- },
7264
- catalogue: {
7265
- active: false,
7266
- path: ''
7267
- },
7268
- route: undefined
7269
- };
7270
- function setInitialState(initialSettings) {
7271
- state.visualize.active = initialSettings.viewOrigins;
7272
- state.catalogue.active = initialSettings.extensionCatalogue;
7273
- state.catalogue.path = initialSettings.cataloguePath;
7274
- }
7275
- function setState(dispatch) {
7276
- var newState = dispatch(state);
7277
- if (newState !== state) {
7278
- state = newState;
7279
- listeners.forEach(function (listener) {
7280
- return listener();
7281
- });
7282
- }
7283
- }
7284
- function getState() {
7285
- return state;
7286
- }
7287
- function subscribe(select, notify) {
7288
- var prevState = select(state);
7289
- var cb = function cb() {
7290
- var nextState = select(state);
7291
- if (prevState !== nextState) {
7292
- prevState = nextState;
7293
- notify(nextState);
7294
- }
7295
- };
7296
- var unsubscribe = function unsubscribe() {
7297
- var idx = listeners.indexOf(cb);
7298
- if (idx !== -1) {
7299
- listeners.splice(idx, 1);
7300
- }
7301
- };
7302
- listeners.push(cb);
7303
- return unsubscribe;
7304
- }
7305
- function useDebugState(select) {
7306
- var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(function () {
7307
- return select(getState());
7308
- }),
7309
- _useState2 = _slicedToArray(_useState, 2),
7310
- state = _useState2[0],
7311
- setState = _useState2[1];
7312
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
7313
- return subscribe(select, setState);
7314
- }, []);
7315
- return state;
7316
- }
7317
7102
 
7318
7103
  /***/ }),
7319
7104
 
@@ -7358,6 +7143,186 @@ function useDebugRouteFilter(paths) {
7358
7143
 
7359
7144
  /***/ }),
7360
7145
 
7146
+ /***/ "../../utilities/piral-debug-utils/esm/visualizer.js":
7147
+ /*!***********************************************************!*\
7148
+ !*** ../../utilities/piral-debug-utils/esm/visualizer.js ***!
7149
+ \***********************************************************/
7150
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7151
+
7152
+ "use strict";
7153
+ __webpack_require__.r(__webpack_exports__);
7154
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7155
+ /* harmony export */ createVisualizer: () => (/* binding */ createVisualizer),
7156
+ /* harmony export */ destroyVisualizer: () => (/* binding */ destroyVisualizer),
7157
+ /* harmony export */ toggleVisualizer: () => (/* binding */ toggleVisualizer)
7158
+ /* harmony export */ });
7159
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7160
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7161
+ 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, _toPropertyKey(descriptor.key), descriptor); } }
7162
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7163
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7164
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7165
+ 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 } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
7166
+ 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); }; }
7167
+ 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); }
7168
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
7169
+ 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); }
7170
+ function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } 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); }
7171
+ 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; } }
7172
+ function _isNativeFunction(fn) { try { return Function.toString.call(fn).indexOf("[native code]") !== -1; } catch (e) { return typeof fn === "function"; } }
7173
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
7174
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
7175
+ var visualizerName = 'piral-inspector-visualizer';
7176
+ var persistAttribute = 'persist';
7177
+ var piletColorMap = {};
7178
+ var colors = ['#001F3F', '#0074D9', '#7FDBFF', '#39CCCC', '#3D9970', '#2ECC40', '#01FF70', '#FFDC00', '#FF851B', '#FF4136', '#85144B', '#F012BE', '#B10DC9'];
7179
+ function getTarget(element) {
7180
+ var row = element.childNodes;
7181
+ var rects = Array.prototype.map.call(row, function (item) {
7182
+ if (item instanceof Element) {
7183
+ return item.getBoundingClientRect();
7184
+ } else if (item instanceof Text) {
7185
+ var range = document.createRange();
7186
+ range.selectNode(item);
7187
+ return range.getBoundingClientRect();
7188
+ } else {
7189
+ return new DOMRectReadOnly(0, 0, 0, 0);
7190
+ }
7191
+ });
7192
+ var relevant = rects.filter(function (m) {
7193
+ return m.height !== 0 && m.width !== 0;
7194
+ });
7195
+ if (relevant.length === 0) {
7196
+ return new DOMRectReadOnly(0, 0, 0, 0);
7197
+ }
7198
+ return relevant.reduce(function (a, b) {
7199
+ var x = Math.min(a.left, b.left);
7200
+ var y = Math.min(a.top, b.top);
7201
+ var width = Math.max(a.right, b.right) - x;
7202
+ var height = Math.max(a.bottom, b.bottom) - y;
7203
+ return new DOMRectReadOnly(x, y, width, height);
7204
+ });
7205
+ }
7206
+ function hide(vis) {
7207
+ vis.style.opacity = '0';
7208
+ // vis.style.pointerEvents = 'auto';
7209
+ }
7210
+
7211
+ function show(vis) {
7212
+ vis.style.opacity = '1';
7213
+ // vis.style.pointerEvents = 'none';
7214
+ }
7215
+
7216
+ function updatePosition(source, vis) {
7217
+ var targetRect = getTarget(source);
7218
+ vis.style.left = targetRect.left + 'px';
7219
+ vis.style.top = targetRect.top + 'px';
7220
+ vis.style.width = targetRect.width + 'px';
7221
+ vis.style.height = targetRect.height + 'px';
7222
+ }
7223
+ var PiralInspectorVisualizer = /*#__PURE__*/function (_HTMLElement) {
7224
+ _inherits(PiralInspectorVisualizer, _HTMLElement);
7225
+ var _super = _createSuper(PiralInspectorVisualizer);
7226
+ function PiralInspectorVisualizer() {
7227
+ var _this;
7228
+ _classCallCheck(this, PiralInspectorVisualizer);
7229
+ _this = _super.apply(this, arguments);
7230
+ _this.update = function () {
7231
+ var persist = _this.getAttribute(persistAttribute) !== null;
7232
+ _this.innerText = '';
7233
+ document.querySelectorAll('piral-component').forEach(function (element) {
7234
+ var pilet = element.getAttribute('origin');
7235
+ var vis = _this.appendChild(document.createElement('div'));
7236
+ var info = vis.appendChild(document.createElement('div'));
7237
+ vis.style.position = 'absolute';
7238
+ vis.style.zIndex = '2147483647';
7239
+ vis.style.border = '1px solid #ccc';
7240
+ vis.style.pointerEvents = 'none';
7241
+ info.style.color = 'white';
7242
+ info.textContent = pilet;
7243
+ info.style.position = 'absolute';
7244
+ info.style.right = '0';
7245
+ info.style.top = '0';
7246
+ info.style.fontSize = '8px';
7247
+ info.style.background = piletColorMap[pilet] || (piletColorMap[pilet] = colors[Object.keys(piletColorMap).length % colors.length]);
7248
+ if (!persist) {
7249
+ hide(vis);
7250
+ element.addEventListener('mouseenter', function () {
7251
+ updatePosition(element, vis);
7252
+ show(vis);
7253
+ });
7254
+ element.addEventListener('mouseleave', function () {
7255
+ hide(vis);
7256
+ });
7257
+ } else {
7258
+ updatePosition(element, vis);
7259
+ show(vis);
7260
+ }
7261
+ });
7262
+ };
7263
+ return _this;
7264
+ }
7265
+ _createClass(PiralInspectorVisualizer, [{
7266
+ key: "connectedCallback",
7267
+ value: function connectedCallback() {
7268
+ this.style.position = 'absolute';
7269
+ this.style.top = '0';
7270
+ this.style.left = '0';
7271
+ this.style.width = '0';
7272
+ this.style.height = '0';
7273
+ window.addEventListener('resize', this.update);
7274
+ window.addEventListener('add-component', this.update);
7275
+ window.addEventListener('remove-component', this.update);
7276
+ this.update();
7277
+ }
7278
+ }, {
7279
+ key: "disconnectedCallback",
7280
+ value: function disconnectedCallback() {
7281
+ window.removeEventListener('resize', this.update);
7282
+ window.removeEventListener('add-component', this.update);
7283
+ window.removeEventListener('remove-component', this.update);
7284
+ }
7285
+ }, {
7286
+ key: "attributeChangedCallback",
7287
+ value: function attributeChangedCallback(name, oldValue, newValue) {
7288
+ if (name === persistAttribute && oldValue !== newValue) {
7289
+ this.update();
7290
+ }
7291
+ }
7292
+ }], [{
7293
+ key: "observedAttributes",
7294
+ get: function get() {
7295
+ return [persistAttribute];
7296
+ }
7297
+ }]);
7298
+ return PiralInspectorVisualizer;
7299
+ }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
7300
+ customElements.define(visualizerName, PiralInspectorVisualizer);
7301
+ function createVisualizer() {
7302
+ var visualizer = document.querySelector(visualizerName);
7303
+ if (!visualizer) {
7304
+ document.body.appendChild(document.createElement(visualizerName));
7305
+ }
7306
+ }
7307
+ function destroyVisualizer() {
7308
+ var visualizer = document.querySelector(visualizerName);
7309
+ if (visualizer) {
7310
+ visualizer.remove();
7311
+ }
7312
+ }
7313
+ function toggleVisualizer() {
7314
+ var visualizer = document.querySelector(visualizerName);
7315
+ if (visualizer) {
7316
+ if (visualizer.getAttribute(persistAttribute) !== null) {
7317
+ visualizer.removeAttribute(persistAttribute);
7318
+ } else {
7319
+ visualizer.setAttribute(persistAttribute, '');
7320
+ }
7321
+ }
7322
+ }
7323
+
7324
+ /***/ }),
7325
+
7361
7326
  /***/ "../../utilities/piral-hooks-utils/esm/hooks/onClickOutside.js":
7362
7327
  /*!*********************************************************************!*\
7363
7328
  !*** ../../utilities/piral-hooks-utils/esm/hooks/onClickOutside.js ***!
@@ -8688,12 +8653,12 @@ body.pi-modal-open .pi-modal {
8688
8653
  flex: 1;
8689
8654
  margin: 1px 0;
8690
8655
  }
8691
- .app-menu .pi-menu > .pi-item > a {
8656
+ .app-menu .pi-menu > .pi-item a {
8692
8657
  display: block;
8693
8658
  border-left: 5px solid #abcdef;
8694
8659
  padding: 1em;
8695
8660
  }
8696
- .app-menu .pi-menu > .pi-item > a:hover {
8661
+ .app-menu .pi-menu > .pi-item a:hover {
8697
8662
  border-left-color: #559adf;
8698
8663
  }
8699
8664
 
@@ -9062,7 +9027,7 @@ body.pi-modal-open .pi-modal {
9062
9027
  }
9063
9028
  .hamburger--arrow.is-active .hamburger-inner::after {
9064
9029
  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
9065
- }`, "",{"version":3,"sources":["webpack://./src/styles/_layout.scss","webpack://./src/styles/index.scss","webpack://./src/styles/_burger.scss"],"names":[],"mappings":"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","sourcesContent":["@use 'sass:math';\n\nhtml, body, #app, .app-container {\n width: 100%;\n min-height: 100%;\n background: $bg-color;\n}\n\nhtml, body {\n height: 100%;\n margin: 0;\n padding: 0;\n font-family: 'Roboto', sans-serif;\n}\n\na {\n text-decoration: none;\n color: $basic-dark-color;\n\n &:hover {\n color: darken($color: $basic-dark-color, $amount: 10%)\n }\n}\n\n.pi-modal {\n display: none;\n position: fixed;\n z-index: 3;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background: rgba(0, 0, 0, 0.4);\n animation: fade-in 0.4s;\n\n .pi-modal-dialog {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n max-width: 90%;\n max-height: 90%;\n margin: auto;\n background: #fefefe;\n animation: fade-in 0.4s;\n }\n}\n\nbody.pi-modal-open {\n height: 100vh;\n overflow-y: hidden;\n padding-right: 15px;\n position: fixed;\n\n .pi-modal {\n display: block;\n }\n}\n\n.text-right {\n text-align: right;\n}\n\n.language-picker {\n position: relative;\n margin: 4px 8px 0 0;\n\n .current {\n cursor: pointer;\n }\n\n ul {\n display: none;\n background: #f5f5f6;\n border: none;\n margin: 0;\n padding: 0;\n overflow: hidden;\n border-radius: 3px 0 3px 3px;\n background-clip: padding-box;\n margin-bottom: 5px;\n position: absolute;\n top: 100%;\n right: 0;\n\n li {\n cursor: pointer;\n border-bottom: 1px solid #ebebeb;\n padding: 10px 20px;\n margin: 0;\n outline: 0;\n color: #7d8086;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n span {\n padding-left: 8px;\n }\n\n &:hover {\n background: rgba(235, 235, 235, 0.9);\n color: #737881;\n }\n }\n\n &.open {\n display: block;\n }\n }\n}\n\n.language-icon {\n height: 16px;\n width: 16px;\n}\n\n@keyframes fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.app-container {\n flex: 1;\n position: relative;\n}\n\n.pi-notifications {\n position: fixed;\n display: flex;\n align-items: flex-end;\n flex-direction: column;\n right: 2em;\n bottom: 2em;\n\n .pi-item {\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n text-align: left;\n padding: 0.8em;\n background-color: $bg-color;\n max-width: 500px;\n position: relative;\n box-shadow: 1px 7px 14px -5px rgba(0,0,0,0.2);\n\n &+& {\n margin-top: 1em;\n }\n\n &.success:before {\n background-color: #2BDE3F;\n }\n\n &.error:before {\n background-color: #e7431a;\n }\n\n &.info:before {\n background-color: #1D72F3;\n }\n\n &.warning:before {\n background-color: #FFC007;\n }\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 2px;\n }\n\n .pi-details {\n flex: 1;\n\n .pi-title {\n color: #3e3e3e;\n font-weight: 700;\n margin-top: 0;\n margin-bottom: 8px;\n }\n\n .pi-description {\n font-size: 14px;\n margin-top: 0;\n margin-bottom: 0;\n color: #878787;\n }\n }\n\n .pi-close {\n width: 14px;\n cursor: pointer;\n height: 14px;\n fill: #878787;\n margin-left: 1.2em;\n background: url('../images/close.svg') no-repeat center center;\n }\n }\n\n @media screen and (max-width: $breakpoint-tablet) {\n right: 0;\n left: 0;\n bottom: 0;\n\n .pi-item {\n max-width: 100%;\n width: 100%;\n }\n }\n}\n\n.app-container, #app {\n display: flex;\n flex-direction: column;\n}\n\n.app-content {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n padding: 0 2em;\n}\n\n.app-title {\n display: flex;\n position: relative;\n align-items: center;\n}\n\n.app-header {\n display: flex;\n flex-direction: row;\n padding: 0 2em;\n margin-bottom: 1em;\n align-items: center;\n justify-content: space-between;\n background: $header-color;\n position: relative;\n z-index: 2;\n\n h1 {\n white-space: nowrap;\n font-size: 2rem;\n }\n\n @media screen and (max-width: $breakpoint-tablet) {\n padding: 0 1em;\n\n h1 {\n display: none;\n }\n }\n}\n\n.pi-center {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n}\n\n.app-footer {\n font-size: 0.8em;\n padding: 1em 0;\n background: $footer-color;\n display: flex;\n flex-direction: row;\n\n .pi-menu {\n margin: 0 auto;\n max-width: 1000px;\n column-width: 300px;\n display: block;\n\n .pi-item {\n display: block;\n padding: 1em 2em;\n }\n }\n}\n\n.app-menu {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n padding: 0;\n margin: 0;\n width: 300px;\n max-width: 100%;\n background: lighten($header-color, 15%);\n transform: translateX(-100%);\n transition: all 0.1s ease;\n padding-top: 85px;\n z-index: 1;\n\n &.is-open {\n transform: none;\n box-shadow: $menu-shadow-size 0px $menu-shadow-size (-$menu-shadow-size) rgba(0, 0, 0, 0.2);\n }\n\n .app-menu-content {\n overflow-y: auto;\n height: 100%;\n }\n\n .pi-menu {\n display: flex;\n flex-direction: column;\n list-style: none;\n\n > .pi-item {\n flex: 1;\n margin: 1px 0;\n\n > a {\n display: block;\n border-left: 5px solid $header-color;\n padding: 1em;\n\n &:hover {\n border-left-color: $menu-color;\n }\n }\n }\n }\n}\n\n.pi-spinner {\n position: relative;\n width: $basic-spinner-dimensions;\n height: $basic-spinner-dimensions;\n font-size: 0;\n\n &:before,\n &:after {\n content: \"\";\n display: block;\n position: absolute;\n border-width: 4px;\n border-style: solid;\n border-radius: 50%;\n }\n\n @keyframes rotate-animation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n @keyframes anti-rotate-animation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(-360deg);\n }\n }\n\n &:before {\n width: $main-spinner-dimensions;\n height: $main-spinner-dimensions;\n border-bottom-color: $basic-dark-color;\n border-right-color: $basic-dark-color;\n border-top-color: rgba($basic-dark-color, 0);\n border-left-color: rgba($basic-dark-color, 0);\n top: 0;\n left: 0;\n animation: rotate-animation 1s linear 0s infinite;\n }\n\n &:after {\n width: $small-spinner-dimensions;\n height: $small-spinner-dimensions;\n border-bottom-color: $basic-dark-color;\n border-right-color: $basic-dark-color;\n border-top-color: rgba($basic-dark-color, 0);\n border-left-color: rgba($basic-dark-color, 0);\n top: math.div($main-spinner-dimensions - $small-spinner-dimensions, 2);\n left: math.div($main-spinner-dimensions - $small-spinner-dimensions, 2);\n animation: anti-rotate-animation 0.85s linear 0s infinite;\n }\n}\n\n$tile-height: 70px;\n$tile-width: 70px;\n$tile-gap: 10px;\n\n.pi-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.pi-dashboard {\n flex: 1;\n position: relative;\n display: grid;\n grid-template-columns: repeat(auto-fit, $tile-width);\n grid-template-rows: repeat(auto-fit, $tile-height);\n grid-gap: $tile-gap;\n overflow: visible;\n\n .pi-tile {\n display: flex;\n position: relative;\n\n &.small {\n grid-column: span 1;\n grid-row: span 1;\n width: $tile-width;\n height: $tile-height;\n }\n\n &.medium {\n grid-column: span 2;\n grid-row: span 2;\n width: 2 * $tile-width + 1 * $tile-gap;\n height: 2 * $tile-height + 1 * $tile-gap;\n }\n\n &.wide {\n grid-column: span 4;\n grid-row: span 2;\n width: 4 * $tile-width + 3 * $tile-gap;\n height: 2 * $tile-height + 1 * $tile-gap;\n }\n\n &.large {\n grid-column: span 4;\n grid-row: span 4;\n width: 4 * $tile-width + 3 * $tile-gap;\n height: 4 * $tile-height + 3 * $tile-gap;\n }\n\n &:hover {\n outline: rgba(29, 29, 29, 0.1) solid 4px;\n }\n }\n}\n\n.pi-search {\n position: relative;\n flex: 1;\n display: flex;\n justify-content: center;\n\n input[type=search] {\n font-size: 1em;\n border: 1px solid transparent;\n background-color: #f1f1f1;\n padding: 10px;\n font-size: 16px;\n max-width: 80%;\n width: 250px;\n box-sizing: border-box;\n transition: width ease 0.1s;\n\n @media screen and (max-width: $breakpoint-mobile) {\n width: 100px;\n }\n }\n\n &:focus-within input[type=search] {\n width: 90%;\n max-width: 90%;\n\n & + .pi-details:not(:empty) {\n display: block;\n opacity: 1;\n }\n }\n\n .pi-details {\n display: none;\n opacity: 0;\n position: absolute;\n z-index: 2;\n top: 100%;\n width: 90%;\n box-sizing: border-box;\n background: #f0f0f0;\n padding: 1px;\n transition: all 0.1s 0.1s ease;\n }\n\n .pi-item {\n display: block;\n padding: 10px;\n cursor: pointer;\n background-color: white;\n border-bottom: 1px solid #d4d4d4;\n }\n\n .pi-item:hover {\n background-color: #e9e9e9;\n }\n\n .pi-center {\n padding: 30px;\n background-color: white;\n }\n}\n\n.form-row {\n margin: 1em;\n\n label {\n display: block;\n margin-bottom: 0.2em;\n }\n\n input {\n padding: 0.3rem;\n font-size: 1rem;\n }\n\n button {\n padding: 0.5em 1em;\n border: 1px solid black;\n font-weight: bold;\n border-radius: 4px;\n cursor: pointer;\n }\n\n button:disabled {\n border: 1px solid #ccc;\n color: #ccc;\n cursor: default;\n }\n}\n\n.pi-error {\n > img {\n width: 600px;\n max-width: 100%;\n margin: 1em 0;\n }\n\n .pi-title {\n color: $basic-dark-color;\n display: block;\n font-size: 1.5em;\n }\n\n .pi-description {\n display: block;\n margin: 0.5em 0;\n }\n\n .pi-details {\n display: block;\n margin: 0.5em 0;\n color: #3e3e3e;\n font-size: 0.8em;\n }\n}\n\n.app-user {\n position: relative;\n\n .app-user-avatar {\n display: flex;\n align-items: center;\n white-space: nowrap;\n cursor: pointer;\n\n img {\n position: relative;\n overflow: hidden;\n width: 32px;\n min-width: 32px;\n height: 32px;\n border-radius: 50% !important;\n vertical-align: middle;\n border-style: none;\n box-sizing: border-box;\n line-height: 1;\n margin-right: 0.5em;\n }\n\n &::after {\n display: inline-block;\n box-sizing: border-box;\n height: 8px;\n width: 8px;\n border-style: solid;\n border-color: black;\n border-width: 0px 2px 2px 0px;\n position: relative;\n transform: rotate(45deg);\n transition: opacity 150ms ease-in-out;\n content: '';\n }\n }\n\n .app-user-details {\n display: none;\n list-style: none;\n position: absolute;\n background: white;\n padding: 0;\n right: 0;\n border: 1px solid #ececec;\n border-radius: 3px;\n top: 40px;\n cursor: default;\n\n li {\n display: block;\n padding: 10px;\n max-width: 300px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n text-align: right;\n\n & > a {\n display: block;\n }\n\n &.sep {\n border-bottom: 1px solid #ccc;\n padding: 0;\n }\n\n .user-name {\n font-weight: bold;\n color: #666;\n display: block;\n font-size: 0.6em;\n }\n }\n\n &:before, &:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 100%;\n width: 0;\n height: 0;\n }\n\n &:before {\n right: 27px;\n border: 6px solid transparent;\n border-bottom-color: #ececec;\n }\n\n &:after {\n right: 28px;\n border: 5px solid transparent;\n border-bottom-color: #fff;\n }\n }\n\n &.is-open {\n img {\n opacity: 0.8;\n }\n\n .app-user-details {\n display: block;\n }\n\n &::after {\n opacity: 0.2;\n }\n }\n}\n","$bg-color: white;\n$basic-dark-color: #56aa1c;\n$header-color: #abcdef;\n$footer-color: lighten($header-color, 10%);\n$menu-color: darken($header-color, 20%);\n$border-width: 4px;\n$basic-spinner-dimensions: 50px;\n$main-spinner-dimensions: $basic-spinner-dimensions - $border-width * 2;\n$small-spinner-dimensions: $main-spinner-dimensions * 0.7;\n$menu-shadow-size: 30px;\n\n$hamburger-padding: 15px 0 !default;\n$hamburger-layer-width: 40px !default;\n$hamburger-layer-height: 4px !default;\n$hamburger-layer-spacing: 6px !default;\n$hamburger-layer-color: #000 !default;\n$hamburger-layer-border-radius: 4px !default;\n$hamburger-hover-opacity: 0.7 !default;\n$hamburger-active-layer-color: $hamburger-layer-color !default;\n$hamburger-active-hover-opacity: $hamburger-hover-opacity !default;\n$hamburger-hover-use-filter: false !default;\n$hamburger-hover-filter: opacity(50%) !default;\n$hamburger-active-hover-filter: $hamburger-hover-filter !default;\n\n$breakpoint-mobile: 450px;\n$breakpoint-tablet: 650px;\n\n@import './layout';\n@import './burger';\n","@use 'sass:math';\n\n.hamburger {\n padding: $hamburger-padding;\n display: inline-block;\n cursor: pointer;\n\n transition-property: opacity, filter;\n transition-duration: 0.15s;\n transition-timing-function: linear;\n\n // Normalize (<button>)\n font: inherit;\n color: inherit;\n text-transform: none;\n background-color: transparent;\n border: 0;\n margin: 0;\n overflow: visible;\n transform: scale(0.6);\n\n &:hover {\n @if $hamburger-hover-use-filter == true {\n filter: $hamburger-hover-filter;\n }\n @else {\n opacity: $hamburger-hover-opacity;\n }\n }\n\n &.is-active {\n &:hover {\n @if $hamburger-hover-use-filter == true {\n filter: $hamburger-active-hover-filter;\n }\n @else {\n opacity: $hamburger-active-hover-opacity;\n }\n }\n\n .hamburger-inner,\n .hamburger-inner::before,\n .hamburger-inner::after {\n background-color: $hamburger-active-layer-color;\n }\n }\n}\n\n.hamburger-box {\n width: $hamburger-layer-width;\n height: $hamburger-layer-height * 3 + $hamburger-layer-spacing * 2;\n display: inline-block;\n position: relative;\n}\n\n.hamburger-inner {\n display: block;\n top: 50%;\n margin-top: math.div($hamburger-layer-height, -2);\n\n &,\n &::before,\n &::after {\n width: $hamburger-layer-width;\n height: $hamburger-layer-height;\n background-color: $hamburger-layer-color;\n border-radius: $hamburger-layer-border-radius;\n position: absolute;\n transition-property: transform;\n transition-duration: 0.15s;\n transition-timing-function: ease;\n }\n\n &::before,\n &::after {\n content: \"\";\n display: block;\n }\n\n &::before {\n top: ($hamburger-layer-spacing + $hamburger-layer-height) * -1;\n }\n\n &::after {\n bottom: ($hamburger-layer-spacing + $hamburger-layer-height) * -1;\n }\n}\n\n.hamburger--arrow.is-active {\n .hamburger-inner {\n &::before {\n transform: translate3d($hamburger-layer-width * -0.2, 0, 0) rotate(-45deg) scale(0.7, 1);\n }\n\n &::after {\n transform: translate3d($hamburger-layer-width * -0.2, 0, 0) rotate(45deg) scale(0.7, 1);\n }\n }\n}\n"],"sourceRoot":""}]);
9030
+ }`, "",{"version":3,"sources":["webpack://./src/styles/_layout.scss","webpack://./src/styles/index.scss","webpack://./src/styles/_burger.scss"],"names":[],"mappings":"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","sourcesContent":["@use 'sass:math';\n\nhtml, body, #app, .app-container {\n width: 100%;\n min-height: 100%;\n background: $bg-color;\n}\n\nhtml, body {\n height: 100%;\n margin: 0;\n padding: 0;\n font-family: 'Roboto', sans-serif;\n}\n\na {\n text-decoration: none;\n color: $basic-dark-color;\n\n &:hover {\n color: darken($color: $basic-dark-color, $amount: 10%)\n }\n}\n\n.pi-modal {\n display: none;\n position: fixed;\n z-index: 3;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background: rgba(0, 0, 0, 0.4);\n animation: fade-in 0.4s;\n\n .pi-modal-dialog {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n max-width: 90%;\n max-height: 90%;\n margin: auto;\n background: #fefefe;\n animation: fade-in 0.4s;\n }\n}\n\nbody.pi-modal-open {\n height: 100vh;\n overflow-y: hidden;\n padding-right: 15px;\n position: fixed;\n\n .pi-modal {\n display: block;\n }\n}\n\n.text-right {\n text-align: right;\n}\n\n.language-picker {\n position: relative;\n margin: 4px 8px 0 0;\n\n .current {\n cursor: pointer;\n }\n\n ul {\n display: none;\n background: #f5f5f6;\n border: none;\n margin: 0;\n padding: 0;\n overflow: hidden;\n border-radius: 3px 0 3px 3px;\n background-clip: padding-box;\n margin-bottom: 5px;\n position: absolute;\n top: 100%;\n right: 0;\n\n li {\n cursor: pointer;\n border-bottom: 1px solid #ebebeb;\n padding: 10px 20px;\n margin: 0;\n outline: 0;\n color: #7d8086;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n span {\n padding-left: 8px;\n }\n\n &:hover {\n background: rgba(235, 235, 235, 0.9);\n color: #737881;\n }\n }\n\n &.open {\n display: block;\n }\n }\n}\n\n.language-icon {\n height: 16px;\n width: 16px;\n}\n\n@keyframes fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.app-container {\n flex: 1;\n position: relative;\n}\n\n.pi-notifications {\n position: fixed;\n display: flex;\n align-items: flex-end;\n flex-direction: column;\n right: 2em;\n bottom: 2em;\n\n .pi-item {\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n text-align: left;\n padding: 0.8em;\n background-color: $bg-color;\n max-width: 500px;\n position: relative;\n box-shadow: 1px 7px 14px -5px rgba(0,0,0,0.2);\n\n &+& {\n margin-top: 1em;\n }\n\n &.success:before {\n background-color: #2BDE3F;\n }\n\n &.error:before {\n background-color: #e7431a;\n }\n\n &.info:before {\n background-color: #1D72F3;\n }\n\n &.warning:before {\n background-color: #FFC007;\n }\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 2px;\n }\n\n .pi-details {\n flex: 1;\n\n .pi-title {\n color: #3e3e3e;\n font-weight: 700;\n margin-top: 0;\n margin-bottom: 8px;\n }\n\n .pi-description {\n font-size: 14px;\n margin-top: 0;\n margin-bottom: 0;\n color: #878787;\n }\n }\n\n .pi-close {\n width: 14px;\n cursor: pointer;\n height: 14px;\n fill: #878787;\n margin-left: 1.2em;\n background: url('../images/close.svg') no-repeat center center;\n }\n }\n\n @media screen and (max-width: $breakpoint-tablet) {\n right: 0;\n left: 0;\n bottom: 0;\n\n .pi-item {\n max-width: 100%;\n width: 100%;\n }\n }\n}\n\n.app-container, #app {\n display: flex;\n flex-direction: column;\n}\n\n.app-content {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n padding: 0 2em;\n}\n\n.app-title {\n display: flex;\n position: relative;\n align-items: center;\n}\n\n.app-header {\n display: flex;\n flex-direction: row;\n padding: 0 2em;\n margin-bottom: 1em;\n align-items: center;\n justify-content: space-between;\n background: $header-color;\n position: relative;\n z-index: 2;\n\n h1 {\n white-space: nowrap;\n font-size: 2rem;\n }\n\n @media screen and (max-width: $breakpoint-tablet) {\n padding: 0 1em;\n\n h1 {\n display: none;\n }\n }\n}\n\n.pi-center {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n}\n\n.app-footer {\n font-size: 0.8em;\n padding: 1em 0;\n background: $footer-color;\n display: flex;\n flex-direction: row;\n\n .pi-menu {\n margin: 0 auto;\n max-width: 1000px;\n column-width: 300px;\n display: block;\n\n .pi-item {\n display: block;\n padding: 1em 2em;\n }\n }\n}\n\n.app-menu {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n padding: 0;\n margin: 0;\n width: 300px;\n max-width: 100%;\n background: lighten($header-color, 15%);\n transform: translateX(-100%);\n transition: all 0.1s ease;\n padding-top: 85px;\n z-index: 1;\n\n &.is-open {\n transform: none;\n box-shadow: $menu-shadow-size 0px $menu-shadow-size (-$menu-shadow-size) rgba(0, 0, 0, 0.2);\n }\n\n .app-menu-content {\n overflow-y: auto;\n height: 100%;\n }\n\n .pi-menu {\n display: flex;\n flex-direction: column;\n list-style: none;\n\n > .pi-item {\n flex: 1;\n margin: 1px 0;\n\n a {\n display: block;\n border-left: 5px solid $header-color;\n padding: 1em;\n\n &:hover {\n border-left-color: $menu-color;\n }\n }\n }\n }\n}\n\n.pi-spinner {\n position: relative;\n width: $basic-spinner-dimensions;\n height: $basic-spinner-dimensions;\n font-size: 0;\n\n &:before,\n &:after {\n content: \"\";\n display: block;\n position: absolute;\n border-width: 4px;\n border-style: solid;\n border-radius: 50%;\n }\n\n @keyframes rotate-animation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n @keyframes anti-rotate-animation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(-360deg);\n }\n }\n\n &:before {\n width: $main-spinner-dimensions;\n height: $main-spinner-dimensions;\n border-bottom-color: $basic-dark-color;\n border-right-color: $basic-dark-color;\n border-top-color: rgba($basic-dark-color, 0);\n border-left-color: rgba($basic-dark-color, 0);\n top: 0;\n left: 0;\n animation: rotate-animation 1s linear 0s infinite;\n }\n\n &:after {\n width: $small-spinner-dimensions;\n height: $small-spinner-dimensions;\n border-bottom-color: $basic-dark-color;\n border-right-color: $basic-dark-color;\n border-top-color: rgba($basic-dark-color, 0);\n border-left-color: rgba($basic-dark-color, 0);\n top: math.div($main-spinner-dimensions - $small-spinner-dimensions, 2);\n left: math.div($main-spinner-dimensions - $small-spinner-dimensions, 2);\n animation: anti-rotate-animation 0.85s linear 0s infinite;\n }\n}\n\n$tile-height: 70px;\n$tile-width: 70px;\n$tile-gap: 10px;\n\n.pi-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.pi-dashboard {\n flex: 1;\n position: relative;\n display: grid;\n grid-template-columns: repeat(auto-fit, $tile-width);\n grid-template-rows: repeat(auto-fit, $tile-height);\n grid-gap: $tile-gap;\n overflow: visible;\n\n .pi-tile {\n display: flex;\n position: relative;\n\n &.small {\n grid-column: span 1;\n grid-row: span 1;\n width: $tile-width;\n height: $tile-height;\n }\n\n &.medium {\n grid-column: span 2;\n grid-row: span 2;\n width: 2 * $tile-width + 1 * $tile-gap;\n height: 2 * $tile-height + 1 * $tile-gap;\n }\n\n &.wide {\n grid-column: span 4;\n grid-row: span 2;\n width: 4 * $tile-width + 3 * $tile-gap;\n height: 2 * $tile-height + 1 * $tile-gap;\n }\n\n &.large {\n grid-column: span 4;\n grid-row: span 4;\n width: 4 * $tile-width + 3 * $tile-gap;\n height: 4 * $tile-height + 3 * $tile-gap;\n }\n\n &:hover {\n outline: rgba(29, 29, 29, 0.1) solid 4px;\n }\n }\n}\n\n.pi-search {\n position: relative;\n flex: 1;\n display: flex;\n justify-content: center;\n\n input[type=search] {\n font-size: 1em;\n border: 1px solid transparent;\n background-color: #f1f1f1;\n padding: 10px;\n font-size: 16px;\n max-width: 80%;\n width: 250px;\n box-sizing: border-box;\n transition: width ease 0.1s;\n\n @media screen and (max-width: $breakpoint-mobile) {\n width: 100px;\n }\n }\n\n &:focus-within input[type=search] {\n width: 90%;\n max-width: 90%;\n\n & + .pi-details:not(:empty) {\n display: block;\n opacity: 1;\n }\n }\n\n .pi-details {\n display: none;\n opacity: 0;\n position: absolute;\n z-index: 2;\n top: 100%;\n width: 90%;\n box-sizing: border-box;\n background: #f0f0f0;\n padding: 1px;\n transition: all 0.1s 0.1s ease;\n }\n\n .pi-item {\n display: block;\n padding: 10px;\n cursor: pointer;\n background-color: white;\n border-bottom: 1px solid #d4d4d4;\n }\n\n .pi-item:hover {\n background-color: #e9e9e9;\n }\n\n .pi-center {\n padding: 30px;\n background-color: white;\n }\n}\n\n.form-row {\n margin: 1em;\n\n label {\n display: block;\n margin-bottom: 0.2em;\n }\n\n input {\n padding: 0.3rem;\n font-size: 1rem;\n }\n\n button {\n padding: 0.5em 1em;\n border: 1px solid black;\n font-weight: bold;\n border-radius: 4px;\n cursor: pointer;\n }\n\n button:disabled {\n border: 1px solid #ccc;\n color: #ccc;\n cursor: default;\n }\n}\n\n.pi-error {\n > img {\n width: 600px;\n max-width: 100%;\n margin: 1em 0;\n }\n\n .pi-title {\n color: $basic-dark-color;\n display: block;\n font-size: 1.5em;\n }\n\n .pi-description {\n display: block;\n margin: 0.5em 0;\n }\n\n .pi-details {\n display: block;\n margin: 0.5em 0;\n color: #3e3e3e;\n font-size: 0.8em;\n }\n}\n\n.app-user {\n position: relative;\n\n .app-user-avatar {\n display: flex;\n align-items: center;\n white-space: nowrap;\n cursor: pointer;\n\n img {\n position: relative;\n overflow: hidden;\n width: 32px;\n min-width: 32px;\n height: 32px;\n border-radius: 50% !important;\n vertical-align: middle;\n border-style: none;\n box-sizing: border-box;\n line-height: 1;\n margin-right: 0.5em;\n }\n\n &::after {\n display: inline-block;\n box-sizing: border-box;\n height: 8px;\n width: 8px;\n border-style: solid;\n border-color: black;\n border-width: 0px 2px 2px 0px;\n position: relative;\n transform: rotate(45deg);\n transition: opacity 150ms ease-in-out;\n content: '';\n }\n }\n\n .app-user-details {\n display: none;\n list-style: none;\n position: absolute;\n background: white;\n padding: 0;\n right: 0;\n border: 1px solid #ececec;\n border-radius: 3px;\n top: 40px;\n cursor: default;\n\n li {\n display: block;\n padding: 10px;\n max-width: 300px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n text-align: right;\n\n & > a {\n display: block;\n }\n\n &.sep {\n border-bottom: 1px solid #ccc;\n padding: 0;\n }\n\n .user-name {\n font-weight: bold;\n color: #666;\n display: block;\n font-size: 0.6em;\n }\n }\n\n &:before, &:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 100%;\n width: 0;\n height: 0;\n }\n\n &:before {\n right: 27px;\n border: 6px solid transparent;\n border-bottom-color: #ececec;\n }\n\n &:after {\n right: 28px;\n border: 5px solid transparent;\n border-bottom-color: #fff;\n }\n }\n\n &.is-open {\n img {\n opacity: 0.8;\n }\n\n .app-user-details {\n display: block;\n }\n\n &::after {\n opacity: 0.2;\n }\n }\n}\n","$bg-color: white;\n$basic-dark-color: #56aa1c;\n$header-color: #abcdef;\n$footer-color: lighten($header-color, 10%);\n$menu-color: darken($header-color, 20%);\n$border-width: 4px;\n$basic-spinner-dimensions: 50px;\n$main-spinner-dimensions: $basic-spinner-dimensions - $border-width * 2;\n$small-spinner-dimensions: $main-spinner-dimensions * 0.7;\n$menu-shadow-size: 30px;\n\n$hamburger-padding: 15px 0 !default;\n$hamburger-layer-width: 40px !default;\n$hamburger-layer-height: 4px !default;\n$hamburger-layer-spacing: 6px !default;\n$hamburger-layer-color: #000 !default;\n$hamburger-layer-border-radius: 4px !default;\n$hamburger-hover-opacity: 0.7 !default;\n$hamburger-active-layer-color: $hamburger-layer-color !default;\n$hamburger-active-hover-opacity: $hamburger-hover-opacity !default;\n$hamburger-hover-use-filter: false !default;\n$hamburger-hover-filter: opacity(50%) !default;\n$hamburger-active-hover-filter: $hamburger-hover-filter !default;\n\n$breakpoint-mobile: 450px;\n$breakpoint-tablet: 650px;\n\n@import './layout';\n@import './burger';\n","@use 'sass:math';\n\n.hamburger {\n padding: $hamburger-padding;\n display: inline-block;\n cursor: pointer;\n\n transition-property: opacity, filter;\n transition-duration: 0.15s;\n transition-timing-function: linear;\n\n // Normalize (<button>)\n font: inherit;\n color: inherit;\n text-transform: none;\n background-color: transparent;\n border: 0;\n margin: 0;\n overflow: visible;\n transform: scale(0.6);\n\n &:hover {\n @if $hamburger-hover-use-filter == true {\n filter: $hamburger-hover-filter;\n }\n @else {\n opacity: $hamburger-hover-opacity;\n }\n }\n\n &.is-active {\n &:hover {\n @if $hamburger-hover-use-filter == true {\n filter: $hamburger-active-hover-filter;\n }\n @else {\n opacity: $hamburger-active-hover-opacity;\n }\n }\n\n .hamburger-inner,\n .hamburger-inner::before,\n .hamburger-inner::after {\n background-color: $hamburger-active-layer-color;\n }\n }\n}\n\n.hamburger-box {\n width: $hamburger-layer-width;\n height: $hamburger-layer-height * 3 + $hamburger-layer-spacing * 2;\n display: inline-block;\n position: relative;\n}\n\n.hamburger-inner {\n display: block;\n top: 50%;\n margin-top: math.div($hamburger-layer-height, -2);\n\n &,\n &::before,\n &::after {\n width: $hamburger-layer-width;\n height: $hamburger-layer-height;\n background-color: $hamburger-layer-color;\n border-radius: $hamburger-layer-border-radius;\n position: absolute;\n transition-property: transform;\n transition-duration: 0.15s;\n transition-timing-function: ease;\n }\n\n &::before,\n &::after {\n content: \"\";\n display: block;\n }\n\n &::before {\n top: ($hamburger-layer-spacing + $hamburger-layer-height) * -1;\n }\n\n &::after {\n bottom: ($hamburger-layer-spacing + $hamburger-layer-height) * -1;\n }\n}\n\n.hamburger--arrow.is-active {\n .hamburger-inner {\n &::before {\n transform: translate3d($hamburger-layer-width * -0.2, 0, 0) rotate(-45deg) scale(0.7, 1);\n }\n\n &::after {\n transform: translate3d($hamburger-layer-width * -0.2, 0, 0) rotate(45deg) scale(0.7, 1);\n }\n }\n}\n"],"sourceRoot":""}]);
9066
9031
  // Exports
9067
9032
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
9068
9033
 
@@ -12128,6 +12093,7 @@ __webpack_require__.r(__webpack_exports__);
12128
12093
  app: {
12129
12094
  error: undefined,
12130
12095
  loading: typeof window !== 'undefined',
12096
+ wrap: true,
12131
12097
  },
12132
12098
  components: {
12133
12099
  ErrorInfo: piral_core_defaults_DefaultErrorInfo__WEBPACK_IMPORTED_MODULE_7__.DefaultErrorInfo,
@@ -66567,4 +66533,4 @@ root.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(piral
66567
66533
 
66568
66534
  /******/ })()
66569
66535
  ;
66570
- //# sourceMappingURL=index.5d6015.js.map
66536
+ //# sourceMappingURL=index.a44aae.js.map