@blaze-cms/react-page-builder 0.141.0-core-styles.21 → 0.141.0-core-styles.23

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 (143) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/components/ContentGroup/ContentGroupTabs.js +10 -8
  3. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  4. package/lib/components/Video/providers/Default.js +13 -7
  5. package/lib/components/Video/providers/Default.js.map +1 -1
  6. package/lib/components/Video/providers/get-provider.js +5 -0
  7. package/lib/components/Video/providers/get-provider.js.map +1 -1
  8. package/lib/hooks/helpers/getVariant.js.map +1 -1
  9. package/lib/utils/variant-handler.js +2 -1
  10. package/lib/utils/variant-handler.js.map +1 -1
  11. package/lib/variants/HeroImage/index.js +29 -0
  12. package/lib/variants/HeroImage/index.js.map +1 -0
  13. package/lib/variants/Infographic/Infographic.js +27 -0
  14. package/lib/variants/Infographic/Infographic.js.map +1 -0
  15. package/lib/variants/Infographic/index.js +41 -0
  16. package/lib/variants/Infographic/index.js.map +1 -0
  17. package/lib/variants/Infographic/useInfographic.js +43 -0
  18. package/lib/variants/Infographic/useInfographic.js.map +1 -0
  19. package/lib/variants/LongformGallery/LongformGallery.js +53 -0
  20. package/lib/variants/LongformGallery/LongformGallery.js.map +1 -0
  21. package/lib/variants/LongformGallery/LongformGalleryImage.js +71 -0
  22. package/lib/variants/LongformGallery/LongformGalleryImage.js.map +1 -0
  23. package/lib/variants/LongformGallery/constants.js +19 -0
  24. package/lib/variants/LongformGallery/constants.js.map +1 -0
  25. package/lib/variants/LongformGallery/helpers/index.js +29 -0
  26. package/lib/variants/LongformGallery/helpers/index.js.map +1 -0
  27. package/lib/variants/LongformGallery/helpers/parseImageData.js +42 -0
  28. package/lib/variants/LongformGallery/helpers/parseImageData.js.map +1 -0
  29. package/lib/variants/LongformGallery/helpers/separateImages.js +36 -0
  30. package/lib/variants/LongformGallery/helpers/separateImages.js.map +1 -0
  31. package/lib/variants/LongformGallery/helpers/shouldSkip.js +13 -0
  32. package/lib/variants/LongformGallery/helpers/shouldSkip.js.map +1 -0
  33. package/lib/variants/LongformGallery/index.js +43 -0
  34. package/lib/variants/LongformGallery/index.js.map +1 -0
  35. package/lib/variants/LongformGallery/useLongformGallery.js +58 -0
  36. package/lib/variants/LongformGallery/useLongformGallery.js.map +1 -0
  37. package/lib/variants/LongformRow/index.js +29 -0
  38. package/lib/variants/LongformRow/index.js.map +1 -0
  39. package/lib/variants/ParallaxImageTextRight/index.js +30 -0
  40. package/lib/variants/ParallaxImageTextRight/index.js.map +1 -0
  41. package/lib/variants/ThumbnailCarousel/ThumbnailCarousel.js +8 -10
  42. package/lib/variants/ThumbnailCarousel/ThumbnailCarousel.js.map +1 -1
  43. package/lib/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js +1 -5
  44. package/lib/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js.map +1 -1
  45. package/lib/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js +10 -23
  46. package/lib/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js.map +1 -1
  47. package/lib/variants/ThumbnailCarousel/index.js +15 -3
  48. package/lib/variants/ThumbnailCarousel/index.js.map +1 -1
  49. package/lib/variants/ThumbnailCarousel/useThumbnailCarousel.js +13 -9
  50. package/lib/variants/ThumbnailCarousel/useThumbnailCarousel.js.map +1 -1
  51. package/lib/variants/index.js +10 -0
  52. package/lib/variants/index.js.map +1 -1
  53. package/lib-es/components/ContentGroup/ContentGroupTabs.js +10 -8
  54. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  55. package/lib-es/components/Video/providers/Default.js +14 -7
  56. package/lib-es/components/Video/providers/Default.js.map +1 -1
  57. package/lib-es/components/Video/providers/get-provider.js +2 -1
  58. package/lib-es/components/Video/providers/get-provider.js.map +1 -1
  59. package/lib-es/hooks/helpers/getVariant.js.map +1 -1
  60. package/lib-es/utils/variant-handler.js +2 -1
  61. package/lib-es/utils/variant-handler.js.map +1 -1
  62. package/lib-es/variants/HeroImage/index.js +10 -0
  63. package/lib-es/variants/HeroImage/index.js.map +1 -0
  64. package/lib-es/variants/Infographic/Infographic.js +20 -0
  65. package/lib-es/variants/Infographic/Infographic.js.map +1 -0
  66. package/lib-es/variants/Infographic/index.js +10 -0
  67. package/lib-es/variants/Infographic/index.js.map +1 -0
  68. package/lib-es/variants/Infographic/useInfographic.js +23 -0
  69. package/lib-es/variants/Infographic/useInfographic.js.map +1 -0
  70. package/lib-es/variants/LongformGallery/LongformGallery.js +40 -0
  71. package/lib-es/variants/LongformGallery/LongformGallery.js.map +1 -0
  72. package/lib-es/variants/LongformGallery/LongformGalleryImage.js +59 -0
  73. package/lib-es/variants/LongformGallery/LongformGalleryImage.js.map +1 -0
  74. package/lib-es/variants/LongformGallery/constants.js +18 -0
  75. package/lib-es/variants/LongformGallery/constants.js.map +1 -0
  76. package/lib-es/variants/LongformGallery/helpers/index.js +5 -0
  77. package/lib-es/variants/LongformGallery/helpers/index.js.map +1 -0
  78. package/lib-es/variants/LongformGallery/helpers/parseImageData.js +26 -0
  79. package/lib-es/variants/LongformGallery/helpers/parseImageData.js.map +1 -0
  80. package/lib-es/variants/LongformGallery/helpers/separateImages.js +25 -0
  81. package/lib-es/variants/LongformGallery/helpers/separateImages.js.map +1 -0
  82. package/lib-es/variants/LongformGallery/helpers/shouldSkip.js +3 -0
  83. package/lib-es/variants/LongformGallery/helpers/shouldSkip.js.map +1 -0
  84. package/lib-es/variants/LongformGallery/index.js +12 -0
  85. package/lib-es/variants/LongformGallery/index.js.map +1 -0
  86. package/lib-es/variants/LongformGallery/useLongformGallery.js +47 -0
  87. package/lib-es/variants/LongformGallery/useLongformGallery.js.map +1 -0
  88. package/lib-es/variants/LongformRow/index.js +10 -0
  89. package/lib-es/variants/LongformRow/index.js.map +1 -0
  90. package/lib-es/variants/ParallaxImageTextRight/index.js +11 -0
  91. package/lib-es/variants/ParallaxImageTextRight/index.js.map +1 -0
  92. package/lib-es/variants/ThumbnailCarousel/ThumbnailCarousel.js +8 -10
  93. package/lib-es/variants/ThumbnailCarousel/ThumbnailCarousel.js.map +1 -1
  94. package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js +1 -5
  95. package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js.map +1 -1
  96. package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js +10 -23
  97. package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js.map +1 -1
  98. package/lib-es/variants/ThumbnailCarousel/index.js +2 -2
  99. package/lib-es/variants/ThumbnailCarousel/index.js.map +1 -1
  100. package/lib-es/variants/ThumbnailCarousel/useThumbnailCarousel.js +13 -8
  101. package/lib-es/variants/ThumbnailCarousel/useThumbnailCarousel.js.map +1 -1
  102. package/lib-es/variants/index.js +10 -0
  103. package/lib-es/variants/index.js.map +1 -1
  104. package/package.json +2 -2
  105. package/src/components/ContentGroup/ContentGroupTabs.js +11 -8
  106. package/src/components/Video/providers/Default.js +12 -6
  107. package/src/components/Video/providers/get-provider.js +2 -1
  108. package/src/hooks/helpers/getVariant.js +1 -0
  109. package/src/utils/variant-handler.js +2 -1
  110. package/src/variants/HeroImage/index.js +8 -0
  111. package/src/variants/Infographic/Infographic.js +14 -0
  112. package/src/variants/Infographic/index.js +12 -0
  113. package/src/variants/Infographic/useInfographic.js +18 -0
  114. package/src/variants/LongformGallery/LongformGallery.js +47 -0
  115. package/src/variants/LongformGallery/LongformGalleryImage.js +65 -0
  116. package/src/variants/LongformGallery/constants.js +21 -0
  117. package/src/variants/LongformGallery/helpers/index.js +5 -0
  118. package/src/variants/LongformGallery/helpers/parseImageData.js +25 -0
  119. package/src/variants/LongformGallery/helpers/separateImages.js +38 -0
  120. package/src/variants/LongformGallery/helpers/shouldSkip.js +3 -0
  121. package/src/variants/LongformGallery/index.js +13 -0
  122. package/src/variants/LongformGallery/useLongformGallery.js +41 -0
  123. package/src/variants/LongformRow/index.js +8 -0
  124. package/src/variants/ParallaxImageTextRight/index.js +9 -0
  125. package/src/variants/ThumbnailCarousel/ThumbnailCarousel.js +6 -10
  126. package/src/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js +4 -18
  127. package/src/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js +11 -25
  128. package/src/variants/ThumbnailCarousel/index.js +4 -2
  129. package/src/variants/ThumbnailCarousel/useThumbnailCarousel.js +13 -8
  130. package/src/variants/index.js +10 -0
  131. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +2 -0
  132. package/tests/unit/src/components/Video/providers/__snapshots__/Default.test.js.snap +111 -108
  133. package/tests/unit/src/utils/variant-handler.test.js +9 -4
  134. package/tests/unit/src/variants/LongFormGallery/LongformGallery.test.js +42 -0
  135. package/tests/unit/src/variants/LongFormGallery/LongformGalleryImage.test.js +44 -0
  136. package/tests/unit/src/variants/LongFormGallery/__snapshots__/LongformGallery.test.js.snap +99 -0
  137. package/tests/unit/src/variants/LongFormGallery/__snapshots__/LongformGalleryImage.test.js.snap +51 -0
  138. package/tests/unit/src/variants/LongFormGallery/constants.js +37 -0
  139. package/tests/unit/src/variants/LongFormGallery/helpers/parseImageData.test.js +53 -0
  140. package/tests/unit/src/variants/LongFormGallery/helpers/separateImages.test.js +52 -0
  141. package/tests/unit/src/variants/LongFormGallery/helpers/shouldSkip.test.js +23 -0
  142. package/tests/unit/src/variants/LongFormGallery/useLongformGallery.test.js +36 -0
  143. package/tests/unit/src/variants/ThumbnailCarousel/__snapshots__/ThumbnailCarousel.test.js.snap +10 -15
@@ -0,0 +1,18 @@
1
+ import { gql } from '@apollo/client';
2
+ const GET_IMAGES_QUERY = gql`
3
+ query getImages($where: JSON!) {
4
+ getImages: getFiles(where: $where) {
5
+ id
6
+ url
7
+ data
8
+ }
9
+ }
10
+ `;
11
+ const PROPS_TO_CHECK = ['altText', 'caption', 'hrefUrl', 'credits'];
12
+ const IN_VIEW_CONFIG = {
13
+ once: true,
14
+ offset: '200px',
15
+ bottomOffset: '-200px'
16
+ };
17
+ export { GET_IMAGES_QUERY, IN_VIEW_CONFIG, PROPS_TO_CHECK };
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["gql","GET_IMAGES_QUERY","PROPS_TO_CHECK","IN_VIEW_CONFIG","once","offset","bottomOffset"],"sources":["../../../src/variants/LongformGallery/constants.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst GET_IMAGES_QUERY = gql`\n query getImages($where: JSON!) {\n getImages: getFiles(where: $where) {\n id\n url\n data\n }\n }\n`;\n\nconst PROPS_TO_CHECK = ['altText', 'caption', 'hrefUrl', 'credits'];\n\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px',\n bottomOffset: '-200px'\n};\n\nexport { GET_IMAGES_QUERY, IN_VIEW_CONFIG, PROPS_TO_CHECK };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,MAAMC,gBAAgB,GAAGD,GAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAME,cAAc,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAEnE,MAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,IAAI;EACVC,MAAM,EAAE,OAAO;EACfC,YAAY,EAAE;AAChB,CAAC;AAED,SAASL,gBAAgB,EAAEE,cAAc,EAAED,cAAc"}
@@ -0,0 +1,5 @@
1
+ import parseImageData from './parseImageData';
2
+ import separateImages from './separateImages';
3
+ import shouldSkip from './shouldSkip';
4
+ export { parseImageData, separateImages, shouldSkip };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["parseImageData","separateImages","shouldSkip"],"sources":["../../../../src/variants/LongformGallery/helpers/index.js"],"sourcesContent":["import parseImageData from './parseImageData';\nimport separateImages from './separateImages';\nimport shouldSkip from './shouldSkip';\n\nexport { parseImageData, separateImages, shouldSkip };\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,UAAU,MAAM,cAAc;AAErC,SAASF,cAAc,EAAEC,cAAc,EAAEC,UAAU"}
@@ -0,0 +1,26 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ import parseHTML from 'html-react-parser';
5
+ import { PROPS_TO_CHECK } from '../constants';
6
+ const parseImageData = (image, index, priorityLimit, shouldDisplayCaption) => {
7
+ const {
8
+ data = {}
9
+ } = image;
10
+ const parsedData = {};
11
+ PROPS_TO_CHECK.forEach(dataKey => {
12
+ const value = data && data[dataKey];
13
+ if (dataKey === 'caption') {
14
+ parsedData[dataKey] = shouldDisplayCaption && !!value ? parseHTML(value) : '';
15
+ return;
16
+ }
17
+ parsedData[dataKey] = value || '';
18
+ });
19
+ return _objectSpread(_objectSpread({}, parsedData), {}, {
20
+ id: image.id,
21
+ url: image.url,
22
+ priority: index < priorityLimit
23
+ });
24
+ };
25
+ export default parseImageData;
26
+ //# sourceMappingURL=parseImageData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseImageData.js","names":["parseHTML","PROPS_TO_CHECK","parseImageData","image","index","priorityLimit","shouldDisplayCaption","data","parsedData","forEach","dataKey","value","_objectSpread","id","url","priority"],"sources":["../../../../src/variants/LongformGallery/helpers/parseImageData.js"],"sourcesContent":["import parseHTML from 'html-react-parser';\nimport { PROPS_TO_CHECK } from '../constants';\n\nconst parseImageData = (image, index, priorityLimit, shouldDisplayCaption) => {\n const { data = {} } = image;\n const parsedData = {};\n\n PROPS_TO_CHECK.forEach(dataKey => {\n const value = data && data[dataKey];\n if (dataKey === 'caption') {\n parsedData[dataKey] = shouldDisplayCaption && !!value ? parseHTML(value) : '';\n return;\n }\n parsedData[dataKey] = value || '';\n });\n\n return {\n ...parsedData,\n id: image.id,\n url: image.url,\n priority: index < priorityLimit\n };\n};\n\nexport default parseImageData;\n"],"mappings":";;;AAAA,OAAOA,SAAS,MAAM,mBAAmB;AACzC,SAASC,cAAc,QAAQ,cAAc;AAE7C,MAAMC,cAAc,GAAGA,CAACC,KAAK,EAAEC,KAAK,EAAEC,aAAa,EAAEC,oBAAoB,KAAK;EAC5E,MAAM;IAAEC,IAAI,GAAG,CAAC;EAAE,CAAC,GAAGJ,KAAK;EAC3B,MAAMK,UAAU,GAAG,CAAC,CAAC;EAErBP,cAAc,CAACQ,OAAO,CAACC,OAAO,IAAI;IAChC,MAAMC,KAAK,GAAGJ,IAAI,IAAIA,IAAI,CAACG,OAAO,CAAC;IACnC,IAAIA,OAAO,KAAK,SAAS,EAAE;MACzBF,UAAU,CAACE,OAAO,CAAC,GAAGJ,oBAAoB,IAAI,CAAC,CAACK,KAAK,GAAGX,SAAS,CAACW,KAAK,CAAC,GAAG,EAAE;MAC7E;IACF;IACAH,UAAU,CAACE,OAAO,CAAC,GAAGC,KAAK,IAAI,EAAE;EACnC,CAAC,CAAC;EAEF,OAAAC,aAAA,CAAAA,aAAA,KACKJ,UAAU;IACbK,EAAE,EAAEV,KAAK,CAACU,EAAE;IACZC,GAAG,EAAEX,KAAK,CAACW,GAAG;IACdC,QAAQ,EAAEX,KAAK,GAAGC;EAAa;AAEnC,CAAC;AAED,eAAeH,cAAc"}
@@ -0,0 +1,25 @@
1
+ import parseImageData from './parseImageData';
2
+ const buildImageGroups = (images, priorityLimit, shouldDisplayCaption) => {
3
+ const imageGroups = [];
4
+ let imageGroupIndex = 0;
5
+ const isDivisible = images.length % 3 === 0;
6
+ images.forEach((image, index) => {
7
+ if (!imageGroups[imageGroupIndex]) imageGroups[imageGroupIndex] = [parseImageData(image, index, priorityLimit, shouldDisplayCaption)];else imageGroups[imageGroupIndex].push(parseImageData(image, index, priorityLimit, shouldDisplayCaption));
8
+ if (isDivisible) {
9
+ if (imageGroups[imageGroupIndex].length >= 3) imageGroupIndex += 1;
10
+ } else {
11
+ if (imageGroupIndex === 0 && imageGroups[imageGroupIndex].length >= 2) {
12
+ imageGroupIndex += 1;
13
+ return;
14
+ }
15
+ if (imageGroups[imageGroupIndex].length >= 3) imageGroupIndex += 1;
16
+ }
17
+ });
18
+ return imageGroups;
19
+ };
20
+ const separateImages = (images, priorityLimit, shouldDisplayCaption) => {
21
+ if (!images || !images.length) return [];
22
+ return buildImageGroups(images, priorityLimit, shouldDisplayCaption);
23
+ };
24
+ export default separateImages;
25
+ //# sourceMappingURL=separateImages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separateImages.js","names":["parseImageData","buildImageGroups","images","priorityLimit","shouldDisplayCaption","imageGroups","imageGroupIndex","isDivisible","length","forEach","image","index","push","separateImages"],"sources":["../../../../src/variants/LongformGallery/helpers/separateImages.js"],"sourcesContent":["import parseImageData from './parseImageData';\n\nconst buildImageGroups = (images, priorityLimit, shouldDisplayCaption) => {\n const imageGroups = [];\n let imageGroupIndex = 0;\n const isDivisible = images.length % 3 === 0;\n\n images.forEach((image, index) => {\n if (!imageGroups[imageGroupIndex])\n imageGroups[imageGroupIndex] = [\n parseImageData(image, index, priorityLimit, shouldDisplayCaption)\n ];\n else\n imageGroups[imageGroupIndex].push(\n parseImageData(image, index, priorityLimit, shouldDisplayCaption)\n );\n\n if (isDivisible) {\n if (imageGroups[imageGroupIndex].length >= 3) imageGroupIndex += 1;\n } else {\n if (imageGroupIndex === 0 && imageGroups[imageGroupIndex].length >= 2) {\n imageGroupIndex += 1;\n return;\n }\n if (imageGroups[imageGroupIndex].length >= 3) imageGroupIndex += 1;\n }\n });\n\n return imageGroups;\n};\n\nconst separateImages = (images, priorityLimit, shouldDisplayCaption) => {\n if (!images || !images.length) return [];\n\n return buildImageGroups(images, priorityLimit, shouldDisplayCaption);\n};\n\nexport default separateImages;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAE7C,MAAMC,gBAAgB,GAAGA,CAACC,MAAM,EAAEC,aAAa,EAAEC,oBAAoB,KAAK;EACxE,MAAMC,WAAW,GAAG,EAAE;EACtB,IAAIC,eAAe,GAAG,CAAC;EACvB,MAAMC,WAAW,GAAGL,MAAM,CAACM,MAAM,GAAG,CAAC,KAAK,CAAC;EAE3CN,MAAM,CAACO,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;IAC/B,IAAI,CAACN,WAAW,CAACC,eAAe,CAAC,EAC/BD,WAAW,CAACC,eAAe,CAAC,GAAG,CAC7BN,cAAc,CAACU,KAAK,EAAEC,KAAK,EAAER,aAAa,EAAEC,oBAAoB,CAAC,CAClE,CAAC,KAEFC,WAAW,CAACC,eAAe,CAAC,CAACM,IAAI,CAC/BZ,cAAc,CAACU,KAAK,EAAEC,KAAK,EAAER,aAAa,EAAEC,oBAAoB,CAClE,CAAC;IAEH,IAAIG,WAAW,EAAE;MACf,IAAIF,WAAW,CAACC,eAAe,CAAC,CAACE,MAAM,IAAI,CAAC,EAAEF,eAAe,IAAI,CAAC;IACpE,CAAC,MAAM;MACL,IAAIA,eAAe,KAAK,CAAC,IAAID,WAAW,CAACC,eAAe,CAAC,CAACE,MAAM,IAAI,CAAC,EAAE;QACrEF,eAAe,IAAI,CAAC;QACpB;MACF;MACA,IAAID,WAAW,CAACC,eAAe,CAAC,CAACE,MAAM,IAAI,CAAC,EAAEF,eAAe,IAAI,CAAC;IACpE;EACF,CAAC,CAAC;EAEF,OAAOD,WAAW;AACpB,CAAC;AAED,MAAMQ,cAAc,GAAGA,CAACX,MAAM,EAAEC,aAAa,EAAEC,oBAAoB,KAAK;EACtE,IAAI,CAACF,MAAM,IAAI,CAACA,MAAM,CAACM,MAAM,EAAE,OAAO,EAAE;EAExC,OAAOP,gBAAgB,CAACC,MAAM,EAAEC,aAAa,EAAEC,oBAAoB,CAAC;AACtE,CAAC;AAED,eAAeS,cAAc"}
@@ -0,0 +1,3 @@
1
+ const shouldSkip = ids => !ids || Array.isArray(ids) && !ids.length;
2
+ export default shouldSkip;
3
+ //# sourceMappingURL=shouldSkip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldSkip.js","names":["shouldSkip","ids","Array","isArray","length"],"sources":["../../../../src/variants/LongformGallery/helpers/shouldSkip.js"],"sourcesContent":["const shouldSkip = ids => !ids || (Array.isArray(ids) && !ids.length);\n\nexport default shouldSkip;\n"],"mappings":"AAAA,MAAMA,UAAU,GAAGC,GAAG,IAAI,CAACA,GAAG,IAAKC,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,IAAI,CAACA,GAAG,CAACG,MAAO;AAErE,eAAeJ,UAAU"}
@@ -0,0 +1,12 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ import dynamic from 'next/dynamic';
5
+ const LongformGallery = {
6
+ VariantComponent: dynamic(() => import( /* webpackChunkName: "blazePbVariantLongformGallery" */'./LongformGallery')),
7
+ getSettings: componentSettings => _objectSpread(_objectSpread({}, componentSettings), {}, {
8
+ modifier: 'longformGallery'
9
+ })
10
+ };
11
+ export default LongformGallery;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["dynamic","LongformGallery","VariantComponent","getSettings","componentSettings","_objectSpread","modifier"],"sources":["../../../src/variants/LongformGallery/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nconst LongformGallery = {\n VariantComponent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbVariantLongformGallery\" */ './LongformGallery')\n ),\n getSettings: componentSettings => ({\n ...componentSettings,\n modifier: 'longformGallery'\n })\n};\n\nexport default LongformGallery;\n"],"mappings":";;;AAAA,OAAOA,OAAO,MAAM,cAAc;AAElC,MAAMC,eAAe,GAAG;EACtBC,gBAAgB,EAAEF,OAAO,CAAC,MACxB,MAAM,EAAC,uDAAwD,mBAAmB,CACpF,CAAC;EACDG,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,CAAAA,aAAA,KACzBD,iBAAiB;IACpBE,QAAQ,EAAE;EAAiB;AAE/B,CAAC;AAED,eAAeL,eAAe"}
@@ -0,0 +1,47 @@
1
+ import { useQuery } from '@apollo/client';
2
+ import { GET_IMAGES_QUERY } from './constants';
3
+ import { separateImages, shouldSkip } from './helpers';
4
+ const useLongformGallery = ({
5
+ imageIds = [],
6
+ priorityLimit = 0,
7
+ caption = '',
8
+ shouldDisplayCaption = false,
9
+ enableLightbox = false,
10
+ toggleModal = () => {},
11
+ handleSelectedImage = () => {}
12
+ }) => {
13
+ const skip = shouldSkip(imageIds);
14
+ const {
15
+ data,
16
+ loading,
17
+ error
18
+ } = useQuery(GET_IMAGES_QUERY, {
19
+ variables: {
20
+ where: {
21
+ id: {
22
+ _in: imageIds
23
+ }
24
+ }
25
+ },
26
+ skip
27
+ });
28
+ const {
29
+ getImages
30
+ } = data || {};
31
+ const groupedImages = separateImages(getImages, priorityLimit, shouldDisplayCaption);
32
+ const handleImageOnClick = clickedImageId => {
33
+ if (!enableLightbox) return;
34
+ toggleModal();
35
+ handleSelectedImage(clickedImageId);
36
+ };
37
+ return {
38
+ loading,
39
+ error,
40
+ shouldDisplayCaption,
41
+ caption,
42
+ groupedImages,
43
+ handleImageOnClick
44
+ };
45
+ };
46
+ export default useLongformGallery;
47
+ //# sourceMappingURL=useLongformGallery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLongformGallery.js","names":["useQuery","GET_IMAGES_QUERY","separateImages","shouldSkip","useLongformGallery","imageIds","priorityLimit","caption","shouldDisplayCaption","enableLightbox","toggleModal","handleSelectedImage","skip","data","loading","error","variables","where","id","_in","getImages","groupedImages","handleImageOnClick","clickedImageId"],"sources":["../../../src/variants/LongformGallery/useLongformGallery.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { GET_IMAGES_QUERY } from './constants';\nimport { separateImages, shouldSkip } from './helpers';\n\nconst useLongformGallery = ({\n imageIds = [],\n priorityLimit = 0,\n caption = '',\n shouldDisplayCaption = false,\n enableLightbox = false,\n toggleModal = () => {},\n handleSelectedImage = () => {}\n}) => {\n const skip = shouldSkip(imageIds);\n\n const { data, loading, error } = useQuery(GET_IMAGES_QUERY, {\n variables: { where: { id: { _in: imageIds } } },\n skip\n });\n\n const { getImages } = data || {};\n\n const groupedImages = separateImages(getImages, priorityLimit, shouldDisplayCaption);\n\n const handleImageOnClick = clickedImageId => {\n if (!enableLightbox) return;\n toggleModal();\n handleSelectedImage(clickedImageId);\n };\n\n return {\n loading,\n error,\n shouldDisplayCaption,\n caption,\n groupedImages,\n handleImageOnClick\n };\n};\n\nexport default useLongformGallery;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,gBAAgB,QAAQ,aAAa;AAC9C,SAASC,cAAc,EAAEC,UAAU,QAAQ,WAAW;AAEtD,MAAMC,kBAAkB,GAAGA,CAAC;EAC1BC,QAAQ,GAAG,EAAE;EACbC,aAAa,GAAG,CAAC;EACjBC,OAAO,GAAG,EAAE;EACZC,oBAAoB,GAAG,KAAK;EAC5BC,cAAc,GAAG,KAAK;EACtBC,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAC;EACtBC,mBAAmB,GAAGA,CAAA,KAAM,CAAC;AAC/B,CAAC,KAAK;EACJ,MAAMC,IAAI,GAAGT,UAAU,CAACE,QAAQ,CAAC;EAEjC,MAAM;IAAEQ,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGf,QAAQ,CAACC,gBAAgB,EAAE;IAC1De,SAAS,EAAE;MAAEC,KAAK,EAAE;QAAEC,EAAE,EAAE;UAAEC,GAAG,EAAEd;QAAS;MAAE;IAAE,CAAC;IAC/CO;EACF,CAAC,CAAC;EAEF,MAAM;IAAEQ;EAAU,CAAC,GAAGP,IAAI,IAAI,CAAC,CAAC;EAEhC,MAAMQ,aAAa,GAAGnB,cAAc,CAACkB,SAAS,EAAEd,aAAa,EAAEE,oBAAoB,CAAC;EAEpF,MAAMc,kBAAkB,GAAGC,cAAc,IAAI;IAC3C,IAAI,CAACd,cAAc,EAAE;IACrBC,WAAW,CAAC,CAAC;IACbC,mBAAmB,CAACY,cAAc,CAAC;EACrC,CAAC;EAED,OAAO;IACLT,OAAO;IACPC,KAAK;IACLP,oBAAoB;IACpBD,OAAO;IACPc,aAAa;IACbC;EACF,CAAC;AACH,CAAC;AAED,eAAelB,kBAAkB"}
@@ -0,0 +1,10 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ const LongformRow = {
5
+ getSettings: componentSettings => _objectSpread(_objectSpread({}, componentSettings), {}, {
6
+ modifier: 'longform-row'
7
+ })
8
+ };
9
+ export default LongformRow;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["LongformRow","getSettings","componentSettings","_objectSpread","modifier"],"sources":["../../../src/variants/LongformRow/index.js"],"sourcesContent":["const LongformRow = {\n getSettings: componentSettings => ({\n ...componentSettings,\n modifier: 'longform-row'\n })\n};\n\nexport default LongformRow;\n"],"mappings":";;;AAAA,MAAMA,WAAW,GAAG;EAClBC,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,CAAAA,aAAA,KACzBD,iBAAiB;IACpBE,QAAQ,EAAE;EAAc;AAE5B,CAAC;AAED,eAAeJ,WAAW"}
@@ -0,0 +1,11 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ const ParallaxImageTextRight = {
5
+ getSettings: componentSettings => _objectSpread(_objectSpread({}, componentSettings), {}, {
6
+ parallax: true,
7
+ modifier: 'image-children-right'
8
+ })
9
+ };
10
+ export default ParallaxImageTextRight;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ParallaxImageTextRight","getSettings","componentSettings","_objectSpread","parallax","modifier"],"sources":["../../../src/variants/ParallaxImageTextRight/index.js"],"sourcesContent":["const ParallaxImageTextRight = {\n getSettings: componentSettings => ({\n ...componentSettings,\n parallax: true,\n modifier: 'image-children-right'\n })\n};\n\nexport default ParallaxImageTextRight;\n"],"mappings":";;;AAAA,MAAMA,sBAAsB,GAAG;EAC7BC,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,CAAAA,aAAA,KACzBD,iBAAiB;IACpBE,QAAQ,EAAE,IAAI;IACdC,QAAQ,EAAE;EAAsB;AAEpC,CAAC;AAED,eAAeL,sBAAsB"}
@@ -8,8 +8,8 @@ const ThumbnailCarousel = props => {
8
8
  imageIds,
9
9
  selectedImageId,
10
10
  priorityLimit,
11
- mainImageButtonClick,
12
- thumbnailImageClick
11
+ scrollToImage,
12
+ mainImageButtonClick
13
13
  } = useThumbnailCarousel(props);
14
14
  return /*#__PURE__*/React.createElement("div", {
15
15
  className: "thumbnail-carousel",
@@ -23,14 +23,10 @@ const ThumbnailCarousel = props => {
23
23
  onClick: () => mainImageButtonClick()
24
24
  }, /*#__PURE__*/React.createElement("div", {
25
25
  className: "arrow arrow--left"
26
- })), /*#__PURE__*/React.createElement("div", {
27
- className: "thumbnail-carousel__main_image_container__main-image",
28
- "data-testid": "thumbnail-main-image",
29
- ref: thumbnailsListRef
30
- }, /*#__PURE__*/React.createElement(ThumbnailImage, _extends({}, props, {
26
+ })), /*#__PURE__*/React.createElement(ThumbnailImage, _extends({}, props, {
31
27
  priority: true,
32
28
  imageId: selectedImageId
33
- }))), /*#__PURE__*/React.createElement("div", {
29
+ })), /*#__PURE__*/React.createElement("div", {
34
30
  id: "next-button",
35
31
  className: "thumbnail-carousel__main_image_container__button next",
36
32
  role: "button",
@@ -38,13 +34,15 @@ const ThumbnailCarousel = props => {
38
34
  }, /*#__PURE__*/React.createElement("div", {
39
35
  className: "arrow arrow--right"
40
36
  }))), /*#__PURE__*/React.createElement("div", {
41
- className: "thumbnail-carousel__list"
37
+ className: "thumbnail-carousel__list",
38
+ ref: thumbnailsListRef
42
39
  }, imageIds.map((imageId, index) => /*#__PURE__*/React.createElement(ThumbnailImage, _extends({}, props, {
43
40
  key: imageId,
41
+ imageIndex: index,
44
42
  priority: index < priorityLimit,
45
43
  imageId: imageId,
46
44
  selectedImageId: selectedImageId,
47
- handleOnClick: thumbnailImageClick
45
+ scrollToImage: scrollToImage
48
46
  })))));
49
47
  };
50
48
  export default ThumbnailCarousel;
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbnailCarousel.js","names":["React","useThumbnailCarousel","ThumbnailImage","ThumbnailCarousel","props","thumbnailsListRef","imageIds","selectedImageId","priorityLimit","mainImageButtonClick","thumbnailImageClick","createElement","className","id","role","onClick","ref","_extends","priority","imageId","map","index","key","handleOnClick"],"sources":["../../../src/variants/ThumbnailCarousel/ThumbnailCarousel.js"],"sourcesContent":["import React from 'react';\nimport useThumbnailCarousel from './useThumbnailCarousel';\nimport ThumbnailImage from './ThumbnailImage';\n\nconst ThumbnailCarousel = props => {\n const {\n thumbnailsListRef,\n imageIds,\n selectedImageId,\n priorityLimit,\n mainImageButtonClick,\n thumbnailImageClick\n } = useThumbnailCarousel(props);\n\n return (\n <div className=\"thumbnail-carousel\" data-testid=\"thumbnail-carousel\">\n <div className=\"thumbnail-carousel__main_image_container\">\n <div\n id=\"previous-button\"\n className=\"thumbnail-carousel__main_image_container__button\"\n role=\"button\"\n onClick={() => mainImageButtonClick()}>\n <div className=\"arrow arrow--left\" />\n </div>\n <div\n className=\"thumbnail-carousel__main_image_container__main-image\"\n data-testid=\"thumbnail-main-image\"\n ref={thumbnailsListRef}>\n <ThumbnailImage {...props} priority imageId={selectedImageId} />\n </div>\n <div\n id=\"next-button\"\n className=\"thumbnail-carousel__main_image_container__button next\"\n role=\"button\"\n onClick={() => mainImageButtonClick(true)}>\n <div className=\"arrow arrow--right\" />\n </div>\n </div>\n <div className=\"thumbnail-carousel__list\">\n {imageIds.map((imageId, index) => (\n <ThumbnailImage\n {...props}\n key={imageId}\n priority={index < priorityLimit}\n imageId={imageId}\n selectedImageId={selectedImageId}\n handleOnClick={thumbnailImageClick}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default ThumbnailCarousel;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,MAAMC,iBAAiB,GAAGC,KAAK,IAAI;EACjC,MAAM;IACJC,iBAAiB;IACjBC,QAAQ;IACRC,eAAe;IACfC,aAAa;IACbC,oBAAoB;IACpBC;EACF,CAAC,GAAGT,oBAAoB,CAACG,KAAK,CAAC;EAE/B,oBACEJ,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC,oBAAoB;IAAC,eAAY;EAAoB,gBAClEZ,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAA0C,gBACvDZ,KAAA,CAAAW,aAAA;IACEE,EAAE,EAAC,iBAAiB;IACpBD,SAAS,EAAC,kDAAkD;IAC5DE,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEA,CAAA,KAAMN,oBAAoB,CAAC;EAAE,gBACtCT,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAAmB,CAAE,CACjC,CAAC,eACNZ,KAAA,CAAAW,aAAA;IACEC,SAAS,EAAC,sDAAsD;IAChE,eAAY,sBAAsB;IAClCI,GAAG,EAAEX;EAAkB,gBACvBL,KAAA,CAAAW,aAAA,CAACT,cAAc,EAAAe,QAAA,KAAKb,KAAK;IAAEc,QAAQ;IAACC,OAAO,EAAEZ;EAAgB,EAAE,CAC5D,CAAC,eACNP,KAAA,CAAAW,aAAA;IACEE,EAAE,EAAC,aAAa;IAChBD,SAAS,EAAC,uDAAuD;IACjEE,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEA,CAAA,KAAMN,oBAAoB,CAAC,IAAI;EAAE,gBAC1CT,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAAoB,CAAE,CAClC,CACF,CAAC,eACNZ,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAA0B,GACtCN,QAAQ,CAACc,GAAG,CAAC,CAACD,OAAO,EAAEE,KAAK,kBAC3BrB,KAAA,CAAAW,aAAA,CAACT,cAAc,EAAAe,QAAA,KACTb,KAAK;IACTkB,GAAG,EAAEH,OAAQ;IACbD,QAAQ,EAAEG,KAAK,GAAGb,aAAc;IAChCW,OAAO,EAAEA,OAAQ;IACjBZ,eAAe,EAAEA,eAAgB;IACjCgB,aAAa,EAAEb;EAAoB,EACpC,CACF,CACE,CACF,CAAC;AAEV,CAAC;AAED,eAAeP,iBAAiB"}
1
+ {"version":3,"file":"ThumbnailCarousel.js","names":["React","useThumbnailCarousel","ThumbnailImage","ThumbnailCarousel","props","thumbnailsListRef","imageIds","selectedImageId","priorityLimit","scrollToImage","mainImageButtonClick","createElement","className","id","role","onClick","_extends","priority","imageId","ref","map","index","key","imageIndex"],"sources":["../../../src/variants/ThumbnailCarousel/ThumbnailCarousel.js"],"sourcesContent":["import React from 'react';\nimport useThumbnailCarousel from './useThumbnailCarousel';\nimport ThumbnailImage from './ThumbnailImage';\n\nconst ThumbnailCarousel = props => {\n const {\n thumbnailsListRef,\n imageIds,\n selectedImageId,\n priorityLimit,\n scrollToImage,\n mainImageButtonClick\n } = useThumbnailCarousel(props);\n\n return (\n <div className=\"thumbnail-carousel\" data-testid=\"thumbnail-carousel\">\n <div className=\"thumbnail-carousel__main_image_container\">\n <div\n id=\"previous-button\"\n className=\"thumbnail-carousel__main_image_container__button\"\n role=\"button\"\n onClick={() => mainImageButtonClick()}>\n <div className=\"arrow arrow--left\" />\n </div>\n <ThumbnailImage {...props} priority imageId={selectedImageId} />\n <div\n id=\"next-button\"\n className=\"thumbnail-carousel__main_image_container__button next\"\n role=\"button\"\n onClick={() => mainImageButtonClick(true)}>\n <div className=\"arrow arrow--right\" />\n </div>\n </div>\n <div className=\"thumbnail-carousel__list\" ref={thumbnailsListRef}>\n {imageIds.map((imageId, index) => (\n <ThumbnailImage\n {...props}\n key={imageId}\n imageIndex={index}\n priority={index < priorityLimit}\n imageId={imageId}\n selectedImageId={selectedImageId}\n scrollToImage={scrollToImage}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default ThumbnailCarousel;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,MAAMC,iBAAiB,GAAGC,KAAK,IAAI;EACjC,MAAM;IACJC,iBAAiB;IACjBC,QAAQ;IACRC,eAAe;IACfC,aAAa;IACbC,aAAa;IACbC;EACF,CAAC,GAAGT,oBAAoB,CAACG,KAAK,CAAC;EAE/B,oBACEJ,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC,oBAAoB;IAAC,eAAY;EAAoB,gBAClEZ,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAA0C,gBACvDZ,KAAA,CAAAW,aAAA;IACEE,EAAE,EAAC,iBAAiB;IACpBD,SAAS,EAAC,kDAAkD;IAC5DE,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEA,CAAA,KAAML,oBAAoB,CAAC;EAAE,gBACtCV,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAAmB,CAAE,CACjC,CAAC,eACNZ,KAAA,CAAAW,aAAA,CAACT,cAAc,EAAAc,QAAA,KAAKZ,KAAK;IAAEa,QAAQ;IAACC,OAAO,EAAEX;EAAgB,EAAE,CAAC,eAChEP,KAAA,CAAAW,aAAA;IACEE,EAAE,EAAC,aAAa;IAChBD,SAAS,EAAC,uDAAuD;IACjEE,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEA,CAAA,KAAML,oBAAoB,CAAC,IAAI;EAAE,gBAC1CV,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAAoB,CAAE,CAClC,CACF,CAAC,eACNZ,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC,0BAA0B;IAACO,GAAG,EAAEd;EAAkB,GAC9DC,QAAQ,CAACc,GAAG,CAAC,CAACF,OAAO,EAAEG,KAAK,kBAC3BrB,KAAA,CAAAW,aAAA,CAACT,cAAc,EAAAc,QAAA,KACTZ,KAAK;IACTkB,GAAG,EAAEJ,OAAQ;IACbK,UAAU,EAAEF,KAAM;IAClBJ,QAAQ,EAAEI,KAAK,GAAGb,aAAc;IAChCU,OAAO,EAAEA,OAAQ;IACjBX,eAAe,EAAEA,eAAgB;IACjCE,aAAa,EAAEA;EAAc,EAC9B,CACF,CACE,CACF,CAAC;AAEV,CAAC;AAED,eAAeN,iBAAiB"}
@@ -6,17 +6,14 @@ const ThumbnailImage = props => {
6
6
  loading,
7
7
  error,
8
8
  className,
9
- imageRef,
10
9
  imageUrl,
11
10
  altText,
12
11
  priority,
13
- handleClick,
14
- handleEnableLightbox
12
+ handleClick
15
13
  } = useThumbnailImage(props);
16
14
  if (error) return error.message;
17
15
  if (loading) return null;
18
16
  return /*#__PURE__*/React.createElement("div", {
19
- ref: imageRef,
20
17
  className: className,
21
18
  onClick: handleClick,
22
19
  role: "button",
@@ -25,7 +22,6 @@ const ThumbnailImage = props => {
25
22
  src: imageUrl,
26
23
  alt: altText,
27
24
  sizeKey: "carousel",
28
- onClick: handleEnableLightbox,
29
25
  role: "button",
30
26
  priority: priority
31
27
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbnailImage.js","names":["React","LazyImage","useThumbnailImage","ThumbnailImage","props","loading","error","className","imageRef","imageUrl","altText","priority","handleClick","handleEnableLightbox","message","createElement","ref","onClick","role","src","alt","sizeKey"],"sources":["../../../../src/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js"],"sourcesContent":["import React from 'react';\nimport LazyImage from '../../../components/LazyImage';\nimport useThumbnailImage from './useThumbnailImage';\n\nconst ThumbnailImage = props => {\n const {\n loading,\n error,\n className,\n imageRef,\n imageUrl,\n altText,\n priority,\n handleClick,\n handleEnableLightbox\n } = useThumbnailImage(props);\n\n if (error) return error.message;\n if (loading) return null;\n\n return (\n <div\n ref={imageRef}\n className={className}\n onClick={handleClick}\n role=\"button\"\n data-testid=\"thumbnail-image\">\n <LazyImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"carousel\"\n onClick={handleEnableLightbox}\n role=\"button\"\n priority={priority}\n />\n </div>\n );\n};\n\nexport default ThumbnailImage;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,+BAA+B;AACrD,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,MAAMC,cAAc,GAAGC,KAAK,IAAI;EAC9B,MAAM;IACJC,OAAO;IACPC,KAAK;IACLC,SAAS;IACTC,QAAQ;IACRC,QAAQ;IACRC,OAAO;IACPC,QAAQ;IACRC,WAAW;IACXC;EACF,CAAC,GAAGX,iBAAiB,CAACE,KAAK,CAAC;EAE5B,IAAIE,KAAK,EAAE,OAAOA,KAAK,CAACQ,OAAO;EAC/B,IAAIT,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEL,KAAA,CAAAe,aAAA;IACEC,GAAG,EAAER,QAAS;IACdD,SAAS,EAAEA,SAAU;IACrBU,OAAO,EAAEL,WAAY;IACrBM,IAAI,EAAC,QAAQ;IACb,eAAY;EAAiB,gBAC7BlB,KAAA,CAAAe,aAAA,CAACd,SAAS;IACRkB,GAAG,EAAEV,QAAS;IACdW,GAAG,EAAEV,OAAQ;IACbW,OAAO,EAAC,UAAU;IAClBJ,OAAO,EAAEJ,oBAAqB;IAC9BK,IAAI,EAAC,QAAQ;IACbP,QAAQ,EAAEA;EAAS,CACpB,CACE,CAAC;AAEV,CAAC;AAED,eAAeR,cAAc"}
1
+ {"version":3,"file":"ThumbnailImage.js","names":["React","LazyImage","useThumbnailImage","ThumbnailImage","props","loading","error","className","imageUrl","altText","priority","handleClick","message","createElement","onClick","role","src","alt","sizeKey"],"sources":["../../../../src/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js"],"sourcesContent":["import React from 'react';\nimport LazyImage from '../../../components/LazyImage';\nimport useThumbnailImage from './useThumbnailImage';\n\nconst ThumbnailImage = props => {\n const { loading, error, className, imageUrl, altText, priority, handleClick } = useThumbnailImage(\n props\n );\n\n if (error) return error.message;\n if (loading) return null;\n\n return (\n <div className={className} onClick={handleClick} role=\"button\" data-testid=\"thumbnail-image\">\n <LazyImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"carousel\"\n role=\"button\"\n priority={priority}\n />\n </div>\n );\n};\n\nexport default ThumbnailImage;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,+BAA+B;AACrD,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,MAAMC,cAAc,GAAGC,KAAK,IAAI;EAC9B,MAAM;IAAEC,OAAO;IAAEC,KAAK;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAGT,iBAAiB,CAC/FE,KACF,CAAC;EAED,IAAIE,KAAK,EAAE,OAAOA,KAAK,CAACM,OAAO;EAC/B,IAAIP,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEL,KAAA,CAAAa,aAAA;IAAKN,SAAS,EAAEA,SAAU;IAACO,OAAO,EAAEH,WAAY;IAACI,IAAI,EAAC,QAAQ;IAAC,eAAY;EAAiB,gBAC1Ff,KAAA,CAAAa,aAAA,CAACZ,SAAS;IACRe,GAAG,EAAER,QAAS;IACdS,GAAG,EAAER,OAAQ;IACbS,OAAO,EAAC,UAAU;IAClBH,IAAI,EAAC,QAAQ;IACbL,QAAQ,EAAEA;EAAS,CACpB,CACE,CAAC;AAEV,CAAC;AAED,eAAeP,cAAc"}
@@ -1,38 +1,26 @@
1
- import { useEffect, useRef } from 'react';
2
1
  import PropTypes from 'prop-types';
3
2
  import { useGetImages } from '../../../hooks';
4
3
  import { getImageData } from '../../../utils';
5
4
  const useThumbnailImage = ({
6
5
  imageId,
6
+ imageIndex,
7
7
  enableLightbox,
8
8
  toggleModal,
9
9
  handleSelectedImage,
10
10
  priority,
11
11
  selectedImageId,
12
- handleOnClick
12
+ scrollToImage
13
13
  }) => {
14
- const imageRef = useRef(null);
15
- const isSelected = selectedImageId === imageId;
16
14
  const {
17
15
  data = {},
18
16
  loading,
19
17
  error
20
18
  } = useGetImages(imageId);
21
- useEffect(() => {
22
- if (imageRef.current && isSelected) {
23
- imageRef.current.scrollIntoView({
24
- behavior: 'smooth',
25
- block: 'start'
26
- });
27
- }
28
- }, [isSelected]);
29
- const handleEnableLightbox = () => {
30
- if (!enableLightbox) return;
31
- toggleModal();
32
- handleSelectedImage(imageId);
33
- };
34
19
  const handleClick = () => {
35
- handleOnClick(imageId);
20
+ if (scrollToImage) scrollToImage(imageIndex);else if (enableLightbox) {
21
+ toggleModal();
22
+ handleSelectedImage(imageId);
23
+ }
36
24
  };
37
25
  const {
38
26
  url: imageUrl = '',
@@ -51,12 +39,11 @@ const useThumbnailImage = ({
51
39
  loading,
52
40
  error,
53
41
  className,
54
- imageRef,
42
+ imageId,
55
43
  imageUrl,
56
44
  altText,
57
45
  priority,
58
- handleClick,
59
- handleEnableLightbox
46
+ handleClick
60
47
  };
61
48
  };
62
49
  useThumbnailImage.propTypes = {
@@ -66,10 +53,10 @@ useThumbnailImage.propTypes = {
66
53
  toggleModal: PropTypes.func.isRequired,
67
54
  handleSelectedImage: PropTypes.func.isRequired,
68
55
  priority: PropTypes.bool.isRequired,
69
- handleOnClick: PropTypes.func
56
+ scrollToImage: PropTypes.func
70
57
  };
71
58
  useThumbnailImage.defaultProps = {
72
- handleOnClick: () => {}
59
+ scrollToImage: null
73
60
  };
74
61
  export default useThumbnailImage;
75
62
  //# sourceMappingURL=useThumbnailImage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThumbnailImage.js","names":["useEffect","useRef","PropTypes","useGetImages","getImageData","useThumbnailImage","imageId","enableLightbox","toggleModal","handleSelectedImage","priority","selectedImageId","handleOnClick","imageRef","isSelected","data","loading","error","current","scrollIntoView","behavior","block","handleEnableLightbox","handleClick","url","imageUrl","imageData","getFile","altText","className","propTypes","string","isRequired","bool","func","defaultProps"],"sources":["../../../../src/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useGetImages } from '../../../hooks';\nimport { getImageData } from '../../../utils';\n\nconst useThumbnailImage = ({\n imageId,\n enableLightbox,\n toggleModal,\n handleSelectedImage,\n priority,\n selectedImageId,\n handleOnClick\n}) => {\n const imageRef = useRef(null);\n const isSelected = selectedImageId === imageId;\n const { data = {}, loading, error } = useGetImages(imageId);\n\n useEffect(\n () => {\n if (imageRef.current && isSelected) {\n imageRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n },\n [isSelected]\n );\n\n const handleEnableLightbox = () => {\n if (!enableLightbox) return;\n toggleModal();\n handleSelectedImage(imageId);\n };\n\n const handleClick = () => {\n handleOnClick(imageId);\n };\n\n const { url: imageUrl = '', data: imageData = {} } = data.getFile || {\n getFile: { url: '', data: {} }\n };\n const { altText } = getImageData({}, imageData);\n\n const className =\n selectedImageId === imageId\n ? 'thumbnail-carousel-image thumbnail-carousel-image--selected'\n : 'thumbnail-carousel-image';\n\n return {\n loading,\n error,\n className,\n imageRef,\n imageUrl,\n altText,\n priority,\n handleClick,\n handleEnableLightbox\n };\n};\n\nuseThumbnailImage.propTypes = {\n imageId: PropTypes.string.isRequired,\n selectedImageId: PropTypes.string.isRequired,\n enableLightbox: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n handleSelectedImage: PropTypes.func.isRequired,\n priority: PropTypes.bool.isRequired,\n handleOnClick: PropTypes.func\n};\n\nuseThumbnailImage.defaultProps = {\n handleOnClick: () => {}\n};\n\nexport default useThumbnailImage;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,MAAMC,iBAAiB,GAAGA,CAAC;EACzBC,OAAO;EACPC,cAAc;EACdC,WAAW;EACXC,mBAAmB;EACnBC,QAAQ;EACRC,eAAe;EACfC;AACF,CAAC,KAAK;EACJ,MAAMC,QAAQ,GAAGZ,MAAM,CAAC,IAAI,CAAC;EAC7B,MAAMa,UAAU,GAAGH,eAAe,KAAKL,OAAO;EAC9C,MAAM;IAAES,IAAI,GAAG,CAAC,CAAC;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGd,YAAY,CAACG,OAAO,CAAC;EAE3DN,SAAS,CACP,MAAM;IACJ,IAAIa,QAAQ,CAACK,OAAO,IAAIJ,UAAU,EAAE;MAClCD,QAAQ,CAACK,OAAO,CAACC,cAAc,CAAC;QAAEC,QAAQ,EAAE,QAAQ;QAAEC,KAAK,EAAE;MAAQ,CAAC,CAAC;IACzE;EACF,CAAC,EACD,CAACP,UAAU,CACb,CAAC;EAED,MAAMQ,oBAAoB,GAAGA,CAAA,KAAM;IACjC,IAAI,CAACf,cAAc,EAAE;IACrBC,WAAW,CAAC,CAAC;IACbC,mBAAmB,CAACH,OAAO,CAAC;EAC9B,CAAC;EAED,MAAMiB,WAAW,GAAGA,CAAA,KAAM;IACxBX,aAAa,CAACN,OAAO,CAAC;EACxB,CAAC;EAED,MAAM;IAAEkB,GAAG,EAAEC,QAAQ,GAAG,EAAE;IAAEV,IAAI,EAAEW,SAAS,GAAG,CAAC;EAAE,CAAC,GAAGX,IAAI,CAACY,OAAO,IAAI;IACnEA,OAAO,EAAE;MAAEH,GAAG,EAAE,EAAE;MAAET,IAAI,EAAE,CAAC;IAAE;EAC/B,CAAC;EACD,MAAM;IAAEa;EAAQ,CAAC,GAAGxB,YAAY,CAAC,CAAC,CAAC,EAAEsB,SAAS,CAAC;EAE/C,MAAMG,SAAS,GACblB,eAAe,KAAKL,OAAO,GACvB,6DAA6D,GAC7D,0BAA0B;EAEhC,OAAO;IACLU,OAAO;IACPC,KAAK;IACLY,SAAS;IACThB,QAAQ;IACRY,QAAQ;IACRG,OAAO;IACPlB,QAAQ;IACRa,WAAW;IACXD;EACF,CAAC;AACH,CAAC;AAEDjB,iBAAiB,CAACyB,SAAS,GAAG;EAC5BxB,OAAO,EAAEJ,SAAS,CAAC6B,MAAM,CAACC,UAAU;EACpCrB,eAAe,EAAET,SAAS,CAAC6B,MAAM,CAACC,UAAU;EAC5CzB,cAAc,EAAEL,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACzCxB,WAAW,EAAEN,SAAS,CAACgC,IAAI,CAACF,UAAU;EACtCvB,mBAAmB,EAAEP,SAAS,CAACgC,IAAI,CAACF,UAAU;EAC9CtB,QAAQ,EAAER,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACnCpB,aAAa,EAAEV,SAAS,CAACgC;AAC3B,CAAC;AAED7B,iBAAiB,CAAC8B,YAAY,GAAG;EAC/BvB,aAAa,EAAEA,CAAA,KAAM,CAAC;AACxB,CAAC;AAED,eAAeP,iBAAiB"}
1
+ {"version":3,"file":"useThumbnailImage.js","names":["PropTypes","useGetImages","getImageData","useThumbnailImage","imageId","imageIndex","enableLightbox","toggleModal","handleSelectedImage","priority","selectedImageId","scrollToImage","data","loading","error","handleClick","url","imageUrl","imageData","getFile","altText","className","propTypes","string","isRequired","bool","func","defaultProps"],"sources":["../../../../src/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useGetImages } from '../../../hooks';\nimport { getImageData } from '../../../utils';\n\nconst useThumbnailImage = ({\n imageId,\n imageIndex,\n enableLightbox,\n toggleModal,\n handleSelectedImage,\n priority,\n selectedImageId,\n scrollToImage\n}) => {\n const { data = {}, loading, error } = useGetImages(imageId);\n\n const handleClick = () => {\n if (scrollToImage) scrollToImage(imageIndex);\n else if (enableLightbox) {\n toggleModal();\n handleSelectedImage(imageId);\n }\n };\n\n const { url: imageUrl = '', data: imageData = {} } = data.getFile || {\n getFile: { url: '', data: {} }\n };\n const { altText } = getImageData({}, imageData);\n\n const className =\n selectedImageId === imageId\n ? 'thumbnail-carousel-image thumbnail-carousel-image--selected'\n : 'thumbnail-carousel-image';\n\n return {\n loading,\n error,\n className,\n imageId,\n imageUrl,\n altText,\n priority,\n handleClick\n };\n};\n\nuseThumbnailImage.propTypes = {\n imageId: PropTypes.string.isRequired,\n selectedImageId: PropTypes.string.isRequired,\n enableLightbox: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n handleSelectedImage: PropTypes.func.isRequired,\n priority: PropTypes.bool.isRequired,\n scrollToImage: PropTypes.func\n};\n\nuseThumbnailImage.defaultProps = {\n scrollToImage: null\n};\n\nexport default useThumbnailImage;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,MAAMC,iBAAiB,GAAGA,CAAC;EACzBC,OAAO;EACPC,UAAU;EACVC,cAAc;EACdC,WAAW;EACXC,mBAAmB;EACnBC,QAAQ;EACRC,eAAe;EACfC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC,IAAI,GAAG,CAAC,CAAC;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGb,YAAY,CAACG,OAAO,CAAC;EAE3D,MAAMW,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIJ,aAAa,EAAEA,aAAa,CAACN,UAAU,CAAC,CAAC,KACxC,IAAIC,cAAc,EAAE;MACvBC,WAAW,CAAC,CAAC;MACbC,mBAAmB,CAACJ,OAAO,CAAC;IAC9B;EACF,CAAC;EAED,MAAM;IAAEY,GAAG,EAAEC,QAAQ,GAAG,EAAE;IAAEL,IAAI,EAAEM,SAAS,GAAG,CAAC;EAAE,CAAC,GAAGN,IAAI,CAACO,OAAO,IAAI;IACnEA,OAAO,EAAE;MAAEH,GAAG,EAAE,EAAE;MAAEJ,IAAI,EAAE,CAAC;IAAE;EAC/B,CAAC;EACD,MAAM;IAAEQ;EAAQ,CAAC,GAAGlB,YAAY,CAAC,CAAC,CAAC,EAAEgB,SAAS,CAAC;EAE/C,MAAMG,SAAS,GACbX,eAAe,KAAKN,OAAO,GACvB,6DAA6D,GAC7D,0BAA0B;EAEhC,OAAO;IACLS,OAAO;IACPC,KAAK;IACLO,SAAS;IACTjB,OAAO;IACPa,QAAQ;IACRG,OAAO;IACPX,QAAQ;IACRM;EACF,CAAC;AACH,CAAC;AAEDZ,iBAAiB,CAACmB,SAAS,GAAG;EAC5BlB,OAAO,EAAEJ,SAAS,CAACuB,MAAM,CAACC,UAAU;EACpCd,eAAe,EAAEV,SAAS,CAACuB,MAAM,CAACC,UAAU;EAC5ClB,cAAc,EAAEN,SAAS,CAACyB,IAAI,CAACD,UAAU;EACzCjB,WAAW,EAAEP,SAAS,CAAC0B,IAAI,CAACF,UAAU;EACtChB,mBAAmB,EAAER,SAAS,CAAC0B,IAAI,CAACF,UAAU;EAC9Cf,QAAQ,EAAET,SAAS,CAACyB,IAAI,CAACD,UAAU;EACnCb,aAAa,EAAEX,SAAS,CAAC0B;AAC3B,CAAC;AAEDvB,iBAAiB,CAACwB,YAAY,GAAG;EAC/BhB,aAAa,EAAE;AACjB,CAAC;AAED,eAAeR,iBAAiB"}
@@ -1,10 +1,10 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  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; }
3
3
  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; }
4
- import ThumbnailCarouselComponent from './ThumbnailCarousel';
4
+ import dynamic from 'next/dynamic';
5
5
  const ThumbnailCarousel = {
6
6
  getSettings: componentSettings => _objectSpread({}, componentSettings),
7
- VariantComponent: ThumbnailCarouselComponent
7
+ VariantComponent: dynamic(() => import( /* webpackChunkName: "blazePbVariantThumbnailCarousel" */'./ThumbnailCarousel'))
8
8
  };
9
9
  export default ThumbnailCarousel;
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ThumbnailCarouselComponent","ThumbnailCarousel","getSettings","componentSettings","_objectSpread","VariantComponent"],"sources":["../../../src/variants/ThumbnailCarousel/index.js"],"sourcesContent":["import ThumbnailCarouselComponent from './ThumbnailCarousel';\n\nconst ThumbnailCarousel = {\n getSettings: componentSettings => ({\n ...componentSettings\n }),\n VariantComponent: ThumbnailCarouselComponent\n};\n\nexport default ThumbnailCarousel;\n"],"mappings":";;;AAAA,OAAOA,0BAA0B,MAAM,qBAAqB;AAE5D,MAAMC,iBAAiB,GAAG;EACxBC,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,KACzBD,iBAAiB,CACpB;EACFE,gBAAgB,EAAEL;AACpB,CAAC;AAED,eAAeC,iBAAiB"}
1
+ {"version":3,"file":"index.js","names":["dynamic","ThumbnailCarousel","getSettings","componentSettings","_objectSpread","VariantComponent"],"sources":["../../../src/variants/ThumbnailCarousel/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nconst ThumbnailCarousel = {\n getSettings: componentSettings => ({\n ...componentSettings\n }),\n VariantComponent: dynamic(() =>\n import(/* webpackChunkName: \"blazePbVariantThumbnailCarousel\" */ './ThumbnailCarousel')\n )\n};\n\nexport default ThumbnailCarousel;\n"],"mappings":";;;AAAA,OAAOA,OAAO,MAAM,cAAc;AAElC,MAAMC,iBAAiB,GAAG;EACxBC,WAAW,EAAEC,iBAAiB,IAAAC,aAAA,KACzBD,iBAAiB,CACpB;EACFE,gBAAgB,EAAEL,OAAO,CAAC,MACxB,MAAM,EAAC,yDAA0D,qBAAqB,CACxF;AACF,CAAC;AAED,eAAeC,iBAAiB"}
@@ -14,19 +14,24 @@ const useThumbnailCarousel = _ref => {
14
14
  const thumbnailsListRef = useRef(null);
15
15
  const selectedImageId = imageIds[selectedImageIndex];
16
16
  const mainImageButtonClick = next => {
17
+ let newIndex;
17
18
  if (next) {
18
19
  const isLast = imageIds.length - 1 === selectedImageIndex;
19
- const newIndex = isLast ? 0 : selectedImageIndex + 1;
20
- setSelectedImageIndex(newIndex);
20
+ newIndex = isLast ? 0 : selectedImageIndex + 1;
21
21
  } else {
22
22
  const isFirst = selectedImageIndex === 0;
23
- const newIndex = isFirst ? imageIds.length - 1 : selectedImageIndex - 1;
24
- setSelectedImageIndex(newIndex);
23
+ newIndex = isFirst ? imageIds.length - 1 : selectedImageIndex - 1;
25
24
  }
25
+ scrollToImage(newIndex);
26
26
  };
27
- const thumbnailImageClick = id => {
28
- const newIndex = imageIds.indexOf(id);
29
- if (newIndex !== -1) setSelectedImageIndex(newIndex);
27
+ const scrollToImage = newIndex => {
28
+ if (thumbnailsListRef.current && selectedImageIndex !== newIndex) {
29
+ thumbnailsListRef.current.scrollTo({
30
+ left: 150 * newIndex,
31
+ behavior: 'smooth'
32
+ });
33
+ setSelectedImageIndex(newIndex);
34
+ }
30
35
  };
31
36
  return _objectSpread(_objectSpread({}, props), {}, {
32
37
  imageIds,
@@ -34,7 +39,7 @@ const useThumbnailCarousel = _ref => {
34
39
  selectedImageIndex,
35
40
  thumbnailsListRef,
36
41
  priorityLimit,
37
- thumbnailImageClick,
42
+ scrollToImage,
38
43
  mainImageButtonClick
39
44
  });
40
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useThumbnailCarousel.js","names":["useState","useRef","useThumbnailCarousel","_ref","imageIds","priorityLimit","props","_objectWithoutProperties","_excluded","selectedImageIndex","setSelectedImageIndex","thumbnailsListRef","selectedImageId","mainImageButtonClick","next","isLast","length","newIndex","isFirst","thumbnailImageClick","id","indexOf","_objectSpread"],"sources":["../../../src/variants/ThumbnailCarousel/useThumbnailCarousel.js"],"sourcesContent":["import { useState, useRef } from 'react';\n\nconst useThumbnailCarousel = ({ imageIds, priorityLimit, ...props }) => {\n const [selectedImageIndex, setSelectedImageIndex] = useState(0);\n const thumbnailsListRef = useRef(null);\n const selectedImageId = imageIds[selectedImageIndex];\n\n const mainImageButtonClick = next => {\n if (next) {\n const isLast = imageIds.length - 1 === selectedImageIndex;\n const newIndex = isLast ? 0 : selectedImageIndex + 1;\n setSelectedImageIndex(newIndex);\n } else {\n const isFirst = selectedImageIndex === 0;\n const newIndex = isFirst ? imageIds.length - 1 : selectedImageIndex - 1;\n setSelectedImageIndex(newIndex);\n }\n };\n\n const thumbnailImageClick = id => {\n const newIndex = imageIds.indexOf(id);\n if (newIndex !== -1) setSelectedImageIndex(newIndex);\n };\n\n return {\n ...props,\n imageIds,\n selectedImageId,\n selectedImageIndex,\n thumbnailsListRef,\n priorityLimit,\n thumbnailImageClick,\n mainImageButtonClick\n };\n};\n\nexport default useThumbnailCarousel;\n"],"mappings":";;;;;AAAA,SAASA,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAExC,MAAMC,oBAAoB,GAAGC,IAAA,IAA2C;EAAA,IAA1C;MAAEC,QAAQ;MAAEC;IAAwB,CAAC,GAAAF,IAAA;IAAPG,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAC/D,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGV,QAAQ,CAAC,CAAC,CAAC;EAC/D,MAAMW,iBAAiB,GAAGV,MAAM,CAAC,IAAI,CAAC;EACtC,MAAMW,eAAe,GAAGR,QAAQ,CAACK,kBAAkB,CAAC;EAEpD,MAAMI,oBAAoB,GAAGC,IAAI,IAAI;IACnC,IAAIA,IAAI,EAAE;MACR,MAAMC,MAAM,GAAGX,QAAQ,CAACY,MAAM,GAAG,CAAC,KAAKP,kBAAkB;MACzD,MAAMQ,QAAQ,GAAGF,MAAM,GAAG,CAAC,GAAGN,kBAAkB,GAAG,CAAC;MACpDC,qBAAqB,CAACO,QAAQ,CAAC;IACjC,CAAC,MAAM;MACL,MAAMC,OAAO,GAAGT,kBAAkB,KAAK,CAAC;MACxC,MAAMQ,QAAQ,GAAGC,OAAO,GAAGd,QAAQ,CAACY,MAAM,GAAG,CAAC,GAAGP,kBAAkB,GAAG,CAAC;MACvEC,qBAAqB,CAACO,QAAQ,CAAC;IACjC;EACF,CAAC;EAED,MAAME,mBAAmB,GAAGC,EAAE,IAAI;IAChC,MAAMH,QAAQ,GAAGb,QAAQ,CAACiB,OAAO,CAACD,EAAE,CAAC;IACrC,IAAIH,QAAQ,KAAK,CAAC,CAAC,EAAEP,qBAAqB,CAACO,QAAQ,CAAC;EACtD,CAAC;EAED,OAAAK,aAAA,CAAAA,aAAA,KACKhB,KAAK;IACRF,QAAQ;IACRQ,eAAe;IACfH,kBAAkB;IAClBE,iBAAiB;IACjBN,aAAa;IACbc,mBAAmB;IACnBN;EAAoB;AAExB,CAAC;AAED,eAAeX,oBAAoB"}
1
+ {"version":3,"file":"useThumbnailCarousel.js","names":["useState","useRef","useThumbnailCarousel","_ref","imageIds","priorityLimit","props","_objectWithoutProperties","_excluded","selectedImageIndex","setSelectedImageIndex","thumbnailsListRef","selectedImageId","mainImageButtonClick","next","newIndex","isLast","length","isFirst","scrollToImage","current","scrollTo","left","behavior","_objectSpread"],"sources":["../../../src/variants/ThumbnailCarousel/useThumbnailCarousel.js"],"sourcesContent":["import { useState, useRef } from 'react';\n\nconst useThumbnailCarousel = ({ imageIds, priorityLimit, ...props }) => {\n const [selectedImageIndex, setSelectedImageIndex] = useState(0);\n const thumbnailsListRef = useRef(null);\n const selectedImageId = imageIds[selectedImageIndex];\n\n const mainImageButtonClick = next => {\n let newIndex;\n if (next) {\n const isLast = imageIds.length - 1 === selectedImageIndex;\n newIndex = isLast ? 0 : selectedImageIndex + 1;\n } else {\n const isFirst = selectedImageIndex === 0;\n newIndex = isFirst ? imageIds.length - 1 : selectedImageIndex - 1;\n }\n scrollToImage(newIndex);\n };\n\n const scrollToImage = newIndex => {\n if (thumbnailsListRef.current && selectedImageIndex !== newIndex) {\n thumbnailsListRef.current.scrollTo({\n left: 150 * newIndex,\n behavior: 'smooth'\n });\n setSelectedImageIndex(newIndex);\n }\n };\n\n return {\n ...props,\n imageIds,\n selectedImageId,\n selectedImageIndex,\n thumbnailsListRef,\n priorityLimit,\n scrollToImage,\n mainImageButtonClick\n };\n};\n\nexport default useThumbnailCarousel;\n"],"mappings":";;;;;AAAA,SAASA,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAExC,MAAMC,oBAAoB,GAAGC,IAAA,IAA2C;EAAA,IAA1C;MAAEC,QAAQ;MAAEC;IAAwB,CAAC,GAAAF,IAAA;IAAPG,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAC/D,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGV,QAAQ,CAAC,CAAC,CAAC;EAC/D,MAAMW,iBAAiB,GAAGV,MAAM,CAAC,IAAI,CAAC;EACtC,MAAMW,eAAe,GAAGR,QAAQ,CAACK,kBAAkB,CAAC;EAEpD,MAAMI,oBAAoB,GAAGC,IAAI,IAAI;IACnC,IAAIC,QAAQ;IACZ,IAAID,IAAI,EAAE;MACR,MAAME,MAAM,GAAGZ,QAAQ,CAACa,MAAM,GAAG,CAAC,KAAKR,kBAAkB;MACzDM,QAAQ,GAAGC,MAAM,GAAG,CAAC,GAAGP,kBAAkB,GAAG,CAAC;IAChD,CAAC,MAAM;MACL,MAAMS,OAAO,GAAGT,kBAAkB,KAAK,CAAC;MACxCM,QAAQ,GAAGG,OAAO,GAAGd,QAAQ,CAACa,MAAM,GAAG,CAAC,GAAGR,kBAAkB,GAAG,CAAC;IACnE;IACAU,aAAa,CAACJ,QAAQ,CAAC;EACzB,CAAC;EAED,MAAMI,aAAa,GAAGJ,QAAQ,IAAI;IAChC,IAAIJ,iBAAiB,CAACS,OAAO,IAAIX,kBAAkB,KAAKM,QAAQ,EAAE;MAChEJ,iBAAiB,CAACS,OAAO,CAACC,QAAQ,CAAC;QACjCC,IAAI,EAAE,GAAG,GAAGP,QAAQ;QACpBQ,QAAQ,EAAE;MACZ,CAAC,CAAC;MACFb,qBAAqB,CAACK,QAAQ,CAAC;IACjC;EACF,CAAC;EAED,OAAAS,aAAA,CAAAA,aAAA,KACKlB,KAAK;IACRF,QAAQ;IACRQ,eAAe;IACfH,kBAAkB;IAClBE,iBAAiB;IACjBN,aAAa;IACbc,aAAa;IACbN;EAAoB;AAExB,CAAC;AAED,eAAeX,oBAAoB"}
@@ -1,5 +1,15 @@
1
+ import heroImage from './HeroImage';
2
+ import infographic from './Infographic';
3
+ import longformGallery from './LongformGallery';
4
+ import longformRow from './LongformRow';
5
+ import parallaxImageTextRight from './ParallaxImageTextRight';
1
6
  import thumbnailCarousel from './ThumbnailCarousel';
2
7
  export default {
8
+ heroImage,
9
+ infographic,
10
+ longformGallery,
11
+ longformRow,
12
+ parallaxImageTextRight,
3
13
  thumbnailCarousel
4
14
  };
5
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["thumbnailCarousel"],"sources":["../../src/variants/index.js"],"sourcesContent":["import thumbnailCarousel from './ThumbnailCarousel';\n\nexport default {\n thumbnailCarousel\n};\n"],"mappings":"AAAA,OAAOA,iBAAiB,MAAM,qBAAqB;AAEnD,eAAe;EACbA;AACF,CAAC"}
1
+ {"version":3,"file":"index.js","names":["heroImage","infographic","longformGallery","longformRow","parallaxImageTextRight","thumbnailCarousel"],"sources":["../../src/variants/index.js"],"sourcesContent":["import heroImage from './HeroImage';\nimport infographic from './Infographic';\nimport longformGallery from './LongformGallery';\nimport longformRow from './LongformRow';\nimport parallaxImageTextRight from './ParallaxImageTextRight';\nimport thumbnailCarousel from './ThumbnailCarousel';\n\nexport default {\n heroImage,\n infographic,\n longformGallery,\n longformRow,\n parallaxImageTextRight,\n thumbnailCarousel\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,aAAa;AACnC,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,eAAe;EACbL,SAAS;EACTC,WAAW;EACXC,eAAe;EACfC,WAAW;EACXC,sBAAsB;EACtBC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.141.0-core-styles.21",
3
+ "version": "0.141.0-core-styles.23",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -89,5 +89,5 @@
89
89
  "lib/*",
90
90
  "lib-es/*"
91
91
  ],
92
- "gitHead": "7509b3a36cc6f27f4854249c07dfd687d3010a58"
92
+ "gitHead": "d9d2e56511f87e137bad4f0010ad520a00dfba7c"
93
93
  }
@@ -4,7 +4,7 @@ import { useRouter } from 'next/router';
4
4
  import { getActiveTab } from './helpers';
5
5
  import { TAB, TABS, SIDEPANEL, CONTENT_GROUP, PANEL } from './constants';
6
6
 
7
- const ContentGroupTabs = ({ name, contentType, modifier, groupSections, sectionsData }) => {
7
+ const ContentGroupTabs = ({ name, contentType, groupSections, sectionsData, VariantComponent }) => {
8
8
  const router = useRouter();
9
9
  const [selectedTab, setSelectedTab] = useState(getActiveTab(sectionsData, ''));
10
10
  const { asPath } = router;
@@ -21,10 +21,12 @@ const ContentGroupTabs = ({ name, contentType, modifier, groupSections, sections
21
21
  [asPath, sectionsData, selectedTab]
22
22
  );
23
23
 
24
+ const WrapperComponent = VariantComponent || 'div';
25
+
24
26
  return (
25
27
  <div className={mainDivClass}>
26
28
  <ul className={contentGroupClass} role="tablist" aria-label={name}>
27
- {groupSections.map((groupSection, index) => {
29
+ {groupSections.map((_, index) => {
28
30
  const [sectionName, sectioLabel] = sectionsData[index];
29
31
  const tabId = `${TAB}-${sectionName}`;
30
32
  const panelId = `${PANEL}-${sectionName}`;
@@ -61,14 +63,15 @@ const ContentGroupTabs = ({ name, contentType, modifier, groupSections, sections
61
63
  if (selectedTab !== tabId) return null;
62
64
 
63
65
  return (
64
- <div
65
- id={sectionName}
66
+ <WrapperComponent
66
67
  key={panelId}
68
+ id={sectionName}
67
69
  className={sectionClass}
68
70
  role="tabpanel"
71
+ tabId={tabId}
69
72
  aria-labelledby={tabId}>
70
73
  {groupSection}
71
- </div>
74
+ </WrapperComponent>
72
75
  );
73
76
  })}
74
77
  </div>
@@ -78,13 +81,13 @@ const ContentGroupTabs = ({ name, contentType, modifier, groupSections, sections
78
81
  ContentGroupTabs.propTypes = {
79
82
  name: PropTypes.string.isRequired,
80
83
  contentType: PropTypes.string.isRequired,
81
- modifier: PropTypes.string,
82
84
  groupSections: PropTypes.array.isRequired,
83
- sectionsData: PropTypes.array.isRequired
85
+ sectionsData: PropTypes.array.isRequired,
86
+ VariantComponent: PropTypes.func
84
87
  };
85
88
 
86
89
  ContentGroupTabs.defaultProps = {
87
- modifier: ''
90
+ VariantComponent: null
88
91
  };
89
92
 
90
93
  export default ContentGroupTabs;