willba-component-library 0.1.31 → 0.1.33

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
@@ -449,118 +449,6 @@ function useTranslation(ns) {
449
449
  });
450
450
  }
451
451
 
452
- var css_248z$b = ".will-filter-bar-divider {\n width: 1px;\n margin: 0 10px;\n background-color: #384265;\n}\n\n@media (max-width: 960px) {\n .will-filter-bar-divider {\n width: auto;\n margin: 0 10px;\n height: 1px;\n background-color: #384265;\n }\n}";
453
- styleInject(css_248z$b);
454
-
455
- function Divider() {
456
- return React__default.createElement("div", { className: "will-filter-bar-divider" });
457
- }
458
-
459
- var css_248z$a = ".will-filter-bar-select-button {\n width: 100%;\n height: auto;\n background-color: transparent;\n border: none;\n padding: 0 20px;\n border-radius: 20px;\n cursor: pointer;\n font-size: 14px;\n text-align: initial;\n}\n\n.will-filter-bar-select-button .select-button-description {\n font-weight: 400;\n opacity: 0.4;\n}\n\n.will-filter-bar-select-button .select-button-wrapper {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 10px;\n \n}\n\n@media (max-width: 960px) {\n .will-filter-bar-select-button {\n margin: 5px 0;\n padding: 10px 20px;\n }\n\n .will-filter-bar-select-button .select-button-wrapper {\n justify-content: center;\n text-align: center;\n }\n\n .will-filter-bar-select-button .select-button-divider {\n display: none\n }\n}\n\n\n";
460
- styleInject(css_248z$a);
461
-
462
- function SelectButton(_a) {
463
- var label = _a.label, onClick = _a.onClick, style = _a.style, date = _a.date, description = _a.description;
464
- return (React__default.createElement("button", { className: "will-filter-bar-select-button", onClick: onClick, style: style },
465
- React__default.createElement("span", { className: "select-button-wrapper" },
466
- React__default.createElement("div", null,
467
- React__default.createElement("p", { className: "select-button-label" }, label),
468
- React__default.createElement("p", { className: "select-button-description" }, description)),
469
- !!date && (React__default.createElement(React__default.Fragment, null,
470
- React__default.createElement("span", { className: "select-button-divider" }, "|"),
471
- React__default.createElement("span", { className: "select-button-date" },
472
- " ",
473
- date))))));
474
- }
475
-
476
- var DefaultContext = {
477
- color: undefined,
478
- size: undefined,
479
- className: undefined,
480
- style: undefined,
481
- attr: undefined
482
- };
483
- var IconContext = React__default.createContext && React__default.createContext(DefaultContext);
484
-
485
- var __assign$1 = undefined && undefined.__assign || function () {
486
- __assign$1 = Object.assign || function (t) {
487
- for (var s, i = 1, n = arguments.length; i < n; i++) {
488
- s = arguments[i];
489
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
490
- }
491
- return t;
492
- };
493
- return __assign$1.apply(this, arguments);
494
- };
495
- var __rest$1 = undefined && undefined.__rest || function (s, e) {
496
- var t = {};
497
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
498
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
499
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
500
- }
501
- return t;
502
- };
503
- function Tree2Element(tree) {
504
- return tree && tree.map(function (node, i) {
505
- return React__default.createElement(node.tag, __assign$1({
506
- key: i
507
- }, node.attr), Tree2Element(node.child));
508
- });
509
- }
510
- function GenIcon(data) {
511
- // eslint-disable-next-line react/display-name
512
- return function (props) {
513
- return React__default.createElement(IconBase, __assign$1({
514
- attr: __assign$1({}, data.attr)
515
- }, props), Tree2Element(data.child));
516
- };
517
- }
518
- function IconBase(props) {
519
- var elem = function (conf) {
520
- var attr = props.attr,
521
- size = props.size,
522
- title = props.title,
523
- svgProps = __rest$1(props, ["attr", "size", "title"]);
524
- var computedSize = size || conf.size || "1em";
525
- var className;
526
- if (conf.className) className = conf.className;
527
- if (props.className) className = (className ? className + " " : "") + props.className;
528
- return React__default.createElement("svg", __assign$1({
529
- stroke: "currentColor",
530
- fill: "currentColor",
531
- strokeWidth: "0"
532
- }, conf.attr, attr, svgProps, {
533
- className: className,
534
- style: __assign$1(__assign$1({
535
- color: props.color || conf.color
536
- }, conf.style), props.style),
537
- height: computedSize,
538
- width: computedSize,
539
- xmlns: "http://www.w3.org/2000/svg"
540
- }), title && React__default.createElement("title", null, title), props.children);
541
- };
542
- return IconContext !== undefined ? React__default.createElement(IconContext.Consumer, null, function (conf) {
543
- return elem(conf);
544
- }) : elem(DefaultContext);
545
- }
546
-
547
- // THIS FILE IS AUTO GENERATED
548
- function FaSearch (props) {
549
- 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);
550
- }
551
-
552
- var css_248z$9 = ".will-filter-bar-submit-button {\n width: auto;\n height: auto;\n background-color: var(--will-primary);\n color: var(--will-white);\n padding: 10px 20px;\n border-radius: 20px;\n cursor: pointer;\n border: none;\n white-space: nowrap;\n text-transform: uppercase;\n font-size: 12px;\n display: flex;\n align-items: center;\n}\n\n.will-filter-bar-submit-button span {\n margin-right: 10px;\n display: flex;\n}\n\n@media (max-width: 960px) {\n .will-filter-bar-submit-button {\n justify-content: center;\n margin-bottom: 5px;\n }\n}\n";
553
- styleInject(css_248z$9);
554
-
555
- function SubmitButton$1(_a) {
556
- var onClick = _a.onClick;
557
- var t = useTranslation('filterBar').t;
558
- return (React__default.createElement("button", { className: "will-filter-bar-submit-button", onClick: onClick },
559
- React__default.createElement("span", null,
560
- React__default.createElement(FaSearch, null)),
561
- t('submit.label')));
562
- }
563
-
564
452
  function _typeof(o) {
565
453
  "@babel/helpers - typeof";
566
454
 
@@ -4001,6 +3889,113 @@ function setYear(dirtyDate, dirtyYear) {
4001
3889
  return date;
4002
3890
  }
4003
3891
 
3892
+ var css_248z$b = ".will-filter-bar-divider {\n width: 1px;\n margin: 0 10px;\n background-color: #384265;\n}\n\n@media (max-width: 960px) {\n .will-filter-bar-divider {\n width: auto;\n margin: 0 10px;\n height: 1px;\n background-color: #384265;\n }\n}";
3893
+ styleInject(css_248z$b);
3894
+
3895
+ function Divider() {
3896
+ return React__default.createElement("div", { className: "will-filter-bar-divider" });
3897
+ }
3898
+
3899
+ var css_248z$a = ".will-filter-bar-select-button {\n width: 100%;\n height: auto;\n background-color: transparent;\n border: none;\n padding: 0 20px;\n border-radius: 20px;\n cursor: pointer;\n font-size: 14px;\n text-align: initial;\n}\n\n.will-filter-bar-select-button .select-button-description {\n font-weight: 400;\n opacity: 0.4;\n}\n\n.will-filter-bar-select-button .select-button-wrapper {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 10px;\n \n}\n\n@media (max-width: 960px) {\n .will-filter-bar-select-button {\n padding: 15px 0;\n }\n\n .will-filter-bar-select-button:first-child {\n padding: 0 0 15px 0;\n }\n\n .will-filter-bar-select-button .select-button-wrapper {\n justify-content: center;\n text-align: center;\n }\n\n .will-filter-bar-select-button .select-button-divider {\n display: none\n }\n}\n\n\n";
3900
+ styleInject(css_248z$a);
3901
+
3902
+ function SelectButton(_a) {
3903
+ var label = _a.label, onClick = _a.onClick, style = _a.style, description = _a.description;
3904
+ return (React__default.createElement("button", { className: "will-filter-bar-select-button", onClick: onClick, style: style },
3905
+ React__default.createElement("span", { className: "select-button-wrapper" },
3906
+ React__default.createElement("div", null,
3907
+ React__default.createElement("p", { className: "select-button-label" }, label),
3908
+ React__default.createElement("p", { className: "select-button-description" }, description)))));
3909
+ }
3910
+
3911
+ var DefaultContext = {
3912
+ color: undefined,
3913
+ size: undefined,
3914
+ className: undefined,
3915
+ style: undefined,
3916
+ attr: undefined
3917
+ };
3918
+ var IconContext = React__default.createContext && React__default.createContext(DefaultContext);
3919
+
3920
+ var __assign$1 = undefined && undefined.__assign || function () {
3921
+ __assign$1 = Object.assign || function (t) {
3922
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
3923
+ s = arguments[i];
3924
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
3925
+ }
3926
+ return t;
3927
+ };
3928
+ return __assign$1.apply(this, arguments);
3929
+ };
3930
+ var __rest$1 = undefined && undefined.__rest || function (s, e) {
3931
+ var t = {};
3932
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
3933
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
3934
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
3935
+ }
3936
+ return t;
3937
+ };
3938
+ function Tree2Element(tree) {
3939
+ return tree && tree.map(function (node, i) {
3940
+ return React__default.createElement(node.tag, __assign$1({
3941
+ key: i
3942
+ }, node.attr), Tree2Element(node.child));
3943
+ });
3944
+ }
3945
+ function GenIcon(data) {
3946
+ // eslint-disable-next-line react/display-name
3947
+ return function (props) {
3948
+ return React__default.createElement(IconBase, __assign$1({
3949
+ attr: __assign$1({}, data.attr)
3950
+ }, props), Tree2Element(data.child));
3951
+ };
3952
+ }
3953
+ function IconBase(props) {
3954
+ var elem = function (conf) {
3955
+ var attr = props.attr,
3956
+ size = props.size,
3957
+ title = props.title,
3958
+ svgProps = __rest$1(props, ["attr", "size", "title"]);
3959
+ var computedSize = size || conf.size || "1em";
3960
+ var className;
3961
+ if (conf.className) className = conf.className;
3962
+ if (props.className) className = (className ? className + " " : "") + props.className;
3963
+ return React__default.createElement("svg", __assign$1({
3964
+ stroke: "currentColor",
3965
+ fill: "currentColor",
3966
+ strokeWidth: "0"
3967
+ }, conf.attr, attr, svgProps, {
3968
+ className: className,
3969
+ style: __assign$1(__assign$1({
3970
+ color: props.color || conf.color
3971
+ }, conf.style), props.style),
3972
+ height: computedSize,
3973
+ width: computedSize,
3974
+ xmlns: "http://www.w3.org/2000/svg"
3975
+ }), title && React__default.createElement("title", null, title), props.children);
3976
+ };
3977
+ return IconContext !== undefined ? React__default.createElement(IconContext.Consumer, null, function (conf) {
3978
+ return elem(conf);
3979
+ }) : elem(DefaultContext);
3980
+ }
3981
+
3982
+ // THIS FILE IS AUTO GENERATED
3983
+ function FaSearch (props) {
3984
+ 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);
3985
+ }
3986
+
3987
+ var css_248z$9 = ".will-filter-bar-submit-button {\n width: auto;\n height: auto;\n background-color: var(--will-primary);\n color: var(--will-white);\n padding: 10px 20px;\n border-radius: 20px;\n cursor: pointer;\n border: none;\n white-space: nowrap;\n text-transform: uppercase;\n font-size: 12px;\n display: flex;\n align-items: center;\n}\n\n.will-filter-bar-submit-button span {\n margin-right: 10px;\n display: flex;\n}\n\n@media (max-width: 960px) {\n .will-filter-bar-submit-button {\n justify-content: center;\n \n }\n}\n";
3988
+ styleInject(css_248z$9);
3989
+
3990
+ function SubmitButton$1(_a) {
3991
+ var onClick = _a.onClick;
3992
+ var t = useTranslation('filterBar').t;
3993
+ return (React__default.createElement("button", { className: "will-filter-bar-submit-button", onClick: onClick },
3994
+ React__default.createElement("span", null,
3995
+ React__default.createElement(FaSearch, null)),
3996
+ t('submit.label')));
3997
+ }
3998
+
4004
3999
  /******************************************************************************
4005
4000
  Copyright (c) Microsoft Corporation.
4006
4001
 
@@ -8035,8 +8030,9 @@ styleInject(css_248z$5);
8035
8030
 
8036
8031
  function Guests(_a) {
8037
8032
  var ageCategories = _a.ageCategories, updateGuestsCount = _a.updateGuestsCount, ageCategoryCounts = _a.ageCategoryCounts;
8033
+ var t = useTranslation('filterBar').t;
8038
8034
  return (React__default.createElement("div", { className: "will-filter-bar-guests" },
8039
- React__default.createElement("h3", { className: "will-guests-filter-title" }, "Who's coming?"),
8035
+ React__default.createElement("h3", { className: "will-guests-filter-title" }, t('guests.title')),
8040
8036
  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, sortOrder: category.sortOrder, updateGuestsCount: updateGuestsCount, count: ageCategoryCounts["guests-".concat(category.id)] || category.minVal })); }))));
8041
8037
  }
8042
8038
 
@@ -10506,14 +10502,17 @@ instance.loadNamespaces;
10506
10502
  instance.loadLanguages;
10507
10503
 
10508
10504
  var calendar$1 = {
10505
+ label: "When",
10506
+ roomsLabelPlaceholder: "Add check-in and check-out",
10507
+ eventsLabelPlaceholder: "Add search dates",
10509
10508
  startDate: "Start date",
10510
10509
  endDate: "End date",
10511
10510
  title: "Calendar"
10512
10511
  };
10513
10512
  var guests$1 = {
10514
- label: "Guests",
10515
- title: "Guests",
10516
- subtitle: "Who's coming?",
10513
+ label: "Who",
10514
+ labelPlaceholder: "Add guests",
10515
+ title: "Who's coming?",
10517
10516
  adultsLabel: "Adults",
10518
10517
  kidsLabel: "kids"
10519
10518
  };
@@ -10537,14 +10536,17 @@ var enFilterBar = {
10537
10536
  };
10538
10537
 
10539
10538
  var calendar = {
10539
+ label: "Milloin",
10540
+ roomsLabelPlaceholder: "Lisää check-in ja check-out",
10541
+ eventsLabelPlaceholder: "Lisää aikaväli",
10540
10542
  startDate: "Alku",
10541
10543
  endDate: "Loppu",
10542
10544
  title: "Kalenteri"
10543
10545
  };
10544
10546
  var guests = {
10545
- label: "Vieraat",
10546
- title: "Vieraat",
10547
- subtitle: "Kuka saapuu?",
10547
+ label: "Kuka",
10548
+ labelPlaceholder: "Lisää vieraat",
10549
+ title: "Ketkä ovat tulossa?",
10548
10550
  adultsLabel: "Aikuiset",
10549
10551
  kidsLabel: "lapset"
10550
10552
  };
@@ -10637,19 +10639,34 @@ function FilterBar(_a) {
10637
10639
  });
10638
10640
  }
10639
10641
  }, [selectedFilter]);
10642
+ var renderDates = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) && (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
10643
+ ? "".concat(format(calendarRange.from, 'dd.MM.yyyy'), " -\n ").concat(format(calendarRange.to, 'dd.MM.yyyy'))
10644
+ : null;
10645
+ var renderGuests = Object.entries(ageCategoryCounts).reduce(function (acc, _a) {
10646
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
10647
+ var ageCategory = ageCategories.find(function (c) { return c.id === key[key.length - 1]; });
10648
+ if (ageCategory) {
10649
+ acc += "".concat(acc ? ' -' : '', " ").concat(ageCategory.name, ": ").concat(value);
10650
+ }
10651
+ return acc;
10652
+ }, '');
10640
10653
  return (React__default.createElement(React__default.Fragment, null,
10641
10654
  selectedFilter && (React__default.createElement("div", { className: "will-filter-bar will-filter-bar-underlay", onClick: function () {
10642
10655
  handleSelectedFilter(false);
10643
10656
  } })),
10644
10657
  React__default.createElement("div", { className: "will-root ".concat(selectedFilter ? 'isMobileAbsolute' : ''), style: themePalette },
10645
- !currentViewApply && (React__default.createElement("div", { className: "will-filter-bar-tabs", ref: targetFilterBarRef },
10658
+ !currentViewApply && (React__default.createElement("div", { className: "will-filter-bar-tabs", ref: !currentViewApply ? targetFilterBarRef : null },
10646
10659
  React__default.createElement(SubmitButton, { label: t('tabs.events'), onClick: function () { return setSelectedPath('/events'); }, active: selectedPath === '/events' }),
10647
10660
  React__default.createElement(SubmitButton, { label: t('tabs.rooms'), onClick: function () { return setSelectedPath('/rooms'); }, active: selectedPath === '/rooms' }))),
10648
- React__default.createElement("div", { className: "will-filter-bar-header" },
10649
- React__default.createElement(SelectButton, { label: 'When', description: 'Add Check-in and -out', onClick: function () { return handleSelectedFilter(1); }, style: fontWeightBold(selectedFilter === 1) }),
10661
+ React__default.createElement("div", { className: "will-filter-bar-header", ref: currentViewApply ? targetFilterBarRef : null },
10662
+ React__default.createElement(SelectButton, { label: t('calendar.label'), description: renderDates
10663
+ ? renderDates
10664
+ : selectedPath === '/rooms'
10665
+ ? t('calendar.roomsLabelPlaceholder')
10666
+ : t('calendar.eventsLabelPlaceholder'), onClick: function () { return handleSelectedFilter(1); }, style: fontWeightBold(selectedFilter === 1), date: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) ? format(calendarRange.to, 'dd.MM.yyyy') : null }),
10650
10667
  selectedPath === '/rooms' && (React__default.createElement(React__default.Fragment, null,
10651
10668
  React__default.createElement(Divider, null),
10652
- React__default.createElement(SelectButton, { label: 'Who', description: 'Add Guests', onClick: function () { return handleSelectedFilter(2); }, style: fontWeightBold(selectedFilter === 2) }))),
10669
+ React__default.createElement(SelectButton, { label: t('guests.label'), description: renderGuests ? renderGuests : t('guests.labelPlaceholder'), onClick: function () { return handleSelectedFilter(2); }, style: fontWeightBold(selectedFilter === 2) }))),
10653
10670
  React__default.createElement(SubmitButton$1, { onClick: handleSubmit })),
10654
10671
  selectedFilter && (React__default.createElement("div", { className: "will-filter-bar-container", style: currentViewApply && !isMobile ? { top: 66 } : {} },
10655
10672
  React__default.createElement(CloseButton, { handleClose: function () { return handleSelectedFilter(false); } }),