ublo-lib 1.38.13 → 1.38.15

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 (25) 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 +3 -1
  3. package/es/future/components/msem-preset-editor/editors/index.d.ts +2 -0
  4. package/es/future/components/msem-preset-editor/editors/index.d.ts.map +1 -1
  5. package/es/future/components/msem-preset-editor/editors/index.js +2 -0
  6. package/es/future/components/msem-preset-editor/editors/lodgings.d.ts.map +1 -1
  7. package/es/future/components/msem-preset-editor/editors/lodgings.js +49 -35
  8. package/es/future/components/msem-preset-editor/editors/lodgings.module.css +4 -0
  9. package/es/future/components/msem-preset-editor/editors/ski-passes.d.ts.map +1 -1
  10. package/es/future/components/msem-preset-editor/editors/ski-passes.js +12 -5
  11. package/es/future/components/msem-preset-editor/editors/ski-rental.d.ts +17 -0
  12. package/es/future/components/msem-preset-editor/editors/ski-rental.d.ts.map +1 -0
  13. package/es/future/components/msem-preset-editor/editors/ski-rental.js +91 -0
  14. package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts.map +1 -1
  15. package/es/future/components/msem-preset-editor/msem-preset-editor.js +3 -3
  16. package/es/future/components/msem-preset-editor/msem-preset-editor.module.css +0 -4
  17. package/es/future/components/msem-preset-editor/services/api.d.ts +1 -0
  18. package/es/future/components/msem-preset-editor/services/api.d.ts.map +1 -1
  19. package/es/future/components/msem-preset-editor/services/api.js +4 -0
  20. package/es/future/components/msem-preset-editor/services/offers.d.ts +12 -1
  21. package/es/future/components/msem-preset-editor/services/offers.d.ts.map +1 -1
  22. package/es/future/components/msem-preset-linker/msem-preset-linker.module.css +0 -2
  23. package/es/future/hooks/use-msem-presets.d.ts +1 -1
  24. package/es/future/hooks/use-msem-presets.js +1 -1
  25. package/package.json +3 -3
@@ -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;AAK/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;AAUF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,EAAE,KAAK,2CAkJP"}
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;AAK/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,2CAoJP"}
@@ -11,6 +11,7 @@ const ALLOW_PRESETS_ON_WIDGETS = [
11
11
  "liftJb",
12
12
  "elloha",
13
13
  "vakario",
14
+ "skiRental",
14
15
  ];
15
16
  export default function WidgetListItem({ item, preset, updatePreset, removePreset, setShowPresetDialog, }) {
16
17
  const [opened, setOpened] = React.useState(false);
@@ -39,7 +40,8 @@ export default function WidgetListItem({ item, preset, updatePreset, removePrese
39
40
  "otherProducts",
40
41
  ...ALLOW_PRESETS_ON_WIDGETS,
41
42
  ];
42
- const allowAdvancedPresets = allowedWidgets.includes(sub.widget);
43
+ const isSkiRental = widget === "skiRental";
44
+ const allowAdvancedPresets = !isSkiRental && allowedWidgets.includes(sub.widget);
43
45
  const showEditButton = isSelected && allowAdvancedPresets;
44
46
  const showButtons = showEditButton || isSelected;
45
47
  const classes = classNames(css.sub, {
@@ -4,6 +4,7 @@ import Lodgings from "./lodgings";
4
4
  import Elloha from "./elloha";
5
5
  import Vakario from "./vakario";
6
6
  import StandardProducts from "./standard-products";
7
+ import SkiRental from "./ski-rental";
7
8
  declare const Editor: {
8
9
  lodging: typeof Lodgings;
9
10
  skiPass: typeof SkiPasses;
@@ -11,6 +12,7 @@ declare const Editor: {
11
12
  elloha: typeof Elloha;
12
13
  vakario: typeof Vakario;
13
14
  otherProducts: typeof StandardProducts;
15
+ skiRental: typeof SkiRental;
14
16
  };
15
17
  export default Editor;
16
18
  //# 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;AAEnD,QAAA,MAAM,MAAM;;;;;;;CAOX,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;AAErC,QAAA,MAAM,MAAM;;;;;;;;CAQX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -4,6 +4,7 @@ import Lodgings from "./lodgings";
4
4
  import Elloha from "./elloha";
5
5
  import Vakario from "./vakario";
6
6
  import StandardProducts from "./standard-products";
7
+ import SkiRental from "./ski-rental";
7
8
  const Editor = {
8
9
  lodging: Lodgings,
9
10
  skiPass: SkiPasses,
@@ -11,5 +12,6 @@ const Editor = {
11
12
  elloha: Elloha,
12
13
  vakario: Vakario,
13
14
  otherProducts: StandardProducts,
15
+ skiRental: SkiRental,
14
16
  };
15
17
  export default Editor;
@@ -1 +1 @@
1
- {"version":3,"file":"lodgings.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/lodgings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/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,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAqCF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,eAAe,EACf,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,EAAE,KAAK,2CA8RP"}
1
+ {"version":3,"file":"lodgings.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/lodgings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/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,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAwCF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,eAAe,EACf,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,EAAE,KAAK,2CA2TP"}
@@ -3,6 +3,7 @@ import * as React from "react";
3
3
  import NumberPicker from "dt-design-system/es/number-picker";
4
4
  import Select from "dt-design-system/es/select";
5
5
  import MultipleSelect from "dt-design-system/es/multiple-select";
6
+ import Input from "dt-design-system/es/input";
6
7
  import Form from "../components/form";
7
8
  import * as API from "../services/api";
8
9
  import css from "./lodgings.module.css";
@@ -10,28 +11,29 @@ const DEFAULT_DATA = {
10
11
  adults: 0,
11
12
  children: 0,
12
13
  lodging: "",
14
+ merchants: [],
13
15
  standings: [],
14
16
  options: [],
15
17
  districts: [],
16
18
  nbRooms: [],
17
19
  roomType: "",
18
20
  type: "",
21
+ filter: "",
19
22
  };
20
23
  export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPresetDialog, testPreset, onChange, urlOverride, }) {
21
24
  const savedPreset = React.useRef(preset);
22
25
  const [ready, setReady] = React.useState(false);
23
- const [lodgings, setLogings] = React.useState([]);
26
+ const [lodgings, setLodgings] = React.useState([]);
24
27
  const [filters, setFilters] = React.useState({
25
28
  standings: [],
26
29
  options: [],
27
30
  districts: [],
28
31
  });
29
32
  const [rooms, setRooms] = React.useState([]);
30
- const [loading, setLoading] = React.useState(false);
33
+ const [loading, setLoading] = React.useState(true);
31
34
  const [data, setData] = React.useState(getDefaultData(preset));
32
35
  const kinds = [...new Set(lodgings.map(({ kind }) => kind))];
33
36
  const { channel, resort, facet } = preset?.options || {};
34
- const showLodgingPageCheckbox = !!data.lodging;
35
37
  const showFilters = !data.lodging;
36
38
  const updateField = (field) => (value) => {
37
39
  setData({ ...data, [field]: value });
@@ -46,10 +48,16 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
46
48
  value: lodging.slug,
47
49
  label: lodging.name,
48
50
  }));
51
+ const formattedMerchants = lodgings.map((lodging) => ({
52
+ value: lodging.merchant,
53
+ label: lodging.name,
54
+ }));
49
55
  const formattedRooms = rooms.map((room) => ({
50
56
  label: room.title,
51
57
  value: room.type,
52
58
  }));
59
+ const selectedMerchants = data.merchants?.map((merchant) => formattedMerchants.find((d) => d.value === merchant));
60
+ const selectedStandings = data.standings?.map((standing) => filters?.standings?.find((d) => d.value === standing));
53
61
  const selectedOptions = data.options?.map((option) => filters?.options?.find((d) => d.value === option));
54
62
  const selectedDistricts = data.districts?.map((district) => filters?.districts?.find((d) => d.value === district));
55
63
  const cancelPreset = () => {
@@ -84,7 +92,7 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
84
92
  return { ...acc, [key]: entries };
85
93
  }
86
94
  }, {});
87
- setLogings(filters.accomodations);
95
+ setLodgings(filters.accomodations);
88
96
  setFilters(formattedFilters);
89
97
  setReady(true);
90
98
  }
@@ -99,40 +107,45 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
99
107
  }
100
108
  }, [channel, facet, msemServicesUrl, ready, resort]);
101
109
  React.useEffect(() => {
102
- const getRoomTypes = async () => {
103
- try {
104
- setLoading(true);
105
- const id = lodgings.find((lodging) => lodging.slug === data.lodging)?.id;
106
- if (id) {
107
- const { rooms } = await API.getLodgingRooms(msemServicesUrl, id, resort, facet);
108
- if (rooms) {
109
- setRooms(rooms);
110
+ if (ready && data.lodging) {
111
+ const getRoomTypes = async () => {
112
+ try {
113
+ setLoading(true);
114
+ const id = lodgings.find((lodging) => lodging.slug === data.lodging)?.id;
115
+ if (id) {
116
+ const { rooms } = await API.getLodgingRooms(msemServicesUrl, id, resort, facet);
117
+ if (rooms) {
118
+ setRooms(rooms);
119
+ }
110
120
  }
121
+ setData((data) => ({
122
+ ...data,
123
+ standings: DEFAULT_DATA.standings,
124
+ options: DEFAULT_DATA.options,
125
+ districts: DEFAULT_DATA.districts,
126
+ type: DEFAULT_DATA.type,
127
+ }));
111
128
  }
112
- }
113
- catch (e) {
114
- console.error(e);
115
- }
116
- finally {
117
- setLoading(false);
118
- }
119
- setData((data) => ({
120
- ...data,
121
- options: DEFAULT_DATA.options,
122
- districts: DEFAULT_DATA.districts,
123
- type: DEFAULT_DATA.type,
124
- }));
125
- };
126
- getRoomTypes();
127
- }, [data.lodging, facet, lodgings, msemServicesUrl, resort]);
129
+ catch (e) {
130
+ console.error(e);
131
+ }
132
+ finally {
133
+ setLoading(false);
134
+ }
135
+ };
136
+ getRoomTypes();
137
+ }
138
+ }, [data.lodging, facet, lodgings, msemServicesUrl, ready, resort]);
128
139
  React.useEffect(() => {
129
140
  setPreset((current = {}) => {
130
141
  const { lodging } = data;
131
142
  const adults = parseInt(data.adults);
132
143
  const children = parseInt(data.children);
133
- const accomodation = lodging || undefined;
144
+ const accomodation = lodging?.length === 1 ? lodging[0] : undefined;
134
145
  const agesChildren = [...new Array(children)].map(() => 12);
135
146
  const paxPlan = adults ? { adults, children, agesChildren } : undefined;
147
+ const merchants = data.merchants?.length ? data.merchants : undefined;
148
+ const standings = data.standings?.length ? data.standings : undefined;
136
149
  const options = data.options?.length ? data.options : undefined;
137
150
  const districts = data.districts?.length ? data.districts : undefined;
138
151
  const type = data.type || undefined;
@@ -140,7 +153,9 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
140
153
  const nbRooms = data.nbRooms[0] > 0 ? data.nbRooms : undefined;
141
154
  const previewDetails = { paxPlan, roomType };
142
155
  const presets = {
156
+ merchants,
143
157
  accomodation,
158
+ standings,
144
159
  options,
145
160
  districts,
146
161
  nbRooms,
@@ -156,25 +171,24 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
156
171
  return newPreset;
157
172
  });
158
173
  }, [data, onChange, urlOverride, setPreset]);
159
- return (_jsxs(Form, { title: "Presets h\u00E9bergements", width: 580, preset: preset, buttonsActions: {
160
- testPreset,
161
- cancelPreset,
162
- confirmPreset,
163
- }, children: [_jsx("div", { className: css.label, children: "Nombre de personnes" }), _jsxs("div", { className: css.row, children: [_jsx(NumberPicker, { className: css.peopleInput, label: "Adultes", min: 0, max: 20, value: data.adults, onChange: updateField("adults"), withInput: true }), _jsx(NumberPicker, { className: css.peopleInput, label: "Enfants", min: 0, max: 9, value: data.children, onChange: updateField("children"), withInput: true })] }), _jsx("div", { className: css.label, children: "H\u00E9bergement" }), _jsx(Select, { placeholder: "S\u00E9lectionnez un h\u00E9bergement", options: formattedLodgings, value: data.lodging, onValueChange: updateField("lodging"), loading: loading }), !showFilters && (_jsxs(_Fragment, { children: [_jsx("div", { className: css.label, children: "Chambres" }), (formattedRooms?.length > 0 || loading) && (_jsx(Select, { label: "Type de bien", placeholder: "S\u00E9lectionnez un type de bien", value: data.roomType, options: formattedRooms, loading: loading, onValueChange: updateField("roomType") })), _jsx(NumberPicker, { label: "Nombre de chambres", min: 0, max: 20, value: data.nbRooms?.[0] || 0, onChange: updateRoomNb, withInput: true })] })), showFilters && (_jsxs(_Fragment, { children: [_jsx("div", { className: css.label, children: "Filtres" }), kinds.length > 1 && (_jsx(Select, { label: "Type", placeholder: "S\u00E9lectionnez un type", options: kinds, value: data.type, onValueChange: updateField("type"), loading: loading })), filters?.options && filters?.options?.length > 1 && (_jsx(MultipleSelect, { placeholder: "Selectionnez une ou plusieurs options", label: "Options", options: filters.options, values: selectedOptions, onChange: updateFilter("options"), loading: loading })), filters?.districts && filters?.districts?.length > 1 && (_jsx(MultipleSelect, { placeholder: "Selectionnez une ou plusieurs options", label: "Quartiers", options: filters.districts, values: selectedDistricts, onChange: updateFilter("districts"), loading: loading }))] }))] }));
174
+ return (_jsxs(Form, { title: "Presets h\u00E9bergements", width: 580, preset: preset, buttonsActions: { testPreset, cancelPreset, confirmPreset }, children: [_jsx("div", { className: css.label, children: "Nombre de personnes" }), _jsxs("div", { className: css.row, children: [_jsx(NumberPicker, { className: css.peopleInput, label: "Adultes", min: 0, max: 20, value: data.adults, onChange: updateField("adults"), withInput: true }), _jsx(NumberPicker, { className: css.peopleInput, label: "Enfants", min: 0, max: 9, value: data.children, onChange: updateField("children"), withInput: true })] }), _jsx("div", { className: css.label, children: "H\u00E9bergement" }), _jsx(Select, { placeholder: "S\u00E9lectionnez un h\u00E9bergement", options: formattedLodgings, value: data.lodging, onValueChange: updateField("lodging"), loading: loading }), !showFilters && (_jsxs(_Fragment, { children: [_jsx("div", { className: css.label, children: "Chambres" }), (formattedRooms?.length > 0 || loading) && (_jsx(Select, { label: "Type de bien", placeholder: "S\u00E9lectionnez un type de bien", value: data.roomType, options: formattedRooms, onValueChange: updateField("roomType"), loading: loading })), _jsx(NumberPicker, { label: "Nombre de chambres", min: 0, max: 20, value: data.nbRooms?.[0] || 0, onChange: updateRoomNb, withInput: true })] })), showFilters && (_jsxs(_Fragment, { children: [_jsx("div", { className: css.label, children: "Filtres" }), lodgings && (_jsx(MultipleSelect, { label: "Liste de marchands", options: formattedMerchants, values: selectedMerchants, onChange: updateFilter("merchants"), loading: loading, withSearch: true })), (loading || kinds.length > 1) && (_jsx(Select, { label: "Type", placeholder: "S\u00E9lectionnez un type", options: kinds, value: data.type, onValueChange: updateField("type"), loading: loading })), (loading || filters.standings.length >= 1) && (_jsx(MultipleSelect, { placeholder: "Selectionnez une ou plusieurs options", label: "Standing", options: filters.standings, values: selectedStandings, onChange: updateFilter("standings"), loading: loading, withSearch: true })), (loading || filters.options.length >= 1) && (_jsx(MultipleSelect, { placeholder: "Selectionnez une ou plusieurs options", label: "Options", options: filters.options, values: selectedOptions, onChange: updateFilter("options"), loading: loading, withSearch: true })), (loading || filters.districts.length >= 1) && (_jsx(MultipleSelect, { placeholder: "Selectionnez une ou plusieurs options", label: "Quartiers", options: filters.districts, values: selectedDistricts, onChange: updateFilter("districts"), loading: loading, withSearch: true }))] })), _jsx("div", { className: css.label, children: "Avanc\u00E9" }), _jsx(Input, { className: css.input, label: "Filtre", value: data.filter, placeholder: "('10', '22') in options", onValueChange: updateField("filter") })] }));
164
175
  }
165
176
  function getDefaultData(preset) {
166
177
  if (!preset?.presets && !preset?.options)
167
178
  return DEFAULT_DATA;
168
- const { accomodation, nbRooms, options, districts, type } = preset?.presets || {};
179
+ const { merchants, accomodation, nbRooms, standings, options, districts, type, filter, } = preset?.presets || {};
169
180
  const { paxPlan, roomType } = preset?.options?.previewDetails || {};
170
181
  return {
171
182
  adults: paxPlan?.adults || DEFAULT_DATA.adults,
172
183
  children: paxPlan?.children || DEFAULT_DATA.children,
173
184
  lodging: accomodation || DEFAULT_DATA.lodging,
185
+ merchants: merchants || DEFAULT_DATA.merchants,
174
186
  nbRooms: nbRooms || DEFAULT_DATA.nbRooms,
175
187
  roomType: roomType || DEFAULT_DATA.roomType,
188
+ standings: standings || DEFAULT_DATA.standings,
176
189
  options: options || DEFAULT_DATA.options,
177
190
  districts: districts || DEFAULT_DATA.districts,
178
191
  type: type || DEFAULT_DATA.type,
192
+ filter: filter || DEFAULT_DATA.filter,
179
193
  };
180
194
  }
@@ -19,3 +19,7 @@
19
19
  user-select: none;
20
20
  font-weight: 700;
21
21
  }
22
+
23
+ .input input {
24
+ font-family: monospace;
25
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ski-passes.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/ski-passes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/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;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA4DF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,eAAe,EACf,MAAM,EACN,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,EAAE,KAAK,2CA4RP"}
1
+ {"version":3,"file":"ski-passes.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/ski-passes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/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;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA4DF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,eAAe,EACf,MAAM,EACN,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,EAAE,KAAK,2CAqSP"}
@@ -116,8 +116,8 @@ export default function SkiPasses({ msemServicesUrl, preset, setPreset, stay, se
116
116
  updateField("domains")(value);
117
117
  };
118
118
  const updateSkiers = (code) => (value) => {
119
- const filteredSkiers = data.skiers.filter((skier) => skier !== code);
120
- const newSkiers = !value ? [] : new Array(parseInt(value)).fill(code);
119
+ const filteredSkiers = data.skiers.filter((skier) => Number(skier) !== Number(code));
120
+ const newSkiers = !value ? [] : new Array(Number(value)).fill(code);
121
121
  setData({ ...data, skiers: [...filteredSkiers, ...newSkiers] });
122
122
  };
123
123
  React.useEffect(() => {
@@ -142,7 +142,13 @@ export default function SkiPasses({ msemServicesUrl, preset, setPreset, stay, se
142
142
  const filteredFilters = Object.keys(filters).reduce((acc, key) => {
143
143
  const filter = filters[key];
144
144
  return ALLOWED_FILTERS.includes(key)
145
- ? { ...acc, [key]: filter.map((f) => ({ ...f, value: f.code })) }
145
+ ? {
146
+ ...acc,
147
+ [key]: filter.map((f) => ({
148
+ ...f,
149
+ value: f.code,
150
+ })),
151
+ }
146
152
  : acc;
147
153
  }, {});
148
154
  setLoading(false);
@@ -179,8 +185,9 @@ export default function SkiPasses({ msemServicesUrl, preset, setPreset, stay, se
179
185
  }, children: [_jsx(Select, { label: "Catalogue", value: catalog, options: catalogs ? ["", ...catalogs] : [], onValueChange: setCatalog, loading: !isReady }), loading && _jsx(Loader, { className: css.loader }), hasCatalog && (_jsxs(_Fragment, { children: [_jsx(Input, { type: "date", label: "1er jour", value: data.firstSkiDate, onValueChange: updateFirstSkiDate, defaultMonth: firstSkiDateDefaultMonth, min: stay?.from || undefined, max: stay?.to || undefined }), filters?.skiers && filters?.skiers?.length > 1 && (_jsxs("div", { className: css.skiers, children: [_jsx("div", { className: css.label, children: "Skieurs" }), filters.skiers.map((skier) => {
180
186
  const { code, label, ageMin, ageMax } = skier;
181
187
  const title = `${label} (de ${ageMin} à ${ageMax} ans)`;
182
- const value = data.skiers?.filter((skier) => skier === code)?.length || 0;
183
- return (_jsx(NumberPicker, { label: title, min: 0, max: 20, value: value, disabled: false, onChange: updateSkiers(code), withInput: true }, code));
188
+ const value = data.skiers?.filter((skier) => skier === code)
189
+ ?.length || 0;
190
+ return (_jsx(NumberPicker, { label: title, min: 0, max: 20, value: value, disabled: false, onChange: updateSkiers(Number(code)), withInput: true }, code));
184
191
  })] })), _jsx("div", { className: css.label, children: "Filtres" }), (activities?.length > 0 || loading) && (_jsx(MutlipleSelect, { 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(MutlipleSelect, { label: "Domaines", placeholder: "Selectionnez une ou plusieurs options", options: filteredDomains || [], values: selectedDomains, onChange: updateDomains, loading: loading })), ((filteredDurations && filteredDurations?.length > 0) ||
185
192
  loading) && (_jsx(MutlipleSelect, { label: "Dur\u00E9es", placeholder: "Selectionnez une ou plusieurs options", options: filteredDurations || [], values: selectedDurations, onChange: updateField("durations"), disabled: data.domains?.length === 0, loading: loading }))] })] }))] }));
186
193
  }
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ type Props = {
3
+ msemServicesUrl: string;
4
+ stay: {
5
+ from: string;
6
+ to: string;
7
+ };
8
+ facet: string;
9
+ preset: Record<string, any> | null;
10
+ setPreset: React.Dispatch<React.SetStateAction<Record<string, any> | null>>;
11
+ setShowPresetDialog: React.Dispatch<React.SetStateAction<boolean>>;
12
+ onChange?: (preset: Record<string, any> | null) => void;
13
+ testPreset: () => void;
14
+ };
15
+ export default function SkiRental({ msemServicesUrl, preset, setPreset, setShowPresetDialog, onChange, testPreset, }: Props): import("react/jsx-runtime").JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=ski-rental.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ski-rental.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/ski-rental.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/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,KAAK,EAAE,MAAM,CAAC;IACd,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;AAcF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,eAAe,EACf,MAAM,EACN,SAAS,EAET,mBAAmB,EACnB,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,2CAyFP"}
@@ -0,0 +1,91 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import MultipleSelect from "dt-design-system/es/multiple-select";
4
+ import Form from "../components/form";
5
+ import * as API from "../services/api";
6
+ const DEFAULT_LISTING_DATA = {
7
+ merchants: [],
8
+ };
9
+ const DEFAULT_DATA = {
10
+ duration: null,
11
+ rentFrom: "",
12
+ activity: "",
13
+ level: "",
14
+ productId: null,
15
+ };
16
+ export default function SkiRental({ msemServicesUrl, preset, setPreset, setShowPresetDialog, onChange, testPreset, }) {
17
+ const savedPreset = React.useRef(preset);
18
+ const { channel, resort, merchant } = preset?.options;
19
+ const mode = merchant === undefined ? "LISTING" : "MERCHANT";
20
+ const [loading, setLoading] = React.useState(false);
21
+ const [merchantList, setMerchantList] = React.useState([]);
22
+ const [merchants, setMerchants] = React.useState(getDefaultData(preset, mode));
23
+ const formattedMerchants = merchantList.map(({ name, code }) => {
24
+ return { label: name, value: code };
25
+ });
26
+ const cancelPreset = () => {
27
+ setPreset(savedPreset.current);
28
+ setShowPresetDialog(false);
29
+ };
30
+ const confirmPreset = () => {
31
+ setShowPresetDialog(false);
32
+ };
33
+ const updateMerchants = (newValue) => {
34
+ setMerchants(newValue.map((v) => v.value));
35
+ };
36
+ React.useEffect(() => {
37
+ const runEffect = async () => {
38
+ try {
39
+ setLoading(true);
40
+ const renters = await API.getRenterList(msemServicesUrl, channel, resort);
41
+ setMerchantList(renters);
42
+ }
43
+ catch (e) {
44
+ console.error(e);
45
+ }
46
+ finally {
47
+ setLoading(false);
48
+ }
49
+ };
50
+ runEffect();
51
+ }, []);
52
+ React.useEffect(() => {
53
+ setPreset((current = {}) => {
54
+ const newPreset = {
55
+ ...current,
56
+ presets: {
57
+ ...(current?.presets || {}),
58
+ merchants,
59
+ },
60
+ };
61
+ onChange?.(newPreset);
62
+ return newPreset;
63
+ });
64
+ }, [onChange, merchants, setPreset]);
65
+ const selectedMerchants = merchants?.map((merchant) => formattedMerchants.find((d) => d.value === merchant));
66
+ return (_jsx(Form, { title: "Presets loueurs de mat\u00E9riel", width: 420, preset: preset, buttonsActions: {
67
+ testPreset,
68
+ cancelPreset,
69
+ confirmPreset: merchants?.length ? confirmPreset : undefined,
70
+ }, children: mode === "LISTING" && merchantList?.length > 0 && (_jsx(MultipleSelect, { label: "Liste de marchands", options: formattedMerchants, values: selectedMerchants, onChange: updateMerchants, disabled: loading, withSearch: true })) }));
71
+ }
72
+ function getDefaultData(preset, mode) {
73
+ if (mode === "LISTING") {
74
+ if (!preset?.presets)
75
+ return DEFAULT_LISTING_DATA.merchants;
76
+ const { merchants } = preset.presets;
77
+ return merchants || DEFAULT_LISTING_DATA.merchants;
78
+ }
79
+ else {
80
+ if (!preset?.presets)
81
+ return DEFAULT_DATA;
82
+ const { duration, rentFrom, activity, level, productId } = preset.presets;
83
+ return {
84
+ duration: duration || DEFAULT_DATA.duration,
85
+ rentFrom: rentFrom || DEFAULT_DATA.rentFrom,
86
+ activity: activity || DEFAULT_DATA.activity,
87
+ level: level || DEFAULT_DATA.level,
88
+ productId: productId || DEFAULT_DATA.productId,
89
+ };
90
+ }
91
+ }
@@ -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,2CAkNP"}
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"}
@@ -60,7 +60,7 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
60
60
  onChange?.(null);
61
61
  setPreset(null);
62
62
  }, [onChange]);
63
- const testPreset = () => {
63
+ const testPreset = React.useCallback(() => {
64
64
  if (!preset)
65
65
  return;
66
66
  const storageKeysToRemove = [
@@ -72,7 +72,7 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
72
72
  });
73
73
  const { widget, options, presets } = preset;
74
74
  MseM.loadWidget(widget, options, presets);
75
- };
75
+ }, [preset]);
76
76
  const copyUrl = (e) => {
77
77
  e.preventDefault();
78
78
  const field = e.target;
@@ -111,5 +111,5 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
111
111
  });
112
112
  return (_jsxs("div", { className: css.editor, children: [resorts && (_jsx(ResortSelector, { resorts: resorts, resort: selectedResort, setResort: setSelectedResort, removePreset: removePreset })), _jsx(FacetSelector, { facet: facet, setFacet: setFacet, setPreset: setPreset }), _jsx(StayPicker, { stay: stay, setStay: setStay, setPreset: setPreset }), showWidgetList && (_jsx(WidgetList, { lang: lang, msemServicesUrl: msemServicesUrl, resort: selectedResort, channel: channel, facet: facet, 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
113
  ? "Aucun preset sélectionné"
114
- : "Preset incompatible au format URL", readOnly: true }))] }), _jsx(Dialog, { className: css.dialog, isOpened: showPresetDialog, close: () => setShowPresetDialog(false), closeButtonVariant: "transparent", showAsModal: false, children: showPresetDialog && (_jsx(CurrentEditor, { msemServicesUrl: msemServicesUrl, stay: stay, facet: facet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, urlOverride: urlOverride })) })] }));
114
+ : "Preset incompatible au format URL", readOnly: true }))] }), _jsx(Dialog, { isOpened: showPresetDialog, close: () => setShowPresetDialog(false), closeButtonVariant: "transparent", showAsModal: false, children: showPresetDialog && (_jsx(CurrentEditor, { msemServicesUrl: msemServicesUrl, stay: stay, facet: facet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, urlOverride: urlOverride })) })] }));
115
115
  }
@@ -1,7 +1,3 @@
1
- .dialog {
2
- --ds-floating-z-index: 1000;
3
- }
4
-
5
1
  .editor {
6
2
  width: 420px;
7
3
  display: flex;
@@ -12,4 +12,5 @@ export declare function getVakarioAges(msemServicesUrl: string, channel: string,
12
12
  export declare function getVakarioCategories(msemServicesUrl: string, channel: string, merchant: string, kind: string, age: string, language?: string): Promise<any>;
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
+ export declare function getRenterList(msemServicesUrl: string, channel: string, resort: number | string, date?: string): Promise<any>;
15
16
  //# 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"}
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"}
@@ -66,3 +66,7 @@ export async function getOtherProductsCategories(msemServicesUrl, facet, merchan
66
66
  const endpoint = `${msemServicesUrl}/api/standard-product/merchant/${merchant}`;
67
67
  return Fetcher.post(endpoint, { facet: Number(facet), lang });
68
68
  }
69
+ export async function getRenterList(msemServicesUrl, channel, resort, date) {
70
+ const endpoint = `${msemServicesUrl}/api/ski-rental/${resort}/renters`;
71
+ return Fetcher.post(endpoint, { channel, date });
72
+ }
@@ -19,5 +19,16 @@ export type OtherOffer = {
19
19
  };
20
20
  widget: string;
21
21
  };
22
- export declare function get(msemServicesUrl: string, lang: "fr" | "en", channel: string, resort: number | string, facet: string): Promise<any[]>;
22
+ export declare function get(msemServicesUrl: string, lang: "fr" | "en", channel: string, resort: number | string, facet: string): Promise<(Offer | {
23
+ items: any;
24
+ kind: string;
25
+ category: string;
26
+ image: string;
27
+ logo: string;
28
+ name: string;
29
+ options: Record<string, any>;
30
+ preset: Record<string, any>;
31
+ presets: Record<string, any>;
32
+ widget: string;
33
+ })[]>;
23
34
  //# sourceMappingURL=offers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"offers.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/services/offers.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,GAAG,CACvB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,kBAqDd"}
1
+ {"version":3,"file":"offers.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/services/offers.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,GAAG,CACvB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM;;;;;;;;;;;MAqDd"}
@@ -78,8 +78,6 @@
78
78
  --ds-shadow-300: var(--ublo-shadow-300, 0 5px 10px rgba(0, 0, 0, 0.24));
79
79
  --ds-shadow-400: var(--ublo-shadow-300, 0 5px 10px rgba(0, 0, 0, 0.24));
80
80
 
81
- --ds-floating-z-index: 1000;
82
-
83
81
  --ds-button-background: var(--ublo-secondary-color, #4177f6);
84
82
  --ds-button-hover-background: var(--ublo-primary-color, #073ff8);
85
83
  --ds-button-padding: 10px;
@@ -1,4 +1,4 @@
1
- export default function useMsemPresets({ defaultOptions }: {
1
+ export default function useMseMPresets({ defaultOptions }: {
2
2
  defaultOptions: any;
3
3
  }): void;
4
4
  //# sourceMappingURL=use-msem-presets.d.ts.map
@@ -3,7 +3,7 @@ import { useUbloContext } from "ublo/with-ublo";
3
3
  import * as UrlParameters from "../utils/url-parameters";
4
4
  import * as MseM from "../components/msem";
5
5
  const PRESET_ATTRIBUTE = "data-msem-preset";
6
- export default function useMsemPresets({ defaultOptions }) {
6
+ export default function useMseMPresets({ defaultOptions }) {
7
7
  const { lang, cmsMode, path } = useUbloContext();
8
8
  const widgetLang = lang === "fr" ? "fr" : "en";
9
9
  const isEnabled = cmsMode !== "editing" && cmsMode !== "info";
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "ublo-lib",
3
- "version": "1.38.13",
3
+ "version": "1.38.15",
4
4
  "peerDependencies": {
5
- "dt-design-system": "^3.9.9",
5
+ "dt-design-system": "^3.10.8",
6
6
  "leaflet": "^1.9.1",
7
7
  "next": "^12.0.0 || ^13.0.0 || ^14.0.0",
8
8
  "react": "^18.2.0",
@@ -36,7 +36,7 @@
36
36
  "@typescript-eslint/parser": "7.6.0",
37
37
  "classnames": "2.5.1",
38
38
  "cpx2": "7.0.1",
39
- "dt-design-system": "3.9.9",
39
+ "dt-design-system": "3.10.8",
40
40
  "eslint": "8.57.0",
41
41
  "eslint-plugin-react": "7.34.1",
42
42
  "eslint-plugin-react-hooks": "4.6.0",