willba-component-library 0.0.80 → 0.0.82
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/lib/components/FilterBar/FilterBarTypes.d.ts +10 -3
- package/lib/components/FilterBar/components/guests/GuestCount/GuestCount.d.ts +1 -1
- package/lib/components/FilterBar/components/guests/Guests.d.ts +1 -1
- package/lib/components/FilterBar/hooks/useFilterBar.d.ts +4 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.esm.js +31 -20
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +31 -20
- package/lib/index.js.map +1 -1
- package/lib/index.umd.js +31 -20
- package/lib/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FilterBar/FilterBar.tsx +19 -3
- package/src/components/FilterBar/FilterBarTypes.ts +11 -3
- package/src/components/FilterBar/components/guests/GuestCount/GuestCount.tsx +8 -11
- package/src/components/FilterBar/components/guests/Guests.tsx +9 -2
- package/src/components/FilterBar/hooks/useFilterBar.tsx +10 -13
package/lib/index.js
CHANGED
|
@@ -7902,18 +7902,14 @@ var css_248z$4 = ".will-guests-filter-label, .will-guests-filter-count {\n font
|
|
|
7902
7902
|
styleInject(css_248z$4);
|
|
7903
7903
|
|
|
7904
7904
|
function GuestCount(_a) {
|
|
7905
|
-
var label = _a.label, updateGuestsCount = _a.updateGuestsCount;
|
|
7906
|
-
useTranslation('filterBar').t;
|
|
7907
|
-
var _b = React__default.useState(0), count = _b[0], setCount = _b[1];
|
|
7905
|
+
var label = _a.label, id = _a.id, updateGuestsCount = _a.updateGuestsCount, count = _a.count, minVal = _a.minVal;
|
|
7908
7906
|
var handleDecrement = function () {
|
|
7909
|
-
if (count >
|
|
7910
|
-
|
|
7911
|
-
updateGuestsCount(label, count - 1);
|
|
7907
|
+
if (count > minVal) {
|
|
7908
|
+
updateGuestsCount(id, count - 1);
|
|
7912
7909
|
}
|
|
7913
7910
|
};
|
|
7914
7911
|
var handleIncrement = function () {
|
|
7915
|
-
|
|
7916
|
-
updateGuestsCount(label, count + 1);
|
|
7912
|
+
updateGuestsCount(id, count + 1);
|
|
7917
7913
|
};
|
|
7918
7914
|
return (React__default.createElement("div", { className: "will-guests-filter-inner" },
|
|
7919
7915
|
React__default.createElement("span", { className: "will-guests-filter-label" }, label),
|
|
@@ -7930,12 +7926,13 @@ var css_248z$3 = ".will-filter-bar-guests {\n text-align: initial;\n}\n\n.will-
|
|
|
7930
7926
|
styleInject(css_248z$3);
|
|
7931
7927
|
|
|
7932
7928
|
function Guests(_a) {
|
|
7933
|
-
var ageCategories = _a.ageCategories, updateGuestsCount = _a.updateGuestsCount;
|
|
7929
|
+
var ageCategories = _a.ageCategories, updateGuestsCount = _a.updateGuestsCount, ageCategoryCounts = _a.ageCategoryCounts;
|
|
7934
7930
|
var t = useTranslation('filterBar').t;
|
|
7935
7931
|
return (React__default.createElement("div", { className: "will-filter-bar-guests" },
|
|
7936
7932
|
React__default.createElement("h3", { className: "will-guests-filter-title" }, t('guests.title')),
|
|
7937
7933
|
React__default.createElement("p", { className: "will-guests-filter-subtitle" }, t('guests.subtitle')),
|
|
7938
|
-
React__default.createElement("div", { className: "will-guests-filter-container" }, ageCategories === null || ageCategories === void 0 ? void 0 : ageCategories.map(function (category) { return (React__default.createElement(GuestCount, { key: category.id, label: category.name, updateGuestsCount: updateGuestsCount
|
|
7934
|
+
React__default.createElement("div", { className: "will-guests-filter-container" }, ageCategories === null || ageCategories === void 0 ? void 0 : ageCategories.map(function (category) { return (React__default.createElement(GuestCount, { key: category.id, id: parseInt(category.id), label: category.name, minVal: category.minVal, updateGuestsCount: updateGuestsCount, count: ageCategoryCounts[category.id] ||
|
|
7935
|
+
category.minVal })); }))));
|
|
7939
7936
|
}
|
|
7940
7937
|
|
|
7941
7938
|
var css_248z$2 = ".will-filter-bar-categories {\n text-align: center;\n}\n\n.will-categories-filter-title {\n font-size: 16px;\n text-transform: uppercase;\n margin: 10px 0 30px 0;\n}\n\n.will-categories-filter-inner {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 20px;\n}\n\n.will-categories-filter-inner input {\n cursor: pointer;\n margin-right: 10px;\n}\n";
|
|
@@ -8011,10 +8008,10 @@ function useFilterBar(ageCategories) {
|
|
|
8011
8008
|
var _c = React__default.useState(0), categories = _c[0], setCategories = _c[1];
|
|
8012
8009
|
//
|
|
8013
8010
|
var _d = React__default.useState({}), ageCategoryCounts = _d[0], setAgeCategoryCounts = _d[1];
|
|
8014
|
-
var updateGuestsCount = function (
|
|
8011
|
+
var updateGuestsCount = function (id, newCount) {
|
|
8015
8012
|
setAgeCategoryCounts(function (prevCounts) {
|
|
8016
8013
|
var _a;
|
|
8017
|
-
return (__assign(__assign({}, prevCounts), (_a = {}, _a[
|
|
8014
|
+
return (__assign(__assign({}, prevCounts), (_a = {}, _a[id] = newCount, _a)));
|
|
8018
8015
|
});
|
|
8019
8016
|
};
|
|
8020
8017
|
//
|
|
@@ -8022,8 +8019,7 @@ function useFilterBar(ageCategories) {
|
|
|
8022
8019
|
var urlSearchParams = new URLSearchParams(window.location.search);
|
|
8023
8020
|
var startDateParam = urlSearchParams.get('startDate');
|
|
8024
8021
|
var endDateParam = urlSearchParams.get('endDate');
|
|
8025
|
-
|
|
8026
|
-
parseInt(urlSearchParams.get('guestsKids') || '0', 10);
|
|
8022
|
+
var ageCategoryCountsParam = JSON.parse(urlSearchParams.get('ageCategoryCounts') || '{}');
|
|
8027
8023
|
var parsedCategories = parseInt(urlSearchParams.get('categories') || '0', 10);
|
|
8028
8024
|
if (startDateParam && endDateParam) {
|
|
8029
8025
|
setCalendarRange({
|
|
@@ -8031,8 +8027,7 @@ function useFilterBar(ageCategories) {
|
|
|
8031
8027
|
to: new Date(endDateParam),
|
|
8032
8028
|
});
|
|
8033
8029
|
}
|
|
8034
|
-
|
|
8035
|
-
// setGuestsKids(parsedGuestsKids)
|
|
8030
|
+
setAgeCategoryCounts(ageCategoryCountsParam);
|
|
8036
8031
|
setCategories(parsedCategories);
|
|
8037
8032
|
}, []);
|
|
8038
8033
|
var handleSelectedFilter = function (id) {
|
|
@@ -10424,16 +10419,16 @@ instance.use(initReactI18next).init({
|
|
|
10424
10419
|
});
|
|
10425
10420
|
|
|
10426
10421
|
function FilterBar(_a) {
|
|
10427
|
-
var vendor = _a.vendor, language = _a.language,
|
|
10422
|
+
var vendor = _a.vendor, language = _a.language, _b = _a.ageCategories, ageCategories = _b === void 0 ? ageCategoriesFallback : _b;
|
|
10428
10423
|
var themeClass = useTheme({ vendor: vendor });
|
|
10429
|
-
var
|
|
10424
|
+
var _c = React__default.useState(0); _c[0]; var setRerenderKey = _c[1];
|
|
10430
10425
|
React__default.useEffect(function () {
|
|
10431
10426
|
instance.changeLanguage(language);
|
|
10432
10427
|
// Trigger a re-render by updating the rerenderKey
|
|
10433
10428
|
setRerenderKey(function (prevKey) { return prevKey + 1; });
|
|
10434
10429
|
}, [language]);
|
|
10435
10430
|
var t = useTranslation('filterBar').t;
|
|
10436
|
-
var
|
|
10431
|
+
var _d = useFilterBar(), selectedFilter = _d.selectedFilter, ageCategoryCounts = _d.ageCategoryCounts, categories = _d.categories, calendarRange = _d.calendarRange, setCalendarRange = _d.setCalendarRange, setCategories = _d.setCategories, handleSelectedFilter = _d.handleSelectedFilter, handleSubmit = _d.handleSubmit, updateGuestsCount = _d.updateGuestsCount;
|
|
10437
10432
|
return (React__default.createElement(React__default.Fragment, null,
|
|
10438
10433
|
selectedFilter && (React__default.createElement("div", { className: "will-filter-bar will-filter-bar-underlay", onClick: function () {
|
|
10439
10434
|
handleSelectedFilter(false);
|
|
@@ -10448,12 +10443,28 @@ function FilterBar(_a) {
|
|
|
10448
10443
|
React__default.createElement(SubmitButton, { onClick: handleSubmit })),
|
|
10449
10444
|
selectedFilter && (React__default.createElement("div", { className: "will-filter-bar-container" },
|
|
10450
10445
|
(selectedFilter === 1 || selectedFilter === 2) && (React__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange })),
|
|
10451
|
-
selectedFilter === 3 && (React__default.createElement(Guests, { updateGuestsCount: updateGuestsCount, ageCategories: ageCategories })),
|
|
10446
|
+
selectedFilter === 3 && (React__default.createElement(Guests, { updateGuestsCount: updateGuestsCount, ageCategories: ageCategories, ageCategoryCounts: ageCategoryCounts })),
|
|
10452
10447
|
selectedFilter === 4 && (React__default.createElement(Categories, { categories: categories, setCategories: setCategories })))))));
|
|
10453
10448
|
}
|
|
10454
10449
|
var fontWigthBold = function (input) {
|
|
10455
10450
|
return { fontWeight: input ? 'bold' : 'initial' };
|
|
10456
10451
|
};
|
|
10452
|
+
var ageCategoriesFallback = [
|
|
10453
|
+
{
|
|
10454
|
+
id: '1',
|
|
10455
|
+
name: 'Adults',
|
|
10456
|
+
minAge: null,
|
|
10457
|
+
maxAge: 6,
|
|
10458
|
+
minVal: 1,
|
|
10459
|
+
},
|
|
10460
|
+
{
|
|
10461
|
+
id: '2',
|
|
10462
|
+
name: 'Kids',
|
|
10463
|
+
minAge: 6,
|
|
10464
|
+
maxAge: 17,
|
|
10465
|
+
minVal: 0,
|
|
10466
|
+
},
|
|
10467
|
+
];
|
|
10457
10468
|
|
|
10458
10469
|
exports.Button = Button$1;
|
|
10459
10470
|
exports.FilterBar = FilterBar;
|