ublo-lib 1.38.13 → 1.38.14

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 +29 -17
  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,2CAyTP"}
@@ -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
  }
@@ -109,6 +117,13 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
109
117
  setRooms(rooms);
110
118
  }
111
119
  }
120
+ setData((data) => ({
121
+ ...data,
122
+ standings: DEFAULT_DATA.standings,
123
+ options: DEFAULT_DATA.options,
124
+ districts: DEFAULT_DATA.districts,
125
+ type: DEFAULT_DATA.type,
126
+ }));
112
127
  }
113
128
  catch (e) {
114
129
  console.error(e);
@@ -116,12 +131,6 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
116
131
  finally {
117
132
  setLoading(false);
118
133
  }
119
- setData((data) => ({
120
- ...data,
121
- options: DEFAULT_DATA.options,
122
- districts: DEFAULT_DATA.districts,
123
- type: DEFAULT_DATA.type,
124
- }));
125
134
  };
126
135
  getRoomTypes();
127
136
  }, [data.lodging, facet, lodgings, msemServicesUrl, resort]);
@@ -130,9 +139,11 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
130
139
  const { lodging } = data;
131
140
  const adults = parseInt(data.adults);
132
141
  const children = parseInt(data.children);
133
- const accomodation = lodging || undefined;
142
+ const accomodation = lodging?.length === 1 ? lodging[0] : undefined;
134
143
  const agesChildren = [...new Array(children)].map(() => 12);
135
144
  const paxPlan = adults ? { adults, children, agesChildren } : undefined;
145
+ const merchants = data.merchants?.length ? data.merchants : undefined;
146
+ const standings = data.standings?.length ? data.standings : undefined;
136
147
  const options = data.options?.length ? data.options : undefined;
137
148
  const districts = data.districts?.length ? data.districts : undefined;
138
149
  const type = data.type || undefined;
@@ -140,7 +151,9 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
140
151
  const nbRooms = data.nbRooms[0] > 0 ? data.nbRooms : undefined;
141
152
  const previewDetails = { paxPlan, roomType };
142
153
  const presets = {
154
+ merchants,
143
155
  accomodation,
156
+ standings,
144
157
  options,
145
158
  districts,
146
159
  nbRooms,
@@ -156,25 +169,24 @@ export default function Lodgings({ msemServicesUrl, preset, setPreset, setShowPr
156
169
  return newPreset;
157
170
  });
158
171
  }, [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 }))] }))] }));
172
+ 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
173
  }
165
174
  function getDefaultData(preset) {
166
175
  if (!preset?.presets && !preset?.options)
167
176
  return DEFAULT_DATA;
168
- const { accomodation, nbRooms, options, districts, type } = preset?.presets || {};
177
+ const { merchants, accomodation, nbRooms, standings, options, districts, type, filter, } = preset?.presets || {};
169
178
  const { paxPlan, roomType } = preset?.options?.previewDetails || {};
170
179
  return {
171
180
  adults: paxPlan?.adults || DEFAULT_DATA.adults,
172
181
  children: paxPlan?.children || DEFAULT_DATA.children,
173
182
  lodging: accomodation || DEFAULT_DATA.lodging,
183
+ merchants: merchants || DEFAULT_DATA.merchants,
174
184
  nbRooms: nbRooms || DEFAULT_DATA.nbRooms,
175
185
  roomType: roomType || DEFAULT_DATA.roomType,
186
+ standings: standings || DEFAULT_DATA.standings,
176
187
  options: options || DEFAULT_DATA.options,
177
188
  districts: districts || DEFAULT_DATA.districts,
178
189
  type: type || DEFAULT_DATA.type,
190
+ filter: filter || DEFAULT_DATA.filter,
179
191
  };
180
192
  }
@@ -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.14",
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",