@blaze-cms/react-page-builder 0.146.0-alpha.0 → 0.146.0-alpha.4

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 (132) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/components/BackToTop/BackToTop.js +8 -13
  3. package/lib/components/BackToTop/BackToTop.js.map +1 -1
  4. package/lib/components/Card/Card.js +5 -3
  5. package/lib/components/Card/Card.js.map +1 -1
  6. package/lib/components/Card/CardsContainer.js +8 -4
  7. package/lib/components/Card/CardsContainer.js.map +1 -1
  8. package/lib/components/Card/CardsFactory.js +37 -7
  9. package/lib/components/Card/CardsFactory.js.map +1 -1
  10. package/lib/components/Card/CardsRender.js +8 -4
  11. package/lib/components/Card/CardsRender.js.map +1 -1
  12. package/lib/components/Carousel/CarouselImage/CarouselImage.js +3 -1
  13. package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  14. package/lib/components/Carousel/CarouselImage/constants.js +9 -0
  15. package/lib/components/Carousel/CarouselImage/constants.js.map +1 -0
  16. package/lib/components/CarouselWrapper/DefaultCarousel.js +2 -0
  17. package/lib/components/CarouselWrapper/DefaultCarousel.js.map +1 -1
  18. package/lib/components/ContentGroup/ContentGroupTabs.js +1 -2
  19. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  20. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js +3 -3
  21. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  22. package/lib/components/Image/GlobalLightbox/NavButton.js +6 -3
  23. package/lib/components/Image/GlobalLightbox/NavButton.js.map +1 -1
  24. package/lib/components/Image/Image.js +1 -0
  25. package/lib/components/Image/Image.js.map +1 -1
  26. package/lib/components/ItemList/ItemListNew/ItemListNew.js +1 -2
  27. package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  28. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  29. package/lib/components/List/components/Full/FullRender.js +2 -2
  30. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  31. package/lib/components/Menu/Menu.js +1 -1
  32. package/lib/components/Menu/Menu.js.map +1 -1
  33. package/lib/components/MenuItem/MenuItem.js +2 -5
  34. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  35. package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  36. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js +1 -1
  37. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  38. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js +3 -3
  39. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  40. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +4 -3
  41. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  42. package/lib/components/SearchFilter/components/Checkbox.js +1 -1
  43. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  44. package/lib/components/SearchFilter/components/TextSearch.js +1 -0
  45. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  46. package/lib/components/Video/providers/Vimeo/VimeoProvider.js +0 -1
  47. package/lib/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  48. package/lib-es/components/BackToTop/BackToTop.js +11 -17
  49. package/lib-es/components/BackToTop/BackToTop.js.map +1 -1
  50. package/lib-es/components/Card/Card.js +5 -3
  51. package/lib-es/components/Card/Card.js.map +1 -1
  52. package/lib-es/components/Card/CardsContainer.js +9 -5
  53. package/lib-es/components/Card/CardsContainer.js.map +1 -1
  54. package/lib-es/components/Card/CardsFactory.js +40 -9
  55. package/lib-es/components/Card/CardsFactory.js.map +1 -1
  56. package/lib-es/components/Card/CardsRender.js +9 -5
  57. package/lib-es/components/Card/CardsRender.js.map +1 -1
  58. package/lib-es/components/Carousel/CarouselImage/CarouselImage.js +3 -1
  59. package/lib-es/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  60. package/lib-es/components/Carousel/CarouselImage/constants.js +2 -0
  61. package/lib-es/components/Carousel/CarouselImage/constants.js.map +1 -0
  62. package/lib-es/components/CarouselWrapper/DefaultCarousel.js +2 -0
  63. package/lib-es/components/CarouselWrapper/DefaultCarousel.js.map +1 -1
  64. package/lib-es/components/ContentGroup/ContentGroupTabs.js +1 -2
  65. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -1
  66. package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js +3 -3
  67. package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  68. package/lib-es/components/Image/GlobalLightbox/NavButton.js +6 -3
  69. package/lib-es/components/Image/GlobalLightbox/NavButton.js.map +1 -1
  70. package/lib-es/components/Image/Image.js +1 -0
  71. package/lib-es/components/Image/Image.js.map +1 -1
  72. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +1 -2
  73. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  74. package/lib-es/components/List/components/Cards/CardsRender.js.map +1 -1
  75. package/lib-es/components/List/components/Full/FullRender.js +2 -2
  76. package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
  77. package/lib-es/components/Menu/Menu.js +1 -1
  78. package/lib-es/components/Menu/Menu.js.map +1 -1
  79. package/lib-es/components/MenuItem/MenuItem.js +2 -5
  80. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  81. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  82. package/lib-es/components/SearchFilter/SearchFilter/MobileFormToolbar.js +1 -1
  83. package/lib-es/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  84. package/lib-es/components/SearchFilter/SearchFilter/ResetDesktopForm.js +3 -3
  85. package/lib-es/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  86. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +4 -3
  87. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  88. package/lib-es/components/SearchFilter/components/Checkbox.js +1 -1
  89. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  90. package/lib-es/components/SearchFilter/components/TextSearch.js +1 -0
  91. package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
  92. package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js +0 -1
  93. package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  94. package/package.json +4 -4
  95. package/src/components/BackToTop/BackToTop.js +6 -11
  96. package/src/components/Card/Card.js +4 -3
  97. package/src/components/Card/CardsContainer.js +7 -3
  98. package/src/components/Card/CardsFactory.js +34 -6
  99. package/src/components/Card/CardsRender.js +6 -2
  100. package/src/components/Carousel/CarouselImage/CarouselImage.js +3 -1
  101. package/src/components/Carousel/CarouselImage/constants.js +1 -0
  102. package/src/components/CarouselWrapper/DefaultCarousel.js +2 -0
  103. package/src/components/ContentGroup/ContentGroupTabs.js +1 -3
  104. package/src/components/Image/GlobalLightbox/GlobalLightbox.js +3 -3
  105. package/src/components/Image/GlobalLightbox/NavButton.js +5 -3
  106. package/src/components/Image/Image.js +1 -0
  107. package/src/components/ItemList/ItemListNew/ItemListNew.js +1 -4
  108. package/src/components/List/components/Cards/CardsRender.js +2 -0
  109. package/src/components/List/components/Full/FullRender.js +2 -1
  110. package/src/components/Menu/Menu.js +1 -1
  111. package/src/components/MenuItem/MenuItem.js +2 -9
  112. package/src/components/SearchFilter/SearchFilter/FiltersList.js +3 -0
  113. package/src/components/SearchFilter/SearchFilter/MobileFormToolbar.js +1 -1
  114. package/src/components/SearchFilter/SearchFilter/ResetDesktopForm.js +3 -2
  115. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +10 -5
  116. package/src/components/SearchFilter/components/Checkbox.js +3 -1
  117. package/src/components/SearchFilter/components/TextSearch.js +1 -0
  118. package/src/components/Video/providers/Vimeo/VimeoProvider.js +0 -1
  119. package/tests/unit/src/components/BackToTop/BackToTop.test.js +9 -5
  120. package/tests/unit/src/components/BackToTop/__snapshots__/BackToTop.test.js.snap +1 -1
  121. package/tests/unit/src/components/Carousel/CarouselImage/__snapshots__/CarouselImage.test.js.snap +1 -1
  122. package/tests/unit/src/components/Carousel/__snapshots__/Carousel.test.js.snap +1 -1
  123. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +4 -4
  124. package/tests/unit/src/components/ItemList/__snapshots__/ItemListNew.test.js.snap +0 -2
  125. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +0 -5
  126. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/MobileFormToolbar.test.js.snap +1 -1
  127. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/ResetDesktopForm.test.js.snap +1 -1
  128. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/SearchFilter.test.js.snap +19 -17
  129. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Select.test.js.snap +1 -0
  130. package/tests/unit/src/components/SearchFilter/components/__snapshots__/TextSearch.test.js.snap +1 -0
  131. package/tests/unit/src/components/SearchFilterSort/__snapshots__/SearchFilterSort.test.js.snap +1 -0
  132. package/tests/unit/src/components/Video/providers/Vimeo/__snapshots__/Vimeo.test.js.snap +0 -1
@@ -56,7 +56,7 @@ const Menu = ({
56
56
  }, /*#__PURE__*/React.createElement(BlazeButton, {
57
57
  className: `menu--mobile-button ${mobileButtonModifier}`,
58
58
  onClick: () => setShowMobileMenu(!showMobileMenu),
59
- "aria-label": showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'
59
+ label: showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'
60
60
  }, /*#__PURE__*/React.createElement("i", null, showMobileMenu ? /*#__PURE__*/React.createElement(MdClose, {
61
61
  className: closeIconModifier
62
62
  }) : /*#__PURE__*/React.createElement(MdMenu, {
@@ -1 +1 @@
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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"}
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","label","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 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":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,EAAEC,OAAO,QAAQ,gBAAgB;AAChD,SAASC,IAAI,QAAQ,8BAA8B;AACnD,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,SAAS,MAAM,cAAc;AAEpC,MAAMC,IAAI,GAAGA,CAAC;EACZC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,kBAAkB;EAClBC,0BAA0B;EAC1BC,mBAAmB;EACnBC,oBAAoB;EACpBC,qBAAqB;EACrBC,YAAY;EACZC,aAAa;EACbC,eAAe;EACfC,eAAe;EACfC,oBAAoB;EACpBC,qBAAqB;EACrBC;AACF,CAAC,KAAK;EACJ,MAAMC,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAC1B,MAAM,CAACuB,cAAc,EAAEC,iBAAiB,CAAC,GAAG7B,QAAQ,CAAC,KAAK,CAAC;EAE3DC,SAAS,CACP,MAAM;IACJ,MAAM6B,iBAAiB,GAAGA,CAAA,KAAMD,iBAAiB,CAAC,KAAK,CAAC;IACxDF,MAAM,CAACI,MAAM,CAACC,EAAE,CAAC,kBAAkB,EAAEF,iBAAiB,CAAC;IAEvD,OAAO,MAAM;MACXH,MAAM,CAACI,MAAM,CAACE,GAAG,CAAC,kBAAkB,EAAEH,iBAAiB,CAAC;IAC1D,CAAC;EACH,CAAC,EACD,CAACH,MAAM,CAACI,MAAM,CAChB,CAAC;EAED,MAAMG,qBAAqB,GAAGrB,QAAQ,GAAGe,cAAc,GAAG,IAAI;EAE9D,MAAMO,cAAc,GAAG/B,UAAU,CAAC;IAChC,CAACY,0BAA0B,GAAGkB,qBAAqB;IACnD,CAACpB,QAAQ,GAAG,CAACc;EACf,CAAC,CAAC;EAEF,MAAMQ,oBAAoB,GAAGR,cAAc,GAAI,GAAEb,kBAAmB,EAAC,GAAG,EAAE;EAC1E,MAAMsB,kBAAkB,GAAGjC,UAAU,CAAC,eAAe,EAAE;IACrD,4BAA4B,EAAEwB,cAAc;IAC5C,8BAA8B,EAAEf,QAAQ,IAAI,CAACe;EAC/C,CAAC,CAAC;EAEF,oBACE7B,KAAA,CAAAuC,aAAA,CAAC7B,WAAW,CAAC8B,QAAQ;IAACC,KAAK,EAAE;MAAEZ;IAAe;EAAE,gBAC9C7B,KAAA,CAAAuC,aAAA;IAAKG,SAAS,EAAEJ;EAAmB,GAChCxB,QAAQ,iBACPd,KAAA,CAAAuC,aAAA;IAAKG,SAAS,EAAC;EAAsB,gBACnC1C,KAAA,CAAAuC,aAAA;IACEG,SAAS,EAAG,8BAA6BxB,mBAAoB,IAAGmB,oBAAqB;EAAE,gBACvFrC,KAAA,CAAAuC,aAAA,CAACnC,WAAW;IACVsC,SAAS,EAAG,uBAAsBvB,oBAAqB,EAAE;IACzDwB,OAAO,EAAEA,CAAA,KAAMb,iBAAiB,CAAC,CAACD,cAAc,CAAE;IAClDe,KAAK,EAAEf,cAAc,GAAG,mBAAmB,GAAG;EAAmB,gBACjE7B,KAAA,CAAAuC,aAAA,YACGV,cAAc,gBACb7B,KAAA,CAAAuC,aAAA,CAAC/B,OAAO;IAACkC,SAAS,EAAEf;EAAkB,CAAE,CAAC,gBAEzC3B,KAAA,CAAAuC,aAAA,CAAChC,MAAM;IAACmC,SAAS,EAAEtB;EAAsB,CAAE,CAE5C,CACQ,CACV,CACF,CACN,EACAC,YAAY,IACX,CAACQ,cAAc,iBACb7B,KAAA,CAAAuC,aAAA,CAAC9B,IAAI;IAACoC,IAAI,EAAC,GAAG;IAACC,IAAI,EAAC;EAAa,gBAC/B9C,KAAA,CAAAuC,aAAA;IAAKQ,GAAG,EAAExB,eAAgB;IAACyB,GAAG,EAAExB,eAAgB;IAACkB,SAAS,EAAEjB;EAAqB,CAAE,CAC/E,CACP,eAEHzB,KAAA,CAAAuC,aAAA;IAAKG,SAAS,EAAC;EAAuB,gBACpC1C,KAAA,CAAAuC,aAAA;IAAIG,SAAS,EAAEN;EAAe,GAC3Bd,aAAa,iBACZtB,KAAA,CAAAuC,aAAA,CAAC5B,SAAS;IAACkC,IAAI,EAAC,GAAG;IAACH,SAAS,EAAC;EAAE,gBAC9B1C,KAAA,CAAAuC,aAAA;IACEQ,GAAG,EAAExB,eAAgB;IACrByB,GAAG,EAAExB,eAAgB;IACrBkB,SAAS,EAAEhB;EAAsB,CAClC,CACQ,CACZ,EACAb,QACC,CACD,CACF,CACe,CAAC;AAE3B,CAAC;AAEDD,IAAI,CAACqC,SAAS,GAAG;EACfnC,QAAQ,EAAEX,SAAS,CAAC+C,IAAI,CAACC,UAAU;EACnC9B,YAAY,EAAElB,SAAS,CAAC+C,IAAI,CAACC,UAAU;EACvC7B,aAAa,EAAEnB,SAAS,CAAC+C,IAAI;EAC7B3B,eAAe,EAAEpB,SAAS,CAACiD,MAAM;EACjC5B,eAAe,EAAErB,SAAS,CAACiD,MAAM;EACjC3B,oBAAoB,EAAEtB,SAAS,CAACiD,MAAM;EACtC1B,qBAAqB,EAAEvB,SAAS,CAACiD,MAAM;EACvChC,qBAAqB,EAAEjB,SAAS,CAACiD,MAAM;EACvCzB,iBAAiB,EAAExB,SAAS,CAACiD,MAAM;EACnCjC,oBAAoB,EAAEhB,SAAS,CAACiD,MAAM;EACtCpC,kBAAkB,EAAEb,SAAS,CAACiD,MAAM;EACpCnC,0BAA0B,EAAEd,SAAS,CAACiD,MAAM;EAC5CrC,QAAQ,EAAEZ,SAAS,CAACiD,MAAM;EAC1BlC,mBAAmB,EAAEf,SAAS,CAACiD,MAAM;EACrCvC,QAAQ,EAAEV,SAAS,CAACkD,SAAS,CAAC,CAAClD,SAAS,CAACmD,OAAO,CAACnD,SAAS,CAACoD,IAAI,CAAC,EAAEpD,SAAS,CAACoD,IAAI,CAAC;AACnF,CAAC;AAED3C,IAAI,CAAC4C,YAAY,GAAG;EAClBlC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,EAAE;EACnBC,eAAe,EAAE,EAAE;EACnBC,oBAAoB,EAAE,EAAE;EACxBC,qBAAqB,EAAE,EAAE;EACzBN,qBAAqB,EAAE,EAAE;EACzBO,iBAAiB,EAAE,EAAE;EACrBR,oBAAoB,EAAE,EAAE;EACxBD,mBAAmB,EAAE,EAAE;EACvBF,kBAAkB,EAAE,EAAE;EACtBC,0BAA0B,EAAE,EAAE;EAC9BF,QAAQ,EAAE,EAAE;EACZF,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeD,IAAI"}
@@ -37,19 +37,16 @@ const MenuItem = ({
37
37
  return /*#__PURE__*/React.createElement("li", {
38
38
  className: modifier,
39
39
  onMouseEnter: handleItemEvent,
40
- onMouseLeave: handleItemEvent,
41
- "aria-label": text
40
+ onMouseLeave: handleItemEvent
42
41
  }, /*#__PURE__*/React.createElement("div", {
43
42
  className: "menu--item--link"
44
43
  }, url ? /*#__PURE__*/React.createElement(BlazeLink, {
45
44
  href: url
46
45
  }, text) : /*#__PURE__*/React.createElement("span", {
47
46
  role: "button",
48
- onClick: handleItemEvent,
49
- "aria-label": text
47
+ onClick: handleItemEvent
50
48
  }, text), hasValidChildren && /*#__PURE__*/React.createElement("i", {
51
49
  role: "button",
52
- "aria-label": displayChildren ? `Collapse ${text} menu items` : `Expand ${text} menu items`,
53
50
  className: "menu--item--link--icon",
54
51
  onClick: () => setDisplayChildren(!displayChildren)
55
52
  }, displayChildren ? /*#__PURE__*/React.createElement(FaChevronUp, null) : /*#__PURE__*/React.createElement(FaChevronDown, null))), hasValidChildren && /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","showMobileMenu","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li\n className={modifier}\n onMouseEnter={handleItemEvent}\n onMouseLeave={handleItemEvent}\n aria-label={text}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent} aria-label={text}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n aria-label={\n displayChildren ? `Collapse ${text} menu items` : `Expand ${text} menu items`\n }\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuItem.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","showMobileMenu","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FiltersList.js","names":["React","useContext","PropTypes","MainContext","TextSearch","Checkbox","SelectFilter","Range","CHECKBOX","SELECT","TEXT_SEARCH","RANGE","SEARCH_TERM","FiltersList","data","filters","hasUrl","entity","filterValues","updateFilterValues","shouldSearch","itemId","map","_ref","index","type","label","propsToDisplay","elementTitle","otherProps","_objectWithoutProperties","_excluded","length","dynamicKey","join","isDataAvailable","Object","keys","dataAggregations","areAggregationsAvailable","createElement","key","className","_extends","searchValue","prop","propTypes","bool","isRequired","string","object","func","array","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/FiltersList.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { TextSearch, Checkbox, SelectFilter, Range } from '../components';\nimport { CHECKBOX, SELECT, TEXT_SEARCH, RANGE, SEARCH_TERM } from '../constants';\n\nconst FiltersList = ({\n data,\n filters,\n hasUrl,\n entity,\n filterValues,\n updateFilterValues,\n shouldSearch\n}) => {\n const { itemId } = useContext(MainContext);\n\n return filters.map(({ type, label, propsToDisplay, elementTitle, ...otherProps }, index) => {\n if (!propsToDisplay && !propsToDisplay.length) return null;\n const dynamicKey = [itemId, index].join('-');\n const isDataAvailable = !!data && Object.keys(data).length;\n const dataAggregations = isDataAvailable ? data : null;\n const areAggregationsAvailable = isDataAvailable && !!dataAggregations;\n\n switch (type) {\n case TEXT_SEARCH:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--search\">\n <TextSearch\n {...otherProps}\n label={label}\n elementTitle={elementTitle}\n searchValue={filterValues[SEARCH_TERM]}\n updateFilterValues={updateFilterValues}\n filterValues={filterValues}\n />\n </div>\n );\n case CHECKBOX:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--checkboxes\">\n <Checkbox\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n case SELECT:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--selects\">\n <SelectFilter\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n case RANGE:\n return (\n !!areAggregationsAvailable && (\n <div key={dynamicKey} className=\"range-slider__wrapper\">\n <Range\n {...otherProps}\n dataAggregations={dataAggregations}\n propsToDisplay={propsToDisplay}\n label={label}\n elementTitle={elementTitle}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n )\n );\n default:\n return null;\n }\n });\n};\n\nFiltersList.propTypes = {\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n data: PropTypes.object,\n filters: PropTypes.array,\n shouldSearch: PropTypes.bool\n};\n\nFiltersList.defaultProps = {\n shouldSearch: false,\n data: {},\n filters: []\n};\n\nexport default FiltersList;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,UAAU,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,KAAK,QAAQ,eAAe;AACzE,SAASC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,EAAEC,KAAK,EAAEC,WAAW,QAAQ,cAAc;AAEhF,MAAMC,WAAW,GAAGA,CAAC;EACnBC,IAAI;EACJC,OAAO;EACPC,MAAM;EACNC,MAAM;EACNC,YAAY;EACZC,kBAAkB;EAClBC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAO,CAAC,GAAGpB,UAAU,CAACE,WAAW,CAAC;EAE1C,OAAOY,OAAO,CAACO,GAAG,CAAC,CAAAC,IAAA,EAA+DC,KAAK,KAAK;IAAA,IAAxE;QAAEC,IAAI;QAAEC,KAAK;QAAEC,cAAc;QAAEC;MAA4B,CAAC,GAAAL,IAAA;MAAZM,UAAU,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;IAC5E,IAAI,CAACJ,cAAc,IAAI,CAACA,cAAc,CAACK,MAAM,EAAE,OAAO,IAAI;IAC1D,MAAMC,UAAU,GAAG,CAACZ,MAAM,EAAEG,KAAK,CAAC,CAACU,IAAI,CAAC,GAAG,CAAC;IAC5C,MAAMC,eAAe,GAAG,CAAC,CAACrB,IAAI,IAAIsB,MAAM,CAACC,IAAI,CAACvB,IAAI,CAAC,CAACkB,MAAM;IAC1D,MAAMM,gBAAgB,GAAGH,eAAe,GAAGrB,IAAI,GAAG,IAAI;IACtD,MAAMyB,wBAAwB,GAAGJ,eAAe,IAAI,CAAC,CAACG,gBAAgB;IAEtE,QAAQb,IAAI;MACV,KAAKf,WAAW;QACd,oBACEV,KAAA,CAAAwC,aAAA;UACEC,GAAG,EAAER,UAAW;UAChBS,SAAS,EAAC;QAAwE,gBAClF1C,KAAA,CAAAwC,aAAA,CAACpC,UAAU,EAAAuC,QAAA,KACLd,UAAU;UACdH,KAAK,EAAEA,KAAM;UACbE,YAAY,EAAEA,YAAa;UAC3BgB,WAAW,EAAE1B,YAAY,CAACN,WAAW,CAAE;UACvCO,kBAAkB,EAAEA,kBAAmB;UACvCD,YAAY,EAAEA;QAAa,EAC5B,CACE,CAAC;MAEV,KAAKV,QAAQ;QACX,oBACER,KAAA,CAAAwC,aAAA;UACEC,GAAG,EAAER,UAAW;UAChBS,SAAS,EAAC;QAA4E,gBACtF1C,KAAA,CAAAwC,aAAA,CAACnC,QAAQ,EAAAsC,QAAA,KACHd,UAAU;UACdf,IAAI,EAAEA,IAAK;UACX+B,IAAI,EAAElB,cAAc,CAAC,CAAC,CAAE;UACxBD,KAAK,EAAEA,KAAM;UACbE,YAAY,EAAEA,YAAa;UAC3BZ,MAAM,EAAEA,MAAO;UACfE,YAAY,EAAEA,YAAa;UAC3BC,kBAAkB,EAAEA,kBAAmB;UACvCC,YAAY,EAAEA;QAAa,EAC5B,CACE,CAAC;MAEV,KAAKX,MAAM;QACT,oBACET,KAAA,CAAAwC,aAAA;UACEC,GAAG,EAAER,UAAW;UAChBS,SAAS,EAAC;QAAyE,gBACnF1C,KAAA,CAAAwC,aAAA,CAAClC,YAAY,EAAAqC,QAAA,KACPd,UAAU;UACdf,IAAI,EAAEA,IAAK;UACX+B,IAAI,EAAElB,cAAc,CAAC,CAAC,CAAE;UACxBD,KAAK,EAAEA,KAAM;UACbE,YAAY,EAAEA,YAAa;UAC3BZ,MAAM,EAAEA,MAAO;UACfE,YAAY,EAAEA,YAAa;UAC3BC,kBAAkB,EAAEA,kBAAmB;UACvCC,YAAY,EAAEA;QAAa,EAC5B,CACE,CAAC;MAEV,KAAKT,KAAK;QACR,OACE,CAAC,CAAC4B,wBAAwB,iBACxBvC,KAAA,CAAAwC,aAAA;UAAKC,GAAG,EAAER,UAAW;UAACS,SAAS,EAAC;QAAuB,gBACrD1C,KAAA,CAAAwC,aAAA,CAACjC,KAAK,EAAAoC,QAAA,KACAd,UAAU;UACdS,gBAAgB,EAAEA,gBAAiB;UACnCX,cAAc,EAAEA,cAAe;UAC/BD,KAAK,EAAEA,KAAM;UACbE,YAAY,EAAEA,YAAa;UAC3BX,MAAM,EAAEA,MAAO;UACfC,YAAY,EAAEA,YAAa;UAC3BC,kBAAkB,EAAEA,kBAAmB;UACvCC,YAAY,EAAEA;QAAa,EAC5B,CACE,CACN;MAEL;QACE,OAAO,IAAI;IACf;EACF,CAAC,CAAC;AACJ,CAAC;AAEDP,WAAW,CAACiC,SAAS,GAAG;EACtB9B,MAAM,EAAEd,SAAS,CAAC6C,IAAI,CAACC,UAAU;EACjC/B,MAAM,EAAEf,SAAS,CAAC+C,MAAM,CAACD,UAAU;EACnC9B,YAAY,EAAEhB,SAAS,CAACgD,MAAM,CAACF,UAAU;EACzC7B,kBAAkB,EAAEjB,SAAS,CAACiD,IAAI,CAACH,UAAU;EAC7ClC,IAAI,EAAEZ,SAAS,CAACgD,MAAM;EACtBnC,OAAO,EAAEb,SAAS,CAACkD,KAAK;EACxBhC,YAAY,EAAElB,SAAS,CAAC6C;AAC1B,CAAC;AAEDlC,WAAW,CAACwC,YAAY,GAAG;EACzBjC,YAAY,EAAE,KAAK;EACnBN,IAAI,EAAE,CAAC,CAAC;EACRC,OAAO,EAAE;AACX,CAAC;AAED,eAAeF,WAAW"}
1
+ {"version":3,"file":"FiltersList.js","names":["React","useContext","PropTypes","MainContext","TextSearch","Checkbox","SelectFilter","Range","CHECKBOX","SELECT","TEXT_SEARCH","RANGE","SEARCH_TERM","FiltersList","data","filters","hasUrl","entity","filterValues","updateFilterValues","shouldSearch","itemId","map","_ref","index","type","label","propsToDisplay","elementTitle","otherProps","_objectWithoutProperties","_excluded","length","dynamicKey","join","isDataAvailable","Object","keys","dataAggregations","areAggregationsAvailable","createElement","key","className","_extends","searchValue","prop","propTypes","bool","isRequired","string","object","func","array","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/FiltersList.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { TextSearch, Checkbox, SelectFilter, Range } from '../components';\nimport { CHECKBOX, SELECT, TEXT_SEARCH, RANGE, SEARCH_TERM } from '../constants';\n\nconst FiltersList = ({\n data,\n filters,\n hasUrl,\n entity,\n filterValues,\n updateFilterValues,\n shouldSearch\n}) => {\n const { itemId } = useContext(MainContext);\n\n return filters.map(({ type, label, propsToDisplay, elementTitle, ...otherProps }, index) => {\n if (!propsToDisplay && !propsToDisplay.length) return null;\n const dynamicKey = [itemId, index].join('-');\n const isDataAvailable = !!data && Object.keys(data).length;\n const dataAggregations = isDataAvailable ? data : null;\n const areAggregationsAvailable = isDataAvailable && !!dataAggregations;\n\n switch (type) {\n case TEXT_SEARCH:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--search\">\n <TextSearch\n {...otherProps}\n label={label}\n elementTitle={elementTitle}\n searchValue={filterValues[SEARCH_TERM]}\n updateFilterValues={updateFilterValues}\n filterValues={filterValues}\n />\n </div>\n );\n\n case CHECKBOX:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--checkboxes\">\n <Checkbox\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n\n case SELECT:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--selects\">\n <SelectFilter\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n\n case RANGE:\n return (\n !!areAggregationsAvailable && (\n <div key={dynamicKey} className=\"range-slider__wrapper\">\n <Range\n {...otherProps}\n dataAggregations={dataAggregations}\n propsToDisplay={propsToDisplay}\n label={label}\n elementTitle={elementTitle}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n )\n );\n default:\n return null;\n }\n });\n};\n\nFiltersList.propTypes = {\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n data: PropTypes.object,\n filters: PropTypes.array,\n shouldSearch: PropTypes.bool\n};\n\nFiltersList.defaultProps = {\n shouldSearch: false,\n data: {},\n filters: []\n};\n\nexport default FiltersList;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,UAAU,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,KAAK,QAAQ,eAAe;AACzE,SAASC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,EAAEC,KAAK,EAAEC,WAAW,QAAQ,cAAc;AAEhF,MAAMC,WAAW,GAAGA,CAAC;EACnBC,IAAI;EACJC,OAAO;EACPC,MAAM;EACNC,MAAM;EACNC,YAAY;EACZC,kBAAkB;EAClBC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAO,CAAC,GAAGpB,UAAU,CAACE,WAAW,CAAC;EAE1C,OAAOY,OAAO,CAACO,GAAG,CAAC,CAAAC,IAAA,EAA+DC,KAAK,KAAK;IAAA,IAAxE;QAAEC,IAAI;QAAEC,KAAK;QAAEC,cAAc;QAAEC;MAA4B,CAAC,GAAAL,IAAA;MAAZM,UAAU,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;IAC5E,IAAI,CAACJ,cAAc,IAAI,CAACA,cAAc,CAACK,MAAM,EAAE,OAAO,IAAI;IAC1D,MAAMC,UAAU,GAAG,CAACZ,MAAM,EAAEG,KAAK,CAAC,CAACU,IAAI,CAAC,GAAG,CAAC;IAC5C,MAAMC,eAAe,GAAG,CAAC,CAACrB,IAAI,IAAIsB,MAAM,CAACC,IAAI,CAACvB,IAAI,CAAC,CAACkB,MAAM;IAC1D,MAAMM,gBAAgB,GAAGH,eAAe,GAAGrB,IAAI,GAAG,IAAI;IACtD,MAAMyB,wBAAwB,GAAGJ,eAAe,IAAI,CAAC,CAACG,gBAAgB;IAEtE,QAAQb,IAAI;MACV,KAAKf,WAAW;QACd,oBACEV,KAAA,CAAAwC,aAAA;UACEC,GAAG,EAAER,UAAW;UAChBS,SAAS,EAAC;QAAwE,gBAClF1C,KAAA,CAAAwC,aAAA,CAACpC,UAAU,EAAAuC,QAAA,KACLd,UAAU;UACdH,KAAK,EAAEA,KAAM;UACbE,YAAY,EAAEA,YAAa;UAC3BgB,WAAW,EAAE1B,YAAY,CAACN,WAAW,CAAE;UACvCO,kBAAkB,EAAEA,kBAAmB;UACvCD,YAAY,EAAEA;QAAa,EAC5B,CACE,CAAC;MAGV,KAAKV,QAAQ;QACX,oBACER,KAAA,CAAAwC,aAAA;UACEC,GAAG,EAAER,UAAW;UAChBS,SAAS,EAAC;QAA4E,gBACtF1C,KAAA,CAAAwC,aAAA,CAACnC,QAAQ,EAAAsC,QAAA,KACHd,UAAU;UACdf,IAAI,EAAEA,IAAK;UACX+B,IAAI,EAAElB,cAAc,CAAC,CAAC,CAAE;UACxBD,KAAK,EAAEA,KAAM;UACbE,YAAY,EAAEA,YAAa;UAC3BZ,MAAM,EAAEA,MAAO;UACfE,YAAY,EAAEA,YAAa;UAC3BC,kBAAkB,EAAEA,kBAAmB;UACvCC,YAAY,EAAEA;QAAa,EAC5B,CACE,CAAC;MAGV,KAAKX,MAAM;QACT,oBACET,KAAA,CAAAwC,aAAA;UACEC,GAAG,EAAER,UAAW;UAChBS,SAAS,EAAC;QAAyE,gBACnF1C,KAAA,CAAAwC,aAAA,CAAClC,YAAY,EAAAqC,QAAA,KACPd,UAAU;UACdf,IAAI,EAAEA,IAAK;UACX+B,IAAI,EAAElB,cAAc,CAAC,CAAC,CAAE;UACxBD,KAAK,EAAEA,KAAM;UACbE,YAAY,EAAEA,YAAa;UAC3BZ,MAAM,EAAEA,MAAO;UACfE,YAAY,EAAEA,YAAa;UAC3BC,kBAAkB,EAAEA,kBAAmB;UACvCC,YAAY,EAAEA;QAAa,EAC5B,CACE,CAAC;MAGV,KAAKT,KAAK;QACR,OACE,CAAC,CAAC4B,wBAAwB,iBACxBvC,KAAA,CAAAwC,aAAA;UAAKC,GAAG,EAAER,UAAW;UAACS,SAAS,EAAC;QAAuB,gBACrD1C,KAAA,CAAAwC,aAAA,CAACjC,KAAK,EAAAoC,QAAA,KACAd,UAAU;UACdS,gBAAgB,EAAEA,gBAAiB;UACnCX,cAAc,EAAEA,cAAe;UAC/BD,KAAK,EAAEA,KAAM;UACbE,YAAY,EAAEA,YAAa;UAC3BX,MAAM,EAAEA,MAAO;UACfC,YAAY,EAAEA,YAAa;UAC3BC,kBAAkB,EAAEA,kBAAmB;UACvCC,YAAY,EAAEA;QAAa,EAC5B,CACE,CACN;MAEL;QACE,OAAO,IAAI;IACf;EACF,CAAC,CAAC;AACJ,CAAC;AAEDP,WAAW,CAACiC,SAAS,GAAG;EACtB9B,MAAM,EAAEd,SAAS,CAAC6C,IAAI,CAACC,UAAU;EACjC/B,MAAM,EAAEf,SAAS,CAAC+C,MAAM,CAACD,UAAU;EACnC9B,YAAY,EAAEhB,SAAS,CAACgD,MAAM,CAACF,UAAU;EACzC7B,kBAAkB,EAAEjB,SAAS,CAACiD,IAAI,CAACH,UAAU;EAC7ClC,IAAI,EAAEZ,SAAS,CAACgD,MAAM;EACtBnC,OAAO,EAAEb,SAAS,CAACkD,KAAK;EACxBhC,YAAY,EAAElB,SAAS,CAAC6C;AAC1B,CAAC;AAEDlC,WAAW,CAACwC,YAAY,GAAG;EACzBjC,YAAY,EAAE,KAAK;EACnBN,IAAI,EAAE,CAAC,CAAC;EACRC,OAAO,EAAE;AACX,CAAC;AAED,eAAeF,WAAW"}
@@ -11,7 +11,7 @@ const MobileFormToolbar = ({
11
11
  "data-testid": "reset-button",
12
12
  role: "button",
13
13
  onClick: handleReset,
14
- "aria-label": "Reset Filters"
14
+ "aria-label": "Reset search filters"
15
15
  }, RESET), /*#__PURE__*/React.createElement("button", {
16
16
  className: "search",
17
17
  type: "submit",
@@ -1 +1 @@
1
- {"version":3,"file":"MobileFormToolbar.js","names":["React","PropTypes","RESET","SEARCH","MobileFormToolbar","formId","handleReset","createElement","className","role","onClick","type","form","propTypes","string","isRequired","func"],"sources":["../../../../src/components/SearchFilter/SearchFilter/MobileFormToolbar.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RESET, SEARCH } from '../constants';\n\nconst MobileFormToolbar = ({ formId, handleReset }) => (\n <div className=\"filter__refine filter__refine--mobile-open\">\n <div\n className=\"reset\"\n data-testid=\"reset-button\"\n role=\"button\"\n onClick={handleReset}\n aria-label=\"Reset Filters\">\n {RESET}\n </div>\n\n <button className=\"search\" type=\"submit\" form={formId}>\n {SEARCH}\n </button>\n </div>\n);\n\nMobileFormToolbar.propTypes = {\n formId: PropTypes.string.isRequired,\n handleReset: PropTypes.func.isRequired\n};\n\nexport default MobileFormToolbar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,KAAK,EAAEC,MAAM,QAAQ,cAAc;AAE5C,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,MAAM;EAAEC;AAAY,CAAC,kBAChDN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAA4C,gBACzDR,KAAA,CAAAO,aAAA;EACEC,SAAS,EAAC,OAAO;EACjB,eAAY,cAAc;EAC1BC,IAAI,EAAC,QAAQ;EACbC,OAAO,EAAEJ,WAAY;EACrB,cAAW;AAAe,GACzBJ,KACE,CAAC,eAENF,KAAA,CAAAO,aAAA;EAAQC,SAAS,EAAC,QAAQ;EAACG,IAAI,EAAC,QAAQ;EAACC,IAAI,EAAEP;AAAO,GACnDF,MACK,CACL,CACN;AAEDC,iBAAiB,CAACS,SAAS,GAAG;EAC5BR,MAAM,EAAEJ,SAAS,CAACa,MAAM,CAACC,UAAU;EACnCT,WAAW,EAAEL,SAAS,CAACe,IAAI,CAACD;AAC9B,CAAC;AAED,eAAeX,iBAAiB"}
1
+ {"version":3,"file":"MobileFormToolbar.js","names":["React","PropTypes","RESET","SEARCH","MobileFormToolbar","formId","handleReset","createElement","className","role","onClick","type","form","propTypes","string","isRequired","func"],"sources":["../../../../src/components/SearchFilter/SearchFilter/MobileFormToolbar.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RESET, SEARCH } from '../constants';\n\nconst MobileFormToolbar = ({ formId, handleReset }) => (\n <div className=\"filter__refine filter__refine--mobile-open\">\n <div\n className=\"reset\"\n data-testid=\"reset-button\"\n role=\"button\"\n onClick={handleReset}\n aria-label=\"Reset search filters\">\n {RESET}\n </div>\n\n <button className=\"search\" type=\"submit\" form={formId}>\n {SEARCH}\n </button>\n </div>\n);\n\nMobileFormToolbar.propTypes = {\n formId: PropTypes.string.isRequired,\n handleReset: PropTypes.func.isRequired\n};\n\nexport default MobileFormToolbar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,KAAK,EAAEC,MAAM,QAAQ,cAAc;AAE5C,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,MAAM;EAAEC;AAAY,CAAC,kBAChDN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAA4C,gBACzDR,KAAA,CAAAO,aAAA;EACEC,SAAS,EAAC,OAAO;EACjB,eAAY,cAAc;EAC1BC,IAAI,EAAC,QAAQ;EACbC,OAAO,EAAEJ,WAAY;EACrB,cAAW;AAAsB,GAChCJ,KACE,CAAC,eAENF,KAAA,CAAAO,aAAA;EAAQC,SAAS,EAAC,QAAQ;EAACG,IAAI,EAAC,QAAQ;EAACC,IAAI,EAAEP;AAAO,GACnDF,MACK,CACL,CACN;AAEDC,iBAAiB,CAACS,SAAS,GAAG;EAC5BR,MAAM,EAAEJ,SAAS,CAACa,MAAM,CAACC,UAAU;EACnCT,WAAW,EAAEL,SAAS,CAACe,IAAI,CAACD;AAC9B,CAAC;AAED,eAAeX,iBAAiB"}
@@ -11,12 +11,12 @@ const ResetDesktopForm = ({
11
11
  className: "icon-button icon-button--reset",
12
12
  title: "reset--button",
13
13
  "data-testid": "reset-icon",
14
- onClick: handleReset
14
+ onClick: handleReset,
15
+ "aria-label": "Reset search filters"
15
16
  }, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaRedoAlt, null))), /*#__PURE__*/React.createElement("div", {
16
17
  role: "button",
17
18
  onClick: handleReset,
18
- "data-testid": "reset-button",
19
- "aria-label": "Reset Filters"
19
+ "data-testid": "reset-button"
20
20
  }, RESET));
21
21
  ResetDesktopForm.propTypes = {
22
22
  handleReset: PropTypes.func.isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"ResetDesktopForm.js","names":["React","PropTypes","FaRedoAlt","RESET","ResetDesktopForm","handleReset","createElement","className","type","title","onClick","role","propTypes","func","isRequired"],"sources":["../../../../src/components/SearchFilter/SearchFilter/ResetDesktopForm.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FaRedoAlt } from 'react-icons/fa';\nimport { RESET } from '../constants';\n\nconst ResetDesktopForm = ({ handleReset }) => (\n <div className=\"filter__reset\">\n <button\n type=\"button\"\n className=\"icon-button icon-button--reset\"\n title=\"reset--button\"\n data-testid=\"reset-icon\"\n onClick={handleReset}>\n <i>\n <FaRedoAlt />\n </i>\n </button>\n\n <div role=\"button\" onClick={handleReset} data-testid=\"reset-button\" aria-label=\"Reset Filters\">\n {RESET}\n </div>\n </div>\n);\n\nResetDesktopForm.propTypes = {\n handleReset: PropTypes.func.isRequired\n};\n\nexport default ResetDesktopForm;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,SAASC,KAAK,QAAQ,cAAc;AAEpC,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC;AAAY,CAAC,kBACvCL,KAAA,CAAAM,aAAA;EAAKC,SAAS,EAAC;AAAe,gBAC5BP,KAAA,CAAAM,aAAA;EACEE,IAAI,EAAC,QAAQ;EACbD,SAAS,EAAC,gCAAgC;EAC1CE,KAAK,EAAC,eAAe;EACrB,eAAY,YAAY;EACxBC,OAAO,EAAEL;AAAY,gBACrBL,KAAA,CAAAM,aAAA,yBACEN,KAAA,CAAAM,aAAA,CAACJ,SAAS,MAAE,CACX,CACG,CAAC,eAETF,KAAA,CAAAM,aAAA;EAAKK,IAAI,EAAC,QAAQ;EAACD,OAAO,EAAEL,WAAY;EAAC,eAAY,cAAc;EAAC,cAAW;AAAe,GAC3FF,KACE,CACF,CACN;AAEDC,gBAAgB,CAACQ,SAAS,GAAG;EAC3BP,WAAW,EAAEJ,SAAS,CAACY,IAAI,CAACC;AAC9B,CAAC;AAED,eAAeV,gBAAgB"}
1
+ {"version":3,"file":"ResetDesktopForm.js","names":["React","PropTypes","FaRedoAlt","RESET","ResetDesktopForm","handleReset","createElement","className","type","title","onClick","role","propTypes","func","isRequired"],"sources":["../../../../src/components/SearchFilter/SearchFilter/ResetDesktopForm.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FaRedoAlt } from 'react-icons/fa';\nimport { RESET } from '../constants';\n\nconst ResetDesktopForm = ({ handleReset }) => (\n <div className=\"filter__reset\">\n <button\n type=\"button\"\n className=\"icon-button icon-button--reset\"\n title=\"reset--button\"\n data-testid=\"reset-icon\"\n onClick={handleReset}\n aria-label=\"Reset search filters\">\n <i>\n <FaRedoAlt />\n </i>\n </button>\n\n <div role=\"button\" onClick={handleReset} data-testid=\"reset-button\">\n {RESET}\n </div>\n </div>\n);\n\nResetDesktopForm.propTypes = {\n handleReset: PropTypes.func.isRequired\n};\n\nexport default ResetDesktopForm;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,SAASC,KAAK,QAAQ,cAAc;AAEpC,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC;AAAY,CAAC,kBACvCL,KAAA,CAAAM,aAAA;EAAKC,SAAS,EAAC;AAAe,gBAC5BP,KAAA,CAAAM,aAAA;EACEE,IAAI,EAAC,QAAQ;EACbD,SAAS,EAAC,gCAAgC;EAC1CE,KAAK,EAAC,eAAe;EACrB,eAAY,YAAY;EACxBC,OAAO,EAAEL,WAAY;EACrB,cAAW;AAAsB,gBACjCL,KAAA,CAAAM,aAAA,yBACEN,KAAA,CAAAM,aAAA,CAACJ,SAAS,MAAE,CACX,CACG,CAAC,eAETF,KAAA,CAAAM,aAAA;EAAKK,IAAI,EAAC,QAAQ;EAACD,OAAO,EAAEL,WAAY;EAAC,eAAY;AAAc,GAChEF,KACE,CACF,CACN;AAEDC,gBAAgB,CAACQ,SAAS,GAAG;EAC3BP,WAAW,EAAEJ,SAAS,CAACY,IAAI,CAACC;AAC9B,CAAC;AAED,eAAeV,gBAAgB"}
@@ -124,6 +124,7 @@ const SearchFilter = ({
124
124
  "data-testId": "search-filter-desktop-toggler",
125
125
  className: moreFiltersDesktopTogglerClass,
126
126
  type: "button",
127
+ "aria-label": moreFiltersDesktopCollapsed ? 'Show more search filters' : 'Show less search filters',
127
128
  onClick: () => setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)
128
129
  }, moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'), /*#__PURE__*/React.createElement("div", {
129
130
  className: moreFiltersDesktopWrapperClass
@@ -159,11 +160,11 @@ const SearchFilter = ({
159
160
  handleReset: handleReset
160
161
  })), isCollapsedOnResponsive && !displaySearchFilter && /*#__PURE__*/React.createElement("div", {
161
162
  className: "filter__refine filter__refine--mobile-close",
162
- "data-testid": "refine-mobile"
163
+ "data-testid": "refine-mobile",
164
+ "aria-label": "Toggle Search Filter"
163
165
  }, /*#__PURE__*/React.createElement("div", {
164
166
  role: "button",
165
- onClick: () => setDisplaySearchFilter(true),
166
- "aria-label": "Toggle Search Filter"
167
+ onClick: () => setDisplaySearchFilter(true)
167
168
  }, REFINE)));
168
169
  };
169
170
  SearchFilter.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","getResponsiveFilterClassnames","buildUrlQuery","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, getResponsiveFilterClassnames, buildUrlQuery } from '../helpers';\n\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = filterValues\n ? buildUrlQuery(newValues, filters, listComponentName, query)\n : '';\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n {moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'}\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div\n role=\"button\"\n onClick={() => setDisplaySearchFilter(true)}\n aria-label=\"Toggle Search Filter\">\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","getResponsiveFilterClassnames","buildUrlQuery","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, getResponsiveFilterClassnames, buildUrlQuery } from '../helpers';\n\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = filterValues\n ? buildUrlQuery(newValues, filters, listComponentName, query)\n : '';\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n aria-label={\n moreFiltersDesktopCollapsed\n ? 'Show more search filters'\n : 'Show less search filters'\n }\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n {moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'}\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div\n className=\"filter__refine filter__refine--mobile-close\"\n data-testid=\"refine-mobile\"\n aria-label=\"Toggle Search Filter\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
@@ -75,7 +75,7 @@ const Checkbox = ({
75
75
  role: "button",
76
76
  className: "see-more",
77
77
  onClick: handleCheckboxOptions,
78
- "aria-label": shouldDisplayMore ? `See ${MORE} options` : `See ${LESS} options`
78
+ "aria-label": shouldDisplayMore ? `See ${MORE} ${label} options` : `See ${LESS} ${label} options`
79
79
  }, shouldDisplayMore ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaChevronDown, {
80
80
  className: "inline-icon"
81
81
  })), ` See ${MORE}`) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaChevronUp, {
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["React","useState","PropTypes","upperFirst","Checkboxes","FaChevronDown","FaChevronUp","withTitle","decodeValue","LIMIT_MIN","LIMIT_MAX","MORE","LESS","Checkbox","data","prop","updateFilterValues","filterValues","label","elementTitle","shouldSearch","displayFilterCount","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","checkboxQueryParams","map","val","multiple","sortedValues","buckets","key","doc_count","count","optionLabel","filter","Boolean","sort","forEach","value","i","push","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","className","options","onChange","eData","newCheckboxValues","length","role","onClick","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Checkbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash.upperfirst';\nimport { Checkboxes } from '@blaze-react/checkboxes';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { withTitle } from '../../../HOC';\nimport { decodeValue } from '../helpers';\nimport { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';\n\nconst Checkbox = ({\n data,\n prop,\n updateFilterValues,\n filterValues,\n label,\n elementTitle,\n shouldSearch,\n displayFilterCount\n}) => {\n const [checkboxLimit, setCheckboxLimit] = useState(null);\n if (!data[prop]) return null;\n\n const handleCheckboxOptions = () => {\n if (checkboxLimit[prop] === LIMIT_MIN) {\n setCheckboxLimit({ [prop]: LIMIT_MAX });\n } else {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n };\n\n if (!checkboxLimit) {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n\n if (!checkboxLimit) return null;\n\n let checkboxQueryParams = [];\n\n if (filterValues && filterValues[prop]) {\n checkboxQueryParams =\n typeof filterValues[prop] === 'string'\n ? [decodeValue(filterValues[prop])]\n : filterValues[prop].map(val => decodeValue(val));\n }\n const multiple = [];\n\n const sortedValues = data[prop].buckets\n .map(({ key, doc_count: count }) => {\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel, !count];\n })\n .filter(Boolean)\n .sort();\n\n sortedValues.forEach(\n (value, i) =>\n i < checkboxLimit[prop] &&\n multiple.push({\n label: upperFirst(value[1]),\n value: value[0],\n name: prop,\n checked: checkboxQueryParams.includes(value[0]),\n id: value[0],\n disabled: value[2]\n })\n );\n\n const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;\n return (\n <>\n {label ? <p>{label}</p> : ''}\n <Checkboxes\n className=\"form-checkbox\"\n options={multiple}\n onChange={({ data: eData }) => {\n const newCheckboxValues = eData\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n updateFilterValues({ [prop]: newCheckboxValues }, shouldSearch);\n }}\n />\n {data[prop].buckets.length > LIMIT_MIN && (\n <div\n role=\"button\"\n className=\"see-more\"\n onClick={handleCheckboxOptions}\n aria-label={shouldDisplayMore ? `See ${MORE} options` : `See ${LESS} options`}>\n {shouldDisplayMore ? (\n <>\n <i>\n <FaChevronDown className=\"inline-icon\" />\n </i>\n {` See ${MORE}`}\n </>\n ) : (\n <>\n <i>\n <FaChevronUp className=\"inline-icon\" />\n </i>\n {` See ${LESS}`}\n </>\n )}\n </div>\n )}\n </>\n );\n};\n\nCheckbox.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n displayFilterCount: PropTypes.bool\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayFilterCount: false\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["React","useState","PropTypes","upperFirst","Checkboxes","FaChevronDown","FaChevronUp","withTitle","decodeValue","LIMIT_MIN","LIMIT_MAX","MORE","LESS","Checkbox","data","prop","updateFilterValues","filterValues","label","elementTitle","shouldSearch","displayFilterCount","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","checkboxQueryParams","map","val","multiple","sortedValues","buckets","key","doc_count","count","optionLabel","filter","Boolean","sort","forEach","value","i","push","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","className","options","onChange","eData","newCheckboxValues","length","role","onClick","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Checkbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash.upperfirst';\nimport { Checkboxes } from '@blaze-react/checkboxes';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { withTitle } from '../../../HOC';\nimport { decodeValue } from '../helpers';\nimport { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';\n\nconst Checkbox = ({\n data,\n prop,\n updateFilterValues,\n filterValues,\n label,\n elementTitle,\n shouldSearch,\n displayFilterCount\n}) => {\n const [checkboxLimit, setCheckboxLimit] = useState(null);\n if (!data[prop]) return null;\n\n const handleCheckboxOptions = () => {\n if (checkboxLimit[prop] === LIMIT_MIN) {\n setCheckboxLimit({ [prop]: LIMIT_MAX });\n } else {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n };\n\n if (!checkboxLimit) {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n\n if (!checkboxLimit) return null;\n\n let checkboxQueryParams = [];\n\n if (filterValues && filterValues[prop]) {\n checkboxQueryParams =\n typeof filterValues[prop] === 'string'\n ? [decodeValue(filterValues[prop])]\n : filterValues[prop].map(val => decodeValue(val));\n }\n const multiple = [];\n\n const sortedValues = data[prop].buckets\n .map(({ key, doc_count: count }) => {\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel, !count];\n })\n .filter(Boolean)\n .sort();\n\n sortedValues.forEach(\n (value, i) =>\n i < checkboxLimit[prop] &&\n multiple.push({\n label: upperFirst(value[1]),\n value: value[0],\n name: prop,\n checked: checkboxQueryParams.includes(value[0]),\n id: value[0],\n disabled: value[2]\n })\n );\n\n const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;\n return (\n <>\n {label ? <p>{label}</p> : ''}\n <Checkboxes\n className=\"form-checkbox\"\n options={multiple}\n onChange={({ data: eData }) => {\n const newCheckboxValues = eData\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n updateFilterValues({ [prop]: newCheckboxValues }, shouldSearch);\n }}\n />\n {data[prop].buckets.length > LIMIT_MIN && (\n <div\n role=\"button\"\n className=\"see-more\"\n onClick={handleCheckboxOptions}\n aria-label={\n shouldDisplayMore ? `See ${MORE} ${label} options` : `See ${LESS} ${label} options`\n }>\n {shouldDisplayMore ? (\n <>\n <i>\n <FaChevronDown className=\"inline-icon\" />\n </i>\n {` See ${MORE}`}\n </>\n ) : (\n <>\n <i>\n <FaChevronUp className=\"inline-icon\" />\n </i>\n {` See ${LESS}`}\n </>\n )}\n </div>\n )}\n </>\n );\n};\n\nCheckbox.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n displayFilterCount: PropTypes.bool\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayFilterCount: false\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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"}
@@ -30,6 +30,7 @@ const TextSearch = ({
30
30
  })), /*#__PURE__*/React.createElement("button", {
31
31
  type: "button",
32
32
  className: "icon-button icon-button--search",
33
+ "aria-label": "Search",
33
34
  onClick: e => {
34
35
  e.preventDefault();
35
36
  updateFilterValues({
@@ -1 +1 @@
1
- {"version":3,"file":"TextSearch.js","names":["React","PropTypes","Input","MdSearch","SEARCH_TERM","TextSearch","label","searchValue","updateFilterValues","elementTitle","createElement","Fragment","className","id","value","placeholder","onChange","eValue","type","onClick","e","preventDefault","propTypes","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/TextSearch.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Input from '@blaze-react/input';\nimport { MdSearch } from 'react-icons/md';\nimport { SEARCH_TERM } from '../constants';\n\nconst TextSearch = ({ label, searchValue, updateFilterValues, elementTitle }) => (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <div className=\"search\">\n <div className=\"search__wrapper\">\n <div className=\"form-field form-field--input form-field--search\">\n <Input\n id={SEARCH_TERM}\n value={searchValue}\n placeholder={label || 'Search'}\n onChange={({ value: eValue }) => {\n updateFilterValues({ [SEARCH_TERM]: eValue }, false);\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"icon-button icon-button--search\"\n onClick={e => {\n e.preventDefault();\n updateFilterValues({ [SEARCH_TERM]: searchValue }, true);\n }}>\n <i>\n <MdSearch />\n </i>\n </button>\n </div>\n </div>\n </>\n);\n\nTextSearch.propTypes = {\n searchValue: PropTypes.string.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n elementTitle: PropTypes.string,\n label: PropTypes.string\n};\n\nTextSearch.defaultProps = {\n elementTitle: '',\n label: ''\n};\n\nexport default TextSearch;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,oBAAoB;AACtC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,WAAW,QAAQ,cAAc;AAE1C,MAAMC,UAAU,GAAGA,CAAC;EAAEC,KAAK;EAAEC,WAAW;EAAEC,kBAAkB;EAAEC;AAAa,CAAC,kBAC1ET,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAW,QAAA,QACGF,YAAY,iBAAIT,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAA0B,GAAEH,YAAkB,CAAC,eAC/ET,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAAQ,gBACrBZ,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAAiB,gBAC9BZ,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAAiD,gBAC9DZ,KAAA,CAAAU,aAAA,CAACR,KAAK;EACJW,EAAE,EAAET,WAAY;EAChBU,KAAK,EAAEP,WAAY;EACnBQ,WAAW,EAAET,KAAK,IAAI,QAAS;EAC/BU,QAAQ,EAAEA,CAAC;IAAEF,KAAK,EAAEG;EAAO,CAAC,KAAK;IAC/BT,kBAAkB,CAAC;MAAE,CAACJ,WAAW,GAAGa;IAAO,CAAC,EAAE,KAAK,CAAC;EACtD;AAAE,CACH,CACE,CAAC,eACNjB,KAAA,CAAAU,aAAA;EACEQ,IAAI,EAAC,QAAQ;EACbN,SAAS,EAAC,iCAAiC;EAC3CO,OAAO,EAAEC,CAAC,IAAI;IACZA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClBb,kBAAkB,CAAC;MAAE,CAACJ,WAAW,GAAGG;IAAY,CAAC,EAAE,IAAI,CAAC;EAC1D;AAAE,gBACFP,KAAA,CAAAU,aAAA,yBACEV,KAAA,CAAAU,aAAA,CAACP,QAAQ,MAAE,CACV,CACG,CACL,CACF,CACL,CACH;AAEDE,UAAU,CAACiB,SAAS,GAAG;EACrBf,WAAW,EAAEN,SAAS,CAACsB,MAAM,CAACC,UAAU;EACxChB,kBAAkB,EAAEP,SAAS,CAACwB,IAAI,CAACD,UAAU;EAC7Cf,YAAY,EAAER,SAAS,CAACsB,MAAM;EAC9BjB,KAAK,EAAEL,SAAS,CAACsB;AACnB,CAAC;AAEDlB,UAAU,CAACqB,YAAY,GAAG;EACxBjB,YAAY,EAAE,EAAE;EAChBH,KAAK,EAAE;AACT,CAAC;AAED,eAAeD,UAAU"}
1
+ {"version":3,"file":"TextSearch.js","names":["React","PropTypes","Input","MdSearch","SEARCH_TERM","TextSearch","label","searchValue","updateFilterValues","elementTitle","createElement","Fragment","className","id","value","placeholder","onChange","eValue","type","onClick","e","preventDefault","propTypes","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/TextSearch.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Input from '@blaze-react/input';\nimport { MdSearch } from 'react-icons/md';\nimport { SEARCH_TERM } from '../constants';\n\nconst TextSearch = ({ label, searchValue, updateFilterValues, elementTitle }) => (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <div className=\"search\">\n <div className=\"search__wrapper\">\n <div className=\"form-field form-field--input form-field--search\">\n <Input\n id={SEARCH_TERM}\n value={searchValue}\n placeholder={label || 'Search'}\n onChange={({ value: eValue }) => {\n updateFilterValues({ [SEARCH_TERM]: eValue }, false);\n }}\n />\n </div>\n <button\n type=\"button\"\n className=\"icon-button icon-button--search\"\n aria-label=\"Search\"\n onClick={e => {\n e.preventDefault();\n updateFilterValues({ [SEARCH_TERM]: searchValue }, true);\n }}>\n <i>\n <MdSearch />\n </i>\n </button>\n </div>\n </div>\n </>\n);\n\nTextSearch.propTypes = {\n searchValue: PropTypes.string.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n elementTitle: PropTypes.string,\n label: PropTypes.string\n};\n\nTextSearch.defaultProps = {\n elementTitle: '',\n label: ''\n};\n\nexport default TextSearch;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,oBAAoB;AACtC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,WAAW,QAAQ,cAAc;AAE1C,MAAMC,UAAU,GAAGA,CAAC;EAAEC,KAAK;EAAEC,WAAW;EAAEC,kBAAkB;EAAEC;AAAa,CAAC,kBAC1ET,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAW,QAAA,QACGF,YAAY,iBAAIT,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAA0B,GAAEH,YAAkB,CAAC,eAC/ET,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAAQ,gBACrBZ,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAAiB,gBAC9BZ,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAAiD,gBAC9DZ,KAAA,CAAAU,aAAA,CAACR,KAAK;EACJW,EAAE,EAAET,WAAY;EAChBU,KAAK,EAAEP,WAAY;EACnBQ,WAAW,EAAET,KAAK,IAAI,QAAS;EAC/BU,QAAQ,EAAEA,CAAC;IAAEF,KAAK,EAAEG;EAAO,CAAC,KAAK;IAC/BT,kBAAkB,CAAC;MAAE,CAACJ,WAAW,GAAGa;IAAO,CAAC,EAAE,KAAK,CAAC;EACtD;AAAE,CACH,CACE,CAAC,eACNjB,KAAA,CAAAU,aAAA;EACEQ,IAAI,EAAC,QAAQ;EACbN,SAAS,EAAC,iCAAiC;EAC3C,cAAW,QAAQ;EACnBO,OAAO,EAAEC,CAAC,IAAI;IACZA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClBb,kBAAkB,CAAC;MAAE,CAACJ,WAAW,GAAGG;IAAY,CAAC,EAAE,IAAI,CAAC;EAC1D;AAAE,gBACFP,KAAA,CAAAU,aAAA,yBACEV,KAAA,CAAAU,aAAA,CAACP,QAAQ,MAAE,CACV,CACG,CACL,CACF,CACL,CACH;AAEDE,UAAU,CAACiB,SAAS,GAAG;EACrBf,WAAW,EAAEN,SAAS,CAACsB,MAAM,CAACC,UAAU;EACxChB,kBAAkB,EAAEP,SAAS,CAACwB,IAAI,CAACD,UAAU;EAC7Cf,YAAY,EAAER,SAAS,CAACsB,MAAM;EAC9BjB,KAAK,EAAEL,SAAS,CAACsB;AACnB,CAAC;AAEDlB,UAAU,CAACqB,YAAY,GAAG;EACxBjB,YAAY,EAAE,EAAE;EAChBH,KAAK,EAAE;AACT,CAAC;AAED,eAAeD,UAAU"}
@@ -50,7 +50,6 @@ const VimeoProvider = ({
50
50
  role: "button",
51
51
  className: VIDEO_WRAPPER_CLASS_NAME,
52
52
  style: videoStyle,
53
- "aria-label": "Open video",
54
53
  onClick: () => !shouldRenderVideo && setShouldRenderVideo(true)
55
54
  }, shouldRenderVideo && !videoError && wrappedCode, videoError && videoError.message);
56
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"VimeoProvider.js","names":["React","useEffect","useState","useRef","PropTypes","parseHTML","addExtraParamsToUrl","wrapScriptTags","VIDEO_WRAPPER_CLASS_NAME","VimeoProvider","url","autoplay","loop","imageData","inputEl","videoData","setVideoData","videoError","setVideoError","shouldRenderVideo","setShouldRenderVideo","fetchVideoData","videoUrl","res","fetch","data","json","err","currentHeight","current","clientHeight","urlWithParams","height","thumbnail_url_with_play_button","thumbnailUrl","html","imageUrl","backgroundUrl","videoStyle","backgroundImage","maxheight","parsedCode","wrappedCode","createElement","ref","role","className","style","onClick","message","propTypes","string","isRequired","bool","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/Vimeo/VimeoProvider.js"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport parseHTML from 'html-react-parser';\nimport { addExtraParamsToUrl } from './helpers';\nimport { wrapScriptTags } from '../../../Code/helpers';\nimport { VIDEO_WRAPPER_CLASS_NAME } from '../../../../constants';\n\nconst VimeoProvider = ({ url, autoplay, loop, imageData }) => {\n const inputEl = useRef(null);\n const [videoData, setVideoData] = useState(null);\n const [videoError, setVideoError] = useState(null);\n const [shouldRenderVideo, setShouldRenderVideo] = useState(!!autoplay);\n\n useEffect(\n () => {\n async function fetchVideoData(videoUrl) {\n try {\n const res = await fetch(videoUrl);\n const data = await res.json();\n setVideoData(data);\n } catch (err) {\n setVideoError(err);\n }\n }\n if (url) {\n const currentHeight = inputEl.current.clientHeight;\n const urlWithParams = addExtraParamsToUrl(url, {\n autoplay: true,\n loop,\n height: currentHeight\n });\n fetchVideoData(urlWithParams);\n }\n },\n [autoplay, loop, url]\n );\n\n const { thumbnail_url_with_play_button: thumbnailUrl, html = '' } = videoData || {};\n const imageUrl = imageData && imageData.url;\n const backgroundUrl = imageUrl || thumbnailUrl;\n const videoStyle = {};\n if (!shouldRenderVideo && backgroundUrl)\n videoStyle.backgroundImage = `url(${!shouldRenderVideo ? backgroundUrl : ''})`;\n if (inputEl && inputEl.current) videoStyle.maxheight = inputEl.current.clientHeight;\n const parsedCode = parseHTML(html);\n const wrappedCode = wrapScriptTags(parsedCode);\n\n return (\n <div\n ref={inputEl}\n role=\"button\"\n className={VIDEO_WRAPPER_CLASS_NAME}\n style={videoStyle}\n aria-label=\"Open video\"\n onClick={() => !shouldRenderVideo && setShouldRenderVideo(true)}>\n {shouldRenderVideo && !videoError && wrappedCode}\n {videoError && videoError.message}\n </div>\n );\n};\n\nVimeoProvider.propTypes = {\n url: PropTypes.string.isRequired,\n autoplay: PropTypes.bool,\n loop: PropTypes.bool,\n imageData: PropTypes.object\n};\n\nVimeoProvider.defaultProps = {\n autoplay: false,\n loop: false,\n imageData: null\n};\n\nexport default VimeoProvider;\n"],"mappings":"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"}
1
+ {"version":3,"file":"VimeoProvider.js","names":["React","useEffect","useState","useRef","PropTypes","parseHTML","addExtraParamsToUrl","wrapScriptTags","VIDEO_WRAPPER_CLASS_NAME","VimeoProvider","url","autoplay","loop","imageData","inputEl","videoData","setVideoData","videoError","setVideoError","shouldRenderVideo","setShouldRenderVideo","fetchVideoData","videoUrl","res","fetch","data","json","err","currentHeight","current","clientHeight","urlWithParams","height","thumbnail_url_with_play_button","thumbnailUrl","html","imageUrl","backgroundUrl","videoStyle","backgroundImage","maxheight","parsedCode","wrappedCode","createElement","ref","role","className","style","onClick","message","propTypes","string","isRequired","bool","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/Vimeo/VimeoProvider.js"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport parseHTML from 'html-react-parser';\nimport { addExtraParamsToUrl } from './helpers';\nimport { wrapScriptTags } from '../../../Code/helpers';\nimport { VIDEO_WRAPPER_CLASS_NAME } from '../../../../constants';\n\nconst VimeoProvider = ({ url, autoplay, loop, imageData }) => {\n const inputEl = useRef(null);\n const [videoData, setVideoData] = useState(null);\n const [videoError, setVideoError] = useState(null);\n const [shouldRenderVideo, setShouldRenderVideo] = useState(!!autoplay);\n\n useEffect(\n () => {\n async function fetchVideoData(videoUrl) {\n try {\n const res = await fetch(videoUrl);\n const data = await res.json();\n setVideoData(data);\n } catch (err) {\n setVideoError(err);\n }\n }\n if (url) {\n const currentHeight = inputEl.current.clientHeight;\n const urlWithParams = addExtraParamsToUrl(url, {\n autoplay: true,\n loop,\n height: currentHeight\n });\n fetchVideoData(urlWithParams);\n }\n },\n [autoplay, loop, url]\n );\n\n const { thumbnail_url_with_play_button: thumbnailUrl, html = '' } = videoData || {};\n const imageUrl = imageData && imageData.url;\n const backgroundUrl = imageUrl || thumbnailUrl;\n const videoStyle = {};\n if (!shouldRenderVideo && backgroundUrl)\n videoStyle.backgroundImage = `url(${!shouldRenderVideo ? backgroundUrl : ''})`;\n if (inputEl && inputEl.current) videoStyle.maxheight = inputEl.current.clientHeight;\n const parsedCode = parseHTML(html);\n const wrappedCode = wrapScriptTags(parsedCode);\n\n return (\n <div\n ref={inputEl}\n role=\"button\"\n className={VIDEO_WRAPPER_CLASS_NAME}\n style={videoStyle}\n onClick={() => !shouldRenderVideo && setShouldRenderVideo(true)}>\n {shouldRenderVideo && !videoError && wrappedCode}\n {videoError && videoError.message}\n </div>\n );\n};\n\nVimeoProvider.propTypes = {\n url: PropTypes.string.isRequired,\n autoplay: PropTypes.bool,\n loop: PropTypes.bool,\n imageData: PropTypes.object\n};\n\nVimeoProvider.defaultProps = {\n autoplay: false,\n loop: false,\n imageData: null\n};\n\nexport default VimeoProvider;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.146.0-alpha.0",
3
+ "version": "0.146.0-alpha.4",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -37,12 +37,12 @@
37
37
  "@blaze-cms/utils": "^0.144.0",
38
38
  "@blaze-cms/utils-handlebars": "^0.143.0",
39
39
  "@blaze-react/breadcrumb": "0.8.0-alpha.60",
40
- "@blaze-react/button": "0.5.19",
40
+ "@blaze-react/button": "0.8.0-alpha.82",
41
41
  "@blaze-react/checkboxes": "0.5.31",
42
42
  "@blaze-react/input": "0.8.0-alpha.78",
43
43
  "@blaze-react/modal": "0.5.19",
44
44
  "@blaze-react/range-filter": "0.7.2",
45
- "@blaze-react/select": "0.8.0-alpha.78",
45
+ "@blaze-react/select": "0.8.0-alpha.80",
46
46
  "@blaze-react/utils": "0.5.15",
47
47
  "core-js": "^3.2.1",
48
48
  "dayjs": "^1.11.11",
@@ -90,5 +90,5 @@
90
90
  "lib/*",
91
91
  "lib-es/*"
92
92
  ],
93
- "gitHead": "7e214e0f4b33c976d45fe5b257cbc180457b9444"
93
+ "gitHead": "bfd9bab0c217f1f9a366a8d1caf3b22115235096"
94
94
  }
@@ -1,12 +1,9 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { FaArrowUp } from 'react-icons/fa';
4
- import Wrapper from '../Wrapper';
5
- import { getClassModifiers } from '../../utils';
6
4
 
7
- const BackToTop = ({ type, showAfterPixels, ...otherProps }) => {
5
+ const BackToTop = ({ type, showAfterPixels }) => {
8
6
  const [goToTop, setGoToTop] = useState(false);
9
- const modifiers = getClassModifiers(type, otherProps);
10
7
 
11
8
  useEffect(
12
9
  () => {
@@ -17,23 +14,21 @@ const BackToTop = ({ type, showAfterPixels, ...otherProps }) => {
17
14
  [showAfterPixels]
18
15
  );
19
16
 
20
- const handleBackToTop = () => {
17
+ const handleBackToTop = event => {
18
+ event.preventDefault();
21
19
  window.scroll({
22
20
  top: 0,
23
21
  left: 0,
24
22
  behavior: 'smooth'
25
23
  });
26
- setGoToTop(false);
27
24
  };
28
25
 
29
26
  return (
30
27
  <>
31
28
  {goToTop && (
32
- <Wrapper className={type} modifiers={modifiers} onClick={handleBackToTop}>
33
- <i>
34
- <FaArrowUp />
35
- </i>
36
- </Wrapper>
29
+ <a href="#top" className={type} onClick={handleBackToTop} aria-label="Back to top">
30
+ <FaArrowUp />
31
+ </a>
37
32
  )}
38
33
  </>
39
34
  );
@@ -51,7 +51,8 @@ const Card = ({
51
51
  const router = useRouter();
52
52
  const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({
53
53
  image,
54
- displayThumbnail
54
+ displayThumbnail,
55
+ name
55
56
  });
56
57
 
57
58
  const modifiers = getInitialModifiers({ modifier, style, otherProps });
@@ -265,10 +266,10 @@ const getCategoryDefinedProps = ({
265
266
  return { publishedListingPage, preHeader, label, headline };
266
267
  };
267
268
 
268
- const getImageDefinedProps = ({ image, displayThumbnail }) => {
269
+ const getImageDefinedProps = ({ image, displayThumbnail, name }) => {
269
270
  const { url: imageSrc, data } = image || {};
270
271
  const shouldDisplayThumbnail = displayThumbnail && imageSrc;
271
- const altText = (data && data.altText) || '';
272
+ const altText = (data && data.altText) || name;
272
273
  return { imageSrc, shouldDisplayThumbnail, altText };
273
274
  };
274
275
 
@@ -36,6 +36,7 @@ const CardContainer = ({
36
36
  autoScrollTimer,
37
37
  overlayModifier,
38
38
  titleOverlayModifier,
39
+ VariantComponent,
39
40
  ...cardProps
40
41
  }) => {
41
42
  const { itemId } = useContext(MainContext);
@@ -47,7 +48,8 @@ const CardContainer = ({
47
48
  const dynamicWrapperSizes = enableCarousel
48
49
  ? ''
49
50
  : getDynamicGridClasses('grid', itemsPerRow, designConfig);
50
- const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;
51
+ const InitialWrapper = enableCarousel ? CarouselWrapper : Wrapper;
52
+ const CardWrapper = VariantComponent || InitialWrapper;
51
53
  let bannerIndex = 0;
52
54
 
53
55
  return (
@@ -154,7 +156,8 @@ CardContainer.propTypes = {
154
156
  enableOverlay: PropTypes.bool,
155
157
  overlayModifier: PropTypes.string,
156
158
  titleOverlayModifier: PropTypes.string,
157
- autoScrollTimer: PropTypes.number
159
+ autoScrollTimer: PropTypes.number,
160
+ VariantComponent: PropTypes.func
158
161
  };
159
162
 
160
163
  CardContainer.defaultProps = {
@@ -179,7 +182,8 @@ CardContainer.defaultProps = {
179
182
  enableOverlay: false,
180
183
  autoScrollTimer: 0,
181
184
  overlayModifier: '',
182
- titleOverlayModifier: ''
185
+ titleOverlayModifier: '',
186
+ VariantComponent: null
183
187
  };
184
188
 
185
189
  export default withTitle(CardContainer);