sample-piral 1.3.0-beta.6001 → 1.3.0-beta.6013

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.
@@ -363,8 +363,9 @@ __webpack_require__.r(__webpack_exports__);
363
363
  /* harmony export */ });
364
364
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
365
365
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
366
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
367
- /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/element.js");
366
+ /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "../../../node_modules/react-dom/index.js");
367
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
368
+ /* harmony import */ var _modules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules */ "../../framework/piral-core/esm/modules/element.js");
368
369
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
369
370
  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."); }
370
371
  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); }
@@ -374,25 +375,41 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
374
375
 
375
376
 
376
377
 
378
+
377
379
  var RootListener = function RootListener() {
378
- var context = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useGlobalStateContext)();
380
+ var context = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalStateContext)();
379
381
  react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect(function () {
380
382
  if (typeof document !== 'undefined') {
381
- var handler = function handler(ev) {
383
+ var renderHtml = function renderHtml(ev) {
382
384
  ev.stopPropagation();
383
385
  var _ev$detail = ev.detail,
384
386
  target = _ev$detail.target,
385
387
  props = _ev$detail.props;
386
- var _renderElement = (0,_modules__WEBPACK_IMPORTED_MODULE_2__.renderElement)(context, target, props),
388
+ var _renderElement = (0,_modules__WEBPACK_IMPORTED_MODULE_3__.renderElement)(context, target, props),
387
389
  _renderElement2 = _slicedToArray(_renderElement, 2),
388
390
  dispose = _renderElement2[0],
389
391
  update = _renderElement2[1];
390
392
  target.dispose = dispose;
391
393
  target.update = update;
392
394
  };
393
- document.body.addEventListener('render-html', handler, false);
395
+ var renderContent = function renderContent(ev) {
396
+ ev.stopPropagation();
397
+ var _ev$detail2 = ev.detail,
398
+ target = _ev$detail2.target,
399
+ content = _ev$detail2.content,
400
+ portalId = _ev$detail2.portalId;
401
+ var portal = /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal)(content, target);
402
+ var dispose = function dispose() {
403
+ return context.hidePortal(portalId, portal);
404
+ };
405
+ context.showPortal(portalId, portal);
406
+ target.dispose = dispose;
407
+ };
408
+ document.body.addEventListener('render-html', renderHtml, false);
409
+ document.body.addEventListener('render-content', renderContent, false);
394
410
  return function () {
395
- document.body.removeEventListener('render-html', handler, false);
411
+ document.body.removeEventListener('render-html', renderHtml, false);
412
+ document.body.removeEventListener('render-content', renderContent, false);
396
413
  };
397
414
  }
398
415
  }, [context]);
@@ -845,41 +862,14 @@ __webpack_require__.r(__webpack_exports__);
845
862
  /* harmony export */ });
846
863
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
847
864
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
848
- /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/dist/piral-base-full.mjs");
849
- /* harmony import */ var _wrapComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapComponent */ "../../framework/piral-core/esm/components/wrapComponent.js");
865
+ /* harmony import */ var piral_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! piral-base */ "../../framework/piral-base/dist/piral-base-full.mjs");
850
866
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "../../framework/piral-core/esm/hooks/globalState.js");
851
867
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/react.js");
852
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
853
-
868
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "../../framework/piral-core/esm/utils/helpers.js");
854
869
 
855
870
 
856
871
 
857
872
 
858
- var wrapper = function wrapper(_ref) {
859
- var children = _ref.children;
860
- return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.defaultRender)(children);
861
- };
862
- var renderExtensions = [{
863
- component: function component(props) {
864
- var context = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalStateContext)();
865
- var converters = context.converters;
866
- var piral = context.apis._;
867
- var _props$params = props.params,
868
- component = _props$params.component,
869
- args = _props$params.props;
870
- var Component = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(function () {
871
- return (0,_wrapComponent__WEBPACK_IMPORTED_MODULE_3__.wrapComponent)(converters, component, {
872
- piral: piral
873
- }, wrapper);
874
- }, [component]);
875
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, Object.assign({}, args));
876
- },
877
- defaults: {},
878
- pilet: '',
879
- reference: {
880
- displayName: 'AnyComponent'
881
- }
882
- }];
883
873
  function defaultOrder(extensions) {
884
874
  return extensions;
885
875
  }
@@ -900,14 +890,14 @@ function ExtensionSlot(props) {
900
890
  _props$order = props.order,
901
891
  order = _props$order === void 0 ? defaultOrder : _props$order;
902
892
  var extensions = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useGlobalState)(function (s) {
903
- return name ? s.registry.extensions[name] || _utils__WEBPACK_IMPORTED_MODULE_4__.none : renderExtensions;
893
+ return s.registry.extensions[name] || _utils__WEBPACK_IMPORTED_MODULE_3__.none;
904
894
  });
905
- var isEmpty = extensions.length === 0 && (0,piral_base__WEBPACK_IMPORTED_MODULE_5__.isfunc)(empty);
906
- var content = isEmpty ? [(0,_utils__WEBPACK_IMPORTED_MODULE_1__.defaultRender)(empty(), 'empty')] : order(extensions).map(function (_ref2, i) {
907
- var Component = _ref2.component,
908
- reference = _ref2.reference,
909
- _ref2$defaults = _ref2.defaults,
910
- defaults = _ref2$defaults === void 0 ? {} : _ref2$defaults;
895
+ var isEmpty = extensions.length === 0 && (0,piral_base__WEBPACK_IMPORTED_MODULE_4__.isfunc)(empty);
896
+ var content = isEmpty ? [(0,_utils__WEBPACK_IMPORTED_MODULE_1__.defaultRender)(empty(), 'empty')] : order(extensions).map(function (_ref, i) {
897
+ var Component = _ref.component,
898
+ reference = _ref.reference,
899
+ _ref$defaults = _ref.defaults,
900
+ defaults = _ref$defaults === void 0 ? {} : _ref$defaults;
911
901
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, {
912
902
  key: "".concat((reference === null || reference === void 0 ? void 0 : reference.displayName) || '_').concat(i),
913
903
  children: children,
@@ -2484,6 +2474,58 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
2484
2474
  return PiralSlot;
2485
2475
  }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
2486
2476
  customElements.define(_utils__WEBPACK_IMPORTED_MODULE_3__.slotName, PiralSlot);
2477
+ /**
2478
+ * This is a virtual element to render children defined in React / by Piral in other
2479
+ * frameworks.
2480
+ *
2481
+ * Usage:
2482
+ *
2483
+ * ```
2484
+ * <piral-content cid="123"></piral-content>
2485
+ * ```
2486
+ */
2487
+ var PiralContent = /*#__PURE__*/function (_HTMLElement4) {
2488
+ _inherits(PiralContent, _HTMLElement4);
2489
+ var _super4 = _createSuper(PiralContent);
2490
+ function PiralContent() {
2491
+ var _this2;
2492
+ _classCallCheck(this, PiralContent);
2493
+ _this2 = _super4.apply(this, arguments);
2494
+ _this2.dispose = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
2495
+ return _this2;
2496
+ }
2497
+ _createClass(PiralContent, [{
2498
+ key: "connectedCallback",
2499
+ value: function connectedCallback() {
2500
+ this.style.display = 'contents';
2501
+ var cid = this.getAttribute('cid');
2502
+ var content = PiralContent.contentAssignments[cid];
2503
+ var portal = this.closest('piral-portal');
2504
+ if (content && portal) {
2505
+ var portalId = portal.getAttribute('pid');
2506
+ document.body.dispatchEvent(new CustomEvent('render-content', {
2507
+ detail: {
2508
+ target: this,
2509
+ content: content,
2510
+ portalId: portalId
2511
+ }
2512
+ }));
2513
+ }
2514
+ }
2515
+ }, {
2516
+ key: "disconnectedCallback",
2517
+ value: function disconnectedCallback() {
2518
+ this.dispose();
2519
+ this.dispose = _utils__WEBPACK_IMPORTED_MODULE_0__.noop;
2520
+ }
2521
+ }]);
2522
+ return PiralContent;
2523
+ }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
2524
+ PiralContent.contentAssignments = {};
2525
+ window.assignContent = function (cid, content) {
2526
+ PiralContent.contentAssignments[cid] = content;
2527
+ };
2528
+ customElements.define(_utils__WEBPACK_IMPORTED_MODULE_3__.contentName, PiralContent);
2487
2529
  }
2488
2530
  function renderElement(context, element, props) {
2489
2531
  if (typeof window !== 'undefined') {
@@ -2985,6 +3027,7 @@ __webpack_require__.r(__webpack_exports__);
2985
3027
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2986
3028
  /* harmony export */ "attachDomPortal": () => (/* binding */ attachDomPortal),
2987
3029
  /* harmony export */ "changeDomPortal": () => (/* binding */ changeDomPortal),
3030
+ /* harmony export */ "contentName": () => (/* binding */ contentName),
2988
3031
  /* harmony export */ "convertComponent": () => (/* binding */ convertComponent),
2989
3032
  /* harmony export */ "extensionName": () => (/* binding */ extensionName),
2990
3033
  /* harmony export */ "portalName": () => (/* binding */ portalName),
@@ -2997,6 +3040,7 @@ __webpack_require__.r(__webpack_exports__);
2997
3040
 
2998
3041
 
2999
3042
  var extensionName = 'piral-extension';
3043
+ var contentName = 'piral-content';
3000
3044
  var portalName = 'piral-portal';
3001
3045
  var slotName = 'piral-slot';
3002
3046
  function attachDomPortal(id, context, element, component, props) {
@@ -6330,12 +6374,12 @@ function installPiralDebug(options) {
6330
6374
  debug: debugApiVersion,
6331
6375
  instance: {
6332
6376
  name: "sample-piral",
6333
- version: "1.3.0-beta.6001",
6377
+ version: "1.3.0-beta.6013",
6334
6378
  dependencies: "reactstrap,tslib,react,react-dom,react-router,react-router-dom"
6335
6379
  },
6336
6380
  build: {
6337
- date: "2023-09-26T21:31:31.541Z",
6338
- cli: "1.3.0-beta.6001",
6381
+ date: "2023-09-28T11:09:36.489Z",
6382
+ cli: "1.3.0-beta.6013",
6339
6383
  compat: "1"
6340
6384
  }
6341
6385
  };
@@ -65201,4 +65245,4 @@ root.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(piral
65201
65245
 
65202
65246
  /******/ })()
65203
65247
  ;
65204
- //# sourceMappingURL=index.e7a31b.js.map
65248
+ //# sourceMappingURL=index.c0a9b6.js.map