ublo-lib 1.44.1 → 1.44.3

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,7 +1,8 @@
1
- export default function PeriodPicker({ setClosed, force, onChange, ubloContext, }: {
1
+ export default function PeriodPicker({ setClosed, force, onChange, hidePastDates, ubloContext, }: {
2
2
  setClosed?: any;
3
3
  force?: boolean;
4
4
  onChange?: any;
5
+ hidePastDates?: boolean;
5
6
  ubloContext?: {};
6
7
  }): import("react/jsx-runtime").JSX.Element;
7
8
  //# sourceMappingURL=period-picker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"period-picker.d.ts","sourceRoot":"","sources":["../../../../src/esf/components/period-picker/period-picker.js"],"names":[],"mappings":"AA2BA;;;;;4CAyMC"}
1
+ {"version":3,"file":"period-picker.d.ts","sourceRoot":"","sources":["../../../../src/esf/components/period-picker/period-picker.js"],"names":[],"mappings":"AA2BA;;;;;;4CA2MC"}
@@ -18,7 +18,7 @@ const { publicRuntimeConfig } = getConfig();
18
18
  const { start, end, forceSeasonSwitch = false, extend, } = publicRuntimeConfig.season;
19
19
  const WEEK_STORAGE = "stayWeek";
20
20
  const EXTEND_STAY_PICKER_APPEARANCE_DELAY = 1000;
21
- export default function PeriodPicker({ setClosed = undefined, force = false, onChange = undefined, ubloContext = {}, }) {
21
+ export default function PeriodPicker({ setClosed = undefined, force = false, onChange = undefined, hidePastDates = false, ubloContext = {}, }) {
22
22
  const ref = React.useRef(null);
23
23
  const { lang, cmsMode, metadata, path } = {
24
24
  ...ubloContext,
@@ -129,5 +129,5 @@ export default function PeriodPicker({ setClosed = undefined, force = false, onC
129
129
  setOpened(false);
130
130
  openExtendedPicker();
131
131
  };
132
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: pickerClasses, children: _jsxs("div", { className: css.inner, children: [_jsxs("div", { className: css.header, children: [_jsx("div", { className: css.iconContainer, children: _jsx(Icons.Calendar, { className: css.icon }) }), _jsx(Title, { lang: lang, stay: stay }), _jsx(Controls, { barRef: ref, distance: 200 })] }), _jsx(Weeks, { ref: ref, lang: lang, weeks: weeks, beginWeek: beginWeek, endWeek: endWeek, selected: selected, select: select, forceSeasonSwitch: forceSeasonSwitch, openExtendedPicker: openExtendedPicker }), _jsx(Warning, { lang: lang, warn: warn, setWarn: setWarn, selectWeek: selectWeek, chosenWeek: chosenWeek }), _jsx(ExtendedStayPicker, { lang: lang, stay: stay, extend: extend, week: selected, endWeek: endWeek, forceSeasonSwitch: forceSeasonSwitch, opened: extendedOpened, setExtendedOpened: setExtendedOpened, onChange: onChange })] }) }), _jsx(Popup, { mustFilterSections: mustFilterSections, showDialog: showDialog, opened: opened, selectAndClose: selectAndClose, onChange: onChange })] }));
132
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: pickerClasses, children: _jsxs("div", { className: css.inner, children: [_jsxs("div", { className: css.header, children: [_jsx("div", { className: css.iconContainer, children: _jsx(Icons.Calendar, { className: css.icon }) }), _jsx(Title, { lang: lang, stay: stay }), _jsx(Controls, { barRef: ref, distance: 200 })] }), _jsx(Weeks, { ref: ref, lang: lang, weeks: weeks, beginWeek: beginWeek, endWeek: endWeek, selected: selected, select: select, forceSeasonSwitch: forceSeasonSwitch, openExtendedPicker: openExtendedPicker, hidePastDates: hidePastDates }), _jsx(Warning, { lang: lang, warn: warn, setWarn: setWarn, selectWeek: selectWeek, chosenWeek: chosenWeek }), _jsx(ExtendedStayPicker, { lang: lang, stay: stay, extend: extend, week: selected, endWeek: endWeek, forceSeasonSwitch: forceSeasonSwitch, opened: extendedOpened, setExtendedOpened: setExtendedOpened, onChange: onChange })] }) }), _jsx(Popup, { mustFilterSections: mustFilterSections, showDialog: showDialog, opened: opened, selectAndClose: selectAndClose, onChange: onChange })] }));
133
133
  }
@@ -26,13 +26,22 @@ const Weeks = React.forwardRef(({ weeks, lang, ...props }, ref) => {
26
26
  });
27
27
  Weeks.displayName = "Weeks";
28
28
  export default Weeks;
29
- function Week({ lang, week, beginWeek, endWeek, selected, select, forceSeasonSwitch, openExtendedPicker, }) {
29
+ function Week({ lang, week, beginWeek, endWeek, selected, select, forceSeasonSwitch, openExtendedPicker, hidePastDates, }) {
30
+ const ref = React.useRef(null);
30
31
  const now = new Date();
31
32
  const prevDate = Dates.weekToDate(week - 1, endWeek, forceSeasonSwitch);
32
33
  const currDate = Dates.weekToDate(week, endWeek, forceSeasonSwitch);
33
34
  const nextDate = Dates.weekToDate(week + 1, endWeek, forceSeasonSwitch);
34
35
  const isSelected = selected === week;
35
36
  const isPast = now.getTime() > nextDate.getTime();
37
+ React.useEffect(() => {
38
+ const target = ref.current;
39
+ if (target && isSelected) {
40
+ target.scrollIntoView({ behavior: "smooth", block: "nearest" });
41
+ }
42
+ }, [isSelected]);
43
+ if (hidePastDates && isPast)
44
+ return null;
36
45
  const isFirst = week === beginWeek;
37
46
  const isLast = week === endWeek;
38
47
  const prevYear = prevDate.getFullYear();
@@ -56,5 +65,5 @@ function Week({ lang, week, beginWeek, endWeek, selected, select, forceSeasonSwi
56
65
  select(week);
57
66
  openExtendedPicker();
58
67
  };
59
- return (_jsxs("div", { className: weekClasses, children: [_jsx(Button, { className: css.button, onClick: selectWeek, "aria-label": `${Dates.weekToLongDate(week)} - ${Dates.weekToLongDate(week + 1)}`, disabled: isPast }), _jsxs("div", { className: css.date, children: [_jsx("div", { className: css.dateFrom, children: Dates.formatShort(currDate) }), isLast && (_jsx("div", { className: css.dateTo, children: Dates.formatShort(nextDate) }))] }), showMonth && (_jsxs("span", { className: css.month, children: [formattedMonth, " ", showYear && _jsx("b", { className: css.year, children: currYear })] }))] }));
68
+ return (_jsxs("div", { ref: ref, className: weekClasses, children: [_jsx(Button, { className: css.button, onClick: selectWeek, "aria-label": `${Dates.weekToLongDate(week)} - ${Dates.weekToLongDate(week + 1)}`, disabled: isPast }), _jsxs("div", { className: css.date, children: [_jsx("div", { className: css.dateFrom, children: Dates.formatShort(currDate) }), isLast && (_jsx("div", { className: css.dateTo, children: Dates.formatShort(nextDate) }))] }), showMonth && (_jsxs("span", { className: css.month, children: [formattedMonth, " ", showYear && _jsx("b", { className: css.year, children: currYear })] }))] }));
60
69
  }
@@ -19,6 +19,7 @@
19
19
  padding: 0 26px 10px 26px;
20
20
  overflow: auto;
21
21
  scroll-behavior: smooth;
22
+ scrollbar-width: thin;
22
23
  }
23
24
 
24
25
  @media (min-width: 1100px) {
@@ -27,7 +28,6 @@
27
28
  --item-height: 20px;
28
29
 
29
30
  padding: 0 26px;
30
- overflow: visible;
31
31
  }
32
32
  }
33
33
 
@@ -7,8 +7,8 @@ type Props = {
7
7
  from: string;
8
8
  to: string;
9
9
  }) => void;
10
- setPreset: (preset: Record<string, any>) => void;
10
+ isLBM: boolean;
11
11
  };
12
- export default function StayPicker({ stay, setStay }: Props): import("react/jsx-runtime").JSX.Element;
12
+ export default function StayPicker({ stay, setStay, isLBM }: Props): import("react/jsx-runtime").JSX.Element;
13
13
  export {};
14
14
  //# sourceMappingURL=stay-picker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stay-picker.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/components/stay-picker.tsx"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,2CAmD1D"}
1
+ {"version":3,"file":"stay-picker.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/components/stay-picker.tsx"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtD,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,2CAqDjE"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import Input from "dt-design-system/es/input";
3
3
  import css from "./stay-picker.module.css";
4
- export default function StayPicker({ stay, setStay }) {
4
+ export default function StayPicker({ stay, setStay, isLBM }) {
5
5
  const updateStay = (key) => (value) => {
6
6
  const isFrom = key === "from";
7
7
  const isTo = key === "to";
@@ -31,5 +31,5 @@ export default function StayPicker({ stay, setStay }) {
31
31
  }
32
32
  setStay({ ...stay, [key]: value });
33
33
  };
34
- return (_jsxs("div", { className: css.picker, children: [_jsx(Input, { className: css.input, type: "date", label: "Date de d\u00E9but (optionnel)", value: stay.from, onValueChange: updateStay("from") }), _jsx(Input, { className: css.input, type: "date", label: "Date de fin (optionnel)", value: stay.to, onValueChange: updateStay("to") })] }));
34
+ return (_jsxs("div", { className: css.picker, children: [_jsx(Input, { className: css.input, type: "date", label: "Date de d\u00E9but (optionnel)", value: stay.from, onValueChange: updateStay("from"), disabled: isLBM }), _jsx(Input, { className: css.input, type: "date", label: "Date de fin (optionnel)", value: stay.to, onValueChange: updateStay("to"), disabled: isLBM })] }));
35
35
  }
@@ -229,7 +229,7 @@ export default function SkiPasses({ msemServicesUrl, preset, setPreset, stay, se
229
229
  const value = data.pax?.filter((skier) => skier === code)?.length ||
230
230
  0;
231
231
  return (_jsx(NumberPicker, { label: title, min: 0, max: 20, value: value, disabled: false, onChange: updateSkiers(code), withInput: true }, code));
232
- })] })), _jsx("div", { className: css.label, children: "Filtres" }), (activities?.length > 0 || loading) && (_jsx(MultipleSelect, { label: "Activit\u00E9s", placeholder: "Selectionnez une ou plusieurs options", options: activities, values: selectedActivities, onChange: updateField("activities"), loading: loading })), _jsxs("div", { className: css.row, children: [((filteredDomains && filteredDomains.length > 0) || loading) && (_jsx(MultipleSelect, { label: "Domaines", placeholder: "Selectionnez une ou plusieurs options", options: filteredDomains || [], values: selectedDomains, onChange: updateDomains, loading: loading })), ((filteredDurations && filteredDurations?.length > 0) ||
232
+ })] })), _jsx("div", { className: css.label, children: "Filtres" }), (activities?.length > 0 || loading) && (_jsx(MultipleSelect, { label: "Cat\u00E9gories de dur\u00E9e", placeholder: "Selectionnez une ou plusieurs options", options: activities, values: selectedActivities, onChange: updateField("activities"), loading: loading })), _jsxs("div", { className: css.row, children: [((filteredDomains && filteredDomains.length > 0) || loading) && (_jsx(MultipleSelect, { label: "Domaines", placeholder: "Selectionnez une ou plusieurs options", options: filteredDomains || [], values: selectedDomains, onChange: updateDomains, loading: loading })), ((filteredDurations && filteredDurations?.length > 0) ||
233
233
  loading) && (_jsx(MultipleSelect, { label: "Dur\u00E9es", placeholder: "Selectionnez une ou plusieurs options", options: filteredDurations || [], values: selectedDurations, onChange: updateField("durations"), loading: loading }))] })] }))] }));
234
234
  }
235
235
  function getDefaultData(preset) {
@@ -51,7 +51,7 @@ export default function StandardProducts({ lang, msemServicesUrl, preset, setPre
51
51
  return newPreset;
52
52
  });
53
53
  }, [onChange, selectedProductCategory, setPreset]);
54
- return (_jsx(Form, { title: "Presets activit\u00E9s autres produits", width: 420, preset: preset, buttonsActions: {
54
+ return (_jsx(Form, { title: "Presets activit\u00E9s MyActivity / Autres produits", width: 420, preset: preset, buttonsActions: {
55
55
  testPreset,
56
56
  cancelPreset,
57
57
  confirmPreset: selectedProductCategory ? confirmPreset : undefined,
@@ -156,7 +156,7 @@ export default function Vakario({ lang, msemServicesUrl, preset, setPreset, setS
156
156
  return newPreset;
157
157
  });
158
158
  }, [data, onChange, setPreset]);
159
- return (_jsxs(Form, { title: "Presets activit\u00E9s Vakario", width: 420, preset: preset, buttonsActions: {
159
+ return (_jsxs(Form, { title: "Presets activit\u00E9s YoPlanning / Vakario", width: 420, preset: preset, buttonsActions: {
160
160
  testPreset,
161
161
  cancelPreset,
162
162
  confirmPreset,
@@ -26,6 +26,7 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
26
26
  const [presetUrl, setPresetUrl] = React.useState("");
27
27
  const showFacetSelector = facet === undefined;
28
28
  const showWidgetList = selectedResort && selectedFacet !== "";
29
+ const isLBM = channel === "LBM";
29
30
  const updatePreset = React.useCallback((item, subPreset) => {
30
31
  let { name, options: itemOptions, presets: itemPresets } = item;
31
32
  const widget = subPreset?.widget || item.widget;
@@ -109,7 +110,7 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
109
110
  const footerClasses = classNames(css.footer, {
110
111
  [css.footerButtonOnly]: !showPresetUrl,
111
112
  });
112
- return (_jsxs("div", { className: css.editor, children: [resorts && (_jsx(ResortSelector, { resorts: resorts, resort: selectedResort, setResort: setSelectedResort, removePreset: removePreset })), showFacetSelector && (_jsx(FacetSelector, { facet: selectedFacet, setFacet: setSelectedFacet, setPreset: setPreset })), !hideStay && (_jsx(StayPicker, { stay: stay, setStay: setStay, setPreset: setPreset })), showWidgetList && (_jsx(WidgetList, { lang: lang, msemServicesUrl: msemServicesUrl, resort: selectedResort, channel: channel, facet: selectedFacet, preset: preset, updatePreset: updatePreset, removePreset: removePreset, error: error, setError: setError, setShowPresetDialog: setShowPresetDialog })), error && _jsx("div", { className: css.error, children: error }), _jsxs("div", { className: footerClasses, children: [showPresetUrl ? (_jsx(Tooltip, { content: "Tester dans le widget MseM", children: _jsx(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: _jsx(Icons.OpenInBrowser, {}) }) })) : (_jsxs(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: [_jsx(Icons.OpenInBrowser, {}), "Tester dans le widget MseM"] })), showPresetUrl && (_jsx(Input, { type: "text", className: css.url, value: presetUrl, onClick: copyUrl, placeholder: !preset
113
+ return (_jsxs("div", { className: css.editor, children: [resorts && (_jsx(ResortSelector, { resorts: resorts, resort: selectedResort, setResort: setSelectedResort, removePreset: removePreset })), showFacetSelector && (_jsx(FacetSelector, { facet: selectedFacet, setFacet: setSelectedFacet, setPreset: setPreset })), !hideStay && _jsx(StayPicker, { stay: stay, setStay: setStay, isLBM: isLBM }), showWidgetList && (_jsx(WidgetList, { lang: lang, msemServicesUrl: msemServicesUrl, resort: selectedResort, channel: channel, facet: selectedFacet, preset: preset, updatePreset: updatePreset, removePreset: removePreset, error: error, setError: setError, setShowPresetDialog: setShowPresetDialog })), error && _jsx("div", { className: css.error, children: error }), _jsxs("div", { className: footerClasses, children: [showPresetUrl ? (_jsx(Tooltip, { content: "Tester dans le widget MseM", children: _jsx(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: _jsx(Icons.OpenInBrowser, {}) }) })) : (_jsxs(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: [_jsx(Icons.OpenInBrowser, {}), "Tester dans le widget MseM"] })), showPresetUrl && (_jsx(Input, { type: "text", className: css.url, value: presetUrl, onClick: copyUrl, placeholder: !preset
113
114
  ? "Aucun preset sélectionné"
114
115
  : "Preset incompatible au format URL", readOnly: true }))] }), _jsx(Dialog, { isOpened: showPresetDialog, close: () => setShowPresetDialog(false), closeButtonVariant: "transparent", showAsModal: false, children: showPresetDialog && (_jsx(CurrentEditor, { lang: lang, msemServicesUrl: msemServicesUrl, stay: stay, facet: selectedFacet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, urlOverride: urlOverride })) })] }));
115
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-msem-presets.d.ts","sourceRoot":"","sources":["../../../src/future/hooks/use-msem-presets.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,cAAc,EAAE;;CAAA,QAmHxD"}
1
+ {"version":3,"file":"use-msem-presets.d.ts","sourceRoot":"","sources":["../../../src/future/hooks/use-msem-presets.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,cAAc,EAAE;;CAAA,QAoHxD"}
@@ -25,6 +25,7 @@ export default function useMseMPresets({ defaultOptions }) {
25
25
  lang,
26
26
  ...otherDefaultOptions,
27
27
  prefixUrl,
28
+ verticalMargin: 20,
28
29
  };
29
30
  e.preventDefault();
30
31
  e.stopPropagation();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ublo-lib",
3
- "version": "1.44.1",
3
+ "version": "1.44.3",
4
4
  "peerDependencies": {
5
5
  "classnames": "^2.5.1",
6
6
  "dt-design-system": "^3.12.0",