willba-component-library 0.2.95 → 0.2.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/lib/components/FilterBar/FilterBar.d.ts +1 -1
  2. package/lib/components/FilterBar/FilterBarTypes.d.ts +1 -0
  3. package/lib/components/FilterBar/hooks/useFilterBar.d.ts +2 -1
  4. package/lib/index.d.ts +2 -1
  5. package/lib/index.esm.js +39 -40
  6. package/lib/index.esm.js.map +1 -1
  7. package/lib/index.js +39 -40
  8. package/lib/index.js.map +1 -1
  9. package/lib/index.umd.js +39 -40
  10. package/lib/index.umd.js.map +1 -1
  11. package/package.json +1 -1
  12. package/src/components/FilterBar/FilterBar.stories.tsx +1 -0
  13. package/src/components/FilterBar/FilterBar.tsx +2 -0
  14. package/src/components/FilterBar/FilterBarTypes.ts +1 -0
  15. package/src/components/FilterBar/hooks/useFilterBar.tsx +12 -4
  16. package/src/core/components/calendar/Calendar.tsx +1 -2
  17. package/src/locales/en/filterBar.json +2 -5
  18. package/src/locales/fi/filterBar.json +6 -11
  19. package/lib/assets/SpinnerSvg.d.ts +0 -5
  20. package/lib/components/FilterBar/components/buttons/close-button/CloseButton.d.ts +0 -7
  21. package/lib/components/FilterBar/components/buttons/submit-button/SubmitButton.d.ts +0 -3
  22. package/lib/components/FilterBar/components/calendar/Calendar.d.ts +0 -14
  23. package/lib/components/FilterBar/hooks/useCloseFilterSection.d.ts +0 -8
  24. package/lib/components/FilterBar/hooks/useUpdateTranslations.d.ts +0 -5
  25. package/lib/components/FilterBar/utils/parseDates.d.ts +0 -6
  26. package/lib/core/utils/handleOverlappingDates.d.ts +0 -1
  27. package/lib/core/utils/index.d.ts +0 -3
  28. package/lib/core/utils/nightsCount.d.ts +0 -6
  29. package/lib/core/utils/parseDate.d.ts +0 -7
  30. package/lib/core/utils/parseDates.d.ts +0 -6
package/lib/index.umd.js CHANGED
@@ -2839,10 +2839,7 @@
2839
2839
  eventsLabelPlaceholder: "Add search dates",
2840
2840
  startDate: "Start date",
2841
2841
  endDate: "End date",
2842
- title: "Calendar",
2843
- checkoutOnly: "Check-out only",
2844
- hasDisableDates: "Contains unavailable dates",
2845
- minNights: "2 nights min"
2842
+ title: "Calendar"
2846
2843
  };
2847
2844
  var guests$1 = {
2848
2845
  label: "Number of guests",
@@ -2905,21 +2902,16 @@
2905
2902
  eventsLabelPlaceholder: "Lisää aikaväli",
2906
2903
  startDate: "Alku",
2907
2904
  endDate: "Loppu",
2908
- title: "Kalenteri",
2909
- checkoutOnly: "Check-out only",
2910
- hasDisableDates: "Contains unavailable dates",
2911
- minNights: "2 nights min"
2905
+ title: "Kalenteri"
2912
2906
  };
2913
2907
  var guests = {
2914
- label: "Vierasmäärä",
2915
- labelPlaceholder: "Lisää vieraat",
2908
+ label: "Osallistujamäärä",
2909
+ labelPlaceholder: "Lisää osallistujat",
2916
2910
  title: "Ketkä ovat tulossa?",
2917
2911
  adultsLabel: "Aikuiset",
2918
2912
  kidsLabel: "lapset",
2919
- guestsLabel: "vierasta",
2920
- guestLabel: "vieras",
2921
- checkoutOnly: "Check-out only",
2922
- hasDisableDates: "Contains unavailable dates"
2913
+ guestsLabel: "osallistujaa",
2914
+ guestLabel: "osallistuja"
2923
2915
  };
2924
2916
  var categories = {
2925
2917
  label: "Kategoriat",
@@ -11002,6 +10994,28 @@
11002
10994
 
11003
10995
  var reactResponsiveExports = reactResponsive.exports;
11004
10996
 
10997
+ var IconsSvg = function (_a) {
10998
+ var fill = _a.fill, size = _a.size, icon = _a.icon;
10999
+ switch (icon) {
11000
+ case 'spinner':
11001
+ return (React__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "".concat(size || 25), height: "".concat(size || 25), viewBox: "0 0 24 24" },
11002
+ React__default.createElement("style", null, "\n .spinner_z9k8 {\n transform-origin: center;\n animation: spinner_StKS .75s infinite linear;\n }\n @keyframes spinner_StKS {\n 100% {\n transform: rotate(360deg);\n }\n }\n "),
11003
+ React__default.createElement("path", { d: "M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z", opacity: ".25", fill: fill }),
11004
+ React__default.createElement("path", { d: "M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z", className: "spinner_z9k8", fill: fill })));
11005
+ case 'warning':
11006
+ return (React__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "".concat(size || 25), height: "".concat(size || 25), className: "svg-icon", style: {
11007
+ verticalAlign: 'middle',
11008
+ fill: fill,
11009
+ overflow: 'hidden',
11010
+ minWidth: '25px',
11011
+ minHeight: '25px',
11012
+ }, viewBox: "0 0 1024 1024", version: "1.1" },
11013
+ React__default.createElement("path", { d: "M42.666667 896h938.666666L512 85.333333 42.666667 896z m512-128h-85.333334v-85.333333h85.333334v85.333333z m0-170.666667h-85.333334v-170.666666h85.333334v170.666666z" })));
11014
+ default:
11015
+ return null;
11016
+ }
11017
+ };
11018
+
11005
11019
  var parseDates = function (_a) {
11006
11020
  var calendarRange = _a.calendarRange;
11007
11021
  return (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) && (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
@@ -11490,28 +11504,6 @@
11490
11504
  var css_248z$8 = ".will-calendar-filter-container {\n display: flex;\n justify-content: center;\n user-select: none;\n}\n\n/* Calendar overrides */\n\n.will-calendar-filter-container .DayPicker {\n font-size: 25px;\n}\n\n.will-calendar-filter-container .rdp-month {\n position: relative;\n}\n\n.will-calendar-filter-container .rdp-month.rdp-caption_start {\n padding-left: 70px;\n}\n\n.will-calendar-filter-container .rdp-month.rdp-caption_end {\n padding-right: 70px;\n}\n\n.will-calendar-filter-container .rdp-month .rdp-nav {\n border: 1px solid var(--will-primary);\n border-radius: 50%;\n}\n\n.will-calendar-filter-container .rdp-month .rdp-nav svg {\n color: var(--will-primary);\n}\n\n\n.will-calendar-filter-container .rdp-month .rdp-caption {\n position: initial;\n}\n\n.will-calendar-filter-container .rdp-month .rdp-caption > .rdp-caption_label,\n.will-calendar-filter-container .rdp-table .rdp-head {\n opacity: .6;\n}\n\n.will-calendar-filter-container .rdp-table {\n border-collapse: separate;\n border-spacing: 0px 2px;\n}\n\n.will-calendar-filter-container .rdp-button_reset.rdp-button.rdp-day.rdp-day_selected {\n background-color: var(--will-primary);\n opacity: 1;\n color: var(--will-white)\n}\n\n.will-calendar-filter-container .my-today:not(.rdp-day_selected) { \n font-weight: 700;\n opacity: 1;\n color: var(--will-primary);\n}\n\n.will-calendar-filter-container .rdp-cell {\n position: relative;\n}\n\n.will-calendar-filter-container .rdp-cell button {\n font-weight: 500;\n}\n\n.will-calendar-filter-container .rdp-cell button.booked {\n font-weight: 400;\n cursor: not-allowed;\n}\n\n.will-calendar-filter-container .rdp-cell .rdp-button[disabled] {\n color: var(--will-transparent-black);\n opacity: 1\n}\n\n@media (max-width: 960px) {\n .will-calendar-filter-container .rdp-month .rdp-nav {\n border: none;\n border-radius: initial;\n }\n\n .will-calendar-filter-container .rdp-month.rdp-caption_start {\n padding-left: 10px;\n }\n \n .will-calendar-filter-container .rdp-month.rdp-caption_end {\n padding-right: 10px;\n }\n}\n\n/* Tooltips */\n.will-root .will-calendar-filter-container .will-calendar-tooltip,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-overlapping-date,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out-only,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-in-only {\n position: absolute;\n top: -42px;\n transform: translateX(calc(-50% + 20px));\n display: none;\n white-space: nowrap;\n z-index: 2;\n}\n\n.will-root .will-calendar-filter-container .will-calendar-tooltip > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-overlapping-date > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out-only > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-in-only > div {\n background-color: white;\n position: relative;\n padding: 5px 10px;\n border: 1px solid var(--will-primary);\n border-radius: 5px;\n}\n\n.will-root .will-calendar-filter-container .will-calendar-tooltip::before,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out::before,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-overlapping-date::before,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out-only::before,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-in-only::before {\n content: \"\";\n width: 10px;\n height: 10px;\n border: 1px solid var(--will-primary);\n position: absolute;\n bottom: -4px;\n left:calc(50% - 5.555px);\n rotate: 45deg;\n z-index: 0;\n background-color: var(--will-white);\n}\n\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip,\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip-check-out,\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip-overlapping-date,\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip-check-out-only,\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip-check-in-only {\n display: block;\n}\n\n/* Loading spinner */\n\n.will-root .will-calendar-filter-container .rdp-months {\n position: relative;\n}\n\n.will-root .will-calendar-filter-container .will-calendar-spinner {\n position: absolute;\n top:0;\n bottom:0;\n left: 0;\n right: 0;\n background-color: var(--will-white-transparent);\n z-index: 3;\n display: none;\n justify-content: center;\n align-items: center;\n font-weight: 600;\n}\n\n/* No active selection */\n\n.will-root .will-calendar-filter-container .no-active-selection-start,\n.will-root .will-calendar-filter-container .no-active-selection-mid,\n.will-root .will-calendar-filter-container .no-active-selection-end { \n position: initial;\n}\n\n.will-root .will-calendar-filter-container .no-active-selection-start::before,\n.will-root .will-calendar-filter-container .no-active-selection-mid::before,\n.will-root .will-calendar-filter-container .no-active-selection-end::before { \n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n border: 2px solid var(--will-light-grey);\n box-sizing: border-box;\n}\n\n.will-root .will-calendar-filter-container .no-active-selection-start::before {\n border-right: none;\n border-top-left-radius: 50%;\n border-bottom-left-radius: 50%;\n}\n\n.will-root .will-calendar-filter-container .no-active-selection-mid::before {\n border-right: none;\n border-left: none;\n}\n\n.will-root .will-calendar-filter-container .no-active-selection-end::before {\n border-left: none;\n border-top-right-radius: 50%;\n border-bottom-right-radius: 50%;\n}\n\n.will-root .will-calendar-filter-container .rdp-day_selected.rdp-day_range_middle.checkout-option {\n background-color: var(--will-primary-lightest);\n color: inherit;\n}\n\n/* Overlapping date */\n\n.will-root .will-calendar-filter-container .overlapping-date {\n user-select: none;\n pointer-events: none;\n}\n\n.will-root .will-calendar-filter-container .overlapping-date:hover {\n cursor: not-allowed;\n}\n\n@media (max-width: 600px) {\n /* Tooltips */\n.will-root .will-calendar-filter-container .will-calendar-tooltip,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-overlapping-date,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out-only,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-in-only {\n top: -70px;\n white-space: wrap;\n max-width: 120px;\n}\n}\n\n\n";
11491
11505
  styleInject(css_248z$8);
11492
11506
 
11493
- var IconsSvg = function (_a) {
11494
- var fill = _a.fill, size = _a.size, icon = _a.icon;
11495
- switch (icon) {
11496
- case 'spinner':
11497
- return (React__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "".concat(size || 25), height: "".concat(size || 25), viewBox: "0 0 24 24" },
11498
- React__default.createElement("style", null, "\n .spinner_z9k8 {\n transform-origin: center;\n animation: spinner_StKS .75s infinite linear;\n }\n @keyframes spinner_StKS {\n 100% {\n transform: rotate(360deg);\n }\n }\n "),
11499
- React__default.createElement("path", { d: "M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z", opacity: ".25", fill: fill }),
11500
- React__default.createElement("path", { d: "M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z", className: "spinner_z9k8", fill: fill })));
11501
- case 'warning':
11502
- return (React__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "".concat(size || 25), height: "".concat(size || 25), className: "svg-icon", style: {
11503
- verticalAlign: 'middle',
11504
- fill: fill,
11505
- overflow: 'hidden',
11506
- minWidth: '25px',
11507
- minHeight: '25px',
11508
- }, viewBox: "0 0 1024 1024", version: "1.1" },
11509
- React__default.createElement("path", { d: "M42.666667 896h938.666666L512 85.333333 42.666667 896z m512-128h-85.333334v-85.333333h85.333334v85.333333z m0-170.666667h-85.333334v-170.666666h85.333334v170.666666z" })));
11510
- default:
11511
- return null;
11512
- }
11513
- };
11514
-
11515
11507
  var Calendar = React__default.forwardRef(function (_a, ref) {
11516
11508
  var _b;
11517
11509
  var selectedPath = _a.selectedPath, calendarRange = _a.calendarRange, setCalendarRange = _a.setCalendarRange, language = _a.language, disableCalendarDates = _a.disableCalendarDates, requestDates = _a.requestDates, disabledDates = _a.disabledDates, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, setUpdateCalendarMonthNavigation = _a.setUpdateCalendarMonthNavigation, updateCalendarDefaultMonth = _a.updateCalendarDefaultMonth, loadingData = _a.loadingData, showFeedback = _a.showFeedback, palette = _a.palette, setCalendarHasError = _a.setCalendarHasError, setUpdatedForSubmit = _a.setUpdatedForSubmit, rangeContext = _a.rangeContext, calendarHasError = _a.calendarHasError;
@@ -11685,7 +11677,7 @@
11685
11677
  })(Pages || (Pages = {}));
11686
11678
 
11687
11679
  var useFilterBar = function (_a) {
11688
- var redirectUrl = _a.redirectUrl, ageCategories = _a.ageCategories, onSubmit = _a.onSubmit, tabs = _a.tabs;
11680
+ var redirectUrl = _a.redirectUrl, ageCategories = _a.ageCategories, onSubmit = _a.onSubmit, tabs = _a.tabs, siteId = _a.siteId;
11689
11681
  var _b = __read(React__default.useState(Pages.EVENTS), 2), selectedPath = _b[0], setSelectedPath = _b[1];
11690
11682
  var _c = __read(React__default.useState(false), 2), selectedFilter = _c[0], setSelectedFilter = _c[1];
11691
11683
  var _d = __read(React__default.useState(), 2), calendarRange = _d[0], setCalendarRange = _d[1];
@@ -11777,8 +11769,14 @@
11777
11769
  onSubmit(newParams);
11778
11770
  }
11779
11771
  else {
11780
- setInnerLoading(true),
11781
- (window.location.href = "".concat(redirectUrl, "/").concat(selectedPath).concat(querySearchParams ? "?".concat(querySearchParams.toString()) : ''));
11772
+ var siteIdParam = siteId ? "siteId=".concat(siteId) : '';
11773
+ var querySearchParam = querySearchParams
11774
+ ? querySearchParams.toString()
11775
+ : '';
11776
+ var params = [siteIdParam, querySearchParam].filter(Boolean).join('&');
11777
+ var path = "".concat(redirectUrl).concat(selectedPath);
11778
+ setInnerLoading(true);
11779
+ window.location.href = params ? "".concat(path, "?").concat(params) : path;
11782
11780
  }
11783
11781
  };
11784
11782
  var handleResetFilters = function () {
@@ -11943,7 +11941,7 @@
11943
11941
  styleInject(css_248z$1);
11944
11942
 
11945
11943
  function FilterBar(_a) {
11946
- var language = _a.language, _b = _a.ageCategories, ageCategories = _b === void 0 ? AGE_CATEGORIES_FALLBACK : _b, _c = _a.redirectUrl, redirectUrl = _c === void 0 ? REDIRECT_URL_FALLBACK : _c, palette = _a.palette, onSubmit = _a.onSubmit, fullWidth = _a.fullWidth, disableCalendarDates = _a.disableCalendarDates, mode = _a.mode, tabs = _a.tabs, outerLoading = _a.outerLoading;
11944
+ var language = _a.language, _b = _a.ageCategories, ageCategories = _b === void 0 ? AGE_CATEGORIES_FALLBACK : _b, _c = _a.redirectUrl, redirectUrl = _c === void 0 ? REDIRECT_URL_FALLBACK : _c, palette = _a.palette, onSubmit = _a.onSubmit, fullWidth = _a.fullWidth, disableCalendarDates = _a.disableCalendarDates, mode = _a.mode, tabs = _a.tabs, outerLoading = _a.outerLoading, siteId = _a.siteId;
11947
11945
  var themePalette = useTheme({ palette: palette });
11948
11946
  // Translations
11949
11947
  useUpdateTranslations({ language: language });
@@ -11954,6 +11952,7 @@
11954
11952
  ageCategories: ageCategories,
11955
11953
  onSubmit: onSubmit,
11956
11954
  tabs: tabs,
11955
+ siteId: siteId,
11957
11956
  }), selectedFilter = _d.selectedFilter, ageCategoryCounts = _d.ageCategoryCounts, categories = _d.categories, calendarRange = _d.calendarRange, selectedPath = _d.selectedPath, innerLoading = _d.innerLoading, setCalendarRange = _d.setCalendarRange, setCategories = _d.setCategories, handleSelectedFilter = _d.handleSelectedFilter, handleSubmit = _d.handleSubmit, updateGuestsCount = _d.updateGuestsCount, setSelectedPath = _d.setSelectedPath, handleResetFilters = _d.handleResetFilters;
11958
11957
  // Scroll in to view
11959
11958
  var _e = useScrollInToView({ selectedFilter: selectedFilter }), isMobile = _e.isMobile, targetFilterBarRef = _e.targetFilterBarRef;