ublo-lib 1.38.16 → 1.38.17

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.
Files changed (20) hide show
  1. package/es/future/components/msem-preset-editor/components/widget-list-item.d.ts.map +1 -1
  2. package/es/future/components/msem-preset-editor/components/widget-list-item.js +4 -9
  3. package/es/future/components/msem-preset-editor/components/widget-list.js +1 -1
  4. package/es/future/components/msem-preset-editor/components/widget-list.module.css +1 -1
  5. package/es/future/components/msem-preset-editor/editors/esf.d.ts +16 -0
  6. package/es/future/components/msem-preset-editor/editors/esf.d.ts.map +1 -0
  7. package/es/future/components/msem-preset-editor/editors/esf.js +120 -0
  8. package/es/future/components/msem-preset-editor/editors/index.d.ts +2 -0
  9. package/es/future/components/msem-preset-editor/editors/index.d.ts.map +1 -1
  10. package/es/future/components/msem-preset-editor/editors/index.js +2 -0
  11. package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts +2 -1
  12. package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts.map +1 -1
  13. package/es/future/components/msem-preset-editor/msem-preset-editor.js +2 -3
  14. package/es/future/components/msem-preset-editor/services/api.d.ts +1 -0
  15. package/es/future/components/msem-preset-editor/services/api.d.ts.map +1 -1
  16. package/es/future/components/msem-preset-editor/services/api.js +12 -0
  17. package/es/future/components/msem-preset-linker/msem-preset-linker.d.ts +2 -1
  18. package/es/future/components/msem-preset-linker/msem-preset-linker.d.ts.map +1 -1
  19. package/es/future/components/msem-preset-linker/msem-preset-linker.js +2 -2
  20. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"widget-list-item.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/components/widget-list-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CACpE,CAAC;AAWF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,EAAE,KAAK,2CAwKP"}
1
+ {"version":3,"file":"widget-list-item.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/components/widget-list-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CACpE,CAAC;AAYF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,EAAE,KAAK,2CAqKP"}
@@ -13,12 +13,14 @@ const ALLOW_PRESETS_ON_WIDGETS = [
13
13
  "elloha",
14
14
  "vakario",
15
15
  "skiRental",
16
+ "esf",
16
17
  ];
17
18
  export default function WidgetListItem({ item, preset, updatePreset, removePreset, setShowPresetDialog, }) {
18
- const [opened, setOpened] = React.useState(false);
19
19
  const { widget, logo, name, items: subs } = item;
20
- const ToggleIcon = opened ? Icons.ChevronUp : Icons.ChevronDown;
21
20
  const isSelected = preset?.name === name && preset?.widget === widget;
21
+ const hasSubsSelected = subs?.some((sub) => preset?.name === sub.name && preset?.widget === sub.widget) || false;
22
+ const [opened, setOpened] = React.useState(isSelected || hasSubsSelected);
23
+ const ToggleIcon = opened ? Icons.ChevronUp : Icons.ChevronDown;
22
24
  const hasSubs = subs && subs.length > 0;
23
25
  const allowAdvancedPresets = ALLOW_PRESETS_ON_WIDGETS.includes(widget);
24
26
  const showEditButton = isSelected && allowAdvancedPresets;
@@ -31,13 +33,6 @@ export default function WidgetListItem({ item, preset, updatePreset, removePrese
31
33
  const closeDropdown = () => {
32
34
  setOpened(false);
33
35
  };
34
- const handleDropdownChildrenClick = (e) => {
35
- const target = e.target;
36
- const button = target.closest("button");
37
- if (!button)
38
- return;
39
- closeDropdown();
40
- };
41
36
  const classes = classNames(css.item, {
42
37
  [css.selected]: isSelected,
43
38
  [css.opened]: opened,
@@ -29,7 +29,7 @@ export default function WidgetList({ lang, msemServicesUrl, channel, resort, fac
29
29
  runEffect();
30
30
  }, [channel, facet, lang, msemServicesUrl, resort, setError]);
31
31
  return (_jsxs("div", { className: css.list, children: [loading &&
32
- [...new Array(3)].map((_, i) => {
32
+ [...new Array(5)].map((_, i) => {
33
33
  return _jsx(Loader, { className: css.loader, variant: "overlay" }, i);
34
34
  }), offers?.length === 0 && !loading && (_jsx("div", { className: css.empty, children: "Aucun widget disponible" })), offers?.map((offer, i) => {
35
35
  return (_jsx(WidgetListItem, { item: offer, preset: preset, updatePreset: updatePreset, removePreset: removePreset, setShowPresetDialog: setShowPresetDialog }, i));
@@ -8,7 +8,7 @@
8
8
  div.loader {
9
9
  position: relative;
10
10
  width: 100%;
11
- height: 56px;
11
+ height: 120px;
12
12
  border-radius: var(--ublo-radius-200, 8px);
13
13
  }
14
14
 
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ type Props = {
3
+ msemServicesUrl: string;
4
+ stay: {
5
+ from: string;
6
+ to: string;
7
+ };
8
+ preset: Record<string, any> | null;
9
+ setPreset: React.Dispatch<React.SetStateAction<Record<string, any> | null>>;
10
+ setShowPresetDialog: React.Dispatch<React.SetStateAction<boolean>>;
11
+ onChange?: (preset: Record<string, any> | null) => void;
12
+ testPreset: () => void;
13
+ };
14
+ export default function Esf({ msemServicesUrl, preset, setPreset, setShowPresetDialog, onChange, testPreset, }: Props): import("react/jsx-runtime").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=esf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esf.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/esf.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,KAAK,KAAK,GAAG;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5E,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAeF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAC1B,eAAe,EACf,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,2CA0HP"}
@@ -0,0 +1,120 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import Input from "dt-design-system/es/input";
4
+ import Select from "dt-design-system/es/select";
5
+ import Form from "../components/form";
6
+ import * as API from "../services/api";
7
+ const DEFAULT_DATA = {
8
+ intermediary: "",
9
+ kind: "",
10
+ };
11
+ export default function Esf({ msemServicesUrl, preset, setPreset, setShowPresetDialog, onChange, testPreset, }) {
12
+ const savedPreset = React.useRef(preset);
13
+ const [loading, setLoading] = React.useState(false);
14
+ const [data, setData] = React.useState(getDefaultData(preset));
15
+ const [kindList, setKindList] = React.useState([]);
16
+ const formattedKindList = kindList.map((k) => {
17
+ const isEngagement = k.engagement;
18
+ const label = isEngagement
19
+ ? `${k.normalizedCode} - ${k.name} (engagement)`
20
+ : `${k.normalizedCode} - ${k.name}`;
21
+ const value = `${k.code}|${k.engagement}`;
22
+ return { label, value };
23
+ });
24
+ const selectedKind = kindList.find((k) => {
25
+ const [code, engagement] = data.kind.split("|");
26
+ if (engagement === "true") {
27
+ return k.engagement && k.code === code;
28
+ }
29
+ return !k.engagement && k.code === code;
30
+ });
31
+ const { channel, resort, lang } = preset?.options || {};
32
+ const year = getYear();
33
+ const stay = buildStay(year);
34
+ const season = getSeason(year);
35
+ const updateField = (field) => (value) => {
36
+ setData((current) => ({ ...current, [field]: value }));
37
+ };
38
+ const cancelPreset = () => {
39
+ setPreset(savedPreset.current);
40
+ setShowPresetDialog(false);
41
+ };
42
+ const confirmPreset = () => {
43
+ setShowPresetDialog(false);
44
+ };
45
+ React.useEffect(() => {
46
+ if (year && stay) {
47
+ const runEffect = async () => {
48
+ try {
49
+ setLoading(true);
50
+ const result = await API.getEsfKinds(msemServicesUrl, channel, resort, stay.from, stay.to, season, lang);
51
+ if (result.choices) {
52
+ setKindList(result.choices);
53
+ }
54
+ else {
55
+ throw new Error("Erreur lors de la récupération des types de cours");
56
+ }
57
+ }
58
+ catch (e) {
59
+ console.error(e);
60
+ }
61
+ finally {
62
+ setLoading(false);
63
+ }
64
+ };
65
+ runEffect();
66
+ }
67
+ }, []);
68
+ React.useEffect(() => {
69
+ setPreset((current = {}) => {
70
+ const kind = selectedKind?.code;
71
+ const engagement = selectedKind?.engagement ? true : undefined;
72
+ const newPreset = {
73
+ ...current,
74
+ presets: {
75
+ ...(current?.presets || {}),
76
+ intermediary: data.intermediary || undefined,
77
+ kind,
78
+ engagement,
79
+ },
80
+ };
81
+ onChange?.(newPreset);
82
+ return newPreset;
83
+ });
84
+ }, [data, onChange, setPreset]);
85
+ return (_jsxs(Form, { title: "Presets cours de ski esf", width: 420, preset: preset, buttonsActions: {
86
+ testPreset,
87
+ cancelPreset,
88
+ confirmPreset: data.intermediary || data.kind ? confirmPreset : undefined,
89
+ }, children: [_jsx(Input, { label: "Code interm\u00E9diaire", value: data.intermediary, onValueChange: updateField("intermediary") }), (loading || formattedKindList.length > 0) && (_jsx(Select, { label: "Type de cours", placeholder: "S\u00E9lectionnez un type de cours", value: data.kind, options: formattedKindList, onValueChange: updateField("kind"), loading: loading }))] }));
90
+ }
91
+ function getDefaultData(preset) {
92
+ if (!preset?.presets)
93
+ return DEFAULT_DATA;
94
+ const { intermediary, kind, engagement } = preset.presets;
95
+ return {
96
+ intermediary: intermediary || DEFAULT_DATA.intermediary,
97
+ kind: kind ? `${kind}|${engagement}` : DEFAULT_DATA.kind,
98
+ };
99
+ }
100
+ function getYear() {
101
+ const now = new Date();
102
+ const isAfterMay = now.getMonth() > 4;
103
+ const currentYear = now.getFullYear();
104
+ return isAfterMay ? currentYear : currentYear - 1;
105
+ }
106
+ function getSeason(year) {
107
+ const now = new Date();
108
+ const isAfterMay = now.getMonth() > 4;
109
+ return `${isAfterMay ? year + 1 : year}`;
110
+ }
111
+ function buildStay(year) {
112
+ const christmas = new Date(`${year}-12-25`);
113
+ const closerSaturday = new Date(`${year}-12-${25 - (christmas.getDay() + 1)}`);
114
+ const nextSaturday = new Date(closerSaturday);
115
+ nextSaturday.setDate(closerSaturday.getDate() + 7);
116
+ return {
117
+ from: closerSaturday.toISOString().split("T")[0],
118
+ to: nextSaturday.toISOString().split("T")[0],
119
+ };
120
+ }
@@ -5,6 +5,7 @@ import Elloha from "./elloha";
5
5
  import Vakario from "./vakario";
6
6
  import StandardProducts from "./standard-products";
7
7
  import SkiRental from "./ski-rental";
8
+ import Esf from "./esf";
8
9
  declare const Editor: {
9
10
  lodging: typeof Lodgings;
10
11
  skiPass: typeof SkiPasses;
@@ -13,6 +14,7 @@ declare const Editor: {
13
14
  vakario: typeof Vakario;
14
15
  otherProducts: typeof StandardProducts;
15
16
  skiRental: typeof SkiRental;
17
+ esf: typeof Esf;
16
18
  };
17
19
  export default Editor;
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,QAAA,MAAM,MAAM;;;;;;;;CAQX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,QAAA,MAAM,MAAM;;;;;;;;;CASX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -5,6 +5,7 @@ import Elloha from "./elloha";
5
5
  import Vakario from "./vakario";
6
6
  import StandardProducts from "./standard-products";
7
7
  import SkiRental from "./ski-rental";
8
+ import Esf from "./esf";
8
9
  const Editor = {
9
10
  lodging: Lodgings,
10
11
  skiPass: SkiPasses,
@@ -13,5 +14,6 @@ const Editor = {
13
14
  vakario: Vakario,
14
15
  otherProducts: StandardProducts,
15
16
  skiRental: SkiRental,
17
+ esf: Esf,
16
18
  };
17
19
  export default Editor;
@@ -11,7 +11,8 @@ type Props = {
11
11
  resorts?: Resort[];
12
12
  currentPreset?: Record<string, any> | null;
13
13
  onChange?: (preset: Record<string, any> | null) => void;
14
+ showUrl?: boolean;
14
15
  };
15
- export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, }: Props): import("react/jsx-runtime").JSX.Element;
16
+ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, showUrl, }: Props): import("react/jsx-runtime").JSX.Element;
16
17
  export {};
17
18
  //# sourceMappingURL=msem-preset-editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAmBA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,GACT,EAAE,KAAK,2CAiNP"}
1
+ {"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAmBA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,GACR,EAAE,KAAK,2CA8MP"}
@@ -15,7 +15,7 @@ import Editors from "./editors";
15
15
  import * as UrlParams from "./services/url-params";
16
16
  import * as Preset from "./services/preset";
17
17
  import css from "./msem-preset-editor.module.css";
18
- export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, }) {
18
+ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, showUrl, }) {
19
19
  const defaultResort = Number(currentPreset ? currentPreset.options.resort : resort);
20
20
  const [selectedResort, setSelectedResort] = React.useState(defaultResort);
21
21
  const [facet, setFacet] = React.useState(currentPreset?.options?.facet?.toString() || "");
@@ -79,7 +79,6 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
79
79
  const url = field.value;
80
80
  field.select();
81
81
  navigator.clipboard.writeText(url);
82
- window.ubloSnackbar("URL copiée dans le presse papier", "success");
83
82
  };
84
83
  React.useEffect(() => {
85
84
  if (stay?.from && stay?.to) {
@@ -105,7 +104,7 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
105
104
  if (!selectedResort)
106
105
  return null;
107
106
  const CurrentEditor = preset?.widget && Editors[preset.widget];
108
- const showPresetUrl = Boolean(preset?.widget && presetUrl !== "");
107
+ const showPresetUrl = showUrl && Boolean(preset?.widget && presetUrl !== "");
109
108
  const footerClasses = classNames(css.footer, {
110
109
  [css.footerButtonOnly]: !showPresetUrl,
111
110
  });
@@ -13,4 +13,5 @@ export declare function getVakarioCategories(msemServicesUrl: string, channel: s
13
13
  export declare function getVakarioLevels(msemServicesUrl: string, channel: string, merchant: string, kind: string, age: string, category: string, language?: string): Promise<any>;
14
14
  export declare function getOtherProductsCategories(msemServicesUrl: string, facet: string, merchant: string, lang?: string): Promise<any>;
15
15
  export declare function getRenterList(msemServicesUrl: string, channel: string, resort: number | string, date?: string): Promise<any>;
16
+ export declare function getEsfKinds(msemServicesUrl: string, channel: string, resort: string, stayFrom: string, stayTo: string, season: string, lang?: string): Promise<any>;
16
17
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/services/api.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CACvB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,gBAId;AAWD,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,gBAMb;AAED,wBAAsB,UAAU,CAC9B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,gBAIxB;AAED,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,gBAIjB;AAED,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,gBAIhB;AAGD,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,gBAIf;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,SAAO,EACf,OAAO,UAAQ,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,0BAA0B,CAC9C,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAO,gBAIZ;AAED,wBAAsB,aAAa,CACjC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,gBAId"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/services/api.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CACvB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,gBAId;AAWD,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,gBAMb;AAED,wBAAsB,UAAU,CAC9B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,gBAIxB;AAED,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,gBAIjB;AAED,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,gBAIhB;AAGD,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,gBAIf;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,SAAO,EACf,OAAO,UAAQ,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,0BAA0B,CAC9C,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAO,gBAIZ;AAED,wBAAsB,aAAa,CACjC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,gBAId;AAED,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,SAAO,gBAYZ"}
@@ -70,3 +70,15 @@ export async function getRenterList(msemServicesUrl, channel, resort, date) {
70
70
  const endpoint = `${msemServicesUrl}/api/ski-rental/${resort}/renters`;
71
71
  return Fetcher.post(endpoint, { channel, date });
72
72
  }
73
+ export async function getEsfKinds(msemServicesUrl, channel, resort, stayFrom, stayTo, season, lang = "fr") {
74
+ const endpoint = `${msemServicesUrl}/api/esf/kinds`;
75
+ return Fetcher.post(endpoint, {
76
+ channel,
77
+ resort,
78
+ lang,
79
+ stayFrom,
80
+ stayTo,
81
+ season,
82
+ period: 6,
83
+ });
84
+ }
@@ -9,8 +9,9 @@ type Props = {
9
9
  msemServicesUrl: string;
10
10
  target: HTMLElement | null;
11
11
  resorts?: Resort[];
12
+ showUrl?: boolean;
12
13
  close: () => void;
13
14
  };
14
- export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, }: Props): import("react/jsx-runtime").JSX.Element;
15
+ export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, showUrl, }: Props): import("react/jsx-runtime").JSX.Element;
15
16
  export {};
16
17
  //# sourceMappingURL=msem-preset-linker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAOA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,MAAM,EACN,OAAO,EACP,KAAK,GACN,EAAE,KAAK,2CA8DP"}
1
+ {"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAOA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,GACR,EAAE,KAAK,2CA+DP"}
@@ -6,7 +6,7 @@ import MseMPresetEditor from "../msem-preset-editor";
6
6
  import css from "./msem-preset-linker.module.css";
7
7
  import MseMLogo from "./msem-logo";
8
8
  const PRESET_ATTRIBUTE = "data-msem-preset";
9
- export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, }) {
9
+ export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, showUrl, }) {
10
10
  const link = target?.querySelector(":scope > a");
11
11
  const currentPreset = target?.getAttribute("data-msem-preset") || undefined;
12
12
  const urlOverride = link?.getAttribute("href") || undefined;
@@ -29,5 +29,5 @@ export default function MseMPresetLinker({ lang, channel, resort, msemServicesUr
29
29
  }
30
30
  closeEditor();
31
31
  }, [preset]);
32
- return (_jsxs(Dialog, { className: css.dialog, isOpened: true, close: closeEditor, closeButtonVariant: "transparent", closeOnBackdropClick: false, showAsModal: false, children: [_jsxs("div", { className: css.title, children: [_jsx(MseMLogo, { className: css.logo }), " \u00C9diteur de presets"] }), _jsx("div", { className: css.content, children: _jsx(MseMPresetEditor, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, urlOverride: urlOverride, resorts: resorts, currentPreset: preset, onChange: setPreset }) }), _jsxs("div", { className: css.buttons, children: [_jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updatePreset, children: "Valider" })] })] }));
32
+ return (_jsxs(Dialog, { className: css.dialog, isOpened: true, close: closeEditor, closeButtonVariant: "transparent", closeOnBackdropClick: false, showAsModal: false, children: [_jsxs("div", { className: css.title, children: [_jsx(MseMLogo, { className: css.logo }), " \u00C9diteur de presets"] }), _jsx("div", { className: css.content, children: _jsx(MseMPresetEditor, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, urlOverride: urlOverride, resorts: resorts, currentPreset: preset, onChange: setPreset, showUrl: showUrl }) }), _jsxs("div", { className: css.buttons, children: [_jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updatePreset, children: "Valider" })] })] }));
33
33
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ublo-lib",
3
- "version": "1.38.16",
3
+ "version": "1.38.17",
4
4
  "peerDependencies": {
5
5
  "dt-design-system": "^3.10.8",
6
6
  "leaflet": "^1.9.1",