@blaze-cms/react-page-builder 0.141.0-core-styles.20 → 0.141.0-core-styles.22

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 (98) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/components/BlazeLink.js +6 -2
  3. package/lib/components/BlazeLink.js.map +1 -1
  4. package/lib/components/Card/Card.js.map +1 -1
  5. package/lib/components/Image/ImageRender.js +4 -2
  6. package/lib/components/Image/ImageRender.js.map +1 -1
  7. package/lib/components/List/components/Header/ListHeader.js +5 -2
  8. package/lib/components/List/components/Header/ListHeader.js.map +1 -1
  9. package/lib/components/List/components/Pagination/Classic.js +2 -2
  10. package/lib/components/List/components/Pagination/Classic.js.map +1 -1
  11. package/lib/components/List/components/Pagination/LoadMore.js +2 -1
  12. package/lib/components/List/components/Pagination/LoadMore.js.map +1 -1
  13. package/lib/components/List/helpers/build-pagination-items.js +2 -1
  14. package/lib/components/List/helpers/build-pagination-items.js.map +1 -1
  15. package/lib/components/Menu/Menu.js +4 -2
  16. package/lib/components/Menu/Menu.js.map +1 -1
  17. package/lib/components/SearchFilter/components/Select.js +1 -0
  18. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  19. package/lib/components/SearchFilterSort/SearchFilterSort.js +1 -0
  20. package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  21. package/lib/components/SocialFollow/SFItem.js +4 -3
  22. package/lib/components/SocialFollow/SFItem.js.map +1 -1
  23. package/lib/variants/ThumbnailCarousel/ThumbnailCarousel.js +8 -10
  24. package/lib/variants/ThumbnailCarousel/ThumbnailCarousel.js.map +1 -1
  25. package/lib/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js +1 -5
  26. package/lib/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js.map +1 -1
  27. package/lib/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js +10 -23
  28. package/lib/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js.map +1 -1
  29. package/lib/variants/ThumbnailCarousel/useThumbnailCarousel.js +13 -9
  30. package/lib/variants/ThumbnailCarousel/useThumbnailCarousel.js.map +1 -1
  31. package/lib-es/components/BlazeLink.js +6 -2
  32. package/lib-es/components/BlazeLink.js.map +1 -1
  33. package/lib-es/components/Card/Card.js.map +1 -1
  34. package/lib-es/components/Image/ImageRender.js +4 -2
  35. package/lib-es/components/Image/ImageRender.js.map +1 -1
  36. package/lib-es/components/List/components/Header/ListHeader.js +5 -2
  37. package/lib-es/components/List/components/Header/ListHeader.js.map +1 -1
  38. package/lib-es/components/List/components/Pagination/Classic.js +2 -2
  39. package/lib-es/components/List/components/Pagination/Classic.js.map +1 -1
  40. package/lib-es/components/List/components/Pagination/LoadMore.js +2 -1
  41. package/lib-es/components/List/components/Pagination/LoadMore.js.map +1 -1
  42. package/lib-es/components/List/helpers/build-pagination-items.js +2 -1
  43. package/lib-es/components/List/helpers/build-pagination-items.js.map +1 -1
  44. package/lib-es/components/Menu/Menu.js +4 -2
  45. package/lib-es/components/Menu/Menu.js.map +1 -1
  46. package/lib-es/components/SearchFilter/components/Select.js +1 -0
  47. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  48. package/lib-es/components/SearchFilterSort/SearchFilterSort.js +1 -0
  49. package/lib-es/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  50. package/lib-es/components/SocialFollow/SFItem.js +4 -3
  51. package/lib-es/components/SocialFollow/SFItem.js.map +1 -1
  52. package/lib-es/variants/ThumbnailCarousel/ThumbnailCarousel.js +8 -10
  53. package/lib-es/variants/ThumbnailCarousel/ThumbnailCarousel.js.map +1 -1
  54. package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js +1 -5
  55. package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js.map +1 -1
  56. package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js +10 -23
  57. package/lib-es/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js.map +1 -1
  58. package/lib-es/variants/ThumbnailCarousel/useThumbnailCarousel.js +13 -8
  59. package/lib-es/variants/ThumbnailCarousel/useThumbnailCarousel.js.map +1 -1
  60. package/package.json +7 -7
  61. package/src/components/BlazeLink.js +23 -4
  62. package/src/components/Card/Card.js +0 -1
  63. package/src/components/Image/ImageRender.js +4 -2
  64. package/src/components/List/components/Header/ListHeader.js +7 -4
  65. package/src/components/List/components/Pagination/Classic.js +2 -2
  66. package/src/components/List/components/Pagination/LoadMore.js +7 -2
  67. package/src/components/List/helpers/build-pagination-items.js +2 -1
  68. package/src/components/Menu/Menu.js +4 -3
  69. package/src/components/SearchFilter/components/Select.js +1 -0
  70. package/src/components/SearchFilterSort/SearchFilterSort.js +1 -0
  71. package/src/components/SocialFollow/SFItem.js +8 -2
  72. package/src/variants/ThumbnailCarousel/ThumbnailCarousel.js +6 -10
  73. package/src/variants/ThumbnailCarousel/ThumbnailImage/ThumbnailImage.js +4 -18
  74. package/src/variants/ThumbnailCarousel/ThumbnailImage/useThumbnailImage.js +11 -25
  75. package/src/variants/ThumbnailCarousel/useThumbnailCarousel.js +13 -8
  76. package/tests/unit/src/components/Breadcrumb/__snapshots__/Breadcrumb.test.js.snap +3 -0
  77. package/tests/unit/src/components/Button.test.js +2 -2
  78. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +13 -0
  79. package/tests/unit/src/components/Card/__snapshots__/CardContainer.test.js.snap +8 -0
  80. package/tests/unit/src/components/Image/GlobalLightbox/__snapshots__/GlobalLightbox.test.js.snap +1 -0
  81. package/tests/unit/src/components/Image/__snapshots__/Image.test.js.snap +3 -0
  82. package/tests/unit/src/components/Image/__snapshots__/ImageFactory.test.js.snap +4 -0
  83. package/tests/unit/src/components/List/components/Header/__snapshots__/ListHeader.test.js.snap +5 -0
  84. package/tests/unit/src/components/List/components/Pagination/__snapshots__/Classic.test.js.snap +8 -2
  85. package/tests/unit/src/components/List/components/Pagination/__snapshots__/ListPagination.test.js.snap +5 -1
  86. package/tests/unit/src/components/List/components/Pagination/__snapshots__/LoadMore.test.js.snap +1 -1
  87. package/tests/unit/src/components/List/helpers/__snapshots__/build-pagination-items.test.js.snap +21 -0
  88. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +1 -0
  89. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Select.test.js.snap +5 -3
  90. package/tests/unit/src/components/SearchFilterSort/__snapshots__/SearchFilterSort.test.js.snap +2 -1
  91. package/tests/unit/src/components/SocialFollow/__snapshots__/SFItem.test.js.snap +2 -2
  92. package/tests/unit/src/components/SocialFollow/__snapshots__/SocialFollow.test.js.snap +2 -6
  93. package/tests/unit/src/components/TextBlock/__snapshots__/TextBlock.test.js.snap +4 -0
  94. package/tests/unit/src/components/__snapshots__/BlazeLink.test.js.snap +1 -1
  95. package/tests/unit/src/components/__snapshots__/Button.test.js.snap +1 -0
  96. package/tests/unit/src/helpers/__snapshots__/parse-textBlock.test.js.snap +1 -0
  97. package/tests/unit/src/helpers/parse-textBlock.test.js +3 -1
  98. package/tests/unit/src/variants/ThumbnailCarousel/__snapshots__/ThumbnailCarousel.test.js.snap +10 -15
@@ -1 +1 @@
1
- {"version":3,"file":"ListHeader.js","names":["React","PropTypes","useRouter","parseUrl","buildAzUrl","ListHeader","name","listAggregations","azFilter","router","asPath","url","query","allHref","createElement","className","href","onClick","e","preventDefault","push","shallow","map","key","doc_count","count","isSelected","toLowerCase","propTypes","array","isRequired","string"],"sources":["../../../../../src/components/List/components/Header/ListHeader.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { parseUrl } from 'query-string';\nimport { buildAzUrl } from '../../helpers';\n\nconst ListHeader = ({ name, listAggregations, azFilter }) => {\n const router = useRouter();\n const { asPath } = router;\n const { url, query } = parseUrl(asPath);\n const allHref = buildAzUrl(query, name, '', url);\n\n return (\n <div className=\"az_list_filter flex\">\n <a\n className={`az_list_filter_option${!azFilter ? ' selected' : ''} flex-grow`}\n href={allHref}\n onClick={e => {\n e.preventDefault();\n return router.push('/Resolver', allHref, { shallow: true });\n }}>\n ALL\n </a>\n {listAggregations.map(({ key, doc_count: count }) => {\n if (!count)\n return (\n <span key={key} className=\"az_list_filter_option no_results flex-grow\">\n {key}\n </span>\n );\n\n const href = buildAzUrl(query, name, key, url);\n const isSelected = azFilter === key.toLowerCase();\n const className = `az_list_filter_option${isSelected ? ' selected' : ''} flex-grow`;\n\n return (\n <a\n key={key}\n className={className}\n href={href}\n onClick={e => {\n e.preventDefault();\n return router.push('/Resolver', href, { shallow: true });\n }}>\n {key}\n </a>\n );\n })}\n </div>\n );\n};\n\nListHeader.propTypes = {\n listAggregations: PropTypes.array.isRequired,\n name: PropTypes.string.isRequired,\n azFilter: PropTypes.string.isRequired\n};\n\nexport default ListHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,UAAU,QAAQ,eAAe;AAE1C,MAAMC,UAAU,GAAGA,CAAC;EAAEC,IAAI;EAAEC,gBAAgB;EAAEC;AAAS,CAAC,KAAK;EAC3D,MAAMC,MAAM,GAAGP,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAEQ;EAAO,CAAC,GAAGD,MAAM;EACzB,MAAM;IAAEE,GAAG;IAAEC;EAAM,CAAC,GAAGT,QAAQ,CAACO,MAAM,CAAC;EACvC,MAAMG,OAAO,GAAGT,UAAU,CAACQ,KAAK,EAAEN,IAAI,EAAE,EAAE,EAAEK,GAAG,CAAC;EAEhD,oBACEX,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAC;EAAqB,gBAClCf,KAAA,CAAAc,aAAA;IACEC,SAAS,EAAG,wBAAuB,CAACP,QAAQ,GAAG,WAAW,GAAG,EAAG,YAAY;IAC5EQ,IAAI,EAAEH,OAAQ;IACdI,OAAO,EAAEC,CAAC,IAAI;MACZA,CAAC,CAACC,cAAc,CAAC,CAAC;MAClB,OAAOV,MAAM,CAACW,IAAI,CAAC,WAAW,EAAEP,OAAO,EAAE;QAAEQ,OAAO,EAAE;MAAK,CAAC,CAAC;IAC7D;EAAE,GAAC,KAEF,CAAC,EACHd,gBAAgB,CAACe,GAAG,CAAC,CAAC;IAAEC,GAAG;IAAEC,SAAS,EAAEC;EAAM,CAAC,KAAK;IACnD,IAAI,CAACA,KAAK,EACR,oBACEzB,KAAA,CAAAc,aAAA;MAAMS,GAAG,EAAEA,GAAI;MAACR,SAAS,EAAC;IAA4C,GACnEQ,GACG,CAAC;IAGX,MAAMP,IAAI,GAAGZ,UAAU,CAACQ,KAAK,EAAEN,IAAI,EAAEiB,GAAG,EAAEZ,GAAG,CAAC;IAC9C,MAAMe,UAAU,GAAGlB,QAAQ,KAAKe,GAAG,CAACI,WAAW,CAAC,CAAC;IACjD,MAAMZ,SAAS,GAAI,wBAAuBW,UAAU,GAAG,WAAW,GAAG,EAAG,YAAW;IAEnF,oBACE1B,KAAA,CAAAc,aAAA;MACES,GAAG,EAAEA,GAAI;MACTR,SAAS,EAAEA,SAAU;MACrBC,IAAI,EAAEA,IAAK;MACXC,OAAO,EAAEC,CAAC,IAAI;QACZA,CAAC,CAACC,cAAc,CAAC,CAAC;QAClB,OAAOV,MAAM,CAACW,IAAI,CAAC,WAAW,EAAEJ,IAAI,EAAE;UAAEK,OAAO,EAAE;QAAK,CAAC,CAAC;MAC1D;IAAE,GACDE,GACA,CAAC;EAER,CAAC,CACE,CAAC;AAEV,CAAC;AAEDlB,UAAU,CAACuB,SAAS,GAAG;EACrBrB,gBAAgB,EAAEN,SAAS,CAAC4B,KAAK,CAACC,UAAU;EAC5CxB,IAAI,EAAEL,SAAS,CAAC8B,MAAM,CAACD,UAAU;EACjCtB,QAAQ,EAAEP,SAAS,CAAC8B,MAAM,CAACD;AAC7B,CAAC;AAED,eAAezB,UAAU"}
1
+ {"version":3,"file":"ListHeader.js","names":["React","PropTypes","useRouter","parseUrl","buildAzUrl","BlazeLink","ListHeader","name","listAggregations","azFilter","router","asPath","url","query","allHref","createElement","className","ariaLabel","href","onClick","e","preventDefault","push","shallow","map","key","doc_count","count","isSelected","toLowerCase","propTypes","array","isRequired","string"],"sources":["../../../../../src/components/List/components/Header/ListHeader.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { parseUrl } from 'query-string';\nimport { buildAzUrl } from '../../helpers';\nimport BlazeLink from '../../../BlazeLink';\n\nconst ListHeader = ({ name, listAggregations, azFilter }) => {\n const router = useRouter();\n const { asPath } = router;\n const { url, query } = parseUrl(asPath);\n const allHref = buildAzUrl(query, name, '', url);\n\n return (\n <div className=\"az_list_filter flex\">\n <BlazeLink\n ariaLabel=\"Show all\"\n className={`az_list_filter_option${!azFilter ? ' selected' : ''} flex-grow`}\n href={allHref}\n onClick={e => {\n e.preventDefault();\n return router.push('/Resolver', allHref, { shallow: true });\n }}>\n ALL\n </BlazeLink>\n {listAggregations.map(({ key, doc_count: count }) => {\n if (!count)\n return (\n <span key={key} className=\"az_list_filter_option no_results flex-grow\">\n {key}\n </span>\n );\n\n const href = buildAzUrl(query, name, key, url);\n const isSelected = azFilter === key.toLowerCase();\n const className = `az_list_filter_option${isSelected ? ' selected' : ''} flex-grow`;\n\n return (\n <BlazeLink\n ariaLabel={`Filter by ${key}`}\n key={key}\n className={className}\n href={href}\n onClick={e => {\n e.preventDefault();\n return router.push('/Resolver', href, { shallow: true });\n }}>\n {key}\n </BlazeLink>\n );\n })}\n </div>\n );\n};\n\nListHeader.propTypes = {\n listAggregations: PropTypes.array.isRequired,\n name: PropTypes.string.isRequired,\n azFilter: PropTypes.string.isRequired\n};\n\nexport default ListHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,UAAU,QAAQ,eAAe;AAC1C,OAAOC,SAAS,MAAM,oBAAoB;AAE1C,MAAMC,UAAU,GAAGA,CAAC;EAAEC,IAAI;EAAEC,gBAAgB;EAAEC;AAAS,CAAC,KAAK;EAC3D,MAAMC,MAAM,GAAGR,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAES;EAAO,CAAC,GAAGD,MAAM;EACzB,MAAM;IAAEE,GAAG;IAAEC;EAAM,CAAC,GAAGV,QAAQ,CAACQ,MAAM,CAAC;EACvC,MAAMG,OAAO,GAAGV,UAAU,CAACS,KAAK,EAAEN,IAAI,EAAE,EAAE,EAAEK,GAAG,CAAC;EAEhD,oBACEZ,KAAA,CAAAe,aAAA;IAAKC,SAAS,EAAC;EAAqB,gBAClChB,KAAA,CAAAe,aAAA,CAACV,SAAS;IACRY,SAAS,EAAC,UAAU;IACpBD,SAAS,EAAG,wBAAuB,CAACP,QAAQ,GAAG,WAAW,GAAG,EAAG,YAAY;IAC5ES,IAAI,EAAEJ,OAAQ;IACdK,OAAO,EAAEC,CAAC,IAAI;MACZA,CAAC,CAACC,cAAc,CAAC,CAAC;MAClB,OAAOX,MAAM,CAACY,IAAI,CAAC,WAAW,EAAER,OAAO,EAAE;QAAES,OAAO,EAAE;MAAK,CAAC,CAAC;IAC7D;EAAE,GAAC,KAEM,CAAC,EACXf,gBAAgB,CAACgB,GAAG,CAAC,CAAC;IAAEC,GAAG;IAAEC,SAAS,EAAEC;EAAM,CAAC,KAAK;IACnD,IAAI,CAACA,KAAK,EACR,oBACE3B,KAAA,CAAAe,aAAA;MAAMU,GAAG,EAAEA,GAAI;MAACT,SAAS,EAAC;IAA4C,GACnES,GACG,CAAC;IAGX,MAAMP,IAAI,GAAGd,UAAU,CAACS,KAAK,EAAEN,IAAI,EAAEkB,GAAG,EAAEb,GAAG,CAAC;IAC9C,MAAMgB,UAAU,GAAGnB,QAAQ,KAAKgB,GAAG,CAACI,WAAW,CAAC,CAAC;IACjD,MAAMb,SAAS,GAAI,wBAAuBY,UAAU,GAAG,WAAW,GAAG,EAAG,YAAW;IAEnF,oBACE5B,KAAA,CAAAe,aAAA,CAACV,SAAS;MACRY,SAAS,EAAG,aAAYQ,GAAI,EAAE;MAC9BA,GAAG,EAAEA,GAAI;MACTT,SAAS,EAAEA,SAAU;MACrBE,IAAI,EAAEA,IAAK;MACXC,OAAO,EAAEC,CAAC,IAAI;QACZA,CAAC,CAACC,cAAc,CAAC,CAAC;QAClB,OAAOX,MAAM,CAACY,IAAI,CAAC,WAAW,EAAEJ,IAAI,EAAE;UAAEK,OAAO,EAAE;QAAK,CAAC,CAAC;MAC1D;IAAE,GACDE,GACQ,CAAC;EAEhB,CAAC,CACE,CAAC;AAEV,CAAC;AAEDnB,UAAU,CAACwB,SAAS,GAAG;EACrBtB,gBAAgB,EAAEP,SAAS,CAAC8B,KAAK,CAACC,UAAU;EAC5CzB,IAAI,EAAEN,SAAS,CAACgC,MAAM,CAACD,UAAU;EACjCvB,QAAQ,EAAER,SAAS,CAACgC,MAAM,CAACD;AAC7B,CAAC;AAED,eAAe1B,UAAU"}
@@ -31,13 +31,13 @@ const Classic = ({
31
31
  onClick: onClick,
32
32
  shallow: true,
33
33
  scroll: true
34
- }, PREVIOUS_STRING), pages, !!nextPageLink && /*#__PURE__*/React.createElement(BlazeLink, {
34
+ }, `${PREVIOUS_STRING} page`), pages, !!nextPageLink && /*#__PURE__*/React.createElement(BlazeLink, {
35
35
  href: nextPageLink,
36
36
  className: "pagination_page-next",
37
37
  onClick: onClick,
38
38
  shallow: true,
39
39
  scroll: true
40
- }, NEXT_STRING));
40
+ }, `${NEXT_STRING} page`));
41
41
  };
42
42
  Classic.propTypes = {
43
43
  numberOfPages: PropTypes.number.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"Classic.js","names":["React","PropTypes","buildPaginationItems","BlazeLink","buildPaginationUrl","NEXT_STRING","PREVIOUS_STRING","Classic","name","numberOfPages","currentPage","query","url","isLastPage","onClick","pages","nextPage","previousPage","previousPageLink","nextPageLink","createElement","Fragment","href","className","shallow","scroll","propTypes","number","isRequired","string","object","bool","func"],"sources":["../../../../../src/components/List/components/Pagination/Classic.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { buildPaginationItems } from '../../helpers';\nimport BlazeLink from '../../../BlazeLink';\nimport buildPaginationUrl from '../../helpers/build-pagination-url';\nimport { NEXT_STRING, PREVIOUS_STRING } from '../../../../constants';\n\nconst Classic = ({ name, numberOfPages, currentPage, query, url, isLastPage, onClick }) => {\n const pages = buildPaginationItems({ name, numberOfPages, currentPage, query, url, onClick });\n const nextPage = currentPage + 1;\n const previousPage = currentPage - 1;\n const previousPageLink =\n currentPage > 1 ? buildPaginationUrl(name, previousPage, query, url) : null;\n const nextPageLink = !isLastPage ? buildPaginationUrl(name, nextPage, query, url) : null;\n\n return (\n <>\n {!!previousPageLink && (\n <BlazeLink\n href={previousPageLink}\n className=\"pagination_page-previous\"\n onClick={onClick}\n shallow\n scroll>\n {PREVIOUS_STRING}\n </BlazeLink>\n )}\n {pages}\n {!!nextPageLink && (\n <BlazeLink\n href={nextPageLink}\n className=\"pagination_page-next\"\n onClick={onClick}\n shallow\n scroll>\n {NEXT_STRING}\n </BlazeLink>\n )}\n </>\n );\n};\n\nClassic.propTypes = {\n numberOfPages: PropTypes.number.isRequired,\n currentPage: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n isLastPage: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired\n};\n\nexport default Classic;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,oBAAoB,QAAQ,eAAe;AACpD,OAAOC,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,kBAAkB,MAAM,oCAAoC;AACnE,SAASC,WAAW,EAAEC,eAAe,QAAQ,uBAAuB;AAEpE,MAAMC,OAAO,GAAGA,CAAC;EAAEC,IAAI;EAAEC,aAAa;EAAEC,WAAW;EAAEC,KAAK;EAAEC,GAAG;EAAEC,UAAU;EAAEC;AAAQ,CAAC,KAAK;EACzF,MAAMC,KAAK,GAAGb,oBAAoB,CAAC;IAAEM,IAAI;IAAEC,aAAa;IAAEC,WAAW;IAAEC,KAAK;IAAEC,GAAG;IAAEE;EAAQ,CAAC,CAAC;EAC7F,MAAME,QAAQ,GAAGN,WAAW,GAAG,CAAC;EAChC,MAAMO,YAAY,GAAGP,WAAW,GAAG,CAAC;EACpC,MAAMQ,gBAAgB,GACpBR,WAAW,GAAG,CAAC,GAAGN,kBAAkB,CAACI,IAAI,EAAES,YAAY,EAAEN,KAAK,EAAEC,GAAG,CAAC,GAAG,IAAI;EAC7E,MAAMO,YAAY,GAAG,CAACN,UAAU,GAAGT,kBAAkB,CAACI,IAAI,EAAEQ,QAAQ,EAAEL,KAAK,EAAEC,GAAG,CAAC,GAAG,IAAI;EAExF,oBACEZ,KAAA,CAAAoB,aAAA,CAAApB,KAAA,CAAAqB,QAAA,QACG,CAAC,CAACH,gBAAgB,iBACjBlB,KAAA,CAAAoB,aAAA,CAACjB,SAAS;IACRmB,IAAI,EAAEJ,gBAAiB;IACvBK,SAAS,EAAC,0BAA0B;IACpCT,OAAO,EAAEA,OAAQ;IACjBU,OAAO;IACPC,MAAM;EAAA,GACLnB,eACQ,CACZ,EACAS,KAAK,EACL,CAAC,CAACI,YAAY,iBACbnB,KAAA,CAAAoB,aAAA,CAACjB,SAAS;IACRmB,IAAI,EAAEH,YAAa;IACnBI,SAAS,EAAC,sBAAsB;IAChCT,OAAO,EAAEA,OAAQ;IACjBU,OAAO;IACPC,MAAM;EAAA,GACLpB,WACQ,CAEb,CAAC;AAEP,CAAC;AAEDE,OAAO,CAACmB,SAAS,GAAG;EAClBjB,aAAa,EAAER,SAAS,CAAC0B,MAAM,CAACC,UAAU;EAC1ClB,WAAW,EAAET,SAAS,CAAC0B,MAAM,CAACC,UAAU;EACxCpB,IAAI,EAAEP,SAAS,CAAC4B,MAAM,CAACD,UAAU;EACjCjB,KAAK,EAAEV,SAAS,CAAC6B,MAAM,CAACF,UAAU;EAClChB,GAAG,EAAEX,SAAS,CAAC4B,MAAM,CAACD,UAAU;EAChCf,UAAU,EAAEZ,SAAS,CAAC8B,IAAI,CAACH,UAAU;EACrCd,OAAO,EAAEb,SAAS,CAAC+B,IAAI,CAACJ;AAC1B,CAAC;AAED,eAAerB,OAAO"}
1
+ {"version":3,"file":"Classic.js","names":["React","PropTypes","buildPaginationItems","BlazeLink","buildPaginationUrl","NEXT_STRING","PREVIOUS_STRING","Classic","name","numberOfPages","currentPage","query","url","isLastPage","onClick","pages","nextPage","previousPage","previousPageLink","nextPageLink","createElement","Fragment","href","className","shallow","scroll","propTypes","number","isRequired","string","object","bool","func"],"sources":["../../../../../src/components/List/components/Pagination/Classic.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { buildPaginationItems } from '../../helpers';\nimport BlazeLink from '../../../BlazeLink';\nimport buildPaginationUrl from '../../helpers/build-pagination-url';\nimport { NEXT_STRING, PREVIOUS_STRING } from '../../../../constants';\n\nconst Classic = ({ name, numberOfPages, currentPage, query, url, isLastPage, onClick }) => {\n const pages = buildPaginationItems({ name, numberOfPages, currentPage, query, url, onClick });\n const nextPage = currentPage + 1;\n const previousPage = currentPage - 1;\n const previousPageLink =\n currentPage > 1 ? buildPaginationUrl(name, previousPage, query, url) : null;\n const nextPageLink = !isLastPage ? buildPaginationUrl(name, nextPage, query, url) : null;\n\n return (\n <>\n {!!previousPageLink && (\n <BlazeLink\n href={previousPageLink}\n className=\"pagination_page-previous\"\n onClick={onClick}\n shallow\n scroll>\n {`${PREVIOUS_STRING} page`}\n </BlazeLink>\n )}\n {pages}\n {!!nextPageLink && (\n <BlazeLink\n href={nextPageLink}\n className=\"pagination_page-next\"\n onClick={onClick}\n shallow\n scroll>\n {`${NEXT_STRING} page`}\n </BlazeLink>\n )}\n </>\n );\n};\n\nClassic.propTypes = {\n numberOfPages: PropTypes.number.isRequired,\n currentPage: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n isLastPage: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired\n};\n\nexport default Classic;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,oBAAoB,QAAQ,eAAe;AACpD,OAAOC,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,kBAAkB,MAAM,oCAAoC;AACnE,SAASC,WAAW,EAAEC,eAAe,QAAQ,uBAAuB;AAEpE,MAAMC,OAAO,GAAGA,CAAC;EAAEC,IAAI;EAAEC,aAAa;EAAEC,WAAW;EAAEC,KAAK;EAAEC,GAAG;EAAEC,UAAU;EAAEC;AAAQ,CAAC,KAAK;EACzF,MAAMC,KAAK,GAAGb,oBAAoB,CAAC;IAAEM,IAAI;IAAEC,aAAa;IAAEC,WAAW;IAAEC,KAAK;IAAEC,GAAG;IAAEE;EAAQ,CAAC,CAAC;EAC7F,MAAME,QAAQ,GAAGN,WAAW,GAAG,CAAC;EAChC,MAAMO,YAAY,GAAGP,WAAW,GAAG,CAAC;EACpC,MAAMQ,gBAAgB,GACpBR,WAAW,GAAG,CAAC,GAAGN,kBAAkB,CAACI,IAAI,EAAES,YAAY,EAAEN,KAAK,EAAEC,GAAG,CAAC,GAAG,IAAI;EAC7E,MAAMO,YAAY,GAAG,CAACN,UAAU,GAAGT,kBAAkB,CAACI,IAAI,EAAEQ,QAAQ,EAAEL,KAAK,EAAEC,GAAG,CAAC,GAAG,IAAI;EAExF,oBACEZ,KAAA,CAAAoB,aAAA,CAAApB,KAAA,CAAAqB,QAAA,QACG,CAAC,CAACH,gBAAgB,iBACjBlB,KAAA,CAAAoB,aAAA,CAACjB,SAAS;IACRmB,IAAI,EAAEJ,gBAAiB;IACvBK,SAAS,EAAC,0BAA0B;IACpCT,OAAO,EAAEA,OAAQ;IACjBU,OAAO;IACPC,MAAM;EAAA,GACJ,GAAEnB,eAAgB,OACX,CACZ,EACAS,KAAK,EACL,CAAC,CAACI,YAAY,iBACbnB,KAAA,CAAAoB,aAAA,CAACjB,SAAS;IACRmB,IAAI,EAAEH,YAAa;IACnBI,SAAS,EAAC,sBAAsB;IAChCT,OAAO,EAAEA,OAAQ;IACjBU,OAAO;IACPC,MAAM;EAAA,GACJ,GAAEpB,WAAY,OACP,CAEb,CAAC;AAEP,CAAC;AAEDE,OAAO,CAACmB,SAAS,GAAG;EAClBjB,aAAa,EAAER,SAAS,CAAC0B,MAAM,CAACC,UAAU;EAC1ClB,WAAW,EAAET,SAAS,CAAC0B,MAAM,CAACC,UAAU;EACxCpB,IAAI,EAAEP,SAAS,CAAC4B,MAAM,CAACD,UAAU;EACjCjB,KAAK,EAAEV,SAAS,CAAC6B,MAAM,CAACF,UAAU;EAClChB,GAAG,EAAEX,SAAS,CAAC4B,MAAM,CAACD,UAAU;EAChCf,UAAU,EAAEZ,SAAS,CAAC8B,IAAI,CAACH,UAAU;EACrCd,OAAO,EAAEb,SAAS,CAAC+B,IAAI,CAACJ;AAC1B,CAAC;AAED,eAAerB,OAAO"}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { LOAD_MORE_STRING } from '../../../../constants';
4
4
  import buildPaginationUrl from '../../helpers/build-pagination-url';
5
+ import BlazeLink from '../../../BlazeLink';
5
6
  const LoadMore = ({
6
7
  name,
7
8
  currentPage,
@@ -17,7 +18,7 @@ const LoadMore = ({
17
18
  e.preventDefault();
18
19
  triggerInfiniteScroll();
19
20
  };
20
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", {
21
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BlazeLink, {
21
22
  className: "pagination_load-more",
22
23
  role: "button",
23
24
  href: nextPageLink,
@@ -1 +1 @@
1
- {"version":3,"file":"LoadMore.js","names":["React","PropTypes","LOAD_MORE_STRING","buildPaginationUrl","LoadMore","name","currentPage","query","url","triggerInfiniteScroll","isLastPage","nextPage","nextPageLink","loadMoreItems","e","preventDefault","createElement","Fragment","className","role","href","onClick","propTypes","bool","isRequired","number","string","object","func"],"sources":["../../../../../src/components/List/components/Pagination/LoadMore.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { LOAD_MORE_STRING } from '../../../../constants';\nimport buildPaginationUrl from '../../helpers/build-pagination-url';\n\nconst LoadMore = ({ name, currentPage, query, url, triggerInfiniteScroll, isLastPage }) => {\n if (isLastPage) return null;\n const nextPage = currentPage + 1;\n const nextPageLink = buildPaginationUrl(name, nextPage, query, url);\n\n const loadMoreItems = e => {\n e.preventDefault();\n triggerInfiniteScroll();\n };\n\n return (\n <>\n <a className=\"pagination_load-more\" role=\"button\" href={nextPageLink} onClick={loadMoreItems}>\n {LOAD_MORE_STRING}\n </a>\n </>\n );\n};\n\nLoadMore.propTypes = {\n isLastPage: PropTypes.bool.isRequired,\n currentPage: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n triggerInfiniteScroll: PropTypes.func.isRequired\n};\n\nexport default LoadMore;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,OAAOC,kBAAkB,MAAM,oCAAoC;AAEnE,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,IAAI;EAAEC,WAAW;EAAEC,KAAK;EAAEC,GAAG;EAAEC,qBAAqB;EAAEC;AAAW,CAAC,KAAK;EACzF,IAAIA,UAAU,EAAE,OAAO,IAAI;EAC3B,MAAMC,QAAQ,GAAGL,WAAW,GAAG,CAAC;EAChC,MAAMM,YAAY,GAAGT,kBAAkB,CAACE,IAAI,EAAEM,QAAQ,EAAEJ,KAAK,EAAEC,GAAG,CAAC;EAEnE,MAAMK,aAAa,GAAGC,CAAC,IAAI;IACzBA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClBN,qBAAqB,CAAC,CAAC;EACzB,CAAC;EAED,oBACET,KAAA,CAAAgB,aAAA,CAAAhB,KAAA,CAAAiB,QAAA,qBACEjB,KAAA,CAAAgB,aAAA;IAAGE,SAAS,EAAC,sBAAsB;IAACC,IAAI,EAAC,QAAQ;IAACC,IAAI,EAAER,YAAa;IAACS,OAAO,EAAER;EAAc,GAC1FX,gBACA,CACH,CAAC;AAEP,CAAC;AAEDE,QAAQ,CAACkB,SAAS,GAAG;EACnBZ,UAAU,EAAET,SAAS,CAACsB,IAAI,CAACC,UAAU;EACrClB,WAAW,EAAEL,SAAS,CAACwB,MAAM,CAACD,UAAU;EACxCnB,IAAI,EAAEJ,SAAS,CAACyB,MAAM,CAACF,UAAU;EACjCjB,KAAK,EAAEN,SAAS,CAAC0B,MAAM,CAACH,UAAU;EAClChB,GAAG,EAAEP,SAAS,CAACyB,MAAM,CAACF,UAAU;EAChCf,qBAAqB,EAAER,SAAS,CAAC2B,IAAI,CAACJ;AACxC,CAAC;AAED,eAAepB,QAAQ"}
1
+ {"version":3,"file":"LoadMore.js","names":["React","PropTypes","LOAD_MORE_STRING","buildPaginationUrl","BlazeLink","LoadMore","name","currentPage","query","url","triggerInfiniteScroll","isLastPage","nextPage","nextPageLink","loadMoreItems","e","preventDefault","createElement","Fragment","className","role","href","onClick","propTypes","bool","isRequired","number","string","object","func"],"sources":["../../../../../src/components/List/components/Pagination/LoadMore.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { LOAD_MORE_STRING } from '../../../../constants';\nimport buildPaginationUrl from '../../helpers/build-pagination-url';\nimport BlazeLink from '../../../BlazeLink';\n\nconst LoadMore = ({ name, currentPage, query, url, triggerInfiniteScroll, isLastPage }) => {\n if (isLastPage) return null;\n const nextPage = currentPage + 1;\n const nextPageLink = buildPaginationUrl(name, nextPage, query, url);\n\n const loadMoreItems = e => {\n e.preventDefault();\n triggerInfiniteScroll();\n };\n\n return (\n <>\n <BlazeLink\n className=\"pagination_load-more\"\n role=\"button\"\n href={nextPageLink}\n onClick={loadMoreItems}>\n {LOAD_MORE_STRING}\n </BlazeLink>\n </>\n );\n};\n\nLoadMore.propTypes = {\n isLastPage: PropTypes.bool.isRequired,\n currentPage: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n triggerInfiniteScroll: PropTypes.func.isRequired\n};\n\nexport default LoadMore;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,OAAOC,kBAAkB,MAAM,oCAAoC;AACnE,OAAOC,SAAS,MAAM,oBAAoB;AAE1C,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,IAAI;EAAEC,WAAW;EAAEC,KAAK;EAAEC,GAAG;EAAEC,qBAAqB;EAAEC;AAAW,CAAC,KAAK;EACzF,IAAIA,UAAU,EAAE,OAAO,IAAI;EAC3B,MAAMC,QAAQ,GAAGL,WAAW,GAAG,CAAC;EAChC,MAAMM,YAAY,GAAGV,kBAAkB,CAACG,IAAI,EAAEM,QAAQ,EAAEJ,KAAK,EAAEC,GAAG,CAAC;EAEnE,MAAMK,aAAa,GAAGC,CAAC,IAAI;IACzBA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClBN,qBAAqB,CAAC,CAAC;EACzB,CAAC;EAED,oBACEV,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAkB,QAAA,qBACElB,KAAA,CAAAiB,aAAA,CAACb,SAAS;IACRe,SAAS,EAAC,sBAAsB;IAChCC,IAAI,EAAC,QAAQ;IACbC,IAAI,EAAER,YAAa;IACnBS,OAAO,EAAER;EAAc,GACtBZ,gBACQ,CACX,CAAC;AAEP,CAAC;AAEDG,QAAQ,CAACkB,SAAS,GAAG;EACnBZ,UAAU,EAAEV,SAAS,CAACuB,IAAI,CAACC,UAAU;EACrClB,WAAW,EAAEN,SAAS,CAACyB,MAAM,CAACD,UAAU;EACxCnB,IAAI,EAAEL,SAAS,CAAC0B,MAAM,CAACF,UAAU;EACjCjB,KAAK,EAAEP,SAAS,CAAC2B,MAAM,CAACH,UAAU;EAClChB,GAAG,EAAER,SAAS,CAAC0B,MAAM,CAACF,UAAU;EAChCf,qBAAqB,EAAET,SAAS,CAAC4B,IAAI,CAACJ;AACxC,CAAC;AAED,eAAepB,QAAQ"}
@@ -26,7 +26,8 @@ const buildPaginationItems = ({
26
26
  className: "pagination_page-item",
27
27
  onClick: onClick,
28
28
  shallow: true,
29
- scroll: true
29
+ scroll: true,
30
+ ariaLabel: `Page ${page}`
30
31
  }, page);
31
32
  pages.push(pageHtml);
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-pagination-items.js","names":["React","BlazeLink","buildPaginationUrl","PAGINATION_DISPLAY_LIMIT","PAGINATION_DIFFERENCE","buildPaginationItems","name","numberOfPages","currentPage","query","url","onClick","pages","paginationDifference","index","page","length","href","pageHtml","createElement","key","className","shallow","scroll","push"],"sources":["../../../../src/components/List/helpers/build-pagination-items.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../../BlazeLink';\nimport buildPaginationUrl from './build-pagination-url';\nimport { PAGINATION_DISPLAY_LIMIT, PAGINATION_DIFFERENCE } from '../../../constants';\n\nconst buildPaginationItems = ({ name, numberOfPages, currentPage, query, url, onClick }) => {\n const pages = [];\n const paginationDifference =\n currentPage > PAGINATION_DIFFERENCE ? currentPage - PAGINATION_DIFFERENCE : 0;\n\n if (numberOfPages <= 1) return null;\n\n for (let index = 0; index < numberOfPages; index += 1) {\n const page = index + 1 + paginationDifference;\n if (pages.length < PAGINATION_DISPLAY_LIMIT && page <= numberOfPages) {\n const href = buildPaginationUrl(name, page, query, url);\n const pageHtml =\n page === currentPage ? (\n <span key={page} className=\"pagination_page-item--current\">\n {page}\n </span>\n ) : (\n <BlazeLink\n key={page}\n href={href}\n className=\"pagination_page-item\"\n onClick={onClick}\n shallow\n scroll>\n {page}\n </BlazeLink>\n );\n pages.push(pageHtml);\n }\n }\n\n return pages;\n};\n\nexport default buildPaginationItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SAASC,wBAAwB,EAAEC,qBAAqB,QAAQ,oBAAoB;AAEpF,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,aAAa;EAAEC,WAAW;EAAEC,KAAK;EAAEC,GAAG;EAAEC;AAAQ,CAAC,KAAK;EAC1F,MAAMC,KAAK,GAAG,EAAE;EAChB,MAAMC,oBAAoB,GACxBL,WAAW,GAAGJ,qBAAqB,GAAGI,WAAW,GAAGJ,qBAAqB,GAAG,CAAC;EAE/E,IAAIG,aAAa,IAAI,CAAC,EAAE,OAAO,IAAI;EAEnC,KAAK,IAAIO,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGP,aAAa,EAAEO,KAAK,IAAI,CAAC,EAAE;IACrD,MAAMC,IAAI,GAAGD,KAAK,GAAG,CAAC,GAAGD,oBAAoB;IAC7C,IAAID,KAAK,CAACI,MAAM,GAAGb,wBAAwB,IAAIY,IAAI,IAAIR,aAAa,EAAE;MACpE,MAAMU,IAAI,GAAGf,kBAAkB,CAACI,IAAI,EAAES,IAAI,EAAEN,KAAK,EAAEC,GAAG,CAAC;MACvD,MAAMQ,QAAQ,GACZH,IAAI,KAAKP,WAAW,gBAClBR,KAAA,CAAAmB,aAAA;QAAMC,GAAG,EAAEL,IAAK;QAACM,SAAS,EAAC;MAA+B,GACvDN,IACG,CAAC,gBAEPf,KAAA,CAAAmB,aAAA,CAAClB,SAAS;QACRmB,GAAG,EAAEL,IAAK;QACVE,IAAI,EAAEA,IAAK;QACXI,SAAS,EAAC,sBAAsB;QAChCV,OAAO,EAAEA,OAAQ;QACjBW,OAAO;QACPC,MAAM;MAAA,GACLR,IACQ,CACZ;MACHH,KAAK,CAACY,IAAI,CAACN,QAAQ,CAAC;IACtB;EACF;EAEA,OAAON,KAAK;AACd,CAAC;AAED,eAAeP,oBAAoB"}
1
+ {"version":3,"file":"build-pagination-items.js","names":["React","BlazeLink","buildPaginationUrl","PAGINATION_DISPLAY_LIMIT","PAGINATION_DIFFERENCE","buildPaginationItems","name","numberOfPages","currentPage","query","url","onClick","pages","paginationDifference","index","page","length","href","pageHtml","createElement","key","className","shallow","scroll","ariaLabel","push"],"sources":["../../../../src/components/List/helpers/build-pagination-items.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../../BlazeLink';\nimport buildPaginationUrl from './build-pagination-url';\nimport { PAGINATION_DISPLAY_LIMIT, PAGINATION_DIFFERENCE } from '../../../constants';\n\nconst buildPaginationItems = ({ name, numberOfPages, currentPage, query, url, onClick }) => {\n const pages = [];\n const paginationDifference =\n currentPage > PAGINATION_DIFFERENCE ? currentPage - PAGINATION_DIFFERENCE : 0;\n\n if (numberOfPages <= 1) return null;\n\n for (let index = 0; index < numberOfPages; index += 1) {\n const page = index + 1 + paginationDifference;\n if (pages.length < PAGINATION_DISPLAY_LIMIT && page <= numberOfPages) {\n const href = buildPaginationUrl(name, page, query, url);\n const pageHtml =\n page === currentPage ? (\n <span key={page} className=\"pagination_page-item--current\">\n {page}\n </span>\n ) : (\n <BlazeLink\n key={page}\n href={href}\n className=\"pagination_page-item\"\n onClick={onClick}\n shallow\n scroll\n ariaLabel={`Page ${page}`}>\n {page}\n </BlazeLink>\n );\n pages.push(pageHtml);\n }\n }\n\n return pages;\n};\n\nexport default buildPaginationItems;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,iBAAiB;AACvC,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SAASC,wBAAwB,EAAEC,qBAAqB,QAAQ,oBAAoB;AAEpF,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,aAAa;EAAEC,WAAW;EAAEC,KAAK;EAAEC,GAAG;EAAEC;AAAQ,CAAC,KAAK;EAC1F,MAAMC,KAAK,GAAG,EAAE;EAChB,MAAMC,oBAAoB,GACxBL,WAAW,GAAGJ,qBAAqB,GAAGI,WAAW,GAAGJ,qBAAqB,GAAG,CAAC;EAE/E,IAAIG,aAAa,IAAI,CAAC,EAAE,OAAO,IAAI;EAEnC,KAAK,IAAIO,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGP,aAAa,EAAEO,KAAK,IAAI,CAAC,EAAE;IACrD,MAAMC,IAAI,GAAGD,KAAK,GAAG,CAAC,GAAGD,oBAAoB;IAC7C,IAAID,KAAK,CAACI,MAAM,GAAGb,wBAAwB,IAAIY,IAAI,IAAIR,aAAa,EAAE;MACpE,MAAMU,IAAI,GAAGf,kBAAkB,CAACI,IAAI,EAAES,IAAI,EAAEN,KAAK,EAAEC,GAAG,CAAC;MACvD,MAAMQ,QAAQ,GACZH,IAAI,KAAKP,WAAW,gBAClBR,KAAA,CAAAmB,aAAA;QAAMC,GAAG,EAAEL,IAAK;QAACM,SAAS,EAAC;MAA+B,GACvDN,IACG,CAAC,gBAEPf,KAAA,CAAAmB,aAAA,CAAClB,SAAS;QACRmB,GAAG,EAAEL,IAAK;QACVE,IAAI,EAAEA,IAAK;QACXI,SAAS,EAAC,sBAAsB;QAChCV,OAAO,EAAEA,OAAQ;QACjBW,OAAO;QACPC,MAAM;QACNC,SAAS,EAAG,QAAOT,IAAK;MAAE,GACzBA,IACQ,CACZ;MACHH,KAAK,CAACa,IAAI,CAACP,QAAQ,CAAC;IACtB;EACF;EAEA,OAAON,KAAK;AACd,CAAC;AAED,eAAeP,oBAAoB"}
@@ -6,6 +6,7 @@ import { useRouter } from 'next/router';
6
6
  import { MdMenu, MdClose } from 'react-icons/md';
7
7
  import { Link } from '@blaze-cms/nextjs-components';
8
8
  import MenuContext from './MenuContext';
9
+ import BlazeLink from '../BlazeLink';
9
10
  const Menu = ({
10
11
  children,
11
12
  collapse,
@@ -61,7 +62,8 @@ const Menu = ({
61
62
  }) : /*#__PURE__*/React.createElement(MdMenu, {
62
63
  className: hamburgerIconModifier
63
64
  }))))), logoOnMobile && !showMobileMenu && /*#__PURE__*/React.createElement(Link, {
64
- href: "/"
65
+ href: "/",
66
+ name: "mobile menu"
65
67
  }, /*#__PURE__*/React.createElement("img", {
66
68
  src: logoOnMobileUrl,
67
69
  alt: logoOnMobileAlt,
@@ -70,7 +72,7 @@ const Menu = ({
70
72
  className: "menu--desktop-wrapper"
71
73
  }, /*#__PURE__*/React.createElement("ul", {
72
74
  className: childModifiers
73
- }, logoOnDesktop && /*#__PURE__*/React.createElement("a", {
75
+ }, logoOnDesktop && /*#__PURE__*/React.createElement(BlazeLink, {
74
76
  href: "/",
75
77
  className: ""
76
78
  }, /*#__PURE__*/React.createElement("img", {
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","isMobileMenuExpanded","menuWrapperClasses","createElement","Provider","value","className","onClick","href","src","alt","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n aria-label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <a href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","BlazeLink","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","isMobileMenuExpanded","menuWrapperClasses","createElement","Provider","value","className","onClick","href","name","src","alt","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\nimport BlazeLink from '../BlazeLink';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n aria-label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\" name=\"mobile menu\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <BlazeLink href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </BlazeLink>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
@@ -39,6 +39,7 @@ const SelectFilter = ({
39
39
  label: labelToUse,
40
40
  value: filterValue,
41
41
  id: prop,
42
+ name: `filter-${prop}`,
42
43
  "data-testid": `filter-${prop}`,
43
44
  options: options,
44
45
  defaultTextValue: defaultTextValue,
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["React","PropTypes","Select","DEFAULT_OPTION","SelectFilter","data","label","prop","updateFilterValues","filterValues","shouldSearch","displayLabelAsPlaceholder","displayFilterCount","elementTitle","filterValue","disabledOptions","buckets","options","map","key","doc_count","count","push","optionLabel","filter","Boolean","sort","labelText","labelToUse","defaultTextValue","createElement","Fragment","className","value","id","onChange","valueToUse","disabled","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Select.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport { DEFAULT_OPTION } from '../constants';\n\nconst SelectFilter = ({\n data,\n label,\n prop,\n updateFilterValues,\n filterValues,\n shouldSearch,\n displayLabelAsPlaceholder,\n displayFilterCount,\n elementTitle\n}) => {\n const filterValue = filterValues[prop] || '';\n const disabledOptions = [];\n const { buckets = [] } = data[prop] || {};\n const options = buckets\n .map(({ key, doc_count: count }) => {\n if (!count) disabledOptions.push(key);\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel];\n })\n .filter(Boolean)\n .sort();\n\n const labelText = label || prop;\n let labelToUse = labelText;\n let defaultTextValue = DEFAULT_OPTION;\n if (displayLabelAsPlaceholder) {\n defaultTextValue = labelToUse;\n labelToUse = null;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <Select\n label={labelToUse}\n value={filterValue}\n id={prop}\n data-testid={`filter-${prop}`}\n options={options}\n defaultTextValue={defaultTextValue}\n onChange={({ value }) => {\n let valueToUse = value;\n if (value === defaultTextValue) valueToUse = '';\n updateFilterValues({ [prop]: valueToUse }, shouldSearch);\n }}\n disabled={disabledOptions}\n />\n </>\n );\n};\n\nSelectFilter.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n\n displayLabelAsPlaceholder: PropTypes.bool,\n displayFilterCount: PropTypes.bool\n};\n\nSelectFilter.defaultProps = {\n filterValues: {},\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayLabelAsPlaceholder: false,\n displayFilterCount: false\n};\n\nexport default SelectFilter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","names":["React","PropTypes","Select","DEFAULT_OPTION","SelectFilter","data","label","prop","updateFilterValues","filterValues","shouldSearch","displayLabelAsPlaceholder","displayFilterCount","elementTitle","filterValue","disabledOptions","buckets","options","map","key","doc_count","count","push","optionLabel","filter","Boolean","sort","labelText","labelToUse","defaultTextValue","createElement","Fragment","className","value","id","name","onChange","valueToUse","disabled","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Select.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport { DEFAULT_OPTION } from '../constants';\n\nconst SelectFilter = ({\n data,\n label,\n prop,\n updateFilterValues,\n filterValues,\n shouldSearch,\n displayLabelAsPlaceholder,\n displayFilterCount,\n elementTitle\n}) => {\n const filterValue = filterValues[prop] || '';\n const disabledOptions = [];\n const { buckets = [] } = data[prop] || {};\n const options = buckets\n .map(({ key, doc_count: count }) => {\n if (!count) disabledOptions.push(key);\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel];\n })\n .filter(Boolean)\n .sort();\n\n const labelText = label || prop;\n let labelToUse = labelText;\n let defaultTextValue = DEFAULT_OPTION;\n if (displayLabelAsPlaceholder) {\n defaultTextValue = labelToUse;\n labelToUse = null;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <Select\n label={labelToUse}\n value={filterValue}\n id={prop}\n name={`filter-${prop}`}\n data-testid={`filter-${prop}`}\n options={options}\n defaultTextValue={defaultTextValue}\n onChange={({ value }) => {\n let valueToUse = value;\n if (value === defaultTextValue) valueToUse = '';\n updateFilterValues({ [prop]: valueToUse }, shouldSearch);\n }}\n disabled={disabledOptions}\n />\n </>\n );\n};\n\nSelectFilter.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n\n displayLabelAsPlaceholder: PropTypes.bool,\n displayFilterCount: PropTypes.bool\n};\n\nSelectFilter.defaultProps = {\n filterValues: {},\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayLabelAsPlaceholder: false,\n displayFilterCount: false\n};\n\nexport default SelectFilter;\n"],"mappings":"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"}
@@ -52,6 +52,7 @@ const SearchFilterSort = ({
52
52
  return /*#__PURE__*/React.createElement("div", {
53
53
  className: "sort-by"
54
54
  }, /*#__PURE__*/React.createElement(Select, {
55
+ name: "sortby",
55
56
  label: elementLabel,
56
57
  defaultTextValue: defaultTextValue,
57
58
  value: selectedValue,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterSort.js","names":["React","Select","useRouter","parseUrl","PropTypes","DEFAULT_SORT","handleSortUpdate","withTitle","getSortFromQuery","listComponentName","listNameKey","sortKey","sortByKey","SearchFilterSort","filters","elementLabel","selectLabel","id","router","asPath","url","query","sort","sortby","selectedValue","defaultTextValue","options","map","label","optionLabel","propsToDisplay","sortValue","setSortValue","value","createElement","className","onChange","propTypes","array","string","defaultProps"],"sources":["../../../src/components/SearchFilterSort/SearchFilterSort.js"],"sourcesContent":["import React from 'react';\nimport Select from '@blaze-react/select';\nimport { useRouter } from 'next/router';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { DEFAULT_SORT } from './constants';\nimport { handleSortUpdate } from './helpers';\nimport { withTitle } from '../../HOC';\n\nconst getSortFromQuery = listComponentName => {\n const listNameKey = listComponentName ? `pb[${listComponentName}]` : '';\n const sortKey = `${listNameKey}${listNameKey ? '[sort]' : 'sort'}`;\n const sortByKey = `${listNameKey}${listNameKey ? '[sortby]' : 'sortby'}`;\n return [sortKey, sortByKey];\n};\nconst SearchFilterSort = ({ filters, elementLabel, selectLabel, id, listComponentName }) => {\n const router = useRouter();\n const { asPath } = router;\n const [sortKey, sortByKey] = getSortFromQuery(listComponentName);\n const { url, query, query: { [sortKey]: sort, [sortByKey]: sortby } = {} } = parseUrl(asPath);\n const selectedValue = `${sortby}:${sort}` || '';\n const defaultTextValue = selectLabel || DEFAULT_SORT;\n const options = filters.map(({ label: optionLabel, propsToDisplay, sort: sortValue }) => [\n `${propsToDisplay[0]}:${sortValue}`,\n optionLabel\n ]);\n\n const setSortValue = ({ value }) =>\n handleSortUpdate({ router, value, query, url, selectLabel, listComponentName });\n\n return (\n <div className=\"sort-by\">\n <Select\n label={elementLabel}\n defaultTextValue={defaultTextValue}\n value={selectedValue}\n id={id}\n options={options}\n onChange={setSortValue}\n />\n </div>\n );\n};\n\nSearchFilterSort.propTypes = {\n filters: PropTypes.array,\n elementLabel: PropTypes.string,\n selectLabel: PropTypes.string,\n id: PropTypes.string,\n listComponentName: PropTypes.string\n};\n\nSearchFilterSort.defaultProps = {\n filters: [],\n elementLabel: '',\n selectLabel: '',\n id: '',\n listComponentName: ''\n};\n\nexport default withTitle(SearchFilterSort);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,QAAQ,QAAQ,cAAc;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,SAASC,SAAS,QAAQ,WAAW;AAErC,MAAMC,gBAAgB,GAAGC,iBAAiB,IAAI;EAC5C,MAAMC,WAAW,GAAGD,iBAAiB,GAAI,MAAKA,iBAAkB,GAAE,GAAG,EAAE;EACvE,MAAME,OAAO,GAAI,GAAED,WAAY,GAAEA,WAAW,GAAG,QAAQ,GAAG,MAAO,EAAC;EAClE,MAAME,SAAS,GAAI,GAAEF,WAAY,GAAEA,WAAW,GAAG,UAAU,GAAG,QAAS,EAAC;EACxE,OAAO,CAACC,OAAO,EAAEC,SAAS,CAAC;AAC7B,CAAC;AACD,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,OAAO;EAAEC,YAAY;EAAEC,WAAW;EAAEC,EAAE;EAAER;AAAkB,CAAC,KAAK;EAC1F,MAAMS,MAAM,GAAGhB,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAEiB;EAAO,CAAC,GAAGD,MAAM;EACzB,MAAM,CAACP,OAAO,EAAEC,SAAS,CAAC,GAAGJ,gBAAgB,CAACC,iBAAiB,CAAC;EAChE,MAAM;IAAEW,GAAG;IAAEC,KAAK;IAAEA,KAAK,EAAE;MAAE,CAACV,OAAO,GAAGW,IAAI;MAAE,CAACV,SAAS,GAAGW;IAAO,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGpB,QAAQ,CAACgB,MAAM,CAAC;EAC7F,MAAMK,aAAa,GAAI,GAAED,MAAO,IAAGD,IAAK,EAAC,IAAI,EAAE;EAC/C,MAAMG,gBAAgB,GAAGT,WAAW,IAAIX,YAAY;EACpD,MAAMqB,OAAO,GAAGZ,OAAO,CAACa,GAAG,CAAC,CAAC;IAAEC,KAAK,EAAEC,WAAW;IAAEC,cAAc;IAAER,IAAI,EAAES;EAAU,CAAC,KAAK,CACtF,GAAED,cAAc,CAAC,CAAC,CAAE,IAAGC,SAAU,EAAC,EACnCF,WAAW,CACZ,CAAC;EAEF,MAAMG,YAAY,GAAGA,CAAC;IAAEC;EAAM,CAAC,KAC7B3B,gBAAgB,CAAC;IAAEY,MAAM;IAAEe,KAAK;IAAEZ,KAAK;IAAED,GAAG;IAAEJ,WAAW;IAAEP;EAAkB,CAAC,CAAC;EAEjF,oBACET,KAAA,CAAAkC,aAAA;IAAKC,SAAS,EAAC;EAAS,gBACtBnC,KAAA,CAAAkC,aAAA,CAACjC,MAAM;IACL2B,KAAK,EAAEb,YAAa;IACpBU,gBAAgB,EAAEA,gBAAiB;IACnCQ,KAAK,EAAET,aAAc;IACrBP,EAAE,EAAEA,EAAG;IACPS,OAAO,EAAEA,OAAQ;IACjBU,QAAQ,EAAEJ;EAAa,CACxB,CACE,CAAC;AAEV,CAAC;AAEDnB,gBAAgB,CAACwB,SAAS,GAAG;EAC3BvB,OAAO,EAAEV,SAAS,CAACkC,KAAK;EACxBvB,YAAY,EAAEX,SAAS,CAACmC,MAAM;EAC9BvB,WAAW,EAAEZ,SAAS,CAACmC,MAAM;EAC7BtB,EAAE,EAAEb,SAAS,CAACmC,MAAM;EACpB9B,iBAAiB,EAAEL,SAAS,CAACmC;AAC/B,CAAC;AAED1B,gBAAgB,CAAC2B,YAAY,GAAG;EAC9B1B,OAAO,EAAE,EAAE;EACXC,YAAY,EAAE,EAAE;EAChBC,WAAW,EAAE,EAAE;EACfC,EAAE,EAAE,EAAE;EACNR,iBAAiB,EAAE;AACrB,CAAC;AAED,eAAeF,SAAS,CAACM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"SearchFilterSort.js","names":["React","Select","useRouter","parseUrl","PropTypes","DEFAULT_SORT","handleSortUpdate","withTitle","getSortFromQuery","listComponentName","listNameKey","sortKey","sortByKey","SearchFilterSort","filters","elementLabel","selectLabel","id","router","asPath","url","query","sort","sortby","selectedValue","defaultTextValue","options","map","label","optionLabel","propsToDisplay","sortValue","setSortValue","value","createElement","className","name","onChange","propTypes","array","string","defaultProps"],"sources":["../../../src/components/SearchFilterSort/SearchFilterSort.js"],"sourcesContent":["import React from 'react';\nimport Select from '@blaze-react/select';\nimport { useRouter } from 'next/router';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { DEFAULT_SORT } from './constants';\nimport { handleSortUpdate } from './helpers';\nimport { withTitle } from '../../HOC';\n\nconst getSortFromQuery = listComponentName => {\n const listNameKey = listComponentName ? `pb[${listComponentName}]` : '';\n const sortKey = `${listNameKey}${listNameKey ? '[sort]' : 'sort'}`;\n const sortByKey = `${listNameKey}${listNameKey ? '[sortby]' : 'sortby'}`;\n return [sortKey, sortByKey];\n};\nconst SearchFilterSort = ({ filters, elementLabel, selectLabel, id, listComponentName }) => {\n const router = useRouter();\n const { asPath } = router;\n const [sortKey, sortByKey] = getSortFromQuery(listComponentName);\n const { url, query, query: { [sortKey]: sort, [sortByKey]: sortby } = {} } = parseUrl(asPath);\n const selectedValue = `${sortby}:${sort}` || '';\n const defaultTextValue = selectLabel || DEFAULT_SORT;\n const options = filters.map(({ label: optionLabel, propsToDisplay, sort: sortValue }) => [\n `${propsToDisplay[0]}:${sortValue}`,\n optionLabel\n ]);\n\n const setSortValue = ({ value }) =>\n handleSortUpdate({ router, value, query, url, selectLabel, listComponentName });\n\n return (\n <div className=\"sort-by\">\n <Select\n name=\"sortby\"\n label={elementLabel}\n defaultTextValue={defaultTextValue}\n value={selectedValue}\n id={id}\n options={options}\n onChange={setSortValue}\n />\n </div>\n );\n};\n\nSearchFilterSort.propTypes = {\n filters: PropTypes.array,\n elementLabel: PropTypes.string,\n selectLabel: PropTypes.string,\n id: PropTypes.string,\n listComponentName: PropTypes.string\n};\n\nSearchFilterSort.defaultProps = {\n filters: [],\n elementLabel: '',\n selectLabel: '',\n id: '',\n listComponentName: ''\n};\n\nexport default withTitle(SearchFilterSort);\n"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { SOCIAL_NETWORKS, BASE_CLASS_NAME_FOLLOW } from './sf.config';
5
+ import BlazeLink from '../BlazeLink';
5
6
  const SFItem = ({
6
7
  url,
7
8
  id
@@ -14,12 +15,12 @@ const SFItem = ({
14
15
  } = SOCIAL_NETWORKS[id];
15
16
  return /*#__PURE__*/React.createElement("li", {
16
17
  className: BASE_CLASS_NAME_FOLLOW
17
- }, /*#__PURE__*/React.createElement("a", {
18
- title: name,
18
+ }, /*#__PURE__*/React.createElement(BlazeLink, {
19
19
  href: url,
20
20
  className: className,
21
21
  rel: "noopener nofollow",
22
- target: "_blank"
22
+ target: "_blank",
23
+ ariaLabel: name
23
24
  }, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(Icon, null)), /*#__PURE__*/React.createElement("span", {
24
25
  className: `social__network ${spanClassName}`
25
26
  }, name)));
@@ -1 +1 @@
1
- {"version":3,"file":"SFItem.js","names":["React","PropTypes","SOCIAL_NETWORKS","BASE_CLASS_NAME_FOLLOW","SFItem","url","id","name","className","Icon","spanClassName","createElement","title","href","rel","target","propTypes","string","isRequired"],"sources":["../../../src/components/SocialFollow/SFItem.js"],"sourcesContent":["/* eslint-disable react/jsx-no-target-blank */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { SOCIAL_NETWORKS, BASE_CLASS_NAME_FOLLOW } from './sf.config';\n\nconst SFItem = ({ url, id }) => {\n const { name, className, Icon, spanClassName } = SOCIAL_NETWORKS[id];\n\n return (\n <li className={BASE_CLASS_NAME_FOLLOW}>\n <a title={name} href={url} className={className} rel=\"noopener nofollow\" target=\"_blank\">\n <i>\n <Icon />\n </i>\n <span className={`social__network ${spanClassName}`}>{name}</span>\n </a>\n </li>\n );\n};\n\nSFItem.propTypes = {\n url: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired\n};\n\nexport default SFItem;\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,EAAEC,sBAAsB,QAAQ,aAAa;AAErE,MAAMC,MAAM,GAAGA,CAAC;EAAEC,GAAG;EAAEC;AAAG,CAAC,KAAK;EAC9B,MAAM;IAAEC,IAAI;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAc,CAAC,GAAGR,eAAe,CAACI,EAAE,CAAC;EAEpE,oBACEN,KAAA,CAAAW,aAAA;IAAIH,SAAS,EAAEL;EAAuB,gBACpCH,KAAA,CAAAW,aAAA;IAAGC,KAAK,EAAEL,IAAK;IAACM,IAAI,EAAER,GAAI;IAACG,SAAS,EAAEA,SAAU;IAACM,GAAG,EAAC,mBAAmB;IAACC,MAAM,EAAC;EAAQ,gBACtFf,KAAA,CAAAW,aAAA,yBACEX,KAAA,CAAAW,aAAA,CAACF,IAAI,MAAE,CACN,CAAC,eACJT,KAAA,CAAAW,aAAA;IAAMH,SAAS,EAAG,mBAAkBE,aAAc;EAAE,GAAEH,IAAW,CAChE,CACD,CAAC;AAET,CAAC;AAEDH,MAAM,CAACY,SAAS,GAAG;EACjBX,GAAG,EAAEJ,SAAS,CAACgB,MAAM,CAACC,UAAU;EAChCZ,EAAE,EAAEL,SAAS,CAACgB,MAAM,CAACC;AACvB,CAAC;AAED,eAAed,MAAM"}
1
+ {"version":3,"file":"SFItem.js","names":["React","PropTypes","SOCIAL_NETWORKS","BASE_CLASS_NAME_FOLLOW","BlazeLink","SFItem","url","id","name","className","Icon","spanClassName","createElement","href","rel","target","ariaLabel","propTypes","string","isRequired"],"sources":["../../../src/components/SocialFollow/SFItem.js"],"sourcesContent":["/* eslint-disable react/jsx-no-target-blank */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { SOCIAL_NETWORKS, BASE_CLASS_NAME_FOLLOW } from './sf.config';\nimport BlazeLink from '../BlazeLink';\n\nconst SFItem = ({ url, id }) => {\n const { name, className, Icon, spanClassName } = SOCIAL_NETWORKS[id];\n\n return (\n <li className={BASE_CLASS_NAME_FOLLOW}>\n <BlazeLink\n href={url}\n className={className}\n rel=\"noopener nofollow\"\n target=\"_blank\"\n ariaLabel={name}>\n <i>\n <Icon />\n </i>\n <span className={`social__network ${spanClassName}`}>{name}</span>\n </BlazeLink>\n </li>\n );\n};\n\nSFItem.propTypes = {\n url: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired\n};\n\nexport default SFItem;\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,EAAEC,sBAAsB,QAAQ,aAAa;AACrE,OAAOC,SAAS,MAAM,cAAc;AAEpC,MAAMC,MAAM,GAAGA,CAAC;EAAEC,GAAG;EAAEC;AAAG,CAAC,KAAK;EAC9B,MAAM;IAAEC,IAAI;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAc,CAAC,GAAGT,eAAe,CAACK,EAAE,CAAC;EAEpE,oBACEP,KAAA,CAAAY,aAAA;IAAIH,SAAS,EAAEN;EAAuB,gBACpCH,KAAA,CAAAY,aAAA,CAACR,SAAS;IACRS,IAAI,EAAEP,GAAI;IACVG,SAAS,EAAEA,SAAU;IACrBK,GAAG,EAAC,mBAAmB;IACvBC,MAAM,EAAC,QAAQ;IACfC,SAAS,EAAER;EAAK,gBAChBR,KAAA,CAAAY,aAAA,yBACEZ,KAAA,CAAAY,aAAA,CAACF,IAAI,MAAE,CACN,CAAC,eACJV,KAAA,CAAAY,aAAA;IAAMH,SAAS,EAAG,mBAAkBE,aAAc;EAAE,GAAEH,IAAW,CACxD,CACT,CAAC;AAET,CAAC;AAEDH,MAAM,CAACY,SAAS,GAAG;EACjBX,GAAG,EAAEL,SAAS,CAACiB,MAAM,CAACC,UAAU;EAChCZ,EAAE,EAAEN,SAAS,CAACiB,MAAM,CAACC;AACvB,CAAC;AAED,eAAed,MAAM"}
@@ -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"}
@@ -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"}