@blaze-cms/react-page-builder 0.146.0-core-styles.60 → 0.146.0-core-styles.62

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/HOC/withInfiniteScroll.js +5 -5
  3. package/lib/HOC/withInfiniteScroll.js.map +1 -1
  4. package/lib/components/Button.js +57 -11
  5. package/lib/components/Button.js.map +1 -1
  6. package/lib/components/List/ListFactory.js.map +1 -1
  7. package/lib/components/MenuItem/MenuItemRender.js +17 -5
  8. package/lib/components/MenuItem/MenuItemRender.js.map +1 -1
  9. package/lib/components/Video/providers/Vimeo/VimeoProvider.js +14 -14
  10. package/lib/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  11. package/lib/hooks/helpers/StoreImages.js +61 -41
  12. package/lib/hooks/helpers/StoreImages.js.map +1 -1
  13. package/lib/hooks/use-page-builder.js +2 -2
  14. package/lib/hooks/use-page-builder.js.map +1 -1
  15. package/lib/variants/LiveBlogList/LiveBlogList.js +45 -48
  16. package/lib/variants/LiveBlogList/LiveBlogList.js.map +1 -1
  17. package/lib-es/components/Button.js +12 -7
  18. package/lib-es/components/Button.js.map +1 -1
  19. package/lib-es/components/List/ListFactory.js +1 -1
  20. package/lib-es/components/List/ListFactory.js.map +1 -1
  21. package/lib-es/components/MenuItem/MenuItemRender.js +16 -3
  22. package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -1
  23. package/lib-es/hooks/helpers/StoreImages.js +44 -30
  24. package/lib-es/hooks/helpers/StoreImages.js.map +1 -1
  25. package/lib-es/variants/LiveBlogList/LiveBlogList.js +41 -51
  26. package/lib-es/variants/LiveBlogList/LiveBlogList.js.map +1 -1
  27. package/package.json +3 -3
  28. package/src/components/Button.js +13 -9
  29. package/src/components/List/ListFactory.js +1 -1
  30. package/src/components/MenuItem/MenuItemRender.js +17 -3
  31. package/src/hooks/helpers/StoreImages.js +33 -31
  32. package/src/variants/LiveBlogList/LiveBlogList.js +51 -47
  33. package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +25 -2
  34. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +1 -0
  35. package/tests/unit/src/variants/LiveBlogList/LiveBlogList.test.js +121 -0
  36. package/tests/unit/src/variants/LiveBlogList/constants.js +10 -0
@@ -7,65 +7,85 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
  require("core-js/modules/es.array.concat.js");
10
- require("core-js/modules/es.array.filter.js");
11
10
  require("core-js/modules/es.array.find-index.js");
12
- require("core-js/modules/es.array.index-of.js");
11
+ require("core-js/modules/es.array.from.js");
12
+ require("core-js/modules/es.array.is-array.js");
13
+ require("core-js/modules/es.array.iterator.js");
13
14
  require("core-js/modules/es.array.map.js");
15
+ require("core-js/modules/es.map.js");
14
16
  require("core-js/modules/es.object.to-string.js");
17
+ require("core-js/modules/es.string.iterator.js");
18
+ require("core-js/modules/es.weak-map.js");
19
+ require("core-js/modules/web.dom-collections.iterator.js");
20
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
21
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
16
22
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
23
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
24
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
25
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
26
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
27
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
28
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
29
+ var _images = /*#__PURE__*/new WeakMap();
30
+ var _pageBuilderID = /*#__PURE__*/new WeakMap();
31
+ var _handlers = /*#__PURE__*/new WeakMap();
18
32
  var StoreImages = /*#__PURE__*/function () {
19
33
  function StoreImages() {
20
34
  var _this = this;
21
35
  (0, _classCallCheck2["default"])(this, StoreImages);
22
- (0, _defineProperty2["default"])(this, "removeDuplicated", function (images, key) {
23
- _this.images = images.map(function (item) {
24
- return item[key];
25
- }).map(function (item, index, _final) {
26
- return _final.indexOf(item) === index && index;
27
- }).filter(function (item) {
28
- return images[item];
29
- }).map(function (item) {
30
- return images[item];
31
- });
36
+ _classPrivateFieldInitSpec(this, _images, []);
37
+ _classPrivateFieldInitSpec(this, _pageBuilderID, null);
38
+ _classPrivateFieldInitSpec(this, _handlers, {
39
+ toggleModal: function toggleModal() {},
40
+ onSelect: function onSelect() {}
41
+ });
42
+ (0, _defineProperty2["default"])(this, "toggleModal", function () {
43
+ _classPrivateFieldGet(_handlers, _this).toggleModal();
32
44
  });
33
45
  (0, _defineProperty2["default"])(this, "handleSelectedImage", function (imageId) {
34
- var index = _this.images.findIndex(function (image) {
35
- return image.imageId === imageId;
46
+ var idx = _classPrivateFieldGet(_images, _this).findIndex(function (img) {
47
+ return img.imageId === imageId;
36
48
  });
37
- if (index !== -1) {
38
- _this.setSelectedImage(index);
39
- }
40
- });
41
- (0, _defineProperty2["default"])(this, "setHandlers", function (_ref) {
42
- var _ref$toggleModal = _ref.toggleModal,
43
- toggleModal = _ref$toggleModal === void 0 ? _this.toggleModal : _ref$toggleModal,
44
- _ref$setSelectedImage = _ref.setSelectedImage,
45
- setSelectedImage = _ref$setSelectedImage === void 0 ? _this.setSelectedImage : _ref$setSelectedImage;
46
- _this.toggleModal = toggleModal;
47
- _this.setSelectedImage = setSelectedImage;
48
- });
49
- (0, _defineProperty2["default"])(this, "addImages", function (images) {
50
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
51
- if (!images.length) return _this.images;
52
- var pageBuilderID = options.pageBuilderID;
53
- if (pageBuilderID !== _this.id) {
54
- _this.resetImages();
55
- _this.id = pageBuilderID;
56
- }
57
- _this.removeDuplicated(_this.images.concat(images), 'imageId');
58
- return _this.images;
49
+ if (idx !== -1) _classPrivateFieldGet(_handlers, _this).onSelect(idx);
59
50
  });
60
- this.images = [];
61
- this.id = null;
62
- this.toggleModal = function () {};
63
- this.setSelectedImage = function () {};
64
51
  }
65
52
  return (0, _createClass2["default"])(StoreImages, [{
53
+ key: "images",
54
+ get: function get() {
55
+ return (0, _toConsumableArray2["default"])(_classPrivateFieldGet(_images, this));
56
+ }
57
+ }, {
66
58
  key: "resetImages",
67
59
  value: function resetImages() {
68
- this.images = [];
60
+ _classPrivateFieldSet(_images, this, []);
61
+ }
62
+ }, {
63
+ key: "setHandlers",
64
+ value: function setHandlers(_ref) {
65
+ var toggleModal = _ref.toggleModal,
66
+ setSelectedImage = _ref.setSelectedImage;
67
+ if (typeof toggleModal === 'function') _classPrivateFieldGet(_handlers, this).toggleModal = toggleModal;
68
+ if (typeof setSelectedImage === 'function') _classPrivateFieldGet(_handlers, this).onSelect = setSelectedImage;
69
+ }
70
+ }, {
71
+ key: "addImages",
72
+ value: function addImages(newImages) {
73
+ var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
74
+ pageBuilderID = _ref2.pageBuilderID;
75
+ var handlers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
76
+ if (!Array.isArray(newImages) || newImages.length === 0) {
77
+ return this.images;
78
+ }
79
+ if (pageBuilderID != null && pageBuilderID !== _classPrivateFieldGet(_pageBuilderID, this)) {
80
+ this.resetImages();
81
+ _classPrivateFieldSet(_pageBuilderID, this, pageBuilderID);
82
+ }
83
+ var merged = _classPrivateFieldGet(_images, this).concat(newImages);
84
+ _classPrivateFieldSet(_images, this, Array.from(new Map(merged.map(function (img) {
85
+ return [img.imageId, img];
86
+ })).values()));
87
+ this.setHandlers(handlers);
88
+ return this.images;
69
89
  }
70
90
  }]);
71
91
  }();
@@ -1 +1 @@
1
- {"version":3,"file":"StoreImages.js","names":["StoreImages","_this","_classCallCheck2","_defineProperty2","images","key","map","item","index","final","indexOf","filter","imageId","findIndex","image","setSelectedImage","_ref","_ref$toggleModal","toggleModal","_ref$setSelectedImage","options","arguments","length","undefined","pageBuilderID","id","resetImages","removeDuplicated","concat","_createClass2","value","_default","exports"],"sources":["../../../src/hooks/helpers/StoreImages.js"],"sourcesContent":["class StoreImages {\n constructor() {\n this.images = [];\n this.id = null;\n this.toggleModal = () => {};\n this.setSelectedImage = () => {};\n }\n\n resetImages() {\n this.images = [];\n }\n\n removeDuplicated = (images, key) => {\n this.images = images\n .map(item => item[key])\n .map((item, index, final) => final.indexOf(item) === index && index)\n .filter(item => images[item])\n .map(item => images[item]);\n };\n\n handleSelectedImage = imageId => {\n const index = this.images.findIndex(image => image.imageId === imageId);\n if (index !== -1) {\n this.setSelectedImage(index);\n }\n };\n\n setHandlers = ({ toggleModal = this.toggleModal, setSelectedImage = this.setSelectedImage }) => {\n this.toggleModal = toggleModal;\n this.setSelectedImage = setSelectedImage;\n };\n\n addImages = (images, options = {}) => {\n if (!images.length) return this.images;\n\n const { pageBuilderID } = options;\n\n if (pageBuilderID !== this.id) {\n this.resetImages();\n this.id = pageBuilderID;\n }\n\n this.removeDuplicated(this.images.concat(images), 'imageId');\n\n return this.images;\n };\n}\n\nexport default new StoreImages();\n"],"mappings":";;;;;;;;;;;;;;;;;IAAMA,WAAW;EACf,SAAAA,YAAA,EAAc;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAF,WAAA;IAAA,IAAAG,gBAAA,uCAWK,UAACC,MAAM,EAAEC,GAAG,EAAK;MAClCJ,KAAI,CAACG,MAAM,GAAGA,MAAM,CACjBE,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACF,GAAG,CAAC;MAAA,EAAC,CACtBC,GAAG,CAAC,UAACC,IAAI,EAAEC,KAAK,EAAEC,MAAK;QAAA,OAAKA,MAAK,CAACC,OAAO,CAACH,IAAI,CAAC,KAAKC,KAAK,IAAIA,KAAK;MAAA,EAAC,CACnEG,MAAM,CAAC,UAAAJ,IAAI;QAAA,OAAIH,MAAM,CAACG,IAAI,CAAC;MAAA,EAAC,CAC5BD,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIH,MAAM,CAACG,IAAI,CAAC;MAAA,EAAC;IAC9B,CAAC;IAAA,IAAAJ,gBAAA,0CAEqB,UAAAS,OAAO,EAAI;MAC/B,IAAMJ,KAAK,GAAGP,KAAI,CAACG,MAAM,CAACS,SAAS,CAAC,UAAAC,KAAK;QAAA,OAAIA,KAAK,CAACF,OAAO,KAAKA,OAAO;MAAA,EAAC;MACvE,IAAIJ,KAAK,KAAK,CAAC,CAAC,EAAE;QAChBP,KAAI,CAACc,gBAAgB,CAACP,KAAK,CAAC;MAC9B;IACF,CAAC;IAAA,IAAAL,gBAAA,kCAEa,UAAAa,IAAA,EAAkF;MAAA,IAAAC,gBAAA,GAAAD,IAAA,CAA/EE,WAAW;QAAXA,WAAW,GAAAD,gBAAA,cAAGhB,KAAI,CAACiB,WAAW,GAAAD,gBAAA;QAAAE,qBAAA,GAAAH,IAAA,CAAED,gBAAgB;QAAhBA,gBAAgB,GAAAI,qBAAA,cAAGlB,KAAI,CAACc,gBAAgB,GAAAI,qBAAA;MACvFlB,KAAI,CAACiB,WAAW,GAAGA,WAAW;MAC9BjB,KAAI,CAACc,gBAAgB,GAAGA,gBAAgB;IAC1C,CAAC;IAAA,IAAAZ,gBAAA,gCAEW,UAACC,MAAM,EAAmB;MAAA,IAAjBgB,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAC/B,IAAI,CAACjB,MAAM,CAACkB,MAAM,EAAE,OAAOrB,KAAI,CAACG,MAAM;MAEtC,IAAQoB,aAAa,GAAKJ,OAAO,CAAzBI,aAAa;MAErB,IAAIA,aAAa,KAAKvB,KAAI,CAACwB,EAAE,EAAE;QAC7BxB,KAAI,CAACyB,WAAW,CAAC,CAAC;QAClBzB,KAAI,CAACwB,EAAE,GAAGD,aAAa;MACzB;MAEAvB,KAAI,CAAC0B,gBAAgB,CAAC1B,KAAI,CAACG,MAAM,CAACwB,MAAM,CAACxB,MAAM,CAAC,EAAE,SAAS,CAAC;MAE5D,OAAOH,KAAI,CAACG,MAAM;IACpB,CAAC;IA3CC,IAAI,CAACA,MAAM,GAAG,EAAE;IAChB,IAAI,CAACqB,EAAE,GAAG,IAAI;IACd,IAAI,CAACP,WAAW,GAAG,YAAM,CAAC,CAAC;IAC3B,IAAI,CAACH,gBAAgB,GAAG,YAAM,CAAC,CAAC;EAClC;EAAC,WAAAc,aAAA,aAAA7B,WAAA;IAAAK,GAAA;IAAAyB,KAAA,EAED,SAAAJ,WAAWA,CAAA,EAAG;MACZ,IAAI,CAACtB,MAAM,GAAG,EAAE;IAClB;EAAC;AAAA;AAAA,IAAA2B,QAAA,GAAAC,OAAA,cAsCY,IAAIhC,WAAW,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"StoreImages.js","names":["StoreImages","_this","_classCallCheck2","_classPrivateFieldInitSpec","_images","_pageBuilderID","_handlers","toggleModal","onSelect","_defineProperty2","_classPrivateFieldGet","imageId","idx","findIndex","img","_createClass2","key","get","_toConsumableArray2","value","resetImages","_classPrivateFieldSet","setHandlers","_ref","setSelectedImage","addImages","newImages","_ref2","arguments","length","undefined","pageBuilderID","handlers","Array","isArray","images","merged","concat","from","Map","map","values","_default","exports"],"sources":["../../../src/hooks/helpers/StoreImages.js"],"sourcesContent":["class StoreImages {\n #images = [];\n\n #pageBuilderID = null;\n\n #handlers = {\n toggleModal: () => {},\n onSelect: () => {}\n };\n\n get images() {\n return [...this.#images];\n }\n\n resetImages() {\n this.#images = [];\n }\n\n setHandlers({ toggleModal, setSelectedImage }) {\n if (typeof toggleModal === 'function') this.#handlers.toggleModal = toggleModal;\n if (typeof setSelectedImage === 'function') this.#handlers.onSelect = setSelectedImage;\n }\n\n addImages(newImages, { pageBuilderID } = {}, handlers = {}) {\n if (!Array.isArray(newImages) || newImages.length === 0) {\n return this.images;\n }\n\n if (pageBuilderID != null && pageBuilderID !== this.#pageBuilderID) {\n this.resetImages();\n this.#pageBuilderID = pageBuilderID;\n }\n\n const merged = this.#images.concat(newImages);\n this.#images = Array.from(new Map(merged.map(img => [img.imageId, img])).values());\n\n this.setHandlers(handlers);\n return this.images;\n }\n\n toggleModal = () => {\n this.#handlers.toggleModal();\n };\n\n handleSelectedImage = imageId => {\n const idx = this.#images.findIndex(img => img.imageId === imageId);\n if (idx !== -1) this.#handlers.onSelect(idx);\n };\n}\n\nexport default new StoreImages();\n"],"mappings":"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","ignoreList":[]}
@@ -23,12 +23,12 @@ function usePageBuilder(data) {
23
23
  function _getBuiltComponents() {
24
24
  _getBuiltComponents = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
25
25
  var components;
26
- return _regenerator["default"].wrap(function _callee$(_context) {
26
+ return _regenerator["default"].wrap(function (_context) {
27
27
  while (1) switch (_context.prev = _context.next) {
28
28
  case 0:
29
29
  components = (0, _helpers["default"])(data);
30
30
  setPage(components);
31
- case 2:
31
+ case 1:
32
32
  case "end":
33
33
  return _context.stop();
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-page-builder.js","names":["_react","require","_helpers","_interopRequireDefault","usePageBuilder","data","_useState","useState","_useState2","_slicedToArray2","page","setPage","useEffect","getBuiltComponents","_getBuiltComponents","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","components","wrap","_callee$","_context","prev","next","buildPBComponents","stop","length","_default","exports"],"sources":["../../src/hooks/use-page-builder.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport buildPBComponents from './helpers';\n\nfunction usePageBuilder(data) {\n const [page, setPage] = useState([]);\n\n useEffect(\n () => {\n async function getBuiltComponents() {\n const components = buildPBComponents(data);\n\n setPage(components);\n }\n\n if (data && !page.length) {\n getBuiltComponents();\n }\n },\n [data, page]\n );\n\n return page;\n}\n\nexport default usePageBuilder;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,SAASG,cAAcA,CAACC,IAAI,EAAE;EAC5B,IAAAC,SAAA,GAAwB,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA7BI,IAAI,GAAAF,UAAA;IAAEG,OAAO,GAAAH,UAAA;EAEpB,IAAAI,gBAAS,EACP,YAAM;IAAA,SACWC,kBAAkBA,CAAA;MAAA,OAAAC,mBAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,oBAAA;MAAAA,mBAAA,OAAAG,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAAjC,SAAAC,QAAA;QAAA,IAAAC,UAAA;QAAA,OAAAH,YAAA,YAAAI,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACQL,UAAU,GAAG,IAAAM,mBAAiB,EAACtB,IAAI,CAAC;cAE1CM,OAAO,CAACU,UAAU,CAAC;YAAC;YAAA;cAAA,OAAAG,QAAA,CAAAI,IAAA;UAAA;QAAA,GAAAR,OAAA;MAAA,CACrB;MAAA,OAAAN,mBAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAED,IAAIX,IAAI,IAAI,CAACK,IAAI,CAACmB,MAAM,EAAE;MACxBhB,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EACD,CAACR,IAAI,EAAEK,IAAI,CACb,CAAC;EAED,OAAOA,IAAI;AACb;AAAC,IAAAoB,QAAA,GAAAC,OAAA,cAEc3B,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"use-page-builder.js","names":["_react","require","_helpers","_interopRequireDefault","usePageBuilder","data","_useState","useState","_useState2","_slicedToArray2","page","setPage","useEffect","getBuiltComponents","_getBuiltComponents","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","components","wrap","_context","prev","next","buildPBComponents","stop","length","_default","exports"],"sources":["../../src/hooks/use-page-builder.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport buildPBComponents from './helpers';\n\nfunction usePageBuilder(data) {\n const [page, setPage] = useState([]);\n\n useEffect(\n () => {\n async function getBuiltComponents() {\n const components = buildPBComponents(data);\n\n setPage(components);\n }\n\n if (data && !page.length) {\n getBuiltComponents();\n }\n },\n [data, page]\n );\n\n return page;\n}\n\nexport default usePageBuilder;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,SAASG,cAAcA,CAACC,IAAI,EAAE;EAC5B,IAAAC,SAAA,GAAwB,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA7BI,IAAI,GAAAF,UAAA;IAAEG,OAAO,GAAAH,UAAA;EAEpB,IAAAI,gBAAS,EACP,YAAM;IAAA,SACWC,kBAAkBA,CAAA;MAAA,OAAAC,mBAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,oBAAA;MAAAA,mBAAA,OAAAG,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAAjC,SAAAC,QAAA;QAAA,IAAAC,UAAA;QAAA,OAAAH,YAAA,YAAAI,IAAA,WAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACQJ,UAAU,GAAG,IAAAK,mBAAiB,EAACrB,IAAI,CAAC;cAE1CM,OAAO,CAACU,UAAU,CAAC;YAAC;YAAA;cAAA,OAAAE,QAAA,CAAAI,IAAA;UAAA;QAAA,GAAAP,OAAA;MAAA,CACrB;MAAA,OAAAN,mBAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAED,IAAIX,IAAI,IAAI,CAACK,IAAI,CAACkB,MAAM,EAAE;MACxBf,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EACD,CAACR,IAAI,EAAEK,IAAI,CACb,CAAC;EAED,OAAOA,IAAI;AACb;AAAC,IAAAmB,QAAA,GAAAC,OAAA,cAEc1B,cAAc","ignoreList":[]}
@@ -13,8 +13,6 @@ Object.defineProperty(exports, "__esModule", {
13
13
  value: true
14
14
  });
15
15
  exports["default"] = void 0;
16
- require("core-js/modules/es.array.concat.js");
17
- require("core-js/modules/web.timers.js");
18
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
17
  var _react = _interopRequireWildcard(require("react"));
20
18
  var _dayjs = _interopRequireDefault(require("dayjs"));
@@ -24,11 +22,13 @@ var _fa = require("react-icons/fa");
24
22
  var _bs = require("react-icons/bs");
25
23
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
26
24
  _dayjs["default"].extend(_relativeTime["default"]);
27
- var LiveBlogList = function LiveBlogList(props) {
28
- var children = props.children,
29
- date = props.date,
30
- published = props.published,
31
- featured = props.featured;
25
+ var COLLAPSE_HEIGHT = 380;
26
+ var LiveBlogList = function LiveBlogList(_ref) {
27
+ var children = _ref.children,
28
+ date = _ref.date,
29
+ published = _ref.published,
30
+ featured = _ref.featured,
31
+ alternativeHeadline = _ref.alternativeHeadline;
32
32
  var _useState = (0, _react.useState)(false),
33
33
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
34
  isExpanded = _useState2[0],
@@ -39,69 +39,66 @@ var LiveBlogList = function LiveBlogList(props) {
39
39
  setShouldShowButton = _useState4[1];
40
40
  var _useState5 = (0, _react.useState)({
41
41
  displayedDate: '&nbsp;',
42
- displayTime: ''
42
+ displayedTime: ''
43
43
  }),
44
44
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
45
45
  _useState6$ = _useState6[0],
46
46
  displayedDate = _useState6$.displayedDate,
47
47
  displayedTime = _useState6$.displayedTime,
48
48
  setDisplayedDate = _useState6[1];
49
- var usedDate = date || published;
49
+ var usedDate = date;
50
50
  var contentRef = (0, _react.useRef)(null);
51
51
  (0, _react.useEffect)(function () {
52
- var timeout = setTimeout(function () {
53
- if (contentRef.current) {
54
- var contentHeight = contentRef.current.scrollHeight;
55
- if (contentHeight > 380) {
56
- setShouldShowButton(true);
57
- }
58
- }
59
- }, 500); // delay to wait for content load
60
- // todo: change to use mutation observer
61
-
62
- return function () {
63
- clearTimeout(timeout);
52
+ var el = contentRef.current;
53
+ if (!el) return;
54
+ var check = function check() {
55
+ return setShouldShowButton(el.scrollHeight > COLLAPSE_HEIGHT);
64
56
  };
57
+ if (typeof ResizeObserver !== 'undefined') {
58
+ check();
59
+ var ro = new ResizeObserver(check);
60
+ ro.observe(el);
61
+ return function () {
62
+ return ro.disconnect();
63
+ };
64
+ }
65
+ check();
65
66
  }, [children]);
66
67
  (0, _react.useEffect)(function () {
67
- // delay setting time so no SSR issues based on timezone
68
- var newDate = '';
69
- if (usedDate) {
70
- var diffInDays = (0, _dayjs["default"])().diff((0, _dayjs["default"])(usedDate), 'day');
71
- if (diffInDays < 1) {
72
- newDate = (0, _dayjs["default"])(usedDate).fromNow();
73
- } else if (diffInDays < 365) {
74
- newDate = (0, _dayjs["default"])(usedDate).format('DD MMM');
75
- } else {
76
- newDate = (0, _dayjs["default"])(usedDate).format('DD MMM YYYY');
77
- }
78
- setDisplayedDate({
79
- displayedDate: newDate,
80
- displayedTime: (0, _dayjs["default"])(usedDate).format('HH:mm')
81
- });
82
- }
83
- }, [date, published, usedDate]);
68
+ if (!usedDate) return;
69
+ var days = (0, _dayjs["default"])().diff((0, _dayjs["default"])(usedDate), 'day');
70
+ var lessThanAYear = days < 365;
71
+ var newDate;
72
+ if (days < 1) newDate = (0, _dayjs["default"])(usedDate).fromNow();else if (lessThanAYear) newDate = (0, _dayjs["default"])(usedDate).format('DD MMM');else newDate = (0, _dayjs["default"])(usedDate).format('DD MMM YYYY');
73
+ setDisplayedDate({
74
+ displayedDate: newDate,
75
+ displayedTime: lessThanAYear ? (0, _dayjs["default"])(usedDate).format('HH:mm') : null
76
+ });
77
+ }, [usedDate]);
84
78
  var toggleExpanded = function toggleExpanded() {
85
- setIsExpanded(!isExpanded);
79
+ return setIsExpanded(function (value) {
80
+ return !value;
81
+ });
86
82
  };
87
83
  var isCollapsed = !isExpanded;
88
- var baseClass = 'live-blog-container';
89
- var modifier = featured ? " ".concat(baseClass, "--featured") : '';
90
- var className = "".concat(baseClass).concat(modifier);
84
+ var showHeader = usedDate || alternativeHeadline || featured;
91
85
  return /*#__PURE__*/_react["default"].createElement("div", {
92
- className: className
93
- }, usedDate && /*#__PURE__*/_react["default"].createElement("div", {
86
+ className: "live-blog-container".concat(featured ? ' live-blog-container--featured' : '')
87
+ }, showHeader && /*#__PURE__*/_react["default"].createElement("div", {
94
88
  className: "live-blog-date"
95
- }, featured && /*#__PURE__*/_react["default"].createElement(_bs.BsPinAngleFill, null), /*#__PURE__*/_react["default"].createElement("span", {
89
+ }, featured && /*#__PURE__*/_react["default"].createElement(_bs.BsPinAngleFill, null), usedDate && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("span", {
96
90
  className: "live-blog-date--date"
97
- }, displayedDate), /*#__PURE__*/_react["default"].createElement("span", {
91
+ }, displayedDate), displayedTime && /*#__PURE__*/_react["default"].createElement("span", {
98
92
  className: "live-blog-date--time"
99
- }, displayedTime)), /*#__PURE__*/_react["default"].createElement("div", {
93
+ }, displayedTime)), alternativeHeadline && /*#__PURE__*/_react["default"].createElement("span", {
94
+ className: "live-blog-date--headline"
95
+ }, alternativeHeadline)), /*#__PURE__*/_react["default"].createElement("div", {
100
96
  ref: contentRef,
101
- className: "live-blog-content ".concat(isCollapsed ? 'live-blog-content--collapsed' : 'live-blog-content--opened')
97
+ className: "live-blog-content ".concat(isCollapsed ? 'live-blog-content--collapsed collapsed' : 'live-blog-content--opened opened')
102
98
  }, children), shouldShowButton && /*#__PURE__*/_react["default"].createElement("div", {
103
99
  className: "live-blog-button-wrapper"
104
100
  }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
101
+ "aria-label": isExpanded ? 'Show Less' : 'Show More',
105
102
  className: "live-blog-toggle",
106
103
  onClick: toggleExpanded,
107
104
  type: "button"
@@ -1 +1 @@
1
- {"version":3,"file":"LiveBlogList.js","names":["_react","_interopRequireWildcard","require","_dayjs","_interopRequireDefault","_relativeTime","_button","_fa","_bs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","dayjs","extend","relativeTime","LiveBlogList","props","children","date","published","featured","_useState","useState","_useState2","_slicedToArray2","isExpanded","setIsExpanded","_useState3","_useState4","shouldShowButton","setShouldShowButton","_useState5","displayedDate","displayTime","_useState6","_useState6$","displayedTime","setDisplayedDate","usedDate","contentRef","useRef","useEffect","timeout","setTimeout","current","contentHeight","scrollHeight","clearTimeout","newDate","diffInDays","diff","fromNow","format","toggleExpanded","isCollapsed","baseClass","modifier","concat","className","createElement","BsPinAngleFill","ref","onClick","type","Fragment","FaMinus","FaPlus","_default","exports"],"sources":["../../../src/variants/LiveBlogList/LiveBlogList.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport Button from '@blaze-react/button';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\nimport { BsPinAngleFill } from 'react-icons/bs';\n\ndayjs.extend(relativeTime);\n\nconst LiveBlogList = props => {\n const { children, date, published, featured } = props;\n const [isExpanded, setIsExpanded] = useState(false);\n const [shouldShowButton, setShouldShowButton] = useState(false);\n const [{ displayedDate, displayedTime }, setDisplayedDate] = useState({\n displayedDate: '&nbsp;',\n displayTime: ''\n });\n const usedDate = date || published;\n\n const contentRef = useRef(null);\n\n useEffect(\n () => {\n const timeout = setTimeout(() => {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n if (contentHeight > 380) {\n setShouldShowButton(true);\n }\n }\n }, 500); // delay to wait for content load\n // todo: change to use mutation observer\n\n return () => {\n clearTimeout(timeout);\n };\n },\n [children]\n );\n\n useEffect(\n () => {\n // delay setting time so no SSR issues based on timezone\n let newDate = '';\n if (usedDate) {\n const diffInDays = dayjs().diff(dayjs(usedDate), 'day');\n if (diffInDays < 1) {\n newDate = dayjs(usedDate).fromNow();\n } else if (diffInDays < 365) {\n newDate = dayjs(usedDate).format('DD MMM');\n } else {\n newDate = dayjs(usedDate).format('DD MMM YYYY');\n }\n setDisplayedDate({\n displayedDate: newDate,\n displayedTime: dayjs(usedDate).format('HH:mm')\n });\n }\n },\n [date, published, usedDate]\n );\n\n const toggleExpanded = () => {\n setIsExpanded(!isExpanded);\n };\n\n const isCollapsed = !isExpanded;\n const baseClass = 'live-blog-container';\n const modifier = featured ? ` ${baseClass}--featured` : '';\n const className = `${baseClass}${modifier}`;\n\n return (\n <div className={className}>\n {usedDate && (\n <div className=\"live-blog-date\">\n {featured && <BsPinAngleFill />}\n <span className=\"live-blog-date--date\">{displayedDate}</span>\n <span className=\"live-blog-date--time\">{displayedTime}</span>\n </div>\n )}\n\n <div\n ref={contentRef}\n className={`live-blog-content ${\n isCollapsed ? 'live-blog-content--collapsed' : 'live-blog-content--opened'\n }`}>\n {children}\n </div>\n\n {shouldShowButton && (\n <div className=\"live-blog-button-wrapper\">\n <Button className=\"live-blog-toggle\" onClick={toggleExpanded} type=\"button\">\n {isExpanded ? (\n <>\n <FaMinus className=\"toggle-icon\" /> Show Less\n </>\n ) : (\n <>\n <FaPlus className=\"toggle-icon\" /> Show More\n </>\n )}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default LiveBlogList;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LiveBlogList.js","names":["_react","_interopRequireWildcard","require","_dayjs","_interopRequireDefault","_relativeTime","_button","_fa","_bs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","dayjs","extend","relativeTime","COLLAPSE_HEIGHT","LiveBlogList","_ref","children","date","published","featured","alternativeHeadline","_useState","useState","_useState2","_slicedToArray2","isExpanded","setIsExpanded","_useState3","_useState4","shouldShowButton","setShouldShowButton","_useState5","displayedDate","displayedTime","_useState6","_useState6$","setDisplayedDate","usedDate","contentRef","useRef","useEffect","el","current","check","scrollHeight","ResizeObserver","ro","observe","disconnect","days","diff","lessThanAYear","newDate","fromNow","format","toggleExpanded","value","isCollapsed","showHeader","createElement","className","concat","BsPinAngleFill","Fragment","ref","onClick","type","FaMinus","FaPlus","_default","exports"],"sources":["../../../src/variants/LiveBlogList/LiveBlogList.js"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport Button from '@blaze-react/button';\nimport { FaPlus, FaMinus } from 'react-icons/fa';\nimport { BsPinAngleFill } from 'react-icons/bs';\n\ndayjs.extend(relativeTime);\n\nconst COLLAPSE_HEIGHT = 380;\n\nconst LiveBlogList = ({ children, date, published, featured, alternativeHeadline }) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const [shouldShowButton, setShouldShowButton] = useState(false);\n const [{ displayedDate, displayedTime }, setDisplayedDate] = useState({\n displayedDate: '&nbsp;',\n displayedTime: ''\n });\n const usedDate = date;\n const contentRef = useRef(null);\n\n useEffect(\n () => {\n const el = contentRef.current;\n if (!el) return;\n\n const check = () => setShouldShowButton(el.scrollHeight > COLLAPSE_HEIGHT);\n\n if (typeof ResizeObserver !== 'undefined') {\n check();\n const ro = new ResizeObserver(check);\n ro.observe(el);\n return () => ro.disconnect();\n }\n check();\n },\n [children]\n );\n\n useEffect(\n () => {\n if (!usedDate) return;\n const days = dayjs().diff(dayjs(usedDate), 'day');\n const lessThanAYear = days < 365;\n\n let newDate;\n if (days < 1) newDate = dayjs(usedDate).fromNow();\n else if (lessThanAYear) newDate = dayjs(usedDate).format('DD MMM');\n else newDate = dayjs(usedDate).format('DD MMM YYYY');\n\n setDisplayedDate({\n displayedDate: newDate,\n displayedTime: lessThanAYear ? dayjs(usedDate).format('HH:mm') : null\n });\n },\n [usedDate]\n );\n\n const toggleExpanded = () => setIsExpanded(value => !value);\n const isCollapsed = !isExpanded;\n const showHeader = usedDate || alternativeHeadline || featured;\n\n return (\n <div className={`live-blog-container${featured ? ' live-blog-container--featured' : ''}`}>\n {showHeader && (\n <div className=\"live-blog-date\">\n {featured && <BsPinAngleFill />}\n {usedDate && (\n <>\n <span className=\"live-blog-date--date\">{displayedDate}</span>\n {displayedTime && <span className=\"live-blog-date--time\">{displayedTime}</span>}\n </>\n )}\n {alternativeHeadline && (\n <span className=\"live-blog-date--headline\">{alternativeHeadline}</span>\n )}\n </div>\n )}\n\n <div\n ref={contentRef}\n className={`live-blog-content ${\n isCollapsed\n ? 'live-blog-content--collapsed collapsed'\n : 'live-blog-content--opened opened'\n }`}>\n {children}\n </div>\n\n {shouldShowButton && (\n <div className=\"live-blog-button-wrapper\">\n <Button\n aria-label={isExpanded ? 'Show Less' : 'Show More'}\n className=\"live-blog-toggle\"\n onClick={toggleExpanded}\n type=\"button\">\n {isExpanded ? (\n <>\n <FaMinus className=\"toggle-icon\" /> Show Less\n </>\n ) : (\n <>\n <FaPlus className=\"toggle-icon\" /> Show More\n </>\n )}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default LiveBlogList;\n"],"mappings":"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","ignoreList":[]}
@@ -53,14 +53,19 @@ const Button = props => {
53
53
  if (!text && !icon) return false;
54
54
  return !!(url || hasChildren(children));
55
55
  };
56
- const logout = () => {
57
- handleLogout(client);
58
- if (hasChildren(children)) return setShowChildren(true);
59
- if (!urlToUse) return router.reload();
60
- return urlToUse.startsWith('/') ? router.push('/Resolver', urlToUse) : window.location.href = urlToUse;
56
+ const logout = async () => {
57
+ await handleLogout(client);
58
+ if (hasChildren(children)) {
59
+ setShowChildren(true);
60
+ return;
61
+ }
62
+ if (!urlToUse) {
63
+ return router.reload();
64
+ }
65
+ window.location.href = urlToUse;
61
66
  };
62
- const handleClick = () => {
63
- if (isLogoutButton) logout();
67
+ const handleClick = async () => {
68
+ if (isLogoutButton) await logout();
64
69
  if (!url && !isLogoutButton) setShowChildren(!showChildren);
65
70
  };
66
71
  if (!checkIfButtonShouldRender()) return null;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","_objectWithoutProperties","_excluded","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","reload","startsWith","push","window","location","href","handleClick","buttonType","modifiers","_objectSpread","currentProps","title","DynamicButton","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","createElement","className","_extends","onClick","propTypes","object","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n parent,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n const {\n data: [textToUse, afterClickTextToUse, urlToUse]\n } = useStringTemplate(parent, [text, afterClickText, url]);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n if (hasChildren(children)) return setShowChildren(true);\n\n if (!urlToUse) return router.reload();\n\n return urlToUse.startsWith('/')\n ? router.push('/Resolver', urlToUse)\n : (window.location.href = urlToUse);\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: urlToUse, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, parent.itemId, parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickTextToUse : textToUse}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n parent: PropTypes.object,\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n parent: {},\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","_objectWithoutProperties","_excluded","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","reload","window","location","href","handleClick","buttonType","modifiers","_objectSpread","currentProps","title","DynamicButton","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","createElement","className","_extends","onClick","propTypes","object","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n parent,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n const {\n data: [textToUse, afterClickTextToUse, urlToUse]\n } = useStringTemplate(parent, [text, afterClickText, url]);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = async () => {\n await handleLogout(client);\n\n if (hasChildren(children)) {\n setShowChildren(true);\n return;\n }\n\n if (!urlToUse) {\n return router.reload();\n }\n\n window.location.href = urlToUse;\n };\n\n const handleClick = async () => {\n if (isLogoutButton) await logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: urlToUse, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, parent.itemId, parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickTextToUse : textToUse}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n parent: PropTypes.object,\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n parent: {},\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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","ignoreList":[]}
@@ -32,7 +32,7 @@ const ListFactory = props => {
32
32
  operator: filterOperator,
33
33
  sortProperties,
34
34
  itemListName,
35
- VariantComponent // extracted from props
35
+ VariantComponent
36
36
  } = props;
37
37
  const {
38
38
  isPreview
@@ -1 +1 @@
1
- {"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getListSpecificSearchFilter","getListQuery","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","VariantContext","createContext","ListFactory","props","entity","legacyEntity","entities","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","allSearchFilters","operator","filterOperator","sortProperties","itemListName","VariantComponent","isPreview","router","asPath","parsedQuery","replace","searchFilter","hasListSpecificFilters","query","url","itemListId","queryItemListId","updatedQuery","isTextSearchFilterApplied","search_term","length","querySort","querySortBy","sortbyFilters","updatedSortProperties","itemEntity","parentEntity","itemId","parentId","updatedParentEntity","paginationIndex","azFilter","entitiesToUse","filterEntity","data","mainSchemas","loading","schemasLoading","error","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","variables","id","skip","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","includes","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","_objectSpread","createElement","Provider","value","propTypes","object","isRequired","string","array","bool","func","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery, getItemList } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport {\n getAzQueryFilter,\n getSortProps,\n hasRequiredItemListDetails,\n getListSpecificSearchFilter,\n getListQuery\n} from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nexport const VariantContext = React.createContext(null);\n\nconst ListFactory = props => {\n const {\n entity: legacyEntity,\n entities,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n allSearchFilters,\n operator: filterOperator,\n sortProperties,\n itemListName,\n VariantComponent // extracted from props\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const [searchFilter, hasListSpecificFilters] = getListSpecificSearchFilter(\n allSearchFilters,\n name\n );\n const { query, url, query: { itemListId: queryItemListId } = {} } = parseUrl(parsedQuery);\n const updatedQuery = getListQuery(query, hasListSpecificFilters, name);\n const isTextSearchFilterApplied = !!(\n updatedQuery.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const { sort: querySort, sortby: querySortBy } = updatedQuery;\n\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy,\n isTextSearchFilterApplied\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const updatedParentEntity = getUnpublishedEntityName(parentEntity);\n const paginationIndex = getPaginationIndex(updatedQuery, name);\n const azFilter = getAzQueryFilter(updatedQuery, name);\n\n const entitiesToUse = entities && entities.length ? entities : [legacyEntity];\n const [filterEntity] = entitiesToUse;\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([updatedParentEntity, ...entitiesToUse]);\n\n const {\n [updatedParentEntity]: currentSchema = {},\n [filterEntity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [schemasError, requiredSchemaError, itemQueryError, itemListError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || itemQueryLoading || itemListLoading) return '';\n if (hasErr) return errMsg;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = !type.includes(FULL);\n const isAZ = type.includes(AZ_LIST_TYPE);\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter\n ? buildSearchValuesText(textFilter, updatedQuery, name)\n : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, updatedQuery, name);\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query: updatedQuery,\n url,\n isCard,\n isAZ,\n router,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds,\n entities: entitiesToUse,\n mainSchemas\n };\n\n return (\n <VariantContext.Provider value={VariantComponent}>\n <ListBuilder {...listProps} />\n </VariantContext.Provider>\n );\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string.isRequired,\n entity: PropTypes.string,\n entities: PropTypes.array,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n allSearchFilters: PropTypes.array,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string,\n VariantComponent: PropTypes.func\n};\n\nListFactory.defaultProps = {\n entity: '',\n entities: [],\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n allSearchFilters: [],\n itemListName: '',\n VariantComponent: null\n};\n\nexport default ListFactory;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getListSpecificSearchFilter","getListQuery","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","VariantContext","createContext","ListFactory","props","entity","legacyEntity","entities","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","allSearchFilters","operator","filterOperator","sortProperties","itemListName","VariantComponent","isPreview","router","asPath","parsedQuery","replace","searchFilter","hasListSpecificFilters","query","url","itemListId","queryItemListId","updatedQuery","isTextSearchFilterApplied","search_term","length","querySort","querySortBy","sortbyFilters","updatedSortProperties","itemEntity","parentEntity","itemId","parentId","updatedParentEntity","paginationIndex","azFilter","entitiesToUse","filterEntity","data","mainSchemas","loading","schemasLoading","error","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","variables","id","skip","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","includes","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","_objectSpread","createElement","Provider","value","propTypes","object","isRequired","string","array","bool","func","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery, getItemList } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport {\n getAzQueryFilter,\n getSortProps,\n hasRequiredItemListDetails,\n getListSpecificSearchFilter,\n getListQuery\n} from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nexport const VariantContext = React.createContext(null);\n\nconst ListFactory = props => {\n const {\n entity: legacyEntity,\n entities,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n allSearchFilters,\n operator: filterOperator,\n sortProperties,\n itemListName,\n VariantComponent\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const [searchFilter, hasListSpecificFilters] = getListSpecificSearchFilter(\n allSearchFilters,\n name\n );\n const { query, url, query: { itemListId: queryItemListId } = {} } = parseUrl(parsedQuery);\n const updatedQuery = getListQuery(query, hasListSpecificFilters, name);\n const isTextSearchFilterApplied = !!(\n updatedQuery.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const { sort: querySort, sortby: querySortBy } = updatedQuery;\n\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy,\n isTextSearchFilterApplied\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const updatedParentEntity = getUnpublishedEntityName(parentEntity);\n const paginationIndex = getPaginationIndex(updatedQuery, name);\n const azFilter = getAzQueryFilter(updatedQuery, name);\n\n const entitiesToUse = entities && entities.length ? entities : [legacyEntity];\n const [filterEntity] = entitiesToUse;\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([updatedParentEntity, ...entitiesToUse]);\n\n const {\n [updatedParentEntity]: currentSchema = {},\n [filterEntity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [schemasError, requiredSchemaError, itemQueryError, itemListError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || itemQueryLoading || itemListLoading) return '';\n if (hasErr) return errMsg;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = !type.includes(FULL);\n const isAZ = type.includes(AZ_LIST_TYPE);\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter\n ? buildSearchValuesText(textFilter, updatedQuery, name)\n : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, updatedQuery, name);\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query: updatedQuery,\n url,\n isCard,\n isAZ,\n router,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds,\n entities: entitiesToUse,\n mainSchemas\n };\n\n return (\n <VariantContext.Provider value={VariantComponent}>\n <ListBuilder {...listProps} />\n </VariantContext.Provider>\n );\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string.isRequired,\n entity: PropTypes.string,\n entities: PropTypes.array,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n allSearchFilters: PropTypes.array,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string,\n VariantComponent: PropTypes.func\n};\n\nListFactory.defaultProps = {\n entity: '',\n entities: [],\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n allSearchFilters: [],\n itemListName: '',\n VariantComponent: null\n};\n\nexport default ListFactory;\n"],"mappings":"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","ignoreList":[]}