@blaze-cms/react-page-builder 0.128.0-admin-updates.5 → 0.128.0-admin-updates.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.
- package/CHANGELOG.md +13 -0
- package/lib/components/Card/Card.js +1 -1
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/CardsContainer.js +53 -24
- package/lib/components/Card/CardsContainer.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
- package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
- package/lib/components/Image/Image.js +1 -1
- package/lib/components/Image/Image.js.map +1 -1
- package/lib/components/List/components/Full/FullRender.js.map +1 -1
- package/lib/components/List/components/helpers/check-if-should-render-banner.js +27 -5
- package/lib/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
- package/lib/components/List/components/helpers/index.js +8 -2
- package/lib/components/List/components/helpers/index.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/SearchFilter/components/Checkbox.js +6 -1
- package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
- package/lib/components/SearchFilter/components/Range.js +9 -5
- package/lib/components/SearchFilter/components/Range.js.map +1 -1
- package/lib/components/SearchFilter/components/Select.js +9 -5
- package/lib/components/SearchFilter/components/Select.js.map +1 -1
- package/lib/components/SearchFilter/components/TextSearch.js +9 -5
- package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
- package/lib-es/components/Card/Card.js +1 -1
- package/lib-es/components/Card/Card.js.map +1 -1
- package/lib-es/components/Card/CardsContainer.js +59 -35
- package/lib-es/components/Card/CardsContainer.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
- package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
- package/lib-es/components/Image/Image.js +1 -1
- package/lib-es/components/Image/Image.js.map +1 -1
- package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
- package/lib-es/components/List/components/helpers/check-if-should-render-banner.js +29 -3
- package/lib-es/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
- package/lib-es/components/List/components/helpers/index.js +3 -2
- package/lib-es/components/List/components/helpers/index.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Checkbox.js +6 -1
- package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Range.js +9 -5
- package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Select.js +9 -5
- package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
- package/lib-es/components/SearchFilter/components/TextSearch.js +9 -5
- package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Card/Card.js +2 -2
- package/src/components/Card/CardsContainer.js +54 -35
- package/src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +1 -1
- package/src/components/Image/Image.js +1 -1
- package/src/components/List/components/Full/FullRender.js +0 -1
- package/src/components/List/components/helpers/check-if-should-render-banner.js +24 -3
- package/src/components/List/components/helpers/index.js +4 -2
- package/src/components/SearchFilter/SearchFilter/SearchFilter.js +0 -1
- package/src/components/SearchFilter/components/Checkbox.js +4 -0
- package/src/components/SearchFilter/components/Range.js +7 -4
- package/src/components/SearchFilter/components/Select.js +23 -17
- package/src/components/SearchFilter/components/TextSearch.js +30 -26
- package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +10 -10
- package/tests/unit/src/components/Card/__snapshots__/CardContainer.test.js.snap +8 -8
- package/tests/unit/src/components/DataSummary/DataSummaryTypes/__snapshots__/ItemDetailsSummary.test.js.snap +24 -4
- package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +12 -12
- package/tests/unit/src/components/List/components/helpers/check-if-should-render-banner.test.js +59 -28
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
Object.defineProperty(exports, "checkIfShouldRenderBanner", {
|
|
9
9
|
enumerable: true,
|
|
10
10
|
get: function get() {
|
|
11
|
-
return _checkIfShouldRenderBanner
|
|
11
|
+
return _checkIfShouldRenderBanner.checkIfShouldRenderBanner;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "checkIfShouldRenderGtm", {
|
|
@@ -17,6 +17,12 @@ Object.defineProperty(exports, "checkIfShouldRenderGtm", {
|
|
|
17
17
|
return _checkIfShouldRenderGtm["default"];
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
+
Object.defineProperty(exports, "checkNewBannerSettings", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _checkIfShouldRenderBanner.checkNewBannerSettings;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
var _checkIfShouldRenderBanner = require("./check-if-should-render-banner");
|
|
20
27
|
var _checkIfShouldRenderGtm = _interopRequireDefault(require("./check-if-should-render-gtm"));
|
|
21
|
-
var _checkIfShouldRenderBanner = _interopRequireDefault(require("./check-if-should-render-banner"));
|
|
22
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_checkIfShouldRenderBanner","require","_checkIfShouldRenderGtm","_interopRequireDefault"],"sources":["../../../../../src/components/List/components/helpers/index.js"],"sourcesContent":["import { checkIfShouldRenderBanner, checkNewBannerSettings } from './check-if-should-render-banner';\nimport checkIfShouldRenderGtm from './check-if-should-render-gtm';\n\nexport { checkIfShouldRenderBanner, checkNewBannerSettings, checkIfShouldRenderGtm };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAC,sBAAA,CAAAF,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilter.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_lodash","_FiltersList","_helpers","_CloseMobileForm","_ResetDesktopForm","_MobileFormToolbar","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SearchFilter","_ref","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","_useState","useState","_useState2","_slicedToArray2","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","_useState3","_useState4","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","arguments","length","undefined","newQuery","buildQuery","handleSubmit","debounce","useEffect","shouldSearch","type","formClass","classnames","_getResponsiveFilterC","getResponsiveFilterClassnames","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","concat","handleReset","getInitialFilterValues","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MORE_FILTERS_CLASSES","MOBILE_CONTENT","isDeviceDesktop","DESKTOP_CONTENT","DESKTOP_BUTTONS","SEARCH","MOBILE_BUTTONS","role","REFINE","propTypes","PropTypes","object","isRequired","array","bool","string","func","number","_default","exports"],"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 {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\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 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}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\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 const newValues = getInitialFilterValues(null, filters, {});\n setAppliedFilters({ newValues, type: 'reset' });\n doSubmit(newValues);\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\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();\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={shouldSearch}\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={shouldSearch}\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={shouldSearch && 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 More 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};\n\nexport default SearchFilter;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SearchFilter.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_lodash","_FiltersList","_helpers","_CloseMobileForm","_ResetDesktopForm","_MobileFormToolbar","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SearchFilter","_ref","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","_useState","useState","_useState2","_slicedToArray2","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","_useState3","_useState4","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","arguments","length","undefined","newQuery","buildQuery","handleSubmit","debounce","useEffect","shouldSearch","type","formClass","classnames","_getResponsiveFilterC","getResponsiveFilterClassnames","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","concat","handleReset","getInitialFilterValues","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MORE_FILTERS_CLASSES","MOBILE_CONTENT","isDeviceDesktop","DESKTOP_CONTENT","DESKTOP_BUTTONS","SEARCH","MOBILE_BUTTONS","role","REFINE","propTypes","PropTypes","object","isRequired","array","bool","string","func","number","_default","exports"],"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 {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\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 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}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\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 const newValues = getInitialFilterValues(null, filters, {});\n setAppliedFilters({ newValues, type: 'reset' });\n doSubmit(newValues);\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\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();\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={shouldSearch}\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={shouldSearch}\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={shouldSearch && 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 More 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};\n\nexport default SearchFilter;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,YAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAMA,IAAAO,gBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,iBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,kBAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AAAoE,SAAAW,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAiB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEpE,IAAMW,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAeZ;EAAA,IAdJC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IACfC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,MAAM,GAAAL,IAAA,CAANK,MAAM;IACNC,YAAY,GAAAN,IAAA,CAAZM,YAAY;IACZC,IAAI,GAAAP,IAAA,CAAJO,IAAI;IACJC,uBAAuB,GAAAR,IAAA,CAAvBQ,uBAAuB;IACvBC,mBAAmB,GAAAT,IAAA,CAAnBS,mBAAmB;IACnBC,sBAAsB,GAAAV,IAAA,CAAtBU,sBAAsB;IACtBC,iBAAiB,GAAAX,IAAA,CAAjBW,iBAAiB;IACjBC,gBAAgB,GAAAZ,IAAA,CAAhBY,gBAAgB;IAChBC,YAAY,GAAAb,IAAA,CAAZa,YAAY;IACZC,iBAAiB,GAAAd,IAAA,CAAjBc,iBAAiB;EAEjB,IAAAC,SAAA,GAAoE,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA3EI,0BAA0B,GAAAF,UAAA;IAAEG,6BAA6B,GAAAH,UAAA;EAChE,IAAAI,UAAA,GAAsE,IAAAL,eAAQ,EAAC,IAAI,CAAC;IAAAM,UAAA,OAAAJ,eAAA,aAAAG,UAAA;IAA7EE,2BAA2B,GAAAD,UAAA;IAAEE,8BAA8B,GAAAF,UAAA;EAElE,IAAMG,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAiC;IAAA,IAA7BC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGd,YAAY;IACxC,IAAMiB,QAAQ,GAAG,IAAAC,mBAAU,EAACL,SAAS,EAAEvB,OAAO,CAAC;IAC/CG,YAAY,CAACwB,QAAQ,CAAC;IACtBN,8BAA8B,CAAC,IAAI,CAAC;IACpCJ,6BAA6B,CAAC,IAAI,CAAC;EACrC,CAAC;EAED,IAAMY,YAAY,GAAG,IAAAC,kBAAQ,EAAC,UAAAP,SAAS,EAAI;IACzCD,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC,EAAE,GAAG,CAAC;EAEP,IAAAQ,gBAAS,EACP,YAAM;IACJ,IAAIrB,YAAY,CAACsB,YAAY,EAAE;MAC7BH,YAAY,CAACnB,YAAY,CAAC;MAC1BC,iBAAiB,CAAC;QAAEsB,IAAI,EAAE;MAAc,CAAC,CAAC;IAC5C;EACF,CAAC,EACD,CAACvB,YAAY,EAAEmB,YAAY,EAAElB,iBAAiB,CAAC,CAChD;EAED,IAAMuB,SAAS,GAAG,IAAAC,sBAAU,EAAC,oCAAoC,EAAE;IACjE,sBAAsB,EAAE9B,uBAAuB,IAAIC,mBAAmB;IACtE,2BAA2B,EAAED;EAC/B,CAAC,CAAC;EAEF,IAAA+B,qBAAA,GAKI,IAAAC,sCAA6B,EAACjB,2BAA2B,EAAEJ,0BAA0B,CAAC;IAJxFsB,6BAA6B,GAAAF,qBAAA,CAA7BE,6BAA6B;IAC7BC,6BAA6B,GAAAH,qBAAA,CAA7BG,6BAA6B;IAC7BC,8BAA8B,GAAAJ,qBAAA,CAA9BI,8BAA8B;IAC9BC,8BAA8B,GAAAL,qBAAA,CAA9BK,8BAA8B;EAGhC,IAAMC,MAAM,aAAAC,MAAA,CAAavC,IAAI,UAAO;EAEpC,IAAMwC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxB,IAAMrB,SAAS,GAAG,IAAAsB,+BAAsB,EAAC,IAAI,EAAE7C,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3DW,iBAAiB,CAAC;MAAEY,SAAS,EAATA,SAAS;MAAEU,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC/CX,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC;EAED,IAAMuB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIvB,SAAS,EAAEwB,YAAY,EAAK;IACtDpC,iBAAiB,CAAC;MAAEY,SAAS,EAATA,SAAS;MAAES,YAAY,EAAEe,YAAY;MAAEd,IAAI,EAAE;IAAS,CAAC,CAAC;EAC9E,CAAC;EAED,IAAMe,WAAW,GAAG,CAAC,EAAExC,iBAAiB,IAAIC,gBAAgB,CAAC;EAC7D,IAAMuB,YAAY,GAAG,CAAC/B,MAAM;EAC5B,oBACExC,MAAA,YAAAwF,aAAA,CAAAxF,MAAA,YAAAyF,QAAA,qBACEzF,MAAA,YAAAwF,aAAA;IACEE,GAAG,EAAErD,eAAgB;IACrBsD,SAAS,EAAElB,SAAU;IACrB,eAAaQ,MAAO;IACpBW,EAAE,EAAEX,MAAO;IACXY,QAAQ,EAAE,SAAAA,SAAAC,CAAC,EAAI;MACbA,CAAC,CAACC,cAAc,EAAE;MAClBlC,QAAQ,EAAE;IACZ;EAAE,GACDhB,mBAAmB,iBAClB7C,MAAA,YAAAwF,aAAA,CAAC/E,gBAAA,WAAe;IAACuF,WAAW,EAAE,SAAAA,YAAA;MAAA,OAAMlD,sBAAsB,CAAC,KAAK,CAAC;IAAA;EAAC,EACnE,eAED9C,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAC;EAA8B,gBAC3C3F,MAAA,YAAAwF,aAAA,CAAC9E,iBAAA,WAAgB;IAACyE,WAAW,EAAEA;EAAY,EAAG,eAE9CnF,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAC;EAAgD,GAC5D,CAACJ,WAAW,iBACXvF,MAAA,YAAAwF,aAAA,CAACjF,YAAA,WAAW;IACVgE,YAAY,EAAEA,YAAa;IAC3BjC,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BoC,kBAAkB,EAAEA;EAAmB,EAE1C,EAEAE,WAAW,iBACVvF,MAAA,YAAAwF,aAAA,CAAAxF,MAAA,YAAAyF,QAAA,qBACEzF,MAAA,YAAAwF,aAAA,CAACjF,YAAA,WAAW;IACVgE,YAAY,EAAEA,YAAa;IAC3BjC,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAAC0D,KAAK,CAAC,CAAC,EAAEjD,gBAAgB,CAAE;IAC5CR,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BoC,kBAAkB,EAAEA;EAAmB,EACvC,EAED,CAAC,CAACrC,gBAAgB,iBACjBhD,MAAA,YAAAwF,aAAA;IACE,eAAY,8BAA8B;IAC1CG,SAAS,EAAEb,6BAA8B;IACzCN,IAAI,EAAC,QAAQ;IACb0B,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAM1C,6BAA6B,CAAC,CAACD,0BAA0B,CAAC;IAAA;EAAC,GAAC,SAE7E,CACD,eAEDvD,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAEd;EAA8B,gBAC5C7E,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAEQ,+BAAoB,CAACC;EAAe,gBAClDpG,MAAA,YAAAwF,aAAA,CAACjF,YAAA,WAAW;IACVgE,YAAY,EAAEA,YAAY,IAAI,IAAA8B,wBAAe,GAAG;IAChD/D,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAAC0D,KAAK,CACpBjD,gBAAgB,EAChBD,iBAAiB,GAAGA,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAC7C;IACFP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BoC,kBAAkB,EAAEA;EAAmB,EACvC,EAED,CAAC,CAACtC,iBAAiB,iBAClB/C,MAAA,YAAAwF,aAAA;IACE,eAAY,+BAA+B;IAC3CG,SAAS,EAAEX,8BAA+B;IAC1CR,IAAI,EAAC,QAAQ;IACb0B,OAAO,EAAE,SAAAA,QAAA;MAAA,OACPtC,8BAA8B,CAAC,CAACD,2BAA2B,CAAC;IAAA;EAC7D,GAAC,cAEJ,CACD,eAED3D,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAEZ;EAA+B,gBAC7C/E,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAEQ,+BAAoB,CAACG;EAAgB,gBACnDtG,MAAA,YAAAwF,aAAA,CAACjF,YAAA,WAAW;IACVgE,YAAY,EAAE,KAAM;IACpBjC,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAAC0D,KAAK,CAAClD,iBAAiB,CAAE;IAC1CP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BoC,kBAAkB,EAAEA;EAAmB,EACvC,CACE,eAENrF,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAEQ,+BAAoB,CAACI;EAAgB,gBACnDvG,MAAA,YAAAwF,aAAA,CAAC9E,iBAAA,WAAgB;IAACyE,WAAW,EAAEA;EAAY,EAAG,eAE9CnF,MAAA,YAAAwF,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACnB,IAAI,EAAC;EAAQ,GACxDgC,iBAAM,CACA,CACL,CACF,CACF,eAENxG,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAEQ,+BAAoB,CAACM;EAAe,gBAClDzG,MAAA,YAAAwF,aAAA,CAAC9E,iBAAA,WAAgB;IAACyE,WAAW,EAAEA;EAAY,EAAG,eAE9CnF,MAAA,YAAAwF,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACnB,IAAI,EAAC;EAAQ,GACxDgC,iBAAM,CACA,CACL,CACF,CAET,eAEDxG,MAAA,YAAAwF,aAAA,YAAM,EAEL,CAAC3C,mBAAmB,iBACnB7C,MAAA,YAAAwF,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACnB,IAAI,EAAC;EAAQ,GACxDgC,iBAAM,CAEV,CACG,CACF,EAEL3D,mBAAmB,iBAAI7C,MAAA,YAAAwF,aAAA,CAAC7E,kBAAA,WAAiB;IAACsE,MAAM,EAAEA,MAAO;IAACE,WAAW,EAAEA;EAAY,EAAG,CAClF,EAENvC,uBAAuB,IACtB,CAACC,mBAAmB,iBAClB7C,MAAA,YAAAwF,aAAA;IAAKG,SAAS,EAAC,6CAA6C;IAAC,eAAY;EAAe,gBACtF3F,MAAA,YAAAwF,aAAA;IAAKkB,IAAI,EAAC,QAAQ;IAACR,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMpD,sBAAsB,CAAC,IAAI,CAAC;IAAA;EAAC,GAC5D6D,iBAAM,CACH,CAET,CACF;AAEP,CAAC;AAEDxE,YAAY,CAACyE,SAAS,GAAG;EACvBtE,IAAI,EAAEuE,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjCxE,OAAO,EAAEsE,qBAAS,CAACG,KAAK,CAACD,UAAU;EACnC1E,eAAe,EAAEwE,qBAAS,CAACC,MAAM,CAACC,UAAU;EAC5CvE,MAAM,EAAEqE,qBAAS,CAACI,IAAI,CAACF,UAAU;EACjCtE,MAAM,EAAEoE,qBAAS,CAACK,MAAM,CAACH,UAAU;EACnCrE,YAAY,EAAEmE,qBAAS,CAACM,IAAI,CAACJ,UAAU;EACvCpE,IAAI,EAAEkE,qBAAS,CAACK,MAAM,CAACH,UAAU;EACjClE,mBAAmB,EAAEgE,qBAAS,CAACI,IAAI,CAACF,UAAU;EAC9CjE,sBAAsB,EAAE+D,qBAAS,CAACM,IAAI,CAACJ,UAAU;EACjDnE,uBAAuB,EAAEiE,qBAAS,CAACI,IAAI,CAACF,UAAU;EAClDhE,iBAAiB,EAAE8D,qBAAS,CAACO,MAAM,CAACL,UAAU;EAC9C/D,gBAAgB,EAAE6D,qBAAS,CAACO,MAAM,CAACL,UAAU;EAC7C9D,YAAY,EAAE4D,qBAAS,CAACC,MAAM,CAACC,UAAU;EACzC7D,iBAAiB,EAAE2D,qBAAS,CAACM,IAAI,CAACJ;AACpC,CAAC;AAAC,IAAAM,QAAA,GAEalF,YAAY;AAAAmF,OAAA,cAAAD,QAAA"}
|
|
@@ -39,6 +39,7 @@ var Checkbox = function Checkbox(_ref) {
|
|
|
39
39
|
updateFilterValues = _ref.updateFilterValues,
|
|
40
40
|
filterValues = _ref.filterValues,
|
|
41
41
|
label = _ref.label,
|
|
42
|
+
elementTitle = _ref.elementTitle,
|
|
42
43
|
shouldSearch = _ref.shouldSearch,
|
|
43
44
|
displayFilterCount = _ref.displayFilterCount;
|
|
44
45
|
var _useState = (0, _react.useState)(null),
|
|
@@ -81,7 +82,9 @@ var Checkbox = function Checkbox(_ref) {
|
|
|
81
82
|
});
|
|
82
83
|
});
|
|
83
84
|
var shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === _constants.LIMIT_MIN;
|
|
84
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null,
|
|
85
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, elementTitle && /*#__PURE__*/_react["default"].createElement("div", {
|
|
86
|
+
className: "heading heading--section"
|
|
87
|
+
}, elementTitle), label ? /*#__PURE__*/_react["default"].createElement("p", null, label) : '', /*#__PURE__*/_react["default"].createElement(_checkboxes.Checkboxes, {
|
|
85
88
|
className: "form-checkbox",
|
|
86
89
|
options: multiple,
|
|
87
90
|
onChange: function onChange(_ref3) {
|
|
@@ -112,11 +115,13 @@ Checkbox.propTypes = {
|
|
|
112
115
|
updateFilterValues: _propTypes["default"].func.isRequired,
|
|
113
116
|
shouldSearch: _propTypes["default"].bool,
|
|
114
117
|
label: _propTypes["default"].string,
|
|
118
|
+
elementTitle: _propTypes["default"].string,
|
|
115
119
|
displayFilterCount: _propTypes["default"].bool
|
|
116
120
|
};
|
|
117
121
|
Checkbox.defaultProps = {
|
|
118
122
|
shouldSearch: false,
|
|
119
123
|
label: '',
|
|
124
|
+
elementTitle: '',
|
|
120
125
|
displayFilterCount: false
|
|
121
126
|
};
|
|
122
127
|
var _default = (0, _HOC.withTitle)(Checkbox);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_lodash","_checkboxes","_fa","_HOC","_helpers","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Checkbox","_ref","data","prop","updateFilterValues","filterValues","label","shouldSearch","displayFilterCount","_useState","useState","_useState2","_slicedToArray2","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","LIMIT_MIN","_defineProperty2","LIMIT_MAX","checkboxQueryParams","decodeValue","map","val","multiple","sortedValues","buckets","_ref2","count","doc_count","optionLabel","concat","filter","Boolean","sort","forEach","value","i","push","upperFirst","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_lodash","_checkboxes","_fa","_HOC","_helpers","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Checkbox","_ref","data","prop","updateFilterValues","filterValues","label","elementTitle","shouldSearch","displayFilterCount","_useState","useState","_useState2","_slicedToArray2","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","LIMIT_MIN","_defineProperty2","LIMIT_MAX","checkboxQueryParams","decodeValue","map","val","multiple","sortedValues","buckets","_ref2","count","doc_count","optionLabel","concat","filter","Boolean","sort","forEach","value","i","push","upperFirst","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","className","Checkboxes","options","onChange","_ref3","eData","newCheckboxValues","_ref4","_ref5","length","role","onClick","FaChevronDown","MORE","FaChevronUp","LESS","propTypes","PropTypes","object","isRequired","string","func","bool","defaultProps","_default","withTitle","exports"],"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\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\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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"}
|
|
@@ -25,7 +25,6 @@ var _router = require("next/router");
|
|
|
25
25
|
var _select = _interopRequireDefault(require("@blaze-react/select"));
|
|
26
26
|
var _queryString = require("query-string");
|
|
27
27
|
var _hooks = require("../../../hooks");
|
|
28
|
-
var _HOC = require("../../../HOC");
|
|
29
28
|
var _helpers = require("../helpers");
|
|
30
29
|
var _decodeEncode = require("../helpers/decode-encode");
|
|
31
30
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -38,7 +37,8 @@ var Range = function Range(_ref) {
|
|
|
38
37
|
dataAggregations = _ref.dataAggregations,
|
|
39
38
|
updateFilterValues = _ref.updateFilterValues,
|
|
40
39
|
filterValues = _ref.filterValues,
|
|
41
|
-
shouldSearch = _ref.shouldSearch
|
|
40
|
+
shouldSearch = _ref.shouldSearch,
|
|
41
|
+
elementTitle = _ref.elementTitle;
|
|
42
42
|
var router = (0, _router.useRouter)();
|
|
43
43
|
var debounceAmount = shouldSearch ? 1200 : 400;
|
|
44
44
|
var _parseUrl = (0, _queryString.parseUrl)((0, _decodeEncode.decodeValue)(router.asPath)),
|
|
@@ -72,7 +72,9 @@ var Range = function Range(_ref) {
|
|
|
72
72
|
selectedOption: rangeOption
|
|
73
73
|
})), shouldSearch);
|
|
74
74
|
}, debounceAmount);
|
|
75
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null,
|
|
75
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, elementTitle && /*#__PURE__*/_react["default"].createElement("div", {
|
|
76
|
+
className: "heading heading--section"
|
|
77
|
+
}, elementTitle), hasMultipleOptions && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", null, label), /*#__PURE__*/_react["default"].createElement(_select["default"], {
|
|
76
78
|
value: rangeOption,
|
|
77
79
|
id: rangeOption,
|
|
78
80
|
options: options,
|
|
@@ -111,13 +113,15 @@ Range.propTypes = {
|
|
|
111
113
|
shouldSearch: _propTypes["default"].bool,
|
|
112
114
|
rangeInterval: _propTypes["default"].number,
|
|
113
115
|
label: _propTypes["default"].string,
|
|
116
|
+
elementTitle: _propTypes["default"].string,
|
|
114
117
|
dataAggregations: _propTypes["default"].object.isRequired
|
|
115
118
|
};
|
|
116
119
|
Range.defaultProps = {
|
|
117
120
|
shouldSearch: false,
|
|
118
121
|
rangeInterval: 1,
|
|
119
|
-
label: ''
|
|
122
|
+
label: '',
|
|
123
|
+
elementTitle: ''
|
|
120
124
|
};
|
|
121
|
-
var _default =
|
|
125
|
+
var _default = Range;
|
|
122
126
|
exports["default"] = _default;
|
|
123
127
|
//# sourceMappingURL=Range.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_rangeFilter","_router","_select","_queryString","_hooks","_HOC","_helpers","_decodeEncode","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Range","_ref","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","router","useRouter","debounceAmount","_parseUrl","parseUrl","decodeValue","asPath","query","hasMultipleOptions","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","_useGetSingleEntitySc","useGetSingleEntitySchema","_useGetSingleEntitySc2","data","_useGetSingleEntitySc3","_useGetSingleEntitySc4","getEntitySchema","loading","options","getSelectOptions","_calculateMinMax","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","createElement","Fragment","id","required","onChange","_ref2","updatedOptions","prop","_filterValues$prop","eMin","eMax","initValue","getRangeValue","concat","name","_ref3","propTypes","PropTypes","array","isRequired","string","func","bool","number","defaultProps","_default","withTitle","exports"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { withTitle } from '../../../HOC';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n // get range from aggregations so it updates\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n return (\n <>\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: ''\n};\n\nexport default withTitle(Range);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Range.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_rangeFilter","_router","_select","_queryString","_hooks","_helpers","_decodeEncode","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Range","_ref","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","router","useRouter","debounceAmount","_parseUrl","parseUrl","decodeValue","asPath","query","hasMultipleOptions","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","_useGetSingleEntitySc","useGetSingleEntitySchema","_useGetSingleEntitySc2","data","_useGetSingleEntitySc3","_useGetSingleEntitySc4","getEntitySchema","loading","options","getSelectOptions","_calculateMinMax","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","createElement","Fragment","className","id","required","onChange","_ref2","updatedOptions","prop","_filterValues$prop","eMin","eMax","initValue","getRangeValue","concat","name","_ref3","propTypes","PropTypes","array","isRequired","string","func","bool","number","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n // get range from aggregations so it updates\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: ''\n};\n\nexport default Range;\n"],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ require("core-js/modules/es.array.concat.js");
|
|
|
15
15
|
var _react = _interopRequireDefault(require("react"));
|
|
16
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
var _select = _interopRequireDefault(require("@blaze-react/select"));
|
|
18
|
-
var _HOC = require("../../../HOC");
|
|
19
18
|
var _constants = require("../constants");
|
|
20
19
|
var SelectFilter = function SelectFilter(_ref) {
|
|
21
20
|
var data = _ref.data,
|
|
@@ -25,7 +24,8 @@ var SelectFilter = function SelectFilter(_ref) {
|
|
|
25
24
|
filterValues = _ref.filterValues,
|
|
26
25
|
shouldSearch = _ref.shouldSearch,
|
|
27
26
|
displayLabelAsPlaceholder = _ref.displayLabelAsPlaceholder,
|
|
28
|
-
displayFilterCount = _ref.displayFilterCount
|
|
27
|
+
displayFilterCount = _ref.displayFilterCount,
|
|
28
|
+
elementTitle = _ref.elementTitle;
|
|
29
29
|
var filterValue = filterValues[prop] || '';
|
|
30
30
|
var disabledOptions = [];
|
|
31
31
|
var _ref2 = data[prop] || {},
|
|
@@ -45,7 +45,9 @@ var SelectFilter = function SelectFilter(_ref) {
|
|
|
45
45
|
defaultTextValue = labelToUse;
|
|
46
46
|
labelToUse = null;
|
|
47
47
|
}
|
|
48
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
48
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, elementTitle && /*#__PURE__*/_react["default"].createElement("div", {
|
|
49
|
+
className: "heading heading--section"
|
|
50
|
+
}, elementTitle), /*#__PURE__*/_react["default"].createElement(_select["default"], {
|
|
49
51
|
label: labelToUse,
|
|
50
52
|
value: filterValue,
|
|
51
53
|
id: prop,
|
|
@@ -59,7 +61,7 @@ var SelectFilter = function SelectFilter(_ref) {
|
|
|
59
61
|
updateFilterValues((0, _defineProperty2["default"])({}, prop, valueToUse), shouldSearch);
|
|
60
62
|
},
|
|
61
63
|
disabled: disabledOptions
|
|
62
|
-
});
|
|
64
|
+
}));
|
|
63
65
|
};
|
|
64
66
|
SelectFilter.propTypes = {
|
|
65
67
|
data: _propTypes["default"].object.isRequired,
|
|
@@ -68,6 +70,7 @@ SelectFilter.propTypes = {
|
|
|
68
70
|
updateFilterValues: _propTypes["default"].func.isRequired,
|
|
69
71
|
shouldSearch: _propTypes["default"].bool,
|
|
70
72
|
label: _propTypes["default"].string,
|
|
73
|
+
elementTitle: _propTypes["default"].string,
|
|
71
74
|
displayLabelAsPlaceholder: _propTypes["default"].bool,
|
|
72
75
|
displayFilterCount: _propTypes["default"].bool
|
|
73
76
|
};
|
|
@@ -75,9 +78,10 @@ SelectFilter.defaultProps = {
|
|
|
75
78
|
filterValues: {},
|
|
76
79
|
shouldSearch: false,
|
|
77
80
|
label: '',
|
|
81
|
+
elementTitle: '',
|
|
78
82
|
displayLabelAsPlaceholder: false,
|
|
79
83
|
displayFilterCount: false
|
|
80
84
|
};
|
|
81
|
-
var _default =
|
|
85
|
+
var _default = SelectFilter;
|
|
82
86
|
exports["default"] = _default;
|
|
83
87
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireDefault","require","_propTypes","_select","
|
|
1
|
+
{"version":3,"file":"Select.js","names":["_react","_interopRequireDefault","require","_propTypes","_select","_constants","SelectFilter","_ref","data","label","prop","updateFilterValues","filterValues","shouldSearch","displayLabelAsPlaceholder","displayFilterCount","elementTitle","filterValue","disabledOptions","_ref2","_ref2$buckets","buckets","options","map","_ref3","key","count","doc_count","push","optionLabel","concat","filter","Boolean","sort","labelText","labelToUse","defaultTextValue","DEFAULT_OPTION","createElement","Fragment","className","value","id","onChange","_ref4","valueToUse","_defineProperty2","disabled","propTypes","PropTypes","object","isRequired","string","func","bool","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/components/Select.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from '@blaze-react/select';\nimport { DEFAULT_OPTION } from '../constants';\n\nconst SelectFilter = ({\n data,\n label,\n prop,\n updateFilterValues,\n filterValues,\n shouldSearch,\n displayLabelAsPlaceholder,\n displayFilterCount,\n elementTitle\n}) => {\n const filterValue = filterValues[prop] || '';\n const disabledOptions = [];\n const { buckets = [] } = data[prop] || {};\n const options = buckets\n .map(({ key, doc_count: count }) => {\n if (!count) disabledOptions.push(key);\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel];\n })\n .filter(Boolean)\n .sort();\n\n const labelText = label || prop;\n let labelToUse = labelText;\n let defaultTextValue = DEFAULT_OPTION;\n if (displayLabelAsPlaceholder) {\n defaultTextValue = labelToUse;\n labelToUse = null;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n <Select\n label={labelToUse}\n value={filterValue}\n id={prop}\n data-testid={`filter-${prop}`}\n options={options}\n defaultTextValue={defaultTextValue}\n onChange={({ value }) => {\n let valueToUse = value;\n if (value === defaultTextValue) valueToUse = '';\n updateFilterValues({ [prop]: valueToUse }, shouldSearch);\n }}\n disabled={disabledOptions}\n />\n </>\n );\n};\n\nSelectFilter.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n\n displayLabelAsPlaceholder: PropTypes.bool,\n displayFilterCount: PropTypes.bool\n};\n\nSelectFilter.defaultProps = {\n filterValues: {},\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayLabelAsPlaceholder: false,\n displayFilterCount: false\n};\n\nexport default SelectFilter;\n"],"mappings":"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"}
|
|
@@ -11,13 +11,15 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _input = _interopRequireDefault(require("@blaze-react/input"));
|
|
13
13
|
var _md = require("react-icons/md");
|
|
14
|
-
var _HOC = require("../../../HOC");
|
|
15
14
|
var _constants = require("../constants");
|
|
16
15
|
var TextSearch = function TextSearch(_ref) {
|
|
17
16
|
var label = _ref.label,
|
|
18
17
|
searchValue = _ref.searchValue,
|
|
19
|
-
updateFilterValues = _ref.updateFilterValues
|
|
20
|
-
|
|
18
|
+
updateFilterValues = _ref.updateFilterValues,
|
|
19
|
+
elementTitle = _ref.elementTitle;
|
|
20
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, elementTitle && /*#__PURE__*/_react["default"].createElement("div", {
|
|
21
|
+
className: "heading heading--section"
|
|
22
|
+
}, elementTitle), /*#__PURE__*/_react["default"].createElement("div", {
|
|
21
23
|
className: "search"
|
|
22
24
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
23
25
|
className: "search__wrapper"
|
|
@@ -38,16 +40,18 @@ var TextSearch = function TextSearch(_ref) {
|
|
|
38
40
|
e.preventDefault();
|
|
39
41
|
updateFilterValues((0, _defineProperty2["default"])({}, _constants.SEARCH_TERM, searchValue), true);
|
|
40
42
|
}
|
|
41
|
-
}, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_md.MdSearch, null)))));
|
|
43
|
+
}, /*#__PURE__*/_react["default"].createElement("i", null, /*#__PURE__*/_react["default"].createElement(_md.MdSearch, null))))));
|
|
42
44
|
};
|
|
43
45
|
TextSearch.propTypes = {
|
|
44
46
|
searchValue: _propTypes["default"].string.isRequired,
|
|
45
47
|
updateFilterValues: _propTypes["default"].func.isRequired,
|
|
48
|
+
elementTitle: _propTypes["default"].string,
|
|
46
49
|
label: _propTypes["default"].string
|
|
47
50
|
};
|
|
48
51
|
TextSearch.defaultProps = {
|
|
52
|
+
elementTitle: '',
|
|
49
53
|
label: ''
|
|
50
54
|
};
|
|
51
|
-
var _default =
|
|
55
|
+
var _default = TextSearch;
|
|
52
56
|
exports["default"] = _default;
|
|
53
57
|
//# sourceMappingURL=TextSearch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextSearch.js","names":["_react","_interopRequireDefault","require","_propTypes","_input","_md","
|
|
1
|
+
{"version":3,"file":"TextSearch.js","names":["_react","_interopRequireDefault","require","_propTypes","_input","_md","_constants","TextSearch","_ref","label","searchValue","updateFilterValues","elementTitle","createElement","Fragment","className","id","SEARCH_TERM","value","placeholder","onChange","_ref2","eValue","_defineProperty2","type","onClick","e","preventDefault","MdSearch","propTypes","PropTypes","string","isRequired","func","defaultProps","_default","exports"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,IAAMK,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;EAAA,oBACxEZ,MAAA,YAAAa,aAAA,CAAAb,MAAA,YAAAc,QAAA,QACGF,YAAY,iBAAIZ,MAAA,YAAAa,aAAA;IAAKE,SAAS,EAAC;EAA0B,GAAEH,YAAY,CAAO,eAC/EZ,MAAA,YAAAa,aAAA;IAAKE,SAAS,EAAC;EAAQ,gBACrBf,MAAA,YAAAa,aAAA;IAAKE,SAAS,EAAC;EAAiB,gBAC9Bf,MAAA,YAAAa,aAAA;IAAKE,SAAS,EAAC;EAAiD,gBAC9Df,MAAA,YAAAa,aAAA,CAACT,MAAA,WAAK;IACJY,EAAE,EAAEC,sBAAY;IAChBC,KAAK,EAAER,WAAY;IACnBS,WAAW,EAAEV,KAAK,IAAI,QAAS;IAC/BW,QAAQ,EAAE,SAAAA,SAAAC,KAAA,EAAuB;MAAA,IAAbC,MAAM,GAAAD,KAAA,CAAbH,KAAK;MAChBP,kBAAkB,KAAAY,gBAAA,iBAAIN,sBAAW,EAAGK,MAAM,GAAI,KAAK,CAAC;IACtD;EAAE,EACF,CACE,eACNtB,MAAA,YAAAa,aAAA;IACEW,IAAI,EAAC,QAAQ;IACbT,SAAS,EAAC,iCAAiC;IAC3CU,OAAO,EAAE,SAAAA,QAAAC,CAAC,EAAI;MACZA,CAAC,CAACC,cAAc,EAAE;MAClBhB,kBAAkB,KAAAY,gBAAA,iBAAIN,sBAAW,EAAGP,WAAW,GAAI,IAAI,CAAC;IAC1D;EAAE,gBACFV,MAAA,YAAAa,aAAA,yBACEb,MAAA,YAAAa,aAAA,CAACR,GAAA,CAAAuB,QAAQ,OAAG,CACV,CACG,CACL,CACF,CACL;AAAA,CACJ;AAEDrB,UAAU,CAACsB,SAAS,GAAG;EACrBnB,WAAW,EAAEoB,qBAAS,CAACC,MAAM,CAACC,UAAU;EACxCrB,kBAAkB,EAAEmB,qBAAS,CAACG,IAAI,CAACD,UAAU;EAC7CpB,YAAY,EAAEkB,qBAAS,CAACC,MAAM;EAC9BtB,KAAK,EAAEqB,qBAAS,CAACC;AACnB,CAAC;AAEDxB,UAAU,CAAC2B,YAAY,GAAG;EACxBtB,YAAY,EAAE,EAAE;EAChBH,KAAK,EAAE;AACT,CAAC;AAAC,IAAA0B,QAAA,GAEa5B,UAAU;AAAA6B,OAAA,cAAAD,QAAA"}
|
|
@@ -122,7 +122,7 @@ const Card = _ref => {
|
|
|
122
122
|
scroll: true
|
|
123
123
|
}, preHeader.name) : /*#__PURE__*/React.createElement("div", {
|
|
124
124
|
className: "badge badge--label"
|
|
125
|
-
}, label)), displayTitle && /*#__PURE__*/React.createElement("
|
|
125
|
+
}, label)), displayTitle && /*#__PURE__*/React.createElement("div", {
|
|
126
126
|
className: titleWrapperModifier
|
|
127
127
|
}, /*#__PURE__*/React.createElement(BlazeLink, {
|
|
128
128
|
title: linkTitle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","__typename","dataEntity","otherProps","_objectWithoutProperties","_excluded","entity","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","createElement","_extends","className","href","scroll","src","alt","sizeKey","title","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","key","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS\n const clickProps =\n url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS\n ? {\n onClick: handleCardClick,\n role: 'button'\n }\n : {};\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","Card","_ref","id","image","name","url","graphqlEntityMap","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","__typename","dataEntity","otherProps","_objectWithoutProperties","_excluded","entity","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","createElement","_extends","className","href","scroll","src","alt","sizeKey","title","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","key","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n graphqlEntityMap,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n __typename: dataEntity,\n ...otherProps\n}) => {\n const entity = graphqlEntityMap[dataEntity];\n updateChildrensParent(cardChildren, id, entity);\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS\n const clickProps =\n url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS\n ? {\n onClick: handleCardClick,\n role: 'button'\n }\n : {};\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <div className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </div>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n graphqlEntityMap: PropTypes.object.isRequired,\n __typename: PropTypes.string.isRequired,\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
|