@constructor-io/constructorio-ui-plp 1.4.6 → 1.4.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/dist/constructorio-ui-plp-bundled.js +10 -10
- package/lib/cjs/components/Filters/FilterOptionsList.js +1 -1
- package/lib/cjs/components/Filters/Filters.js +2 -1
- package/lib/cjs/hooks/useFilter.js +5 -2
- package/lib/cjs/version.js +1 -1
- package/lib/mjs/components/Filters/FilterOptionsList.js +1 -1
- package/lib/mjs/components/Filters/Filters.js +2 -1
- package/lib/mjs/hooks/useFilter.js +5 -2
- package/lib/mjs/version.js +1 -1
- package/lib/types/hooks/useFilter.d.ts +1 -0
- package/lib/types/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ function FilterOptionsList(props) {
|
|
|
14
14
|
'cio-collapsible-is-open': !isCollapsed,
|
|
15
15
|
}) },
|
|
16
16
|
react_1.default.createElement("ul", { className: 'cio-filter-multiple-options-list cio-collapsible-inner' },
|
|
17
|
-
optionsToRender.map((option) => (react_1.default.createElement(FilterOptionListRow_1.default, { id: `${facet.name}-${option.value}`, optionValue: option.value, displayValue: option.displayName, displayCountValue: option.count.toString(), isChecked: selectedOptionMap[option.value] || false, onChange: onOptionSelect }))),
|
|
17
|
+
optionsToRender.map((option) => (react_1.default.createElement(FilterOptionListRow_1.default, { id: `${facet.name}-${option.value}`, key: option.value, optionValue: option.value, displayValue: option.displayName, displayCountValue: option.count.toString(), isChecked: selectedOptionMap[option.value] || false, onChange: onOptionSelect }))),
|
|
18
18
|
initialNumOptions < facet.options.length && (react_1.default.createElement("button", { type: 'button', className: 'cio-see-all', onClick: () => setIsShowAll(!isShowAll) }, isShowAll ? 'Show Less' : 'Show All')))));
|
|
19
19
|
}
|
|
20
20
|
exports.default = FilterOptionsList;
|
|
@@ -7,12 +7,13 @@ const FilterGroup_1 = tslib_1.__importDefault(require("./FilterGroup"));
|
|
|
7
7
|
const useFilter_1 = tslib_1.__importDefault(require("../../hooks/useFilter"));
|
|
8
8
|
function Filters(props) {
|
|
9
9
|
const { children, initialNumOptions } = props, useFiltersProps = tslib_1.__rest(props, ["children", "initialNumOptions"]);
|
|
10
|
-
const { facets, setFilter, sliderStep, facetSliderSteps } = (0, useFilter_1.default)(useFiltersProps);
|
|
10
|
+
const { facets, setFilter, sliderStep, facetSliderSteps, clearFilters } = (0, useFilter_1.default)(useFiltersProps);
|
|
11
11
|
return (react_1.default.createElement(react_1.default.Fragment, null, typeof children === 'function' ? (children({
|
|
12
12
|
facets,
|
|
13
13
|
setFilter,
|
|
14
14
|
sliderStep,
|
|
15
15
|
facetSliderSteps,
|
|
16
|
+
clearFilters,
|
|
16
17
|
})) : (react_1.default.createElement("div", { className: 'cio-filters' }, facets.map((facet) => (react_1.default.createElement(FilterGroup_1.default, { facet: facet, initialNumOptions: initialNumOptions, setFilter: setFilter, sliderStep: sliderStep, facetSliderSteps: facetSliderSteps, key: facet.name })))))));
|
|
17
18
|
}
|
|
18
19
|
exports.default = Filters;
|
|
@@ -10,9 +10,8 @@ function useFilter(props) {
|
|
|
10
10
|
throw new Error('useFilter must be used within a component that is a child of <CioPlp />');
|
|
11
11
|
}
|
|
12
12
|
const { getRequestConfigs, setRequestConfigs } = (0, useRequestConfigs_1.default)();
|
|
13
|
-
const { filters: requestFilters } = getRequestConfigs();
|
|
14
13
|
const setFilter = (filterName, filterValue) => {
|
|
15
|
-
const newFilters =
|
|
14
|
+
const newFilters = getRequestConfigs().filters || {};
|
|
16
15
|
newFilters[filterName] = filterValue;
|
|
17
16
|
// Remove filter entirely
|
|
18
17
|
if (filterValue === null) {
|
|
@@ -20,11 +19,15 @@ function useFilter(props) {
|
|
|
20
19
|
}
|
|
21
20
|
setRequestConfigs({ filters: newFilters, page: 1 });
|
|
22
21
|
};
|
|
22
|
+
const clearFilters = () => {
|
|
23
|
+
setRequestConfigs({ filters: {}, page: 1 });
|
|
24
|
+
};
|
|
23
25
|
return {
|
|
24
26
|
facets,
|
|
25
27
|
setFilter,
|
|
26
28
|
sliderStep,
|
|
27
29
|
facetSliderSteps,
|
|
30
|
+
clearFilters,
|
|
28
31
|
};
|
|
29
32
|
}
|
|
30
33
|
exports.default = useFilter;
|
package/lib/cjs/version.js
CHANGED
|
@@ -11,6 +11,6 @@ export default function FilterOptionsList(props) {
|
|
|
11
11
|
'cio-collapsible-is-open': !isCollapsed,
|
|
12
12
|
}) },
|
|
13
13
|
React.createElement("ul", { className: 'cio-filter-multiple-options-list cio-collapsible-inner' },
|
|
14
|
-
optionsToRender.map((option) => (React.createElement(FilterOptionListRow, { id: `${facet.name}-${option.value}`, optionValue: option.value, displayValue: option.displayName, displayCountValue: option.count.toString(), isChecked: selectedOptionMap[option.value] || false, onChange: onOptionSelect }))),
|
|
14
|
+
optionsToRender.map((option) => (React.createElement(FilterOptionListRow, { id: `${facet.name}-${option.value}`, key: option.value, optionValue: option.value, displayValue: option.displayName, displayCountValue: option.count.toString(), isChecked: selectedOptionMap[option.value] || false, onChange: onOptionSelect }))),
|
|
15
15
|
initialNumOptions < facet.options.length && (React.createElement("button", { type: 'button', className: 'cio-see-all', onClick: () => setIsShowAll(!isShowAll) }, isShowAll ? 'Show Less' : 'Show All')))));
|
|
16
16
|
}
|
|
@@ -4,11 +4,12 @@ import FilterGroup from './FilterGroup';
|
|
|
4
4
|
import useFilter from '../../hooks/useFilter';
|
|
5
5
|
export default function Filters(props) {
|
|
6
6
|
const { children, initialNumOptions, ...useFiltersProps } = props;
|
|
7
|
-
const { facets, setFilter, sliderStep, facetSliderSteps } = useFilter(useFiltersProps);
|
|
7
|
+
const { facets, setFilter, sliderStep, facetSliderSteps, clearFilters } = useFilter(useFiltersProps);
|
|
8
8
|
return (React.createElement(React.Fragment, null, typeof children === 'function' ? (children({
|
|
9
9
|
facets,
|
|
10
10
|
setFilter,
|
|
11
11
|
sliderStep,
|
|
12
12
|
facetSliderSteps,
|
|
13
|
+
clearFilters,
|
|
13
14
|
})) : (React.createElement("div", { className: 'cio-filters' }, facets.map((facet) => (React.createElement(FilterGroup, { facet: facet, initialNumOptions: initialNumOptions, setFilter: setFilter, sliderStep: sliderStep, facetSliderSteps: facetSliderSteps, key: facet.name })))))));
|
|
14
15
|
}
|
|
@@ -7,9 +7,8 @@ export default function useFilter(props) {
|
|
|
7
7
|
throw new Error('useFilter must be used within a component that is a child of <CioPlp />');
|
|
8
8
|
}
|
|
9
9
|
const { getRequestConfigs, setRequestConfigs } = useRequestConfigs();
|
|
10
|
-
const { filters: requestFilters } = getRequestConfigs();
|
|
11
10
|
const setFilter = (filterName, filterValue) => {
|
|
12
|
-
const newFilters =
|
|
11
|
+
const newFilters = getRequestConfigs().filters || {};
|
|
13
12
|
newFilters[filterName] = filterValue;
|
|
14
13
|
// Remove filter entirely
|
|
15
14
|
if (filterValue === null) {
|
|
@@ -17,10 +16,14 @@ export default function useFilter(props) {
|
|
|
17
16
|
}
|
|
18
17
|
setRequestConfigs({ filters: newFilters, page: 1 });
|
|
19
18
|
};
|
|
19
|
+
const clearFilters = () => {
|
|
20
|
+
setRequestConfigs({ filters: {}, page: 1 });
|
|
21
|
+
};
|
|
20
22
|
return {
|
|
21
23
|
facets,
|
|
22
24
|
setFilter,
|
|
23
25
|
sliderStep,
|
|
24
26
|
facetSliderSteps,
|
|
27
|
+
clearFilters,
|
|
25
28
|
};
|
|
26
29
|
}
|
package/lib/mjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '1.4.
|
|
1
|
+
export default '1.4.7';
|
package/lib/types/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "1.4.
|
|
1
|
+
declare const _default: "1.4.7";
|
|
2
2
|
export default _default;
|