willba-component-library 0.1.6 → 0.1.11

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/index.umd.js CHANGED
@@ -480,7 +480,7 @@
480
480
  return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 512 512"},"child":[{"tag":"path","attr":{"d":"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"}}]})(props);
481
481
  }
482
482
 
483
- var css_248z$8 = ".will-filter-bar-submit-button {\r\n width: auto;\r\n height: auto;\r\n background-color: var(--will-primary);\r\n color: var(--will-white);\r\n padding: 10px 20px;\r\n border-radius: 20px;\r\n cursor: pointer;\r\n border: none;\r\n white-space: nowrap;\r\n text-transform: uppercase;\r\n font-size: 12px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.will-filter-bar-submit-button span {\r\n margin-right: 10px;\r\n display: flex;\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .will-filter-bar-submit-button {\r\n justify-content: center;\r\n margin-bottom: 25px;\r\n }\r\n}\r\n";
483
+ var css_248z$8 = ".will-filter-bar-submit-button {\r\n width: auto;\r\n height: auto;\r\n background-color: var(--will-primary);\r\n color: var(--will-white);\r\n padding: 10px 20px;\r\n border-radius: 20px;\r\n cursor: pointer;\r\n border: none;\r\n white-space: nowrap;\r\n text-transform: uppercase;\r\n font-size: 12px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.will-filter-bar-submit-button span {\r\n margin-right: 10px;\r\n display: flex;\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .will-filter-bar-submit-button {\r\n justify-content: center;\r\n margin-bottom: 15px;\r\n }\r\n}\r\n";
484
484
  styleInject(css_248z$8);
485
485
 
486
486
  function SubmitButton(_a) {
@@ -492,104 +492,14 @@
492
492
  t('submit.label')));
493
493
  }
494
494
 
495
- function buildFormatLongFn(args) {
496
- return function () {
497
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
498
- // TODO: Remove String()
499
- var width = options.width ? String(options.width) : args.defaultWidth;
500
- var format = args.formats[width] || args.formats[args.defaultWidth];
501
- return format;
502
- };
503
- }
504
-
505
- function buildLocalizeFn(args) {
506
- return function (dirtyIndex, options) {
507
- var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';
508
- var valuesArray;
509
- if (context === 'formatting' && args.formattingValues) {
510
- var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
511
- var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;
512
- valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
513
- } else {
514
- var _defaultWidth = args.defaultWidth;
515
- var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;
516
- valuesArray = args.values[_width] || args.values[_defaultWidth];
517
- }
518
- var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;
519
- // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!
520
- return valuesArray[index];
521
- };
522
- }
523
-
524
- function buildMatchFn(args) {
525
- return function (string) {
526
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
527
- var width = options.width;
528
- var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
529
- var matchResult = string.match(matchPattern);
530
- if (!matchResult) {
531
- return null;
532
- }
533
- var matchedString = matchResult[0];
534
- var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
535
- var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {
536
- return pattern.test(matchedString);
537
- }) : findKey(parsePatterns, function (pattern) {
538
- return pattern.test(matchedString);
539
- });
540
- var value;
541
- value = args.valueCallback ? args.valueCallback(key) : key;
542
- value = options.valueCallback ? options.valueCallback(value) : value;
543
- var rest = string.slice(matchedString.length);
544
- return {
545
- value: value,
546
- rest: rest
547
- };
548
- };
549
- }
550
- function findKey(object, predicate) {
551
- for (var key in object) {
552
- if (object.hasOwnProperty(key) && predicate(object[key])) {
553
- return key;
554
- }
555
- }
556
- return undefined;
557
- }
558
- function findIndex(array, predicate) {
559
- for (var key = 0; key < array.length; key++) {
560
- if (predicate(array[key])) {
561
- return key;
562
- }
563
- }
564
- return undefined;
565
- }
566
-
567
- function buildMatchPatternFn(args) {
568
- return function (string) {
569
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
570
- var matchResult = string.match(args.matchPattern);
571
- if (!matchResult) return null;
572
- var matchedString = matchResult[0];
573
- var parseResult = string.match(args.parsePattern);
574
- if (!parseResult) return null;
575
- var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
576
- value = options.valueCallback ? options.valueCallback(value) : value;
577
- var rest = string.slice(matchedString.length);
578
- return {
579
- value: value,
580
- rest: rest
581
- };
582
- };
583
- }
584
-
585
- function _typeof(obj) {
495
+ function _typeof(o) {
586
496
  "@babel/helpers - typeof";
587
497
 
588
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
589
- return typeof obj;
590
- } : function (obj) {
591
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
592
- }, _typeof(obj);
498
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
499
+ return typeof o;
500
+ } : function (o) {
501
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
502
+ }, _typeof(o);
593
503
  }
594
504
 
595
505
  function toInteger(dirtyNumber) {
@@ -2699,6 +2609,16 @@
2699
2609
  };
2700
2610
  var formatDistance$1 = formatDistance;
2701
2611
 
2612
+ function buildFormatLongFn(args) {
2613
+ return function () {
2614
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2615
+ // TODO: Remove String()
2616
+ var width = options.width ? String(options.width) : args.defaultWidth;
2617
+ var format = args.formats[width] || args.formats[args.defaultWidth];
2618
+ return format;
2619
+ };
2620
+ }
2621
+
2702
2622
  var dateFormats = {
2703
2623
  full: 'EEEE, MMMM do, y',
2704
2624
  long: 'MMMM do, y',
@@ -2746,6 +2666,25 @@
2746
2666
  };
2747
2667
  var formatRelative$1 = formatRelative;
2748
2668
 
2669
+ function buildLocalizeFn(args) {
2670
+ return function (dirtyIndex, options) {
2671
+ var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';
2672
+ var valuesArray;
2673
+ if (context === 'formatting' && args.formattingValues) {
2674
+ var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
2675
+ var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;
2676
+ valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
2677
+ } else {
2678
+ var _defaultWidth = args.defaultWidth;
2679
+ var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;
2680
+ valuesArray = args.values[_width] || args.values[_defaultWidth];
2681
+ }
2682
+ var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;
2683
+ // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!
2684
+ return valuesArray[index];
2685
+ };
2686
+ }
2687
+
2749
2688
  var eraValues = {
2750
2689
  narrow: ['B', 'A'],
2751
2690
  abbreviated: ['BC', 'AD'],
@@ -2889,6 +2828,67 @@
2889
2828
  };
2890
2829
  var localize$1 = localize;
2891
2830
 
2831
+ function buildMatchFn(args) {
2832
+ return function (string) {
2833
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2834
+ var width = options.width;
2835
+ var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
2836
+ var matchResult = string.match(matchPattern);
2837
+ if (!matchResult) {
2838
+ return null;
2839
+ }
2840
+ var matchedString = matchResult[0];
2841
+ var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
2842
+ var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {
2843
+ return pattern.test(matchedString);
2844
+ }) : findKey(parsePatterns, function (pattern) {
2845
+ return pattern.test(matchedString);
2846
+ });
2847
+ var value;
2848
+ value = args.valueCallback ? args.valueCallback(key) : key;
2849
+ value = options.valueCallback ? options.valueCallback(value) : value;
2850
+ var rest = string.slice(matchedString.length);
2851
+ return {
2852
+ value: value,
2853
+ rest: rest
2854
+ };
2855
+ };
2856
+ }
2857
+ function findKey(object, predicate) {
2858
+ for (var key in object) {
2859
+ if (object.hasOwnProperty(key) && predicate(object[key])) {
2860
+ return key;
2861
+ }
2862
+ }
2863
+ return undefined;
2864
+ }
2865
+ function findIndex(array, predicate) {
2866
+ for (var key = 0; key < array.length; key++) {
2867
+ if (predicate(array[key])) {
2868
+ return key;
2869
+ }
2870
+ }
2871
+ return undefined;
2872
+ }
2873
+
2874
+ function buildMatchPatternFn(args) {
2875
+ return function (string) {
2876
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2877
+ var matchResult = string.match(args.matchPattern);
2878
+ if (!matchResult) return null;
2879
+ var matchedString = matchResult[0];
2880
+ var parseResult = string.match(args.parsePattern);
2881
+ if (!parseResult) return null;
2882
+ var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
2883
+ value = options.valueCallback ? options.valueCallback(value) : value;
2884
+ var rest = string.slice(matchedString.length);
2885
+ return {
2886
+ value: value,
2887
+ rest: rest
2888
+ };
2889
+ };
2890
+ }
2891
+
2892
2892
  var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
2893
2893
  var parseOrdinalNumberPattern = /\d+/i;
2894
2894
  var matchEraPatterns = {
@@ -3978,7 +3978,12 @@
3978
3978
  }
3979
3979
  }
3980
3980
  return to.concat(ar || Array.prototype.slice.call(from));
3981
- }
3981
+ }
3982
+
3983
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
3984
+ var e = new Error(message);
3985
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
3986
+ };
3982
3987
 
3983
3988
  /** Returns true when the props are of type {@link DayPickerMultipleProps}. */
3984
3989
  function isDayPickerMultiple(props) {
@@ -4525,7 +4530,7 @@
4525
4530
  var _b = useDayPicker(), classNames = _b.classNames, styles = _b.styles, components = _b.components;
4526
4531
  var goToMonth = useNavigation().goToMonth;
4527
4532
  var handleMonthChange = function (newMonth) {
4528
- goToMonth(newMonth);
4533
+ goToMonth(addMonths(newMonth, props.displayIndex ? -props.displayIndex : 0));
4529
4534
  };
4530
4535
  var CaptionLabelComponent = (_a = components === null || components === void 0 ? void 0 : components.CaptionLabel) !== null && _a !== void 0 ? _a : CaptionLabel;
4531
4536
  var captionLabel = (React__default.createElement(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth }));
@@ -4633,12 +4638,12 @@
4633
4638
  }
4634
4639
  else if (captionLayout === 'dropdown-buttons') {
4635
4640
  caption = (React__default.createElement(React__default.Fragment, null,
4636
- React__default.createElement(CaptionDropdowns, { displayMonth: props.displayMonth, id: props.id }),
4637
- React__default.createElement(CaptionNavigation, { displayMonth: props.displayMonth, id: props.id })));
4641
+ React__default.createElement(CaptionDropdowns, { displayMonth: props.displayMonth, displayIndex: props.displayIndex, id: props.id }),
4642
+ React__default.createElement(CaptionNavigation, { displayMonth: props.displayMonth, displayIndex: props.displayIndex, id: props.id })));
4638
4643
  }
4639
4644
  else {
4640
4645
  caption = (React__default.createElement(React__default.Fragment, null,
4641
- React__default.createElement(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth }),
4646
+ React__default.createElement(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth, displayIndex: props.displayIndex }),
4642
4647
  React__default.createElement(CaptionNavigation, { displayMonth: props.displayMonth, id: props.id })));
4643
4648
  }
4644
4649
  return (React__default.createElement("div", { className: classNames.caption, style: styles.caption }, caption));
@@ -4787,31 +4792,34 @@
4787
4792
  */
4788
4793
  function addToRange(day, range) {
4789
4794
  var _a = range || {}, from = _a.from, to = _a.to;
4790
- if (!from) {
4791
- return { from: day, to: undefined };
4792
- }
4793
- if (!to && isSameDay(from, day)) {
4795
+ if (from && to) {
4796
+ if (isSameDay(to, day) && isSameDay(from, day)) {
4797
+ return undefined;
4798
+ }
4799
+ if (isSameDay(to, day)) {
4800
+ return { from: to, to: undefined };
4801
+ }
4802
+ if (isSameDay(from, day)) {
4803
+ return undefined;
4804
+ }
4805
+ if (isAfter(from, day)) {
4806
+ return { from: day, to: to };
4807
+ }
4794
4808
  return { from: from, to: day };
4795
4809
  }
4796
- if (!to && isBefore(day, from)) {
4797
- return { from: day, to: from };
4810
+ if (to) {
4811
+ if (isAfter(day, to)) {
4812
+ return { from: to, to: day };
4813
+ }
4814
+ return { from: day, to: to };
4798
4815
  }
4799
- if (!to) {
4816
+ if (from) {
4817
+ if (isBefore(day, from)) {
4818
+ return { from: day, to: from };
4819
+ }
4800
4820
  return { from: from, to: day };
4801
4821
  }
4802
- if (isSameDay(to, day) && isSameDay(from, day)) {
4803
- return undefined;
4804
- }
4805
- if (isSameDay(to, day)) {
4806
- return { from: to, to: undefined };
4807
- }
4808
- if (isSameDay(from, day)) {
4809
- return undefined;
4810
- }
4811
- if (isAfter(from, day)) {
4812
- return { from: day, to: to };
4813
- }
4814
- return { from: from, to: day };
4822
+ return { from: day, to: undefined };
4815
4823
  }
4816
4824
 
4817
4825
  /**
@@ -4872,6 +4880,10 @@
4872
4880
  }
4873
4881
  }
4874
4882
  }
4883
+ else if (selectedTo) {
4884
+ modifiers.range_start = [selectedTo];
4885
+ modifiers.range_end = [selectedTo];
4886
+ }
4875
4887
  if (min) {
4876
4888
  if (selectedFrom && !selectedTo) {
4877
4889
  modifiers.disabled.push({
@@ -4885,6 +4897,12 @@
4885
4897
  before: addDays(selectedFrom, min - 1)
4886
4898
  });
4887
4899
  }
4900
+ if (!selectedFrom && selectedTo) {
4901
+ modifiers.disabled.push({
4902
+ after: subDays(selectedTo, min - 1),
4903
+ before: addDays(selectedTo, min - 1)
4904
+ });
4905
+ }
4888
4906
  }
4889
4907
  if (max) {
4890
4908
  if (selectedFrom && !selectedTo) {
@@ -4905,6 +4923,14 @@
4905
4923
  after: addDays(selectedTo, offset)
4906
4924
  });
4907
4925
  }
4926
+ if (!selectedFrom && selectedTo) {
4927
+ modifiers.disabled.push({
4928
+ before: addDays(selectedTo, -max + 1)
4929
+ });
4930
+ modifiers.disabled.push({
4931
+ after: addDays(selectedTo, max - 1)
4932
+ });
4933
+ }
4908
4934
  }
4909
4935
  return (React__default.createElement(SelectRangeContext.Provider, { value: { selected: selected, onDayClick: onDayClick, modifiers: modifiers } }, children));
4910
4936
  }
@@ -5051,22 +5077,22 @@
5051
5077
  function isDateInRange(date, range) {
5052
5078
  var _a;
5053
5079
  var from = range.from, to = range.to;
5054
- if (!from) {
5055
- return false;
5056
- }
5057
- if (!to && isSameDay(from, date)) {
5058
- return true;
5080
+ if (from && to) {
5081
+ var isRangeInverted = differenceInCalendarDays(to, from) < 0;
5082
+ if (isRangeInverted) {
5083
+ _a = [to, from], from = _a[0], to = _a[1];
5084
+ }
5085
+ var isInRange = differenceInCalendarDays(date, from) >= 0 &&
5086
+ differenceInCalendarDays(to, date) >= 0;
5087
+ return isInRange;
5059
5088
  }
5060
- if (!to) {
5061
- return false;
5089
+ if (to) {
5090
+ return isSameDay(to, date);
5062
5091
  }
5063
- var isRangeInverted = differenceInCalendarDays(to, from) < 0;
5064
- if (isRangeInverted) {
5065
- _a = [to, from], from = _a[0], to = _a[1];
5092
+ if (from) {
5093
+ return isSameDay(from, date);
5066
5094
  }
5067
- var isInRange = differenceInCalendarDays(date, from) >= 0 &&
5068
- differenceInCalendarDays(to, date) >= 0;
5069
- return isInRange;
5095
+ return false;
5070
5096
  }
5071
5097
 
5072
5098
  /** Returns true if `value` is a Date type. */
@@ -5782,7 +5808,7 @@
5782
5808
  var FooterComponent = (_c = components === null || components === void 0 ? void 0 : components.Footer) !== null && _c !== void 0 ? _c : Footer;
5783
5809
  return (React__default.createElement("table", { id: props.id, className: classNames.table, style: styles.table, role: "grid", "aria-labelledby": props['aria-labelledby'] },
5784
5810
  !hideHead && React__default.createElement(HeadComponent, null),
5785
- React__default.createElement("tbody", { className: classNames.tbody, style: styles.tbody, role: "rowgroup" }, weeks.map(function (week) { return (React__default.createElement(RowComponent, { displayMonth: props.displayMonth, key: week.weekNumber, dates: week.dates, weekNumber: week.weekNumber })); })),
5811
+ React__default.createElement("tbody", { className: classNames.tbody, style: styles.tbody }, weeks.map(function (week) { return (React__default.createElement(RowComponent, { displayMonth: props.displayMonth, key: week.weekNumber, dates: week.dates, weekNumber: week.weekNumber })); })),
5786
5812
  React__default.createElement(FooterComponent, { displayMonth: props.displayMonth })));
5787
5813
  }
5788
5814
 
@@ -5896,7 +5922,7 @@
5896
5922
  }
5897
5923
  var CaptionComponent = (_b = components === null || components === void 0 ? void 0 : components.Caption) !== null && _b !== void 0 ? _b : Caption;
5898
5924
  return (React__default.createElement("div", { key: props.displayIndex, className: className.join(' '), style: style },
5899
- React__default.createElement(CaptionComponent, { id: captionId, displayMonth: props.displayMonth }),
5925
+ React__default.createElement(CaptionComponent, { id: captionId, displayMonth: props.displayMonth, displayIndex: props.displayIndex }),
5900
5926
  React__default.createElement(Table, { id: tableId, "aria-labelledby": captionId, displayMonth: props.displayMonth })));
5901
5927
  }
5902
5928
 
@@ -7966,13 +7992,12 @@
7966
7992
  }
7967
7993
 
7968
7994
  function useTheme(_a) {
7969
- var vendor = _a.vendor;
7970
- var themeClass = vendor === 'Kisakallio'
7971
- ? 'will-root-kis'
7972
- : vendor === 'Pajulahti'
7973
- ? 'will-root-paj'
7974
- : '';
7975
- return themeClass;
7995
+ var palette = _a.palette;
7996
+ var themePalette = {
7997
+ '--will-primary': palette === null || palette === void 0 ? void 0 : palette.primary,
7998
+ '--will-secondary': palette === null || palette === void 0 ? void 0 : palette.secondary,
7999
+ };
8000
+ return themePalette;
7976
8001
  }
7977
8002
 
7978
8003
  /******************************************************************************
@@ -8046,7 +8071,7 @@
8046
8071
  : '',
8047
8072
  endDate: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) ? format(calendarRange.to, 'yyyy-MM-dd') : '',
8048
8073
  categories: categories,
8049
- ageCategoryCounts: JSON.stringify(ageCategoryCounts),
8074
+ //ageCategoryCounts: JSON.stringify(ageCategoryCounts),
8050
8075
  };
8051
8076
  for (var _i = 0, _a = Object.entries(params); _i < _a.length; _i++) {
8052
8077
  var _b = _a[_i], key = _b[0], value = _b[1];
@@ -8084,10 +8109,10 @@
8084
8109
  };
8085
8110
  }
8086
8111
 
8087
- var css_248z$2 = ".will-root {\r\n z-index: 99999;\r\n width: 100%;\r\n max-height: 100vh;\r\n position: relative;\r\n \r\n}\r\n\r\n.will-filter-bar {\r\n box-sizing: border-box;\r\n position: relative;\r\n}\r\n\r\n.will-filter-bar-underlay {\r\n background-color: rgba(0,0,0,.8);\r\n position: absolute;\r\n top:0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n cursor: pointer;\r\n min-height: 200vh;\r\n z-index: 88888;\r\n}\r\n\r\n/* Header */\r\n.will-filter-bar-header {\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 10px 20px;\r\n position: relative;\r\n z-index: 222;\r\n \r\n \r\n border-radius: 40px;\r\n background-color: var(--will-white);\r\n box-shadow: var(--will-box-shadow);\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .will-filter-bar-header {\r\n flex-direction: column;\r\n padding: 20px;\r\n }\r\n}\r\n\r\n/* Container */\r\n\r\n.will-filter-bar-container {\r\n background-color: var(--will-white);\r\n min-height: 100px;\r\n \r\n padding: 90px 40px 30px 40px;\r\n position: absolute;\r\n top: 0;\r\n z-index: 111;\r\n border-radius: 25px;\r\n width: -webkit-fill-available;\r\n box-shadow: var(--will-box-shadow);\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .will-root { \r\n overflow-y: auto;\r\n padding: 40px 10px;\r\n top: 15px;\r\n z-index: 0;\r\n }\r\n\r\n .will-filter-bar-container {\r\n margin-top: 20px;\r\n padding: 30px 40px;\r\n position: initial;\r\n }\r\n\r\n .isMobileAbsolute {\r\n position: absolute;\r\n z-index: 99999;\r\n }\r\n\r\n\r\n\r\n \r\n}\r\n\r\n";
8112
+ var css_248z$2 = ".will-root {\r\n z-index: 99999;\r\n width: 100%;\r\n max-height: 100vh;\r\n position: relative;\r\n \r\n}\r\n\r\n.will-filter-bar {\r\n box-sizing: border-box;\r\n position: relative;\r\n}\r\n\r\n.will-filter-bar-underlay {\r\n background-color: rgba(0,0,0,.8);\r\n position: absolute;\r\n /* top:0; */\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n cursor: pointer;\r\n min-height: 200vh;\r\n z-index: 88888;\r\n\r\n transform: translateY(-50%);\r\n}\r\n\r\n/* Header */\r\n.will-filter-bar-header {\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 10px 20px;\r\n position: relative;\r\n z-index: 222;\r\n \r\n \r\n border-radius: 40px;\r\n background-color: var(--will-white);\r\n box-shadow: var(--will-box-shadow);\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .will-filter-bar-header {\r\n flex-direction: column;\r\n padding: 20px;\r\n }\r\n}\r\n\r\n/* Container */\r\n\r\n.will-filter-bar-container {\r\n background-color: var(--will-white);\r\n min-height: 100px;\r\n \r\n padding: 90px 40px 30px 40px;\r\n position: absolute;\r\n top: 0;\r\n z-index: 111;\r\n border-radius: 25px;\r\n width: -webkit-fill-available;\r\n box-shadow: var(--will-box-shadow);\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .will-root { \r\n overflow-y: auto;\r\n padding: 40px 10px;\r\n top: 15px;\r\n z-index: 0;\r\n }\r\n\r\n .will-filter-bar-container {\r\n margin-top: 20px;\r\n padding: 30px 40px;\r\n position: relative;\r\n }\r\n\r\n .isMobileAbsolute {\r\n position: absolute;\r\n z-index: 99999;\r\n }\r\n\r\n\r\n\r\n \r\n}\r\n\r\n";
8088
8113
  styleInject(css_248z$2);
8089
8114
 
8090
- var css_248z$1 = "@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');\r\n\r\n.will-root * {\r\n font-family: 'Montserrat', sans-serif;\r\n}\r\n\r\n.will-root {\r\n \r\n box-sizing: border-box;\r\n font-size: 14px;\r\n \r\n color: #1E1E1E;\r\n\r\n /* Pallete */\r\n --will-primary: #374269;\r\n --will-grey: #ABA7AF;\r\n --will-white: #fff;\r\n --will-onahau: #CDEEFF;\r\n --will-text: #5A5959;\r\n\r\n /* Confines */\r\n --will-box-shadow: 0px 6px 11px 0px #a7a4a480;\r\n\r\n /* Breakpoints */\r\n\r\n --will-lg: 1140px;\r\n --will-md: 960px;\r\n --will-sm: 600px;\r\n --will-xl: 1280px;\r\n --will-xs: 0px;\r\n}\r\n\r\n/* Typography */\r\n\r\n.will-root h1, h2, h3, h4, h5, h6 {\r\n font-weight: 700;\r\n} \r\n\r\n.will-root p, h1, h2, h3, h4, h5, h6, span {\r\n margin: 0;\r\n padding: 0;\r\n} \r\n\r\n/* Overrides as themes */\r\n\r\n.will-root-kis {\r\n --will-primary: #374269;\r\n}\r\n\r\n.will-root-paj {\r\n --will-primary: #1897D8;\r\n}";
8115
+ var css_248z$1 = "@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');\r\n\r\n.will-root * {\r\n font-family: 'Montserrat', sans-serif;\r\n}\r\n\r\n.will-root {\r\n \r\n box-sizing: border-box;\r\n font-size: 14px;\r\n \r\n color: #1E1E1E;\r\n\r\n /* Pallete */\r\n --will-primary: #374269;\r\n --will-secondary: #374269;\r\n --will-grey: #ABA7AF;\r\n --will-white: #fff;\r\n --will-onahau: #CDEEFF;\r\n --will-text: #5A5959;\r\n\r\n /* Confines */\r\n --will-box-shadow: 0px 6px 11px 0px #a7a4a480;\r\n\r\n /* Breakpoints */\r\n\r\n --will-lg: 1140px;\r\n --will-md: 960px;\r\n --will-sm: 600px;\r\n --will-xl: 1280px;\r\n --will-xs: 0px;\r\n}\r\n\r\n/* Typography */\r\n\r\n.will-root h1, h2, h3, h4, h5, h6 {\r\n font-weight: 700;\r\n} \r\n\r\n.will-root p, h1, h2, h3, h4, h5, h6, span {\r\n margin: 0;\r\n padding: 0;\r\n}";
8091
8116
  styleInject(css_248z$1);
8092
8117
 
8093
8118
  const consoleLogger = {
@@ -8723,7 +8748,7 @@
8723
8748
  res = this.i18nFormat.parse(res, {
8724
8749
  ...this.options.interpolation.defaultVariables,
8725
8750
  ...options
8726
- }, resolved.usedLng, resolved.usedNS, resolved.usedKey, {
8751
+ }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {
8727
8752
  resolved
8728
8753
  });
8729
8754
  } else if (!options.skipInterpolation) {
@@ -10042,12 +10067,14 @@
10042
10067
  const usedLng = typeof language === 'string' ? language : this.language;
10043
10068
  if (typeof language === 'function') usedCallback = language;
10044
10069
  if (!this.options.resources || this.options.partialBundledLanguages) {
10045
- if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();
10070
+ if (usedLng && usedLng.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();
10046
10071
  const toLoad = [];
10047
10072
  const append = lng => {
10048
10073
  if (!lng) return;
10074
+ if (lng === 'cimode') return;
10049
10075
  const lngs = this.services.languageUtils.toResolveHierarchy(lng);
10050
10076
  lngs.forEach(l => {
10077
+ if (l === 'cimode') return;
10051
10078
  if (toLoad.indexOf(l) < 0) toLoad.push(l);
10052
10079
  });
10053
10080
  };
@@ -10433,7 +10460,7 @@
10433
10460
  return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 512 512"},"child":[{"tag":"path","attr":{"d":"M331.3 308.7L278.6 256l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6-6.2-6.2-16.4-6.2-22.6 0L256 233.4l-52.7-52.7c-6.2-6.2-15.6-7.1-22.6 0-7.1 7.1-6 16.6 0 22.6l52.7 52.7-52.7 52.7c-6.7 6.7-6.4 16.3 0 22.6 6.4 6.4 16.4 6.2 22.6 0l52.7-52.7 52.7 52.7c6.2 6.2 16.4 6.2 22.6 0 6.3-6.2 6.3-16.4 0-22.6z"}},{"tag":"path","attr":{"d":"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"}}]})(props);
10434
10461
  }
10435
10462
 
10436
- var css_248z = ".will-filter-bar-close-button {\r\n width: auto;\r\n height: auto;\r\n background-color: var(--will-grey);\r\n color: var(--will-white);\r\n padding: 2px 7px;\r\n border-radius: 50%;\r\n cursor: pointer;\r\n border: none;\r\n display: flex;\r\n align-items: center;\r\n font-size: 25px;\r\n margin-left: 15px;\r\n display: none;\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .will-filter-bar-close-button {\r\n min-height: 35px;\r\n border-radius: 25px;\r\n margin-left:0;\r\n margin-bottom: 25px;\r\n display: flex;\r\n justify-content: center;\r\n }\r\n}\r\n";
10463
+ var css_248z = ".will-filter-bar-close-button {\r\n width: auto;\r\n height: auto;\r\n /* background-color: var(--will-grey); */\r\n color: var(--will-grey);\r\n padding: 2px 7px;\r\n border-radius: 50%;\r\n cursor: pointer;\r\n border: none;\r\n display: flex;\r\n align-items: center;\r\n font-size: 23px;\r\n display: none;\r\n\r\n position: absolute;\r\n top: 10px;\r\n right: 10px;\r\n\r\n}\r\n\r\n@media (max-width: 960px) {\r\n .will-filter-bar-close-button {\r\n min-height: 35px;\r\n border-radius: 25px;\r\n margin-left:0;\r\n \r\n display: flex;\r\n justify-content: center;\r\n }\r\n}\r\n";
10437
10464
  styleInject(css_248z);
10438
10465
 
10439
10466
  function CloseButton(_a) {
@@ -10443,27 +10470,39 @@
10443
10470
  }
10444
10471
 
10445
10472
  function FilterBar(_a) {
10446
- var vendor = _a.vendor, 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;
10447
- var themeClass = useTheme({ vendor: vendor });
10473
+ 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;
10474
+ var themePalette = useTheme({ palette: palette });
10475
+ // Translations
10448
10476
  var _d = React__default.useState(0); _d[0]; var setRerenderKey = _d[1];
10449
10477
  React__default.useEffect(function () {
10450
10478
  instance.changeLanguage(language);
10451
10479
  setRerenderKey(function (prevKey) { return prevKey + 1; });
10452
10480
  }, [language]);
10453
10481
  var t = useTranslation('filterBar').t;
10454
- var _e = useFilterBar({ redirectUrl: redirectUrl }), selectedFilter = _e.selectedFilter, ageCategoryCounts = _e.ageCategoryCounts, categories = _e.categories, calendarRange = _e.calendarRange, setCalendarRange = _e.setCalendarRange, setCategories = _e.setCategories, handleSelectedFilter = _e.handleSelectedFilter, handleSubmit = _e.handleSubmit, updateGuestsCount = _e.updateGuestsCount, handleResetFilters = _e.handleResetFilters;
10482
+ // Filters
10483
+ var _e = useFilterBar({ redirectUrl: redirectUrl }), selectedFilter = _e.selectedFilter, ageCategoryCounts = _e.ageCategoryCounts, categories = _e.categories, calendarRange = _e.calendarRange, setCalendarRange = _e.setCalendarRange, setCategories = _e.setCategories, handleSelectedFilter = _e.handleSelectedFilter, handleSubmit = _e.handleSubmit, updateGuestsCount = _e.updateGuestsCount;
10484
+ // Scroll in to view
10485
+ var targetElementRef = React__default.useRef(null);
10486
+ React__default.useEffect(function () {
10487
+ if (targetElementRef.current) {
10488
+ targetElementRef.current.scrollIntoView({
10489
+ behavior: 'smooth',
10490
+ block: 'start',
10491
+ });
10492
+ }
10493
+ }, [selectedFilter]);
10455
10494
  return (React__default.createElement(React__default.Fragment, null,
10456
10495
  selectedFilter && (React__default.createElement("div", { className: "will-filter-bar will-filter-bar-underlay", onClick: function () {
10457
10496
  handleSelectedFilter(false);
10458
10497
  } })),
10459
- React__default.createElement("div", { className: "will-root ".concat(themeClass, " ").concat(selectedFilter ? 'isMobileAbsolute' : '') },
10460
- React__default.createElement("div", { className: "will-filter-bar-header" },
10498
+ React__default.createElement("div", { className: "will-root ".concat(selectedFilter ? 'isMobileAbsolute' : ''), style: themePalette },
10499
+ React__default.createElement("div", { className: "will-filter-bar-header", ref: targetElementRef },
10461
10500
  React__default.createElement(SelectButton, { style: fontWigthBold(selectedFilter === 1 || selectedFilter === 2), label: t('calendar.startDate'), onClick: function () { return handleSelectedFilter(1); } }),
10462
10501
  React__default.createElement(Divider, null),
10463
10502
  React__default.createElement(SelectButton, { style: fontWigthBold(selectedFilter === 1 || selectedFilter === 2), label: t('calendar.endDate'), onClick: function () { return handleSelectedFilter(2); } }),
10464
- React__default.createElement(SubmitButton, { onClick: handleSubmit }),
10465
- React__default.createElement(CloseButton, { handleClose: handleResetFilters })),
10503
+ React__default.createElement(SubmitButton, { onClick: handleSubmit })),
10466
10504
  selectedFilter && (React__default.createElement("div", { className: "will-filter-bar-container" },
10505
+ React__default.createElement(CloseButton, { handleClose: function () { return handleSelectedFilter(false); } }),
10467
10506
  (selectedFilter === 1 || selectedFilter === 2) && (React__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange })),
10468
10507
  selectedFilter === 3 && (React__default.createElement(Guests, { updateGuestsCount: updateGuestsCount, ageCategories: ageCategories, ageCategoryCounts: ageCategoryCounts })),
10469
10508
  selectedFilter === 4 && (React__default.createElement(Categories, { categories: categories, setCategories: setCategories })))))));