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.js CHANGED
@@ -478,7 +478,7 @@ function FaSearch (props) {
478
478
  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);
479
479
  }
480
480
 
481
- 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";
481
+ 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";
482
482
  styleInject(css_248z$8);
483
483
 
484
484
  function SubmitButton(_a) {
@@ -490,104 +490,14 @@ function SubmitButton(_a) {
490
490
  t('submit.label')));
491
491
  }
492
492
 
493
- function buildFormatLongFn(args) {
494
- return function () {
495
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
496
- // TODO: Remove String()
497
- var width = options.width ? String(options.width) : args.defaultWidth;
498
- var format = args.formats[width] || args.formats[args.defaultWidth];
499
- return format;
500
- };
501
- }
502
-
503
- function buildLocalizeFn(args) {
504
- return function (dirtyIndex, options) {
505
- var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';
506
- var valuesArray;
507
- if (context === 'formatting' && args.formattingValues) {
508
- var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
509
- var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;
510
- valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
511
- } else {
512
- var _defaultWidth = args.defaultWidth;
513
- var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;
514
- valuesArray = args.values[_width] || args.values[_defaultWidth];
515
- }
516
- var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;
517
- // @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!
518
- return valuesArray[index];
519
- };
520
- }
521
-
522
- function buildMatchFn(args) {
523
- return function (string) {
524
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
525
- var width = options.width;
526
- var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
527
- var matchResult = string.match(matchPattern);
528
- if (!matchResult) {
529
- return null;
530
- }
531
- var matchedString = matchResult[0];
532
- var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
533
- var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {
534
- return pattern.test(matchedString);
535
- }) : findKey(parsePatterns, function (pattern) {
536
- return pattern.test(matchedString);
537
- });
538
- var value;
539
- value = args.valueCallback ? args.valueCallback(key) : key;
540
- value = options.valueCallback ? options.valueCallback(value) : value;
541
- var rest = string.slice(matchedString.length);
542
- return {
543
- value: value,
544
- rest: rest
545
- };
546
- };
547
- }
548
- function findKey(object, predicate) {
549
- for (var key in object) {
550
- if (object.hasOwnProperty(key) && predicate(object[key])) {
551
- return key;
552
- }
553
- }
554
- return undefined;
555
- }
556
- function findIndex(array, predicate) {
557
- for (var key = 0; key < array.length; key++) {
558
- if (predicate(array[key])) {
559
- return key;
560
- }
561
- }
562
- return undefined;
563
- }
564
-
565
- function buildMatchPatternFn(args) {
566
- return function (string) {
567
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
568
- var matchResult = string.match(args.matchPattern);
569
- if (!matchResult) return null;
570
- var matchedString = matchResult[0];
571
- var parseResult = string.match(args.parsePattern);
572
- if (!parseResult) return null;
573
- var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
574
- value = options.valueCallback ? options.valueCallback(value) : value;
575
- var rest = string.slice(matchedString.length);
576
- return {
577
- value: value,
578
- rest: rest
579
- };
580
- };
581
- }
582
-
583
- function _typeof(obj) {
493
+ function _typeof(o) {
584
494
  "@babel/helpers - typeof";
585
495
 
586
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
587
- return typeof obj;
588
- } : function (obj) {
589
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
590
- }, _typeof(obj);
496
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
497
+ return typeof o;
498
+ } : function (o) {
499
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
500
+ }, _typeof(o);
591
501
  }
592
502
 
593
503
  function toInteger(dirtyNumber) {
@@ -2697,6 +2607,16 @@ var formatDistance = function formatDistance(token, count, options) {
2697
2607
  };
2698
2608
  var formatDistance$1 = formatDistance;
2699
2609
 
2610
+ function buildFormatLongFn(args) {
2611
+ return function () {
2612
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2613
+ // TODO: Remove String()
2614
+ var width = options.width ? String(options.width) : args.defaultWidth;
2615
+ var format = args.formats[width] || args.formats[args.defaultWidth];
2616
+ return format;
2617
+ };
2618
+ }
2619
+
2700
2620
  var dateFormats = {
2701
2621
  full: 'EEEE, MMMM do, y',
2702
2622
  long: 'MMMM do, y',
@@ -2744,6 +2664,25 @@ var formatRelative = function formatRelative(token, _date, _baseDate, _options)
2744
2664
  };
2745
2665
  var formatRelative$1 = formatRelative;
2746
2666
 
2667
+ function buildLocalizeFn(args) {
2668
+ return function (dirtyIndex, options) {
2669
+ var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';
2670
+ var valuesArray;
2671
+ if (context === 'formatting' && args.formattingValues) {
2672
+ var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
2673
+ var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;
2674
+ valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
2675
+ } else {
2676
+ var _defaultWidth = args.defaultWidth;
2677
+ var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;
2678
+ valuesArray = args.values[_width] || args.values[_defaultWidth];
2679
+ }
2680
+ var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;
2681
+ // @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!
2682
+ return valuesArray[index];
2683
+ };
2684
+ }
2685
+
2747
2686
  var eraValues = {
2748
2687
  narrow: ['B', 'A'],
2749
2688
  abbreviated: ['BC', 'AD'],
@@ -2887,6 +2826,67 @@ var localize = {
2887
2826
  };
2888
2827
  var localize$1 = localize;
2889
2828
 
2829
+ function buildMatchFn(args) {
2830
+ return function (string) {
2831
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2832
+ var width = options.width;
2833
+ var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
2834
+ var matchResult = string.match(matchPattern);
2835
+ if (!matchResult) {
2836
+ return null;
2837
+ }
2838
+ var matchedString = matchResult[0];
2839
+ var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
2840
+ var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {
2841
+ return pattern.test(matchedString);
2842
+ }) : findKey(parsePatterns, function (pattern) {
2843
+ return pattern.test(matchedString);
2844
+ });
2845
+ var value;
2846
+ value = args.valueCallback ? args.valueCallback(key) : key;
2847
+ value = options.valueCallback ? options.valueCallback(value) : value;
2848
+ var rest = string.slice(matchedString.length);
2849
+ return {
2850
+ value: value,
2851
+ rest: rest
2852
+ };
2853
+ };
2854
+ }
2855
+ function findKey(object, predicate) {
2856
+ for (var key in object) {
2857
+ if (object.hasOwnProperty(key) && predicate(object[key])) {
2858
+ return key;
2859
+ }
2860
+ }
2861
+ return undefined;
2862
+ }
2863
+ function findIndex(array, predicate) {
2864
+ for (var key = 0; key < array.length; key++) {
2865
+ if (predicate(array[key])) {
2866
+ return key;
2867
+ }
2868
+ }
2869
+ return undefined;
2870
+ }
2871
+
2872
+ function buildMatchPatternFn(args) {
2873
+ return function (string) {
2874
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2875
+ var matchResult = string.match(args.matchPattern);
2876
+ if (!matchResult) return null;
2877
+ var matchedString = matchResult[0];
2878
+ var parseResult = string.match(args.parsePattern);
2879
+ if (!parseResult) return null;
2880
+ var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
2881
+ value = options.valueCallback ? options.valueCallback(value) : value;
2882
+ var rest = string.slice(matchedString.length);
2883
+ return {
2884
+ value: value,
2885
+ rest: rest
2886
+ };
2887
+ };
2888
+ }
2889
+
2890
2890
  var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
2891
2891
  var parseOrdinalNumberPattern = /\d+/i;
2892
2892
  var matchEraPatterns = {
@@ -3976,7 +3976,12 @@ function __spreadArray(to, from, pack) {
3976
3976
  }
3977
3977
  }
3978
3978
  return to.concat(ar || Array.prototype.slice.call(from));
3979
- }
3979
+ }
3980
+
3981
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
3982
+ var e = new Error(message);
3983
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
3984
+ };
3980
3985
 
3981
3986
  /** Returns true when the props are of type {@link DayPickerMultipleProps}. */
3982
3987
  function isDayPickerMultiple(props) {
@@ -4523,7 +4528,7 @@ function CaptionDropdowns(props) {
4523
4528
  var _b = useDayPicker(), classNames = _b.classNames, styles = _b.styles, components = _b.components;
4524
4529
  var goToMonth = useNavigation().goToMonth;
4525
4530
  var handleMonthChange = function (newMonth) {
4526
- goToMonth(newMonth);
4531
+ goToMonth(addMonths(newMonth, props.displayIndex ? -props.displayIndex : 0));
4527
4532
  };
4528
4533
  var CaptionLabelComponent = (_a = components === null || components === void 0 ? void 0 : components.CaptionLabel) !== null && _a !== void 0 ? _a : CaptionLabel;
4529
4534
  var captionLabel = (React__default.createElement(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth }));
@@ -4631,12 +4636,12 @@ function Caption(props) {
4631
4636
  }
4632
4637
  else if (captionLayout === 'dropdown-buttons') {
4633
4638
  caption = (React__default.createElement(React__default.Fragment, null,
4634
- React__default.createElement(CaptionDropdowns, { displayMonth: props.displayMonth, id: props.id }),
4635
- React__default.createElement(CaptionNavigation, { displayMonth: props.displayMonth, id: props.id })));
4639
+ React__default.createElement(CaptionDropdowns, { displayMonth: props.displayMonth, displayIndex: props.displayIndex, id: props.id }),
4640
+ React__default.createElement(CaptionNavigation, { displayMonth: props.displayMonth, displayIndex: props.displayIndex, id: props.id })));
4636
4641
  }
4637
4642
  else {
4638
4643
  caption = (React__default.createElement(React__default.Fragment, null,
4639
- React__default.createElement(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth }),
4644
+ React__default.createElement(CaptionLabelComponent, { id: props.id, displayMonth: props.displayMonth, displayIndex: props.displayIndex }),
4640
4645
  React__default.createElement(CaptionNavigation, { displayMonth: props.displayMonth, id: props.id })));
4641
4646
  }
4642
4647
  return (React__default.createElement("div", { className: classNames.caption, style: styles.caption }, caption));
@@ -4785,31 +4790,34 @@ function useSelectMultiple() {
4785
4790
  */
4786
4791
  function addToRange(day, range) {
4787
4792
  var _a = range || {}, from = _a.from, to = _a.to;
4788
- if (!from) {
4789
- return { from: day, to: undefined };
4790
- }
4791
- if (!to && isSameDay(from, day)) {
4793
+ if (from && to) {
4794
+ if (isSameDay(to, day) && isSameDay(from, day)) {
4795
+ return undefined;
4796
+ }
4797
+ if (isSameDay(to, day)) {
4798
+ return { from: to, to: undefined };
4799
+ }
4800
+ if (isSameDay(from, day)) {
4801
+ return undefined;
4802
+ }
4803
+ if (isAfter(from, day)) {
4804
+ return { from: day, to: to };
4805
+ }
4792
4806
  return { from: from, to: day };
4793
4807
  }
4794
- if (!to && isBefore(day, from)) {
4795
- return { from: day, to: from };
4808
+ if (to) {
4809
+ if (isAfter(day, to)) {
4810
+ return { from: to, to: day };
4811
+ }
4812
+ return { from: day, to: to };
4796
4813
  }
4797
- if (!to) {
4814
+ if (from) {
4815
+ if (isBefore(day, from)) {
4816
+ return { from: day, to: from };
4817
+ }
4798
4818
  return { from: from, to: day };
4799
4819
  }
4800
- if (isSameDay(to, day) && isSameDay(from, day)) {
4801
- return undefined;
4802
- }
4803
- if (isSameDay(to, day)) {
4804
- return { from: to, to: undefined };
4805
- }
4806
- if (isSameDay(from, day)) {
4807
- return undefined;
4808
- }
4809
- if (isAfter(from, day)) {
4810
- return { from: day, to: to };
4811
- }
4812
- return { from: from, to: day };
4820
+ return { from: day, to: undefined };
4813
4821
  }
4814
4822
 
4815
4823
  /**
@@ -4870,6 +4878,10 @@ function SelectRangeProviderInternal(_a) {
4870
4878
  }
4871
4879
  }
4872
4880
  }
4881
+ else if (selectedTo) {
4882
+ modifiers.range_start = [selectedTo];
4883
+ modifiers.range_end = [selectedTo];
4884
+ }
4873
4885
  if (min) {
4874
4886
  if (selectedFrom && !selectedTo) {
4875
4887
  modifiers.disabled.push({
@@ -4883,6 +4895,12 @@ function SelectRangeProviderInternal(_a) {
4883
4895
  before: addDays(selectedFrom, min - 1)
4884
4896
  });
4885
4897
  }
4898
+ if (!selectedFrom && selectedTo) {
4899
+ modifiers.disabled.push({
4900
+ after: subDays(selectedTo, min - 1),
4901
+ before: addDays(selectedTo, min - 1)
4902
+ });
4903
+ }
4886
4904
  }
4887
4905
  if (max) {
4888
4906
  if (selectedFrom && !selectedTo) {
@@ -4903,6 +4921,14 @@ function SelectRangeProviderInternal(_a) {
4903
4921
  after: addDays(selectedTo, offset)
4904
4922
  });
4905
4923
  }
4924
+ if (!selectedFrom && selectedTo) {
4925
+ modifiers.disabled.push({
4926
+ before: addDays(selectedTo, -max + 1)
4927
+ });
4928
+ modifiers.disabled.push({
4929
+ after: addDays(selectedTo, max - 1)
4930
+ });
4931
+ }
4906
4932
  }
4907
4933
  return (React__default.createElement(SelectRangeContext.Provider, { value: { selected: selected, onDayClick: onDayClick, modifiers: modifiers } }, children));
4908
4934
  }
@@ -5049,22 +5075,22 @@ function isDayOfWeekType(value) {
5049
5075
  function isDateInRange(date, range) {
5050
5076
  var _a;
5051
5077
  var from = range.from, to = range.to;
5052
- if (!from) {
5053
- return false;
5054
- }
5055
- if (!to && isSameDay(from, date)) {
5056
- return true;
5078
+ if (from && to) {
5079
+ var isRangeInverted = differenceInCalendarDays(to, from) < 0;
5080
+ if (isRangeInverted) {
5081
+ _a = [to, from], from = _a[0], to = _a[1];
5082
+ }
5083
+ var isInRange = differenceInCalendarDays(date, from) >= 0 &&
5084
+ differenceInCalendarDays(to, date) >= 0;
5085
+ return isInRange;
5057
5086
  }
5058
- if (!to) {
5059
- return false;
5087
+ if (to) {
5088
+ return isSameDay(to, date);
5060
5089
  }
5061
- var isRangeInverted = differenceInCalendarDays(to, from) < 0;
5062
- if (isRangeInverted) {
5063
- _a = [to, from], from = _a[0], to = _a[1];
5090
+ if (from) {
5091
+ return isSameDay(from, date);
5064
5092
  }
5065
- var isInRange = differenceInCalendarDays(date, from) >= 0 &&
5066
- differenceInCalendarDays(to, date) >= 0;
5067
- return isInRange;
5093
+ return false;
5068
5094
  }
5069
5095
 
5070
5096
  /** Returns true if `value` is a Date type. */
@@ -5780,7 +5806,7 @@ function Table(props) {
5780
5806
  var FooterComponent = (_c = components === null || components === void 0 ? void 0 : components.Footer) !== null && _c !== void 0 ? _c : Footer;
5781
5807
  return (React__default.createElement("table", { id: props.id, className: classNames.table, style: styles.table, role: "grid", "aria-labelledby": props['aria-labelledby'] },
5782
5808
  !hideHead && React__default.createElement(HeadComponent, null),
5783
- 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 })); })),
5809
+ 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 })); })),
5784
5810
  React__default.createElement(FooterComponent, { displayMonth: props.displayMonth })));
5785
5811
  }
5786
5812
 
@@ -5894,7 +5920,7 @@ function Month(props) {
5894
5920
  }
5895
5921
  var CaptionComponent = (_b = components === null || components === void 0 ? void 0 : components.Caption) !== null && _b !== void 0 ? _b : Caption;
5896
5922
  return (React__default.createElement("div", { key: props.displayIndex, className: className.join(' '), style: style },
5897
- React__default.createElement(CaptionComponent, { id: captionId, displayMonth: props.displayMonth }),
5923
+ React__default.createElement(CaptionComponent, { id: captionId, displayMonth: props.displayMonth, displayIndex: props.displayIndex }),
5898
5924
  React__default.createElement(Table, { id: tableId, "aria-labelledby": captionId, displayMonth: props.displayMonth })));
5899
5925
  }
5900
5926
 
@@ -7964,13 +7990,12 @@ function Categories(_a) {
7964
7990
  }
7965
7991
 
7966
7992
  function useTheme(_a) {
7967
- var vendor = _a.vendor;
7968
- var themeClass = vendor === 'Kisakallio'
7969
- ? 'will-root-kis'
7970
- : vendor === 'Pajulahti'
7971
- ? 'will-root-paj'
7972
- : '';
7973
- return themeClass;
7993
+ var palette = _a.palette;
7994
+ var themePalette = {
7995
+ '--will-primary': palette === null || palette === void 0 ? void 0 : palette.primary,
7996
+ '--will-secondary': palette === null || palette === void 0 ? void 0 : palette.secondary,
7997
+ };
7998
+ return themePalette;
7974
7999
  }
7975
8000
 
7976
8001
  /******************************************************************************
@@ -8044,7 +8069,7 @@ function useFilterBar(_a) {
8044
8069
  : '',
8045
8070
  endDate: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) ? format(calendarRange.to, 'yyyy-MM-dd') : '',
8046
8071
  categories: categories,
8047
- ageCategoryCounts: JSON.stringify(ageCategoryCounts),
8072
+ //ageCategoryCounts: JSON.stringify(ageCategoryCounts),
8048
8073
  };
8049
8074
  for (var _i = 0, _a = Object.entries(params); _i < _a.length; _i++) {
8050
8075
  var _b = _a[_i], key = _b[0], value = _b[1];
@@ -8082,10 +8107,10 @@ function useFilterBar(_a) {
8082
8107
  };
8083
8108
  }
8084
8109
 
8085
- 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";
8110
+ 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";
8086
8111
  styleInject(css_248z$2);
8087
8112
 
8088
- 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}";
8113
+ 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}";
8089
8114
  styleInject(css_248z$1);
8090
8115
 
8091
8116
  const consoleLogger = {
@@ -8721,7 +8746,7 @@ class Translator extends EventEmitter {
8721
8746
  res = this.i18nFormat.parse(res, {
8722
8747
  ...this.options.interpolation.defaultVariables,
8723
8748
  ...options
8724
- }, resolved.usedLng, resolved.usedNS, resolved.usedKey, {
8749
+ }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {
8725
8750
  resolved
8726
8751
  });
8727
8752
  } else if (!options.skipInterpolation) {
@@ -10040,12 +10065,14 @@ class I18n extends EventEmitter {
10040
10065
  const usedLng = typeof language === 'string' ? language : this.language;
10041
10066
  if (typeof language === 'function') usedCallback = language;
10042
10067
  if (!this.options.resources || this.options.partialBundledLanguages) {
10043
- if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();
10068
+ if (usedLng && usedLng.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();
10044
10069
  const toLoad = [];
10045
10070
  const append = lng => {
10046
10071
  if (!lng) return;
10072
+ if (lng === 'cimode') return;
10047
10073
  const lngs = this.services.languageUtils.toResolveHierarchy(lng);
10048
10074
  lngs.forEach(l => {
10075
+ if (l === 'cimode') return;
10049
10076
  if (toLoad.indexOf(l) < 0) toLoad.push(l);
10050
10077
  });
10051
10078
  };
@@ -10431,7 +10458,7 @@ function IoIosCloseCircleOutline (props) {
10431
10458
  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);
10432
10459
  }
10433
10460
 
10434
- 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";
10461
+ 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";
10435
10462
  styleInject(css_248z);
10436
10463
 
10437
10464
  function CloseButton(_a) {
@@ -10441,27 +10468,39 @@ function CloseButton(_a) {
10441
10468
  }
10442
10469
 
10443
10470
  function FilterBar(_a) {
10444
- 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;
10445
- var themeClass = useTheme({ vendor: vendor });
10471
+ 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;
10472
+ var themePalette = useTheme({ palette: palette });
10473
+ // Translations
10446
10474
  var _d = React__default.useState(0); _d[0]; var setRerenderKey = _d[1];
10447
10475
  React__default.useEffect(function () {
10448
10476
  instance.changeLanguage(language);
10449
10477
  setRerenderKey(function (prevKey) { return prevKey + 1; });
10450
10478
  }, [language]);
10451
10479
  var t = useTranslation('filterBar').t;
10452
- 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;
10480
+ // Filters
10481
+ 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;
10482
+ // Scroll in to view
10483
+ var targetElementRef = React__default.useRef(null);
10484
+ React__default.useEffect(function () {
10485
+ if (targetElementRef.current) {
10486
+ targetElementRef.current.scrollIntoView({
10487
+ behavior: 'smooth',
10488
+ block: 'start',
10489
+ });
10490
+ }
10491
+ }, [selectedFilter]);
10453
10492
  return (React__default.createElement(React__default.Fragment, null,
10454
10493
  selectedFilter && (React__default.createElement("div", { className: "will-filter-bar will-filter-bar-underlay", onClick: function () {
10455
10494
  handleSelectedFilter(false);
10456
10495
  } })),
10457
- React__default.createElement("div", { className: "will-root ".concat(themeClass, " ").concat(selectedFilter ? 'isMobileAbsolute' : '') },
10458
- React__default.createElement("div", { className: "will-filter-bar-header" },
10496
+ React__default.createElement("div", { className: "will-root ".concat(selectedFilter ? 'isMobileAbsolute' : ''), style: themePalette },
10497
+ React__default.createElement("div", { className: "will-filter-bar-header", ref: targetElementRef },
10459
10498
  React__default.createElement(SelectButton, { style: fontWigthBold(selectedFilter === 1 || selectedFilter === 2), label: t('calendar.startDate'), onClick: function () { return handleSelectedFilter(1); } }),
10460
10499
  React__default.createElement(Divider, null),
10461
10500
  React__default.createElement(SelectButton, { style: fontWigthBold(selectedFilter === 1 || selectedFilter === 2), label: t('calendar.endDate'), onClick: function () { return handleSelectedFilter(2); } }),
10462
- React__default.createElement(SubmitButton, { onClick: handleSubmit }),
10463
- React__default.createElement(CloseButton, { handleClose: handleResetFilters })),
10501
+ React__default.createElement(SubmitButton, { onClick: handleSubmit })),
10464
10502
  selectedFilter && (React__default.createElement("div", { className: "will-filter-bar-container" },
10503
+ React__default.createElement(CloseButton, { handleClose: function () { return handleSelectedFilter(false); } }),
10465
10504
  (selectedFilter === 1 || selectedFilter === 2) && (React__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange })),
10466
10505
  selectedFilter === 3 && (React__default.createElement(Guests, { updateGuestsCount: updateGuestsCount, ageCategories: ageCategories, ageCategoryCounts: ageCategoryCounts })),
10467
10506
  selectedFilter === 4 && (React__default.createElement(Categories, { categories: categories, setCategories: setCategories })))))));