minimal-piral 1.2.0 → 1.3.0-beta.6010

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.
@@ -131,8 +131,9 @@ __webpack_require__.r(__webpack_exports__);
131
131
  /* harmony export */ });
132
132
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
133
133
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
134
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
135
- /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/element.js");
134
+ /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "../../../node_modules/react-dom/index.js");
135
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
136
+ /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/element.js");
136
137
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
137
138
  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."); }
138
139
  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); }
@@ -142,25 +143,41 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
142
143
 
143
144
 
144
145
 
146
+
145
147
  var RootListener = function RootListener() {
146
- var context = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useGlobalStateContext)();
148
+ var context = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalStateContext)();
147
149
  react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect(function () {
148
150
  if (typeof document !== 'undefined') {
149
- var handler = function handler(ev) {
151
+ var renderHtml = function renderHtml(ev) {
150
152
  ev.stopPropagation();
151
153
  var _ev$detail = ev.detail,
152
154
  target = _ev$detail.target,
153
155
  props = _ev$detail.props;
154
- var _renderElement = (0,_modules__WEBPACK_IMPORTED_MODULE_2__.renderElement)(context, target, props),
156
+ var _renderElement = (0,_modules__WEBPACK_IMPORTED_MODULE_3__.renderElement)(context, target, props),
155
157
  _renderElement2 = _slicedToArray(_renderElement, 2),
156
158
  dispose = _renderElement2[0],
157
159
  update = _renderElement2[1];
158
160
  target.dispose = dispose;
159
161
  target.update = update;
160
162
  };
161
- document.body.addEventListener('render-html', handler, false);
163
+ var renderContent = function renderContent(ev) {
164
+ ev.stopPropagation();
165
+ var _ev$detail2 = ev.detail,
166
+ target = _ev$detail2.target,
167
+ content = _ev$detail2.content,
168
+ portalId = _ev$detail2.portalId;
169
+ var portal = /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal)(content, target);
170
+ var dispose = function dispose() {
171
+ return context.hidePortal(portalId, portal);
172
+ };
173
+ context.showPortal(portalId, portal);
174
+ target.dispose = dispose;
175
+ };
176
+ document.body.addEventListener('render-html', renderHtml, false);
177
+ document.body.addEventListener('render-content', renderContent, false);
162
178
  return function () {
163
- document.body.removeEventListener('render-html', handler, false);
179
+ document.body.removeEventListener('render-html', renderHtml, false);
180
+ document.body.removeEventListener('render-content', renderContent, false);
164
181
  };
165
182
  }
166
183
  }, [context]);
@@ -613,41 +630,14 @@ __webpack_require__.r(__webpack_exports__);
613
630
  /* harmony export */ });
614
631
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
615
632
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
616
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/dist/piral-base-full.mjs");
617
- /* harmony import */ var _wrapComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapComponent */ "../../framework/piral-core/esm/components/wrapComponent.js");
633
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/dist/piral-base-full.mjs");
618
634
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
619
635
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/react.js");
620
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
621
-
636
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
622
637
 
623
638
 
624
639
 
625
640
 
626
- var wrapper = function wrapper(_ref) {
627
- var children = _ref.children;
628
- return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.defaultRender)(children);
629
- };
630
- var renderExtensions = [{
631
- component: function component(props) {
632
- var context = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalStateContext)();
633
- var converters = context.converters;
634
- var piral = context.apis._;
635
- var _props$params = props.params,
636
- component = _props$params.component,
637
- args = _props$params.props;
638
- var Component = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(function () {
639
- return (0,_wrapComponent__WEBPACK_IMPORTED_MODULE_3__.wrapComponent)(converters, component, {
640
- piral: piral
641
- }, wrapper);
642
- }, [component]);
643
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, Object.assign({}, args));
644
- },
645
- defaults: {},
646
- pilet: '',
647
- reference: {
648
- displayName: 'AnyComponent'
649
- }
650
- }];
651
641
  function defaultOrder(extensions) {
652
642
  return extensions;
653
643
  }
@@ -668,14 +658,14 @@ function ExtensionSlot(props) {
668
658
  _props$order = props.order,
669
659
  order = _props$order === void 0 ? defaultOrder : _props$order;
670
660
  var extensions = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalState)(function (s) {
671
- return name ? s.registry.extensions[name] || _utils__WEBPACK_IMPORTED_MODULE_4__.none : renderExtensions;
661
+ return s.registry.extensions[name] || _utils__WEBPACK_IMPORTED_MODULE_3__.none;
672
662
  });
673
- var isEmpty = extensions.length === 0 && (0,piral_base__WEBPACK_IMPORTED_MODULE_5__.isfunc)(empty);
674
- var content = isEmpty ? [(0,_utils__WEBPACK_IMPORTED_MODULE_1__.defaultRender)(empty(), 'empty')] : order(extensions).map(function (_ref2, i) {
675
- var Component = _ref2.component,
676
- reference = _ref2.reference,
677
- _ref2$defaults = _ref2.defaults,
678
- defaults = _ref2$defaults === void 0 ? {} : _ref2$defaults;
663
+ var isEmpty = extensions.length === 0 && (0,piral_base__WEBPACK_IMPORTED_MODULE_4__.isfunc)(empty);
664
+ var content = isEmpty ? [(0,_utils__WEBPACK_IMPORTED_MODULE_1__.defaultRender)(empty(), 'empty')] : order(extensions).map(function (_ref, i) {
665
+ var Component = _ref.component,
666
+ reference = _ref.reference,
667
+ _ref$defaults = _ref.defaults,
668
+ defaults = _ref$defaults === void 0 ? {} : _ref$defaults;
679
669
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, {
680
670
  key: "".concat((reference === null || reference === void 0 ? void 0 : reference.displayName) || '_').concat(i),
681
671
  children: children,
@@ -2198,6 +2188,58 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
2198
2188
  return PiralSlot;
2199
2189
  }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
2200
2190
  customElements.define(_utils__WEBPACK_IMPORTED_MODULE_3__.slotName, PiralSlot);
2191
+ /**
2192
+ * This is a virtual element to render children defined in React / by Piral in other
2193
+ * frameworks.
2194
+ *
2195
+ * Usage:
2196
+ *
2197
+ * ```
2198
+ * <piral-content cid="123"></piral-content>
2199
+ * ```
2200
+ */
2201
+ var PiralContent = /*#__PURE__*/function (_HTMLElement4) {
2202
+ _inherits(PiralContent, _HTMLElement4);
2203
+ var _super4 = _createSuper(PiralContent);
2204
+ function PiralContent() {
2205
+ var _this2;
2206
+ _classCallCheck(this, PiralContent);
2207
+ _this2 = _super4.apply(this, arguments);
2208
+ _this2.dispose = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
2209
+ return _this2;
2210
+ }
2211
+ _createClass(PiralContent, [{
2212
+ key: "connectedCallback",
2213
+ value: function connectedCallback() {
2214
+ this.style.display = 'contents';
2215
+ var cid = this.getAttribute('cid');
2216
+ var content = PiralContent.contentAssignments[cid];
2217
+ var portal = this.closest('piral-portal');
2218
+ if (content && portal) {
2219
+ var portalId = portal.getAttribute('pid');
2220
+ document.body.dispatchEvent(new CustomEvent('render-content', {
2221
+ detail: {
2222
+ target: this,
2223
+ content: content,
2224
+ portalId: portalId
2225
+ }
2226
+ }));
2227
+ }
2228
+ }
2229
+ }, {
2230
+ key: "disconnectedCallback",
2231
+ value: function disconnectedCallback() {
2232
+ this.dispose();
2233
+ this.dispose = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
2234
+ }
2235
+ }]);
2236
+ return PiralContent;
2237
+ }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
2238
+ PiralContent.contentAssignments = {};
2239
+ window.assignContent = function (cid, content) {
2240
+ PiralContent.contentAssignments[cid] = content;
2241
+ };
2242
+ customElements.define(_utils__WEBPACK_IMPORTED_MODULE_3__.contentName, PiralContent);
2201
2243
  }
2202
2244
  function renderElement(context, element, props) {
2203
2245
  if (typeof window !== 'undefined') {
@@ -2699,6 +2741,7 @@ __webpack_require__.r(__webpack_exports__);
2699
2741
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2700
2742
  /* harmony export */ "attachDomPortal": () => (/* binding */ attachDomPortal),
2701
2743
  /* harmony export */ "changeDomPortal": () => (/* binding */ changeDomPortal),
2744
+ /* harmony export */ "contentName": () => (/* binding */ contentName),
2702
2745
  /* harmony export */ "convertComponent": () => (/* binding */ convertComponent),
2703
2746
  /* harmony export */ "extensionName": () => (/* binding */ extensionName),
2704
2747
  /* harmony export */ "portalName": () => (/* binding */ portalName),
@@ -2711,6 +2754,7 @@ __webpack_require__.r(__webpack_exports__);
2711
2754
 
2712
2755
 
2713
2756
  var extensionName = 'piral-extension';
2757
+ var contentName = 'piral-content';
2714
2758
  var portalName = 'piral-portal';
2715
2759
  var slotName = 'piral-slot';
2716
2760
  function attachDomPortal(id, context, element, component, props) {
@@ -3547,12 +3591,12 @@ function installPiralDebug(options) {
3547
3591
  debug: debugApiVersion,
3548
3592
  instance: {
3549
3593
  name: "minimal-piral",
3550
- version: "1.2.0",
3594
+ version: "1.3.0-beta.6010",
3551
3595
  dependencies: "tslib,react,react-dom,react-router,react-router-dom"
3552
3596
  },
3553
3597
  build: {
3554
- date: "2023-08-28T13:36:06.317Z",
3555
- cli: "1.2.0",
3598
+ date: "2023-09-28T08:36:15.760Z",
3599
+ cli: "1.3.0-beta.6010",
3556
3600
  compat: "1"
3557
3601
  }
3558
3602
  };
@@ -43342,8 +43386,13 @@ function compareVersions(v1, v2) {
43342
43386
  var s2 = splitVersion(v2);
43343
43387
  var len = Math.max(s1.length - 1, s2.length - 1);
43344
43388
  for (var i = 0; i < len; i++) {
43345
- var n1 = parseInt(s1[i] || "0", 10);
43346
- var n2 = parseInt(s2[i] || "0", 10);
43389
+ var m1 = s1[i] || "0";
43390
+ var m2 = s2[i] || "0";
43391
+ if (m2 === "x") {
43392
+ return 0;
43393
+ }
43394
+ var n1 = parseInt(m1, 10);
43395
+ var n2 = parseInt(m2, 10);
43347
43396
  if (n1 > n2) {
43348
43397
  return 1;
43349
43398
  } else if (n2 > n1) {
@@ -44440,4 +44489,4 @@ var instance = (0,piral_core__WEBPACK_IMPORTED_MODULE_2__.createInstance)({
44440
44489
 
44441
44490
  /******/ })()
44442
44491
  ;
44443
- //# sourceMappingURL=index.db6df4.js.map
44492
+ //# sourceMappingURL=index.dc09be.js.map