@blaze-cms/react-page-builder 0.143.0-core-styles.0 → 0.143.0-core-styles.7

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 (91) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/components/Carousel/CarouselImage/CarouselImage.js +1 -0
  3. package/lib/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  4. package/lib/components/Carousel/CarouselRender/CarouselRender.js +2 -0
  5. package/lib/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
  6. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js +5 -2
  7. package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  8. package/lib/components/ItemList/ItemListButton/ItemListButton.js +2 -1
  9. package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -1
  10. package/lib/components/ItemList/ItemListCounter/ItemListCounter.js +1 -0
  11. package/lib/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -1
  12. package/lib/components/ItemList/ItemListNew/ItemListNew.js +2 -1
  13. package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  14. package/lib/components/MenuItem/MenuItem.js +3 -1
  15. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  16. package/lib/components/SearchFilter/SearchFilter/CloseMobileForm.js +2 -1
  17. package/lib/components/SearchFilter/SearchFilter/CloseMobileForm.js.map +1 -1
  18. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js +2 -1
  19. package/lib/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  20. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js +2 -1
  21. package/lib/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  22. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +2 -1
  23. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  24. package/lib/components/SearchFilter/components/Checkbox.js +2 -1
  25. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  26. package/lib/components/Video/VideoModal.js +1 -0
  27. package/lib/components/Video/VideoModal.js.map +1 -1
  28. package/lib/components/Video/providers/Vimeo/VimeoProvider.js +1 -0
  29. package/lib/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  30. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js +1 -0
  31. package/lib/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  32. package/lib-es/components/Carousel/CarouselImage/CarouselImage.js +1 -0
  33. package/lib-es/components/Carousel/CarouselImage/CarouselImage.js.map +1 -1
  34. package/lib-es/components/Carousel/CarouselRender/CarouselRender.js +2 -0
  35. package/lib-es/components/Carousel/CarouselRender/CarouselRender.js.map +1 -1
  36. package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js +5 -2
  37. package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
  38. package/lib-es/components/ItemList/ItemListButton/ItemListButton.js +2 -1
  39. package/lib-es/components/ItemList/ItemListButton/ItemListButton.js.map +1 -1
  40. package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js +1 -0
  41. package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -1
  42. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +2 -1
  43. package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
  44. package/lib-es/components/MenuItem/MenuItem.js +3 -1
  45. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  46. package/lib-es/components/SearchFilter/SearchFilter/CloseMobileForm.js +2 -1
  47. package/lib-es/components/SearchFilter/SearchFilter/CloseMobileForm.js.map +1 -1
  48. package/lib-es/components/SearchFilter/SearchFilter/MobileFormToolbar.js +2 -1
  49. package/lib-es/components/SearchFilter/SearchFilter/MobileFormToolbar.js.map +1 -1
  50. package/lib-es/components/SearchFilter/SearchFilter/ResetDesktopForm.js +2 -1
  51. package/lib-es/components/SearchFilter/SearchFilter/ResetDesktopForm.js.map +1 -1
  52. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +2 -1
  53. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  54. package/lib-es/components/SearchFilter/components/Checkbox.js +2 -1
  55. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  56. package/lib-es/components/Video/VideoModal.js +1 -0
  57. package/lib-es/components/Video/VideoModal.js.map +1 -1
  58. package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js +1 -0
  59. package/lib-es/components/Video/providers/Vimeo/VimeoProvider.js.map +1 -1
  60. package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js +1 -0
  61. package/lib-es/components/Video/providers/YouTube/YoutubeEmbeded.js.map +1 -1
  62. package/package.json +2 -2
  63. package/src/components/Carousel/CarouselImage/CarouselImage.js +1 -0
  64. package/src/components/Carousel/CarouselRender/CarouselRender.js +2 -0
  65. package/src/components/Image/GlobalLightbox/GlobalLightbox.js +12 -2
  66. package/src/components/ItemList/ItemListButton/ItemListButton.js +2 -1
  67. package/src/components/ItemList/ItemListCounter/ItemListCounter.js +1 -0
  68. package/src/components/ItemList/ItemListNew/ItemListNew.js +4 -1
  69. package/src/components/MenuItem/MenuItem.js +4 -1
  70. package/src/components/SearchFilter/SearchFilter/CloseMobileForm.js +1 -1
  71. package/src/components/SearchFilter/SearchFilter/MobileFormToolbar.js +6 -1
  72. package/src/components/SearchFilter/SearchFilter/ResetDesktopForm.js +1 -1
  73. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +4 -1
  74. package/src/components/SearchFilter/components/Checkbox.js +5 -1
  75. package/src/components/Video/VideoModal.js +1 -0
  76. package/src/components/Video/providers/Vimeo/VimeoProvider.js +1 -0
  77. package/src/components/Video/providers/YouTube/YoutubeEmbeded.js +1 -0
  78. package/tests/unit/src/components/Carousel/CarouselImage/__snapshots__/CarouselImage.test.js.snap +1 -0
  79. package/tests/unit/src/components/Carousel/__snapshots__/Carousel.test.js.snap +5 -0
  80. package/tests/unit/src/components/Image/GlobalLightbox/__snapshots__/GlobalLightbox.test.js.snap +1 -0
  81. package/tests/unit/src/components/ItemList/__snapshots__/ItemListButton.test.js.snap +4 -0
  82. package/tests/unit/src/components/ItemList/__snapshots__/ItemListCounter.test.js.snap +1 -0
  83. package/tests/unit/src/components/ItemList/__snapshots__/ItemListNew.test.js.snap +2 -0
  84. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +3 -0
  85. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/CloseMobileForm.test.js.snap +1 -0
  86. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/MobileFormToolbar.test.js.snap +1 -0
  87. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/ResetDesktopForm.test.js.snap +1 -0
  88. package/tests/unit/src/components/SearchFilter/SearchFilter/__snapshots__/SearchFilter.test.js.snap +18 -0
  89. package/tests/unit/src/components/Video/__snapshots__/VideoModal.test.js.snap +1 -0
  90. package/tests/unit/src/components/Video/providers/Vimeo/__snapshots__/Vimeo.test.js.snap +1 -0
  91. package/tests/unit/src/components/Video/providers/YouTube/__snapshots__/YouTubeProvider.test.js.snap +1 -0
@@ -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 className=\"reset\" data-testid=\"reset-button\" role=\"button\" onClick={handleReset}>\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;EAAKC,SAAS,EAAC,OAAO;EAAC,eAAY,cAAc;EAACC,IAAI,EAAC,QAAQ;EAACC,OAAO,EAAEJ;AAAY,GAClFJ,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 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"}
@@ -15,7 +15,8 @@ const ResetDesktopForm = ({
15
15
  }, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaRedoAlt, null))), /*#__PURE__*/React.createElement("div", {
16
16
  role: "button",
17
17
  onClick: handleReset,
18
- "data-testid": "reset-button"
18
+ "data-testid": "reset-button",
19
+ "aria-label": "Reset Filters"
19
20
  }, RESET));
20
21
  ResetDesktopForm.propTypes = {
21
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\">\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;AAAc,GAChEF,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 <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"}
@@ -162,7 +162,8 @@ const SearchFilter = ({
162
162
  "data-testid": "refine-mobile"
163
163
  }, /*#__PURE__*/React.createElement("div", {
164
164
  role: "button",
165
- onClick: () => setDisplaySearchFilter(true)
165
+ onClick: () => setDisplaySearchFilter(true),
166
+ "aria-label": "Toggle Search Filter"
166
167
  }, REFINE)));
167
168
  };
168
169
  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 <br />\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 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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"}
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 <br />\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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"}
@@ -74,7 +74,8 @@ const Checkbox = ({
74
74
  }), data[prop].buckets.length > LIMIT_MIN && /*#__PURE__*/React.createElement("div", {
75
75
  role: "button",
76
76
  className: "see-more",
77
- onClick: handleCheckboxOptions
77
+ onClick: handleCheckboxOptions,
78
+ "aria-label": shouldDisplayMore ? `See ${MORE} options` : `See ${LESS} options`
78
79
  }, shouldDisplayMore ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaChevronDown, {
79
80
  className: "inline-icon"
80
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 role=\"button\" className=\"see-more\" onClick={handleCheckboxOptions}>\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={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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"}
@@ -8,6 +8,7 @@ const VideoModal = _ref => {
8
8
  const [displayModal, setDisplayModal] = useState(false);
9
9
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
10
10
  role: "button",
11
+ "aria-label": "Open video",
11
12
  onClick: () => {
12
13
  setDisplayModal(!displayModal);
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VideoModal.js","names":["React","useState","Modal","VideoRender","VideoModal","_ref","props","_extends","_objectDestructuringEmpty","displayModal","setDisplayModal","createElement","Fragment","role","onClick","placeholderOnly","autoplay","className","isFullScreen","showFooter","isSimple","onClose"],"sources":["../../../src/components/Video/VideoModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport Modal from '@blaze-react/modal';\nimport VideoRender from './VideoRender';\n\nconst VideoModal = ({ ...props }) => {\n const [displayModal, setDisplayModal] = useState(false);\n\n return (\n <>\n <div\n role=\"button\"\n onClick={() => {\n setDisplayModal(!displayModal);\n }}>\n <VideoRender placeholderOnly autoplay={false} {...props} />\n </div>\n {displayModal && (\n <Modal\n className=\"modal--video\"\n isFullScreen\n showFooter={false}\n isSimple\n onClose={() => setDisplayModal(!displayModal)}>\n <VideoRender {...props} placeholderOnly={false} autoplay />\n </Modal>\n )}\n </>\n );\n};\n\nexport default VideoModal;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,WAAW,MAAM,eAAe;AAEvC,MAAMC,UAAU,GAAGC,IAAA,IAAkB;EAAA,IAAZC,KAAK,GAAAC,QAAA,MAAAC,yBAAA,CAAAH,IAAA,GAAAA,IAAA;EAC5B,MAAM,CAACI,YAAY,EAAEC,eAAe,CAAC,GAAGT,QAAQ,CAAC,KAAK,CAAC;EAEvD,oBACED,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,qBACEZ,KAAA,CAAAW,aAAA;IACEE,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEA,CAAA,KAAM;MACbJ,eAAe,CAAC,CAACD,YAAY,CAAC;IAChC;EAAE,gBACFT,KAAA,CAAAW,aAAA,CAACR,WAAW,EAAAI,QAAA;IAACQ,eAAe;IAACC,QAAQ,EAAE;EAAM,GAAKV,KAAK,CAAG,CACvD,CAAC,EACLG,YAAY,iBACXT,KAAA,CAAAW,aAAA,CAACT,KAAK;IACJe,SAAS,EAAC,cAAc;IACxBC,YAAY;IACZC,UAAU,EAAE,KAAM;IAClBC,QAAQ;IACRC,OAAO,EAAEA,CAAA,KAAMX,eAAe,CAAC,CAACD,YAAY;EAAE,gBAC9CT,KAAA,CAAAW,aAAA,CAACR,WAAW,EAAAI,QAAA,KAAKD,KAAK;IAAES,eAAe,EAAE,KAAM;IAACC,QAAQ;EAAA,EAAE,CACrD,CAET,CAAC;AAEP,CAAC;AAED,eAAeZ,UAAU"}
1
+ {"version":3,"file":"VideoModal.js","names":["React","useState","Modal","VideoRender","VideoModal","_ref","props","_extends","_objectDestructuringEmpty","displayModal","setDisplayModal","createElement","Fragment","role","onClick","placeholderOnly","autoplay","className","isFullScreen","showFooter","isSimple","onClose"],"sources":["../../../src/components/Video/VideoModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport Modal from '@blaze-react/modal';\nimport VideoRender from './VideoRender';\n\nconst VideoModal = ({ ...props }) => {\n const [displayModal, setDisplayModal] = useState(false);\n\n return (\n <>\n <div\n role=\"button\"\n aria-label=\"Open video\"\n onClick={() => {\n setDisplayModal(!displayModal);\n }}>\n <VideoRender placeholderOnly autoplay={false} {...props} />\n </div>\n {displayModal && (\n <Modal\n className=\"modal--video\"\n isFullScreen\n showFooter={false}\n isSimple\n onClose={() => setDisplayModal(!displayModal)}>\n <VideoRender {...props} placeholderOnly={false} autoplay />\n </Modal>\n )}\n </>\n );\n};\n\nexport default VideoModal;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,WAAW,MAAM,eAAe;AAEvC,MAAMC,UAAU,GAAGC,IAAA,IAAkB;EAAA,IAAZC,KAAK,GAAAC,QAAA,MAAAC,yBAAA,CAAAH,IAAA,GAAAA,IAAA;EAC5B,MAAM,CAACI,YAAY,EAAEC,eAAe,CAAC,GAAGT,QAAQ,CAAC,KAAK,CAAC;EAEvD,oBACED,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,qBACEZ,KAAA,CAAAW,aAAA;IACEE,IAAI,EAAC,QAAQ;IACb,cAAW,YAAY;IACvBC,OAAO,EAAEA,CAAA,KAAM;MACbJ,eAAe,CAAC,CAACD,YAAY,CAAC;IAChC;EAAE,gBACFT,KAAA,CAAAW,aAAA,CAACR,WAAW,EAAAI,QAAA;IAACQ,eAAe;IAACC,QAAQ,EAAE;EAAM,GAAKV,KAAK,CAAG,CACvD,CAAC,EACLG,YAAY,iBACXT,KAAA,CAAAW,aAAA,CAACT,KAAK;IACJe,SAAS,EAAC,cAAc;IACxBC,YAAY;IACZC,UAAU,EAAE,KAAM;IAClBC,QAAQ;IACRC,OAAO,EAAEA,CAAA,KAAMX,eAAe,CAAC,CAACD,YAAY;EAAE,gBAC9CT,KAAA,CAAAW,aAAA,CAACR,WAAW,EAAAI,QAAA,KAAKD,KAAK;IAAES,eAAe,EAAE,KAAM;IAACC,QAAQ;EAAA,EAAE,CACrD,CAET,CAAC;AAEP,CAAC;AAED,eAAeZ,UAAU"}
@@ -50,6 +50,7 @@ const VimeoProvider = ({
50
50
  role: "button",
51
51
  className: VIDEO_WRAPPER_CLASS_NAME,
52
52
  style: videoStyle,
53
+ "aria-label": "Open video",
53
54
  onClick: () => !shouldRenderVideo && setShouldRenderVideo(true)
54
55
  }, shouldRenderVideo && !videoError && wrappedCode, videoError && videoError.message);
55
56
  };
@@ -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 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":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,SAAS,MAAM,mBAAmB;AACzC,SAASC,mBAAmB,QAAQ,WAAW;AAC/C,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,wBAAwB,QAAQ,uBAAuB;AAEhE,MAAMC,aAAa,GAAGA,CAAC;EAAEC,GAAG;EAAEC,QAAQ;EAAEC,IAAI;EAAEC;AAAU,CAAC,KAAK;EAC5D,MAAMC,OAAO,GAAGX,MAAM,CAAC,IAAI,CAAC;EAC5B,MAAM,CAACY,SAAS,EAAEC,YAAY,CAAC,GAAGd,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAM,CAACe,UAAU,EAAEC,aAAa,CAAC,GAAGhB,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM,CAACiB,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGlB,QAAQ,CAAC,CAAC,CAACS,QAAQ,CAAC;EAEtEV,SAAS,CACP,MAAM;IACJ,eAAeoB,cAAcA,CAACC,QAAQ,EAAE;MACtC,IAAI;QACF,MAAMC,GAAG,GAAG,MAAMC,KAAK,CAACF,QAAQ,CAAC;QACjC,MAAMG,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAI,CAAC,CAAC;QAC7BV,YAAY,CAACS,IAAI,CAAC;MACpB,CAAC,CAAC,OAAOE,GAAG,EAAE;QACZT,aAAa,CAACS,GAAG,CAAC;MACpB;IACF;IACA,IAAIjB,GAAG,EAAE;MACP,MAAMkB,aAAa,GAAGd,OAAO,CAACe,OAAO,CAACC,YAAY;MAClD,MAAMC,aAAa,GAAGzB,mBAAmB,CAACI,GAAG,EAAE;QAC7CC,QAAQ,EAAE,IAAI;QACdC,IAAI;QACJoB,MAAM,EAAEJ;MACV,CAAC,CAAC;MACFP,cAAc,CAACU,aAAa,CAAC;IAC/B;EACF,CAAC,EACD,CAACpB,QAAQ,EAAEC,IAAI,EAAEF,GAAG,CACtB,CAAC;EAED,MAAM;IAAEuB,8BAA8B,EAAEC,YAAY;IAAEC,IAAI,GAAG;EAAG,CAAC,GAAGpB,SAAS,IAAI,CAAC,CAAC;EACnF,MAAMqB,QAAQ,GAAGvB,SAAS,IAAIA,SAAS,CAACH,GAAG;EAC3C,MAAM2B,aAAa,GAAGD,QAAQ,IAAIF,YAAY;EAC9C,MAAMI,UAAU,GAAG,CAAC,CAAC;EACrB,IAAI,CAACnB,iBAAiB,IAAIkB,aAAa,EACrCC,UAAU,CAACC,eAAe,GAAI,OAAM,CAACpB,iBAAiB,GAAGkB,aAAa,GAAG,EAAG,GAAE;EAChF,IAAIvB,OAAO,IAAIA,OAAO,CAACe,OAAO,EAAES,UAAU,CAACE,SAAS,GAAG1B,OAAO,CAACe,OAAO,CAACC,YAAY;EACnF,MAAMW,UAAU,GAAGpC,SAAS,CAAC8B,IAAI,CAAC;EAClC,MAAMO,WAAW,GAAGnC,cAAc,CAACkC,UAAU,CAAC;EAE9C,oBACEzC,KAAA,CAAA2C,aAAA;IACEC,GAAG,EAAE9B,OAAQ;IACb+B,IAAI,EAAC,QAAQ;IACbC,SAAS,EAAEtC,wBAAyB;IACpCuC,KAAK,EAAET,UAAW;IAClBU,OAAO,EAAEA,CAAA,KAAM,CAAC7B,iBAAiB,IAAIC,oBAAoB,CAAC,IAAI;EAAE,GAC/DD,iBAAiB,IAAI,CAACF,UAAU,IAAIyB,WAAW,EAC/CzB,UAAU,IAAIA,UAAU,CAACgC,OACvB,CAAC;AAEV,CAAC;AAEDxC,aAAa,CAACyC,SAAS,GAAG;EACxBxC,GAAG,EAAEN,SAAS,CAAC+C,MAAM,CAACC,UAAU;EAChCzC,QAAQ,EAAEP,SAAS,CAACiD,IAAI;EACxBzC,IAAI,EAAER,SAAS,CAACiD,IAAI;EACpBxC,SAAS,EAAET,SAAS,CAACkD;AACvB,CAAC;AAED7C,aAAa,CAAC8C,YAAY,GAAG;EAC3B5C,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE,KAAK;EACXC,SAAS,EAAE;AACb,CAAC;AAED,eAAeJ,aAAa"}
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":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,SAAS,MAAM,mBAAmB;AACzC,SAASC,mBAAmB,QAAQ,WAAW;AAC/C,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,wBAAwB,QAAQ,uBAAuB;AAEhE,MAAMC,aAAa,GAAGA,CAAC;EAAEC,GAAG;EAAEC,QAAQ;EAAEC,IAAI;EAAEC;AAAU,CAAC,KAAK;EAC5D,MAAMC,OAAO,GAAGX,MAAM,CAAC,IAAI,CAAC;EAC5B,MAAM,CAACY,SAAS,EAAEC,YAAY,CAAC,GAAGd,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAM,CAACe,UAAU,EAAEC,aAAa,CAAC,GAAGhB,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM,CAACiB,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGlB,QAAQ,CAAC,CAAC,CAACS,QAAQ,CAAC;EAEtEV,SAAS,CACP,MAAM;IACJ,eAAeoB,cAAcA,CAACC,QAAQ,EAAE;MACtC,IAAI;QACF,MAAMC,GAAG,GAAG,MAAMC,KAAK,CAACF,QAAQ,CAAC;QACjC,MAAMG,IAAI,GAAG,MAAMF,GAAG,CAACG,IAAI,CAAC,CAAC;QAC7BV,YAAY,CAACS,IAAI,CAAC;MACpB,CAAC,CAAC,OAAOE,GAAG,EAAE;QACZT,aAAa,CAACS,GAAG,CAAC;MACpB;IACF;IACA,IAAIjB,GAAG,EAAE;MACP,MAAMkB,aAAa,GAAGd,OAAO,CAACe,OAAO,CAACC,YAAY;MAClD,MAAMC,aAAa,GAAGzB,mBAAmB,CAACI,GAAG,EAAE;QAC7CC,QAAQ,EAAE,IAAI;QACdC,IAAI;QACJoB,MAAM,EAAEJ;MACV,CAAC,CAAC;MACFP,cAAc,CAACU,aAAa,CAAC;IAC/B;EACF,CAAC,EACD,CAACpB,QAAQ,EAAEC,IAAI,EAAEF,GAAG,CACtB,CAAC;EAED,MAAM;IAAEuB,8BAA8B,EAAEC,YAAY;IAAEC,IAAI,GAAG;EAAG,CAAC,GAAGpB,SAAS,IAAI,CAAC,CAAC;EACnF,MAAMqB,QAAQ,GAAGvB,SAAS,IAAIA,SAAS,CAACH,GAAG;EAC3C,MAAM2B,aAAa,GAAGD,QAAQ,IAAIF,YAAY;EAC9C,MAAMI,UAAU,GAAG,CAAC,CAAC;EACrB,IAAI,CAACnB,iBAAiB,IAAIkB,aAAa,EACrCC,UAAU,CAACC,eAAe,GAAI,OAAM,CAACpB,iBAAiB,GAAGkB,aAAa,GAAG,EAAG,GAAE;EAChF,IAAIvB,OAAO,IAAIA,OAAO,CAACe,OAAO,EAAES,UAAU,CAACE,SAAS,GAAG1B,OAAO,CAACe,OAAO,CAACC,YAAY;EACnF,MAAMW,UAAU,GAAGpC,SAAS,CAAC8B,IAAI,CAAC;EAClC,MAAMO,WAAW,GAAGnC,cAAc,CAACkC,UAAU,CAAC;EAE9C,oBACEzC,KAAA,CAAA2C,aAAA;IACEC,GAAG,EAAE9B,OAAQ;IACb+B,IAAI,EAAC,QAAQ;IACbC,SAAS,EAAEtC,wBAAyB;IACpCuC,KAAK,EAAET,UAAW;IAClB,cAAW,YAAY;IACvBU,OAAO,EAAEA,CAAA,KAAM,CAAC7B,iBAAiB,IAAIC,oBAAoB,CAAC,IAAI;EAAE,GAC/DD,iBAAiB,IAAI,CAACF,UAAU,IAAIyB,WAAW,EAC/CzB,UAAU,IAAIA,UAAU,CAACgC,OACvB,CAAC;AAEV,CAAC;AAEDxC,aAAa,CAACyC,SAAS,GAAG;EACxBxC,GAAG,EAAEN,SAAS,CAAC+C,MAAM,CAACC,UAAU;EAChCzC,QAAQ,EAAEP,SAAS,CAACiD,IAAI;EACxBzC,IAAI,EAAER,SAAS,CAACiD,IAAI;EACpBxC,SAAS,EAAET,SAAS,CAACkD;AACvB,CAAC;AAED7C,aAAa,CAAC8C,YAAY,GAAG;EAC3B5C,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE,KAAK;EACXC,SAAS,EAAE;AACb,CAAC;AAED,eAAeJ,aAAa"}
@@ -95,6 +95,7 @@ const YoutubeEmbeded = ({
95
95
  onClick: addIframe,
96
96
  className: parsedWrapperClassname,
97
97
  "data-title": videoTitle,
98
+ "aria-label": `View ${videoTitle || 'video'}`,
98
99
  style: {
99
100
  backgroundImage: `url(${displayImage ? posterUrl : ''})`
100
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"YoutubeEmbeded.js","names":["React","useState","useEffect","PropTypes","useInView","IN_VIEW_CONFIG","getPosterUrl","YT_HQ_FORMAT","YT_IMAGE_URL","YoutubeEmbeded","autoplay","videoId","playlistCoverId","videoTitle","poster","videoParams","announce","noCookie","webp","playlist","onIframeAdded","muted","adNetwork","iframeClass","priority","placeholderOnly","imageData","isIntersecting","outerRef","preconnected","setPreconnected","renderIframe","setRenderIframe","imageSize","displayImage","setImageDetails","encodedId","encodeURIComponent","paramsImp","ytUrl","posterUrl","mutedValue","iframeSrc","parsedWrapperClassname","isMounted","img","Image","onload","newImageSize","width","src","warmConnections","addIframe","createElement","Fragment","rel","href","ref","role","onPointerOver","onClick","className","style","backgroundImage","type","title","allow","allowFullScreen","propTypes","bool","func","string","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/YouTube/YoutubeEmbeded.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { IN_VIEW_CONFIG } from '../../../../constants';\nimport { getPosterUrl, YT_HQ_FORMAT, YT_IMAGE_URL } from './helpers';\n\nconst YoutubeEmbeded = ({\n autoplay,\n videoId,\n playlistCoverId,\n videoTitle,\n poster,\n videoParams,\n announce,\n noCookie,\n webp,\n playlist,\n onIframeAdded,\n muted,\n adNetwork,\n iframeClass,\n priority,\n placeholderOnly,\n imageData\n}) => {\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n const [preconnected, setPreconnected] = useState(false);\n const [renderIframe, setRenderIframe] = useState(!!autoplay);\n const [{ imageSize, displayImage }, setImageDetails] = useState({\n imageSize: poster,\n displayImage: priority\n });\n\n const encodedId = encodeURIComponent(videoId);\n const paramsImp = videoParams ? `&${videoParams}` : '';\n const ytUrl = noCookie ? 'https://www.youtube-nocookie.com' : 'https://www.youtube.com';\n const posterUrl = getPosterUrl({\n imageData,\n playlistCoverId,\n playlist,\n encodedId,\n imageSize,\n webp\n });\n const mutedValue = muted ? '&mute=1' : '';\n const iframeSrc = !playlist\n ? `${ytUrl}/embed/${encodedId}?autoplay=1${mutedValue}${paramsImp}`\n : `${ytUrl}/embed/videoseries?autoplay=1${mutedValue}&list=${encodedId}${paramsImp}`;\n const parsedWrapperClassname = `yt-facade ${renderIframe ? 'yt-activated' : ''}`;\n\n useEffect(\n () => {\n let isMounted = true;\n if ((!priority && !isIntersecting) || imageSize === YT_HQ_FORMAT) return;\n\n const img = new Image();\n // eslint-disable-next-line func-names\n img.onload = function() {\n let newImageSize = imageSize;\n if (this && this.width === 120) newImageSize = YT_HQ_FORMAT;\n if (isMounted) setImageDetails({ imageSize: newImageSize, displayImage: true });\n };\n\n img.src = posterUrl;\n return () => {\n isMounted = false;\n };\n },\n [imageSize, isIntersecting, posterUrl, priority]\n );\n\n const warmConnections = () => {\n if (preconnected) return;\n setPreconnected(true);\n };\n\n const addIframe = () => {\n if (renderIframe || placeholderOnly) return;\n onIframeAdded();\n setRenderIframe(true);\n };\n\n return (\n <>\n {preconnected && (\n <>\n <link rel=\"preconnect\" href={YT_IMAGE_URL} />\n <link rel=\"preconnect\" href={ytUrl} />\n <link rel=\"preconnect\" href=\"https://www.google.com\" />\n {adNetwork && (\n <>\n <link rel=\"preconnect\" href=\"https://static.doubleclick.net\" />\n <link rel=\"preconnect\" href=\"https://googleads.g.doubleclick.net\" />\n </>\n )}\n </>\n )}\n <div\n ref={outerRef}\n role=\"button\"\n onPointerOver={warmConnections}\n onClick={addIframe}\n className={parsedWrapperClassname}\n data-title={videoTitle}\n style={{\n backgroundImage: `url(${displayImage ? posterUrl : ''})`\n }}>\n <div\n type=\"button\"\n className=\"yt-facade-button-wrapper\"\n aria-label={`${announce} ${videoTitle}`}>\n <div className=\"yt-facade-button\" />\n </div>\n {renderIframe && (\n <iframe\n className={iframeClass}\n title={videoTitle}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n src={iframeSrc}\n />\n )}\n </div>\n </>\n );\n};\n\nYoutubeEmbeded.propTypes = {\n priority: PropTypes.bool,\n onIframeAdded: PropTypes.func,\n adNetwork: PropTypes.bool,\n autoplay: PropTypes.bool,\n playlist: PropTypes.bool,\n muted: PropTypes.bool,\n webp: PropTypes.bool,\n noCookie: PropTypes.bool,\n videoId: PropTypes.string,\n iframeClass: PropTypes.string,\n poster: PropTypes.string,\n announce: PropTypes.string,\n playlistCoverId: PropTypes.string,\n videoParams: PropTypes.string,\n videoTitle: PropTypes.string,\n placeholderOnly: PropTypes.bool,\n imageData: PropTypes.object\n};\n\nYoutubeEmbeded.defaultProps = {\n priority: true,\n onIframeAdded: () => {},\n adNetwork: false,\n autoplay: false,\n playlist: false,\n muted: false,\n webp: false,\n noCookie: false,\n iframeClass: '',\n poster: 'sddefault',\n announce: 'Watch',\n videoId: '',\n playlistCoverId: '',\n videoParams: '',\n videoTitle: '',\n placeholderOnly: false,\n imageData: {}\n};\n\nexport default YoutubeEmbeded;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YoutubeEmbeded.js","names":["React","useState","useEffect","PropTypes","useInView","IN_VIEW_CONFIG","getPosterUrl","YT_HQ_FORMAT","YT_IMAGE_URL","YoutubeEmbeded","autoplay","videoId","playlistCoverId","videoTitle","poster","videoParams","announce","noCookie","webp","playlist","onIframeAdded","muted","adNetwork","iframeClass","priority","placeholderOnly","imageData","isIntersecting","outerRef","preconnected","setPreconnected","renderIframe","setRenderIframe","imageSize","displayImage","setImageDetails","encodedId","encodeURIComponent","paramsImp","ytUrl","posterUrl","mutedValue","iframeSrc","parsedWrapperClassname","isMounted","img","Image","onload","newImageSize","width","src","warmConnections","addIframe","createElement","Fragment","rel","href","ref","role","onPointerOver","onClick","className","style","backgroundImage","type","title","allow","allowFullScreen","propTypes","bool","func","string","object","defaultProps"],"sources":["../../../../../src/components/Video/providers/YouTube/YoutubeEmbeded.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { IN_VIEW_CONFIG } from '../../../../constants';\nimport { getPosterUrl, YT_HQ_FORMAT, YT_IMAGE_URL } from './helpers';\n\nconst YoutubeEmbeded = ({\n autoplay,\n videoId,\n playlistCoverId,\n videoTitle,\n poster,\n videoParams,\n announce,\n noCookie,\n webp,\n playlist,\n onIframeAdded,\n muted,\n adNetwork,\n iframeClass,\n priority,\n placeholderOnly,\n imageData\n}) => {\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n const [preconnected, setPreconnected] = useState(false);\n const [renderIframe, setRenderIframe] = useState(!!autoplay);\n const [{ imageSize, displayImage }, setImageDetails] = useState({\n imageSize: poster,\n displayImage: priority\n });\n\n const encodedId = encodeURIComponent(videoId);\n const paramsImp = videoParams ? `&${videoParams}` : '';\n const ytUrl = noCookie ? 'https://www.youtube-nocookie.com' : 'https://www.youtube.com';\n const posterUrl = getPosterUrl({\n imageData,\n playlistCoverId,\n playlist,\n encodedId,\n imageSize,\n webp\n });\n const mutedValue = muted ? '&mute=1' : '';\n const iframeSrc = !playlist\n ? `${ytUrl}/embed/${encodedId}?autoplay=1${mutedValue}${paramsImp}`\n : `${ytUrl}/embed/videoseries?autoplay=1${mutedValue}&list=${encodedId}${paramsImp}`;\n const parsedWrapperClassname = `yt-facade ${renderIframe ? 'yt-activated' : ''}`;\n\n useEffect(\n () => {\n let isMounted = true;\n if ((!priority && !isIntersecting) || imageSize === YT_HQ_FORMAT) return;\n\n const img = new Image();\n // eslint-disable-next-line func-names\n img.onload = function() {\n let newImageSize = imageSize;\n if (this && this.width === 120) newImageSize = YT_HQ_FORMAT;\n if (isMounted) setImageDetails({ imageSize: newImageSize, displayImage: true });\n };\n\n img.src = posterUrl;\n return () => {\n isMounted = false;\n };\n },\n [imageSize, isIntersecting, posterUrl, priority]\n );\n\n const warmConnections = () => {\n if (preconnected) return;\n setPreconnected(true);\n };\n\n const addIframe = () => {\n if (renderIframe || placeholderOnly) return;\n onIframeAdded();\n setRenderIframe(true);\n };\n\n return (\n <>\n {preconnected && (\n <>\n <link rel=\"preconnect\" href={YT_IMAGE_URL} />\n <link rel=\"preconnect\" href={ytUrl} />\n <link rel=\"preconnect\" href=\"https://www.google.com\" />\n {adNetwork && (\n <>\n <link rel=\"preconnect\" href=\"https://static.doubleclick.net\" />\n <link rel=\"preconnect\" href=\"https://googleads.g.doubleclick.net\" />\n </>\n )}\n </>\n )}\n <div\n ref={outerRef}\n role=\"button\"\n onPointerOver={warmConnections}\n onClick={addIframe}\n className={parsedWrapperClassname}\n data-title={videoTitle}\n aria-label={`View ${videoTitle || 'video'}`}\n style={{\n backgroundImage: `url(${displayImage ? posterUrl : ''})`\n }}>\n <div\n type=\"button\"\n className=\"yt-facade-button-wrapper\"\n aria-label={`${announce} ${videoTitle}`}>\n <div className=\"yt-facade-button\" />\n </div>\n {renderIframe && (\n <iframe\n className={iframeClass}\n title={videoTitle}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n src={iframeSrc}\n />\n )}\n </div>\n </>\n );\n};\n\nYoutubeEmbeded.propTypes = {\n priority: PropTypes.bool,\n onIframeAdded: PropTypes.func,\n adNetwork: PropTypes.bool,\n autoplay: PropTypes.bool,\n playlist: PropTypes.bool,\n muted: PropTypes.bool,\n webp: PropTypes.bool,\n noCookie: PropTypes.bool,\n videoId: PropTypes.string,\n iframeClass: PropTypes.string,\n poster: PropTypes.string,\n announce: PropTypes.string,\n playlistCoverId: PropTypes.string,\n videoParams: PropTypes.string,\n videoTitle: PropTypes.string,\n placeholderOnly: PropTypes.bool,\n imageData: PropTypes.object\n};\n\nYoutubeEmbeded.defaultProps = {\n priority: true,\n onIframeAdded: () => {},\n adNetwork: false,\n autoplay: false,\n playlist: false,\n muted: false,\n webp: false,\n noCookie: false,\n iframeClass: '',\n poster: 'sddefault',\n announce: 'Watch',\n videoId: '',\n playlistCoverId: '',\n videoParams: '',\n videoTitle: '',\n placeholderOnly: false,\n imageData: {}\n};\n\nexport default YoutubeEmbeded;\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.143.0-core-styles.0",
3
+ "version": "0.143.0-core-styles.7",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -90,5 +90,5 @@
90
90
  "lib/*",
91
91
  "lib-es/*"
92
92
  ],
93
- "gitHead": "3344982088e1bd8d0954c1fb4dc165d53db37222"
93
+ "gitHead": "879f1ac4a147898452572a45f29d68f5053022f5"
94
94
  }
@@ -32,6 +32,7 @@ const CarouselImage = ({ imageId, enableLightbox, toggleModal, handleSelectedIma
32
32
  sizeKey="carousel"
33
33
  onClick={handleEnableLightbox}
34
34
  role="button"
35
+ aria-label="View Image"
35
36
  priority={priority}
36
37
  />
37
38
  )}
@@ -20,6 +20,7 @@ const CarouselRender = ({
20
20
  <div
21
21
  className="carousel__button carousel__button--previous"
22
22
  role="button"
23
+ aria-label="Previous Slide"
23
24
  onClick={() => handleNavigation(direction.back)}>
24
25
  <div className="arrow arrow--left" />
25
26
  </div>
@@ -36,6 +37,7 @@ const CarouselRender = ({
36
37
  <div
37
38
  className="carousel__button carousel__button--next"
38
39
  role="button"
40
+ aria-label="Next Slide"
39
41
  onClick={() => handleNavigation(direction.next)}>
40
42
  {shouldDisplayCount && <p data-testid="count">{countMessage}</p>}
41
43
  <div className="arrow arrow--right" />
@@ -78,7 +78,11 @@ const GlobalLightbox = ({ images, onClose, selectedImage, metaTitle, parentName
78
78
  <div className="modal__title modal__title--gallery">
79
79
  {parentName || metaTitle || name}
80
80
  </div>
81
- <div role="button" className="modal__close" onClick={handleClose}>
81
+ <div
82
+ role="button"
83
+ className="modal__close"
84
+ onClick={handleClose}
85
+ aria-label="Close modal">
82
86
  <i>
83
87
  <FaTimes />
84
88
  </i>
@@ -101,6 +105,7 @@ const GlobalLightbox = ({ images, onClose, selectedImage, metaTitle, parentName
101
105
  handleAction={handlePrevious}
102
106
  show={showPrevious}
103
107
  modifier="previous"
108
+ aria-label="Previous Image"
104
109
  />
105
110
 
106
111
  <div className="slider slider--gallery">
@@ -132,7 +137,12 @@ const GlobalLightbox = ({ images, onClose, selectedImage, metaTitle, parentName
132
137
  </div>
133
138
  </div>
134
139
 
135
- <NavButton handleAction={handleNext} show={showNext} modifier="next" />
140
+ <NavButton
141
+ aria-label="Next Image"
142
+ handleAction={handleNext}
143
+ show={showNext}
144
+ modifier="next"
145
+ />
136
146
  </div>
137
147
  {(shouldDisplayCaption || shouldDisplayCredits) && (
138
148
  <ImageDetails
@@ -71,7 +71,8 @@ const ItemListButton = ({ listName, parent, modifier }) => {
71
71
  role="button"
72
72
  onClick={clickHandler}
73
73
  onMouseEnter={() => setIsHover(true)}
74
- onMouseLeave={() => setIsHover(false)}>
74
+ onMouseLeave={() => setIsHover(false)}
75
+ aria-label={`Add to ${listName}`}>
75
76
  <i>
76
77
  <Icon />
77
78
  </i>
@@ -30,6 +30,7 @@ const ItemListCounter = ({ listName, modifier, url }) => {
30
30
  role="button"
31
31
  type="button"
32
32
  className={`item-list-counter ${modifier}`}
33
+ aria-label={`View ${listName}`}
33
34
  onClick={handleClick}>
34
35
  <CounterIcon />
35
36
  <span className="item-list-counter__badge">{listLength}</span>
@@ -32,7 +32,10 @@ const ItemListNew = ({ listName, modifier, text }) => {
32
32
  };
33
33
 
34
34
  return (
35
- <BlazeButton className={`item-list-new ${modifier}`} onClick={handleClick}>
35
+ <BlazeButton
36
+ className={`item-list-new ${modifier}`}
37
+ onClick={handleClick}
38
+ aria-label={`Create new ${listName}`}>
36
39
  {text}
37
40
  </BlazeButton>
38
41
  );
@@ -42,13 +42,16 @@ const MenuItem = ({ children, eventType, text, modifier, url }) => {
42
42
  {url ? (
43
43
  <BlazeLink href={url}>{text}</BlazeLink>
44
44
  ) : (
45
- <span role="button" onClick={handleItemEvent}>
45
+ <span role="button" onClick={handleItemEvent} aria-label={text}>
46
46
  {text}
47
47
  </span>
48
48
  )}
49
49
  {hasValidChildren && (
50
50
  <i
51
51
  role="button"
52
+ aria-label={
53
+ displayChildren ? `Collapse ${text} menu items` : `Expand ${text} menu items`
54
+ }
52
55
  className="menu--item--link--icon"
53
56
  onClick={() => setDisplayChildren(!displayChildren)}>
54
57
  {displayChildren ? <FaChevronUp /> : <FaChevronDown />}
@@ -7,7 +7,7 @@ const CloseMobileForm = ({ handleClose }) => (
7
7
  <div className="filter__header filter__header--mobile">
8
8
  <p>{MOBILE_REFINEMENT_TITLE}</p>
9
9
 
10
- <i role="button" onClick={handleClose}>
10
+ <i role="button" onClick={handleClose} aria-label="Close">
11
11
  <MdClose />
12
12
  </i>
13
13
  </div>
@@ -4,7 +4,12 @@ import { RESET, SEARCH } from '../constants';
4
4
 
5
5
  const MobileFormToolbar = ({ formId, handleReset }) => (
6
6
  <div className="filter__refine filter__refine--mobile-open">
7
- <div className="reset" data-testid="reset-button" role="button" onClick={handleReset}>
7
+ <div
8
+ className="reset"
9
+ data-testid="reset-button"
10
+ role="button"
11
+ onClick={handleReset}
12
+ aria-label="Reset Filters">
8
13
  {RESET}
9
14
  </div>
10
15
 
@@ -16,7 +16,7 @@ const ResetDesktopForm = ({ handleReset }) => (
16
16
  </i>
17
17
  </button>
18
18
 
19
- <div role="button" onClick={handleReset} data-testid="reset-button">
19
+ <div role="button" onClick={handleReset} data-testid="reset-button" aria-label="Reset Filters">
20
20
  {RESET}
21
21
  </div>
22
22
  </div>
@@ -209,7 +209,10 @@ const SearchFilter = ({
209
209
  {isCollapsedOnResponsive &&
210
210
  !displaySearchFilter && (
211
211
  <div className="filter__refine filter__refine--mobile-close" data-testid="refine-mobile">
212
- <div role="button" onClick={() => setDisplaySearchFilter(true)}>
212
+ <div
213
+ role="button"
214
+ onClick={() => setDisplaySearchFilter(true)}
215
+ aria-label="Toggle Search Filter">
213
216
  {REFINE}
214
217
  </div>
215
218
  </div>
@@ -80,7 +80,11 @@ const Checkbox = ({
80
80
  }}
81
81
  />
82
82
  {data[prop].buckets.length > LIMIT_MIN && (
83
- <div role="button" className="see-more" onClick={handleCheckboxOptions}>
83
+ <div
84
+ role="button"
85
+ className="see-more"
86
+ onClick={handleCheckboxOptions}
87
+ aria-label={shouldDisplayMore ? `See ${MORE} options` : `See ${LESS} options`}>
84
88
  {shouldDisplayMore ? (
85
89
  <>
86
90
  <i>
@@ -9,6 +9,7 @@ const VideoModal = ({ ...props }) => {
9
9
  <>
10
10
  <div
11
11
  role="button"
12
+ aria-label="Open video"
12
13
  onClick={() => {
13
14
  setDisplayModal(!displayModal);
14
15
  }}>
@@ -51,6 +51,7 @@ const VimeoProvider = ({ url, autoplay, loop, imageData }) => {
51
51
  role="button"
52
52
  className={VIDEO_WRAPPER_CLASS_NAME}
53
53
  style={videoStyle}
54
+ aria-label="Open video"
54
55
  onClick={() => !shouldRenderVideo && setShouldRenderVideo(true)}>
55
56
  {shouldRenderVideo && !videoError && wrappedCode}
56
57
  {videoError && videoError.message}
@@ -102,6 +102,7 @@ const YoutubeEmbeded = ({
102
102
  onClick={addIframe}
103
103
  className={parsedWrapperClassname}
104
104
  data-title={videoTitle}
105
+ aria-label={`View ${videoTitle || 'video'}`}
105
106
  style={{
106
107
  backgroundImage: `url(${displayImage ? posterUrl : ''})`
107
108
  }}>
@@ -6,6 +6,7 @@ exports[`Carousel image component should match snapshot 1`] = `
6
6
  >
7
7
  <img
8
8
  alt=""
9
+ aria-label="View Image"
9
10
  data-testid="lazy-image-mock"
10
11
  onClick={[Function]}
11
12
  role="button"
@@ -7,6 +7,7 @@ exports[`Carousel component should render carousel and match snapshot 1`] = `
7
7
  >
8
8
  <div>
9
9
  <div
10
+ aria-label="Previous Slide"
10
11
  class="carousel__button carousel__button--previous"
11
12
  role="button"
12
13
  >
@@ -24,6 +25,7 @@ exports[`Carousel component should render carousel and match snapshot 1`] = `
24
25
  </div>
25
26
  </div>
26
27
  <div
28
+ aria-label="Next Slide"
27
29
  class="carousel__button carousel__button--next"
28
30
  role="button"
29
31
  >
@@ -48,6 +50,7 @@ exports[`Carousel component should render priority images and match snapshot 1`]
48
50
  >
49
51
  <div>
50
52
  <div
53
+ aria-label="Previous Slide"
51
54
  class="carousel__button carousel__button--previous"
52
55
  role="button"
53
56
  >
@@ -64,6 +67,7 @@ exports[`Carousel component should render priority images and match snapshot 1`]
64
67
  <span>
65
68
  <img
66
69
  alt=""
70
+ aria-label="View Image"
67
71
  role="button"
68
72
  src="test-url"
69
73
  />
@@ -71,6 +75,7 @@ exports[`Carousel component should render priority images and match snapshot 1`]
71
75
  </div>
72
76
  </div>
73
77
  <div
78
+ aria-label="Next Slide"
74
79
  class="carousel__button carousel__button--next"
75
80
  role="button"
76
81
  >
@@ -16,6 +16,7 @@ exports[`GlobalLightbox component should match snapshot 1`] = `
16
16
  class="modal__title modal__title--gallery"
17
17
  />
18
18
  <div
19
+ aria-label="Close modal"
19
20
  class="modal__close"
20
21
  role="button"
21
22
  >