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.
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import './SelectButton.css';
3
- export default function SelectButton({ label, onClick, style, date, description, }: any): React.JSX.Element;
3
+ export default function SelectButton({ label, onClick, style, description, }: any): React.JSX.Element;
package/lib/index.esm.js CHANGED
@@ -429,118 +429,6 @@ function useTranslation(ns) {
429
429
  });
430
430
  }
431
431
 
432
- 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}";
433
- styleInject(css_248z$b);
434
-
435
- function Divider() {
436
- return React__default__default.createElement("div", { className: "will-filter-bar-divider" });
437
- }
438
-
439
- 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";
440
- styleInject(css_248z$a);
441
-
442
- function SelectButton(_a) {
443
- var label = _a.label, onClick = _a.onClick, style = _a.style, date = _a.date, description = _a.description;
444
- return (React__default__default.createElement("button", { className: "will-filter-bar-select-button", onClick: onClick, style: style },
445
- React__default__default.createElement("span", { className: "select-button-wrapper" },
446
- React__default__default.createElement("div", null,
447
- React__default__default.createElement("p", { className: "select-button-label" }, label),
448
- React__default__default.createElement("p", { className: "select-button-description" }, description)),
449
- !!date && (React__default__default.createElement(React__default__default.Fragment, null,
450
- React__default__default.createElement("span", { className: "select-button-divider" }, "|"),
451
- React__default__default.createElement("span", { className: "select-button-date" },
452
- " ",
453
- date))))));
454
- }
455
-
456
- var DefaultContext = {
457
- color: undefined,
458
- size: undefined,
459
- className: undefined,
460
- style: undefined,
461
- attr: undefined
462
- };
463
- var IconContext = React__default__default.createContext && React__default__default.createContext(DefaultContext);
464
-
465
- var __assign$1 = undefined && undefined.__assign || function () {
466
- __assign$1 = Object.assign || function (t) {
467
- for (var s, i = 1, n = arguments.length; i < n; i++) {
468
- s = arguments[i];
469
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
470
- }
471
- return t;
472
- };
473
- return __assign$1.apply(this, arguments);
474
- };
475
- var __rest$1 = undefined && undefined.__rest || function (s, e) {
476
- var t = {};
477
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
478
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
479
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
480
- }
481
- return t;
482
- };
483
- function Tree2Element(tree) {
484
- return tree && tree.map(function (node, i) {
485
- return React__default__default.createElement(node.tag, __assign$1({
486
- key: i
487
- }, node.attr), Tree2Element(node.child));
488
- });
489
- }
490
- function GenIcon(data) {
491
- // eslint-disable-next-line react/display-name
492
- return function (props) {
493
- return React__default__default.createElement(IconBase, __assign$1({
494
- attr: __assign$1({}, data.attr)
495
- }, props), Tree2Element(data.child));
496
- };
497
- }
498
- function IconBase(props) {
499
- var elem = function (conf) {
500
- var attr = props.attr,
501
- size = props.size,
502
- title = props.title,
503
- svgProps = __rest$1(props, ["attr", "size", "title"]);
504
- var computedSize = size || conf.size || "1em";
505
- var className;
506
- if (conf.className) className = conf.className;
507
- if (props.className) className = (className ? className + " " : "") + props.className;
508
- return React__default__default.createElement("svg", __assign$1({
509
- stroke: "currentColor",
510
- fill: "currentColor",
511
- strokeWidth: "0"
512
- }, conf.attr, attr, svgProps, {
513
- className: className,
514
- style: __assign$1(__assign$1({
515
- color: props.color || conf.color
516
- }, conf.style), props.style),
517
- height: computedSize,
518
- width: computedSize,
519
- xmlns: "http://www.w3.org/2000/svg"
520
- }), title && React__default__default.createElement("title", null, title), props.children);
521
- };
522
- return IconContext !== undefined ? React__default__default.createElement(IconContext.Consumer, null, function (conf) {
523
- return elem(conf);
524
- }) : elem(DefaultContext);
525
- }
526
-
527
- // THIS FILE IS AUTO GENERATED
528
- function FaSearch (props) {
529
- 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);
530
- }
531
-
532
- 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";
533
- styleInject(css_248z$9);
534
-
535
- function SubmitButton$1(_a) {
536
- var onClick = _a.onClick;
537
- var t = useTranslation('filterBar').t;
538
- return (React__default__default.createElement("button", { className: "will-filter-bar-submit-button", onClick: onClick },
539
- React__default__default.createElement("span", null,
540
- React__default__default.createElement(FaSearch, null)),
541
- t('submit.label')));
542
- }
543
-
544
432
  function _typeof(o) {
545
433
  "@babel/helpers - typeof";
546
434
 
@@ -3981,6 +3869,113 @@ function setYear(dirtyDate, dirtyYear) {
3981
3869
  return date;
3982
3870
  }
3983
3871
 
3872
+ 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}";
3873
+ styleInject(css_248z$b);
3874
+
3875
+ function Divider() {
3876
+ return React__default__default.createElement("div", { className: "will-filter-bar-divider" });
3877
+ }
3878
+
3879
+ 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";
3880
+ styleInject(css_248z$a);
3881
+
3882
+ function SelectButton(_a) {
3883
+ var label = _a.label, onClick = _a.onClick, style = _a.style, description = _a.description;
3884
+ return (React__default__default.createElement("button", { className: "will-filter-bar-select-button", onClick: onClick, style: style },
3885
+ React__default__default.createElement("span", { className: "select-button-wrapper" },
3886
+ React__default__default.createElement("div", null,
3887
+ React__default__default.createElement("p", { className: "select-button-label" }, label),
3888
+ React__default__default.createElement("p", { className: "select-button-description" }, description)))));
3889
+ }
3890
+
3891
+ var DefaultContext = {
3892
+ color: undefined,
3893
+ size: undefined,
3894
+ className: undefined,
3895
+ style: undefined,
3896
+ attr: undefined
3897
+ };
3898
+ var IconContext = React__default__default.createContext && React__default__default.createContext(DefaultContext);
3899
+
3900
+ var __assign$1 = undefined && undefined.__assign || function () {
3901
+ __assign$1 = Object.assign || function (t) {
3902
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
3903
+ s = arguments[i];
3904
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
3905
+ }
3906
+ return t;
3907
+ };
3908
+ return __assign$1.apply(this, arguments);
3909
+ };
3910
+ var __rest$1 = undefined && undefined.__rest || function (s, e) {
3911
+ var t = {};
3912
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
3913
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
3914
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
3915
+ }
3916
+ return t;
3917
+ };
3918
+ function Tree2Element(tree) {
3919
+ return tree && tree.map(function (node, i) {
3920
+ return React__default__default.createElement(node.tag, __assign$1({
3921
+ key: i
3922
+ }, node.attr), Tree2Element(node.child));
3923
+ });
3924
+ }
3925
+ function GenIcon(data) {
3926
+ // eslint-disable-next-line react/display-name
3927
+ return function (props) {
3928
+ return React__default__default.createElement(IconBase, __assign$1({
3929
+ attr: __assign$1({}, data.attr)
3930
+ }, props), Tree2Element(data.child));
3931
+ };
3932
+ }
3933
+ function IconBase(props) {
3934
+ var elem = function (conf) {
3935
+ var attr = props.attr,
3936
+ size = props.size,
3937
+ title = props.title,
3938
+ svgProps = __rest$1(props, ["attr", "size", "title"]);
3939
+ var computedSize = size || conf.size || "1em";
3940
+ var className;
3941
+ if (conf.className) className = conf.className;
3942
+ if (props.className) className = (className ? className + " " : "") + props.className;
3943
+ return React__default__default.createElement("svg", __assign$1({
3944
+ stroke: "currentColor",
3945
+ fill: "currentColor",
3946
+ strokeWidth: "0"
3947
+ }, conf.attr, attr, svgProps, {
3948
+ className: className,
3949
+ style: __assign$1(__assign$1({
3950
+ color: props.color || conf.color
3951
+ }, conf.style), props.style),
3952
+ height: computedSize,
3953
+ width: computedSize,
3954
+ xmlns: "http://www.w3.org/2000/svg"
3955
+ }), title && React__default__default.createElement("title", null, title), props.children);
3956
+ };
3957
+ return IconContext !== undefined ? React__default__default.createElement(IconContext.Consumer, null, function (conf) {
3958
+ return elem(conf);
3959
+ }) : elem(DefaultContext);
3960
+ }
3961
+
3962
+ // THIS FILE IS AUTO GENERATED
3963
+ function FaSearch (props) {
3964
+ 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);
3965
+ }
3966
+
3967
+ 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";
3968
+ styleInject(css_248z$9);
3969
+
3970
+ function SubmitButton$1(_a) {
3971
+ var onClick = _a.onClick;
3972
+ var t = useTranslation('filterBar').t;
3973
+ return (React__default__default.createElement("button", { className: "will-filter-bar-submit-button", onClick: onClick },
3974
+ React__default__default.createElement("span", null,
3975
+ React__default__default.createElement(FaSearch, null)),
3976
+ t('submit.label')));
3977
+ }
3978
+
3984
3979
  /******************************************************************************
3985
3980
  Copyright (c) Microsoft Corporation.
3986
3981
 
@@ -8015,8 +8010,9 @@ styleInject(css_248z$5);
8015
8010
 
8016
8011
  function Guests(_a) {
8017
8012
  var ageCategories = _a.ageCategories, updateGuestsCount = _a.updateGuestsCount, ageCategoryCounts = _a.ageCategoryCounts;
8013
+ var t = useTranslation('filterBar').t;
8018
8014
  return (React__default__default.createElement("div", { className: "will-filter-bar-guests" },
8019
- React__default__default.createElement("h3", { className: "will-guests-filter-title" }, "Who's coming?"),
8015
+ React__default__default.createElement("h3", { className: "will-guests-filter-title" }, t('guests.title')),
8020
8016
  React__default__default.createElement("div", { className: "will-guests-filter-container" }, ageCategories === null || ageCategories === void 0 ? void 0 : ageCategories.map(function (category) { return (React__default__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 })); }))));
8021
8017
  }
8022
8018
 
@@ -10486,14 +10482,17 @@ instance.loadNamespaces;
10486
10482
  instance.loadLanguages;
10487
10483
 
10488
10484
  var calendar$1 = {
10485
+ label: "When",
10486
+ roomsLabelPlaceholder: "Add check-in and check-out",
10487
+ eventsLabelPlaceholder: "Add search dates",
10489
10488
  startDate: "Start date",
10490
10489
  endDate: "End date",
10491
10490
  title: "Calendar"
10492
10491
  };
10493
10492
  var guests$1 = {
10494
- label: "Guests",
10495
- title: "Guests",
10496
- subtitle: "Who's coming?",
10493
+ label: "Who",
10494
+ labelPlaceholder: "Add guests",
10495
+ title: "Who's coming?",
10497
10496
  adultsLabel: "Adults",
10498
10497
  kidsLabel: "kids"
10499
10498
  };
@@ -10517,14 +10516,17 @@ var enFilterBar = {
10517
10516
  };
10518
10517
 
10519
10518
  var calendar = {
10519
+ label: "Milloin",
10520
+ roomsLabelPlaceholder: "Lisää check-in ja check-out",
10521
+ eventsLabelPlaceholder: "Lisää aikaväli",
10520
10522
  startDate: "Alku",
10521
10523
  endDate: "Loppu",
10522
10524
  title: "Kalenteri"
10523
10525
  };
10524
10526
  var guests = {
10525
- label: "Vieraat",
10526
- title: "Vieraat",
10527
- subtitle: "Kuka saapuu?",
10527
+ label: "Kuka",
10528
+ labelPlaceholder: "Lisää vieraat",
10529
+ title: "Ketkä ovat tulossa?",
10528
10530
  adultsLabel: "Aikuiset",
10529
10531
  kidsLabel: "lapset"
10530
10532
  };
@@ -10617,19 +10619,34 @@ function FilterBar(_a) {
10617
10619
  });
10618
10620
  }
10619
10621
  }, [selectedFilter]);
10622
+ var renderDates = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) && (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
10623
+ ? "".concat(format(calendarRange.from, 'dd.MM.yyyy'), " -\n ").concat(format(calendarRange.to, 'dd.MM.yyyy'))
10624
+ : null;
10625
+ var renderGuests = Object.entries(ageCategoryCounts).reduce(function (acc, _a) {
10626
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
10627
+ var ageCategory = ageCategories.find(function (c) { return c.id === key[key.length - 1]; });
10628
+ if (ageCategory) {
10629
+ acc += "".concat(acc ? ' -' : '', " ").concat(ageCategory.name, ": ").concat(value);
10630
+ }
10631
+ return acc;
10632
+ }, '');
10620
10633
  return (React__default__default.createElement(React__default__default.Fragment, null,
10621
10634
  selectedFilter && (React__default__default.createElement("div", { className: "will-filter-bar will-filter-bar-underlay", onClick: function () {
10622
10635
  handleSelectedFilter(false);
10623
10636
  } })),
10624
10637
  React__default__default.createElement("div", { className: "will-root ".concat(selectedFilter ? 'isMobileAbsolute' : ''), style: themePalette },
10625
- !currentViewApply && (React__default__default.createElement("div", { className: "will-filter-bar-tabs", ref: targetFilterBarRef },
10638
+ !currentViewApply && (React__default__default.createElement("div", { className: "will-filter-bar-tabs", ref: !currentViewApply ? targetFilterBarRef : null },
10626
10639
  React__default__default.createElement(SubmitButton, { label: t('tabs.events'), onClick: function () { return setSelectedPath('/events'); }, active: selectedPath === '/events' }),
10627
10640
  React__default__default.createElement(SubmitButton, { label: t('tabs.rooms'), onClick: function () { return setSelectedPath('/rooms'); }, active: selectedPath === '/rooms' }))),
10628
- React__default__default.createElement("div", { className: "will-filter-bar-header" },
10629
- React__default__default.createElement(SelectButton, { label: 'When', description: 'Add Check-in and -out', onClick: function () { return handleSelectedFilter(1); }, style: fontWeightBold(selectedFilter === 1) }),
10641
+ React__default__default.createElement("div", { className: "will-filter-bar-header", ref: currentViewApply ? targetFilterBarRef : null },
10642
+ React__default__default.createElement(SelectButton, { label: t('calendar.label'), description: renderDates
10643
+ ? renderDates
10644
+ : selectedPath === '/rooms'
10645
+ ? t('calendar.roomsLabelPlaceholder')
10646
+ : 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 }),
10630
10647
  selectedPath === '/rooms' && (React__default__default.createElement(React__default__default.Fragment, null,
10631
10648
  React__default__default.createElement(Divider, null),
10632
- React__default__default.createElement(SelectButton, { label: 'Who', description: 'Add Guests', onClick: function () { return handleSelectedFilter(2); }, style: fontWeightBold(selectedFilter === 2) }))),
10649
+ React__default__default.createElement(SelectButton, { label: t('guests.label'), description: renderGuests ? renderGuests : t('guests.labelPlaceholder'), onClick: function () { return handleSelectedFilter(2); }, style: fontWeightBold(selectedFilter === 2) }))),
10633
10650
  React__default__default.createElement(SubmitButton$1, { onClick: handleSubmit })),
10634
10651
  selectedFilter && (React__default__default.createElement("div", { className: "will-filter-bar-container", style: currentViewApply && !isMobile ? { top: 66 } : {} },
10635
10652
  React__default__default.createElement(CloseButton, { handleClose: function () { return handleSelectedFilter(false); } }),