ublo-lib 1.39.12 → 1.39.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 (96) hide show
  1. package/es/esf/components/espace-prive/tunnel.js +1 -1
  2. package/es/future/components/msem-preset-editor/components/stay-picker.js +1 -1
  3. package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts +2 -1
  4. package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts.map +1 -1
  5. package/es/future/components/msem-preset-editor/msem-preset-editor.js +8 -7
  6. package/package.json +1 -1
  7. package/es/common/components/msem-preset-editor/components/facet-selector.d.ts +0 -6
  8. package/es/common/components/msem-preset-editor/components/facet-selector.d.ts.map +0 -1
  9. package/es/common/components/msem-preset-editor/components/facet-selector.js +0 -23
  10. package/es/common/components/msem-preset-editor/components/form.d.ts +0 -8
  11. package/es/common/components/msem-preset-editor/components/form.d.ts.map +0 -1
  12. package/es/common/components/msem-preset-editor/components/form.js +0 -9
  13. package/es/common/components/msem-preset-editor/components/form.module.css +0 -39
  14. package/es/common/components/msem-preset-editor/components/stay-picker.d.ts +0 -14
  15. package/es/common/components/msem-preset-editor/components/stay-picker.d.ts.map +0 -1
  16. package/es/common/components/msem-preset-editor/components/stay-picker.js +0 -35
  17. package/es/common/components/msem-preset-editor/components/stay-picker.module.css +0 -5
  18. package/es/common/components/msem-preset-editor/components/widget-list-item.d.ts +0 -12
  19. package/es/common/components/msem-preset-editor/components/widget-list-item.d.ts.map +0 -1
  20. package/es/common/components/msem-preset-editor/components/widget-list-item.js +0 -55
  21. package/es/common/components/msem-preset-editor/components/widget-list-item.module.css +0 -115
  22. package/es/common/components/msem-preset-editor/components/widget-list.d.ts +0 -17
  23. package/es/common/components/msem-preset-editor/components/widget-list.d.ts.map +0 -1
  24. package/es/common/components/msem-preset-editor/components/widget-list.js +0 -34
  25. package/es/common/components/msem-preset-editor/components/widget-list.module.css +0 -21
  26. package/es/common/components/msem-preset-editor/editor-dialog.d.ts +0 -30
  27. package/es/common/components/msem-preset-editor/editor-dialog.d.ts.map +0 -1
  28. package/es/common/components/msem-preset-editor/editor-dialog.js +0 -27
  29. package/es/common/components/msem-preset-editor/editor-dialog.module.css +0 -31
  30. package/es/common/components/msem-preset-editor/editors/elloha.d.ts +0 -15
  31. package/es/common/components/msem-preset-editor/editors/elloha.d.ts.map +0 -1
  32. package/es/common/components/msem-preset-editor/editors/elloha.js +0 -79
  33. package/es/common/components/msem-preset-editor/editors/elloha.module.css +0 -14
  34. package/es/common/components/msem-preset-editor/editors/index.d.ts +0 -16
  35. package/es/common/components/msem-preset-editor/editors/index.d.ts.map +0 -1
  36. package/es/common/components/msem-preset-editor/editors/index.js +0 -15
  37. package/es/common/components/msem-preset-editor/editors/lodgings.d.ts +0 -17
  38. package/es/common/components/msem-preset-editor/editors/lodgings.d.ts.map +0 -1
  39. package/es/common/components/msem-preset-editor/editors/lodgings.js +0 -192
  40. package/es/common/components/msem-preset-editor/editors/lodgings.module.css +0 -21
  41. package/es/common/components/msem-preset-editor/editors/ski-passes-jb.d.ts +0 -16
  42. package/es/common/components/msem-preset-editor/editors/ski-passes-jb.d.ts.map +0 -1
  43. package/es/common/components/msem-preset-editor/editors/ski-passes-jb.js +0 -85
  44. package/es/common/components/msem-preset-editor/editors/ski-passes.d.ts +0 -16
  45. package/es/common/components/msem-preset-editor/editors/ski-passes.d.ts.map +0 -1
  46. package/es/common/components/msem-preset-editor/editors/ski-passes.js +0 -198
  47. package/es/common/components/msem-preset-editor/editors/ski-passes.module.css +0 -25
  48. package/es/common/components/msem-preset-editor/editors/standard-products.d.ts +0 -16
  49. package/es/common/components/msem-preset-editor/editors/standard-products.d.ts.map +0 -1
  50. package/es/common/components/msem-preset-editor/editors/standard-products.js +0 -65
  51. package/es/common/components/msem-preset-editor/editors/vakario.d.ts +0 -15
  52. package/es/common/components/msem-preset-editor/editors/vakario.d.ts.map +0 -1
  53. package/es/common/components/msem-preset-editor/editors/vakario.js +0 -179
  54. package/es/common/components/msem-preset-editor/index.d.ts +0 -3
  55. package/es/common/components/msem-preset-editor/index.d.ts.map +0 -1
  56. package/es/common/components/msem-preset-editor/index.js +0 -2
  57. package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts +0 -28
  58. package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts.map +0 -1
  59. package/es/common/components/msem-preset-editor/msem-preset-editor.js +0 -161
  60. package/es/common/components/msem-preset-editor/msem-preset-editor.module.css +0 -38
  61. package/es/common/components/msem-preset-editor/services/api.d.ts +0 -15
  62. package/es/common/components/msem-preset-editor/services/api.d.ts.map +0 -1
  63. package/es/common/components/msem-preset-editor/services/api.js +0 -71
  64. package/es/common/components/msem-preset-editor/services/offers.d.ts +0 -23
  65. package/es/common/components/msem-preset-editor/services/offers.d.ts.map +0 -1
  66. package/es/common/components/msem-preset-editor/services/offers.js +0 -50
  67. package/es/common/components/msem-preset-editor/services/preset.d.ts +0 -32
  68. package/es/common/components/msem-preset-editor/services/preset.d.ts.map +0 -1
  69. package/es/common/components/msem-preset-editor/services/preset.js +0 -19
  70. package/es/common/components/msem-preset-editor/services/url-params.d.ts +0 -3
  71. package/es/common/components/msem-preset-editor/services/url-params.d.ts.map +0 -1
  72. package/es/common/components/msem-preset-editor/services/url-params.js +0 -26
  73. package/es/common/components/msem-preset-linker/components/actions.d.ts +0 -11
  74. package/es/common/components/msem-preset-linker/components/actions.d.ts.map +0 -1
  75. package/es/common/components/msem-preset-linker/components/actions.js +0 -45
  76. package/es/common/components/msem-preset-linker/components/actions.module.css +0 -65
  77. package/es/common/components/msem-preset-linker/components/overlays.d.ts +0 -8
  78. package/es/common/components/msem-preset-linker/components/overlays.d.ts.map +0 -1
  79. package/es/common/components/msem-preset-linker/components/overlays.js +0 -52
  80. package/es/common/components/msem-preset-linker/components/overlays.module.css +0 -64
  81. package/es/common/components/msem-preset-linker/components/resort-selector.d.ts +0 -6
  82. package/es/common/components/msem-preset-linker/components/resort-selector.d.ts.map +0 -1
  83. package/es/common/components/msem-preset-linker/components/resort-selector.js +0 -12
  84. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.d.ts +0 -5
  85. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.d.ts.map +0 -1
  86. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.js +0 -37
  87. package/es/common/components/msem-preset-linker/index.d.ts +0 -3
  88. package/es/common/components/msem-preset-linker/index.d.ts.map +0 -1
  89. package/es/common/components/msem-preset-linker/index.js +0 -2
  90. package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts +0 -30
  91. package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts.map +0 -1
  92. package/es/common/components/msem-preset-linker/msem-preset-linker.js +0 -54
  93. package/es/common/components/msem-preset-linker/msem-preset-linker.module.css +0 -27
  94. package/es/common/components/msem-preset-linker/services/url-params.d.ts +0 -2
  95. package/es/common/components/msem-preset-linker/services/url-params.d.ts.map +0 -1
  96. package/es/common/components/msem-preset-linker/services/url-params.js +0 -13
@@ -1,198 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import Select from "dt-design-system/es/select";
4
- import MutlipleSelect from "dt-design-system/es/multiple-select";
5
- import Loader from "dt-design-system/es/loader";
6
- import Input from "dt-design-system/es/input";
7
- import NumberPicker from "dt-design-system/es/number-picker";
8
- import Form from "../components/form";
9
- import * as API from "../services/api";
10
- import css from "./ski-passes.module.css";
11
- const ALLOWED_FILTERS = ["domains", "durations", "skiers"];
12
- const DEFAULT_DATA = {
13
- firstSkiDate: "",
14
- skiers: [],
15
- activities: [],
16
- domains: [],
17
- durations: [],
18
- };
19
- const ACTIVITIES_LABELS = {
20
- piscine: "Piscine",
21
- patinoire: "Patinoire",
22
- vtt: "Télésiège VTT",
23
- ski: "Ski",
24
- "acces-pieton": "Télésiège piéton",
25
- "bouee-neige": "Bouée sur neige",
26
- "ski-activite": "Ski + Activités",
27
- luge: "Luge sur rails",
28
- };
29
- export default function SkiPasses({ preset, setPreset, stay, setShowPresetDialog, onChange, testPreset, baseUrl, }) {
30
- const savedPreset = React.useRef(preset);
31
- const [loading, setLoading] = React.useState(false);
32
- const [catalogs, setCatalogs] = React.useState(null);
33
- const [catalog, setCatalog] = React.useState(preset?.options?.catalog || "");
34
- const [filters, setFilters] = React.useState(null);
35
- const [data, setData] = React.useState(getDefaultData(preset));
36
- const firstSkiDateDefaultMonth = stay?.from
37
- ? new Date(stay.from).getMonth() + 1
38
- : undefined;
39
- const { merchant } = preset?.options;
40
- const isReady = catalogs !== null;
41
- const hasCatalog = !loading && isReady && catalogs?.length > 0 && catalog !== "";
42
- const activities = (filters?.domains
43
- ? [
44
- ...new Set(filters?.domains?.reduce((acc, domain) => {
45
- const { tags } = domain;
46
- if (!tags?.length)
47
- return acc;
48
- const formattedTags = tags
49
- .filter((tag) => {
50
- return (Object.keys(ACTIVITIES_LABELS).includes(tag) &&
51
- !acc.some((item) => item.value === tag));
52
- })
53
- .map((tag) => {
54
- return { value: tag, label: ACTIVITIES_LABELS[tag] || tag };
55
- });
56
- return [...acc, ...formattedTags];
57
- }, [])),
58
- ]
59
- : []);
60
- const selectedActivities = data.activities.map((activity) => {
61
- return activities.find((a) => a.value === activity);
62
- });
63
- const selectedActivitiesCodes = activities.reduce((acc, activity) => {
64
- const { value } = activity;
65
- return data.activities?.includes(value)
66
- ? [...new Set([...acc, value])]
67
- : acc;
68
- }, []);
69
- const filteredDomains = selectedActivitiesCodes?.length > 0 && filters
70
- ? filters.domains?.filter((domain) => {
71
- return domain.tags?.some((tag) => {
72
- return selectedActivitiesCodes.includes(tag);
73
- });
74
- })
75
- : filters?.domains;
76
- const selectedDomainsIds = filters?.domains &&
77
- filters?.domains.reduce((acc, domain) => {
78
- const { code, catalogIds } = domain;
79
- return data.domains.includes(code)
80
- ? [...new Set([...acc, ...catalogIds])]
81
- : acc;
82
- }, []);
83
- const filteredDurations = selectedActivitiesCodes?.length > 0 && filters
84
- ? filters.durations?.filter((duration) => {
85
- return duration.tags?.some((tag) => {
86
- return (selectedActivitiesCodes.includes(tag) ||
87
- duration.catalogIds.some((id) => selectedDomainsIds && selectedDomainsIds.includes(id)));
88
- });
89
- })
90
- : filters?.durations;
91
- const selectedDomains = data.domains.map((domain) => filters?.domains?.find((d) => d.value === domain));
92
- const selectedDurations = data.durations.map((domain) => filters?.durations?.find((d) => d.value === domain));
93
- const cancelPreset = () => {
94
- setPreset(savedPreset.current);
95
- setShowPresetDialog(false);
96
- };
97
- const confirmPreset = () => {
98
- setShowPresetDialog(false);
99
- };
100
- const updateField = (field) => (value) => {
101
- const isArray = Array.isArray(value);
102
- if (isArray) {
103
- setData((data) => ({ ...data, [field]: value.map((v) => v.value) }));
104
- }
105
- else {
106
- setData((data) => ({ ...data, [field]: value }));
107
- }
108
- };
109
- const updateFirstSkiDate = (value) => {
110
- updateField("firstSkiDate")(value);
111
- };
112
- const updateDomains = (value) => {
113
- if (value.length > 0) {
114
- updateField("durations")([]);
115
- }
116
- updateField("domains")(value);
117
- };
118
- const updateSkiers = (code) => (value) => {
119
- const filteredSkiers = data.skiers.filter((skier) => skier !== code);
120
- const newSkiers = !value ? [] : new Array(parseInt(value)).fill(code);
121
- setData({ ...data, skiers: [...filteredSkiers, ...newSkiers] });
122
- };
123
- React.useEffect(() => {
124
- if (!isReady) {
125
- const runEffect = async () => {
126
- try {
127
- const catalogs = await API.getSkiPassesCatalogs(merchant);
128
- setCatalogs(catalogs);
129
- }
130
- catch (e) {
131
- setCatalogs([]);
132
- }
133
- };
134
- runEffect();
135
- }
136
- }, [isReady, merchant]);
137
- React.useEffect(() => {
138
- if (catalog) {
139
- const initFilters = async () => {
140
- setLoading(true);
141
- const filters = await API.getSkiPassesFilters(merchant, catalog);
142
- const filteredFilters = Object.keys(filters).reduce((acc, key) => {
143
- const filter = filters[key];
144
- return ALLOWED_FILTERS.includes(key)
145
- ? { ...acc, [key]: filter.map((f) => ({ ...f, value: f.code })) }
146
- : acc;
147
- }, {});
148
- setLoading(false);
149
- setFilters(filteredFilters);
150
- };
151
- initFilters();
152
- }
153
- else {
154
- setFilters(null);
155
- }
156
- }, [catalog, merchant]);
157
- React.useEffect(() => {
158
- setPreset((current = {}) => {
159
- const newPreset = {
160
- ...current,
161
- options: {
162
- ...(current?.options || {}),
163
- catalog,
164
- },
165
- presets: {
166
- ...(current?.presets || {}),
167
- ...data,
168
- },
169
- url: baseUrl || undefined,
170
- };
171
- onChange?.(newPreset);
172
- return newPreset;
173
- });
174
- }, [catalog, data, baseUrl, setPreset, onChange]);
175
- return (_jsxs(Form, { title: "Presets forfaits", width: 420, preset: preset, buttonsActions: {
176
- testPreset,
177
- cancelPreset,
178
- confirmPreset: hasCatalog ? confirmPreset : undefined,
179
- }, 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
- const { code, label, ageMin, ageMax } = skier;
181
- 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));
184
- })] })), _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
- 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
- }
187
- function getDefaultData(preset) {
188
- if (!preset?.presets)
189
- return DEFAULT_DATA;
190
- const { skiers, firstSkiDate, activities, domains, durations } = preset.presets;
191
- return {
192
- skiers: skiers || DEFAULT_DATA.skiers,
193
- firstSkiDate: firstSkiDate || DEFAULT_DATA.firstSkiDate,
194
- activities: activities || DEFAULT_DATA.activities,
195
- domains: domains || DEFAULT_DATA.domains,
196
- durations: durations || DEFAULT_DATA.durations,
197
- };
198
- }
@@ -1,25 +0,0 @@
1
- .loader {
2
- --ds-loader-spinner-size: 30px;
3
- --ds-loader-thickness: 3px;
4
-
5
- margin-top: 10px;
6
- }
7
-
8
- .row {
9
- display: flex;
10
- gap: 8px;
11
- }
12
-
13
- .label {
14
- font-size: 12px;
15
- user-select: none;
16
- font-weight: 700;
17
- }
18
-
19
- .skiers {
20
- width: 300px;
21
- max-width: 100%;
22
- display: flex;
23
- flex-direction: column;
24
- gap: 8px;
25
- }
@@ -1,16 +0,0 @@
1
- import * as React from "react";
2
- type Props = {
3
- stay: {
4
- from: string;
5
- to: string;
6
- };
7
- facet: string;
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 StandardProducts({ preset, setPreset, facet, setShowPresetDialog, onChange, testPreset, }: Props): import("react/jsx-runtime").JSX.Element;
15
- export {};
16
- //# sourceMappingURL=standard-products.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standard-products.d.ts","sourceRoot":"","sources":["../../../../../src/common/components/msem-preset-editor/editors/standard-products.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,KAAK,GAAG;IACX,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;AAMF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,MAAM,EACN,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,2CA6EP"}
@@ -1,65 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import Select from "dt-design-system/es/select";
4
- import Form from "../components/form";
5
- import * as API from "../services/api";
6
- const DEFAULT_DATA = {
7
- productCategory: "",
8
- };
9
- export default function StandardProducts({ preset, setPreset, facet, setShowPresetDialog, onChange, testPreset, }) {
10
- const savedPreset = React.useRef(preset);
11
- const [loading, setLoading] = React.useState(false);
12
- const [productCategories, setProductCategories] = React.useState([]);
13
- const [selectedProductCategory, setSelectedProductCategory] = React.useState(getDefaultData(preset));
14
- const formattedCategories = productCategories.map(({ name, slug }) => {
15
- return { label: name, value: slug };
16
- });
17
- const { merchant } = preset?.options || {};
18
- const cancelPreset = () => {
19
- setPreset(savedPreset.current);
20
- setShowPresetDialog(false);
21
- };
22
- const confirmPreset = () => {
23
- setShowPresetDialog(false);
24
- };
25
- React.useEffect(() => {
26
- const runEffect = async () => {
27
- try {
28
- setLoading(true);
29
- const { categories } = await API.getOtherProductsCategories(facet, merchant);
30
- setProductCategories(categories);
31
- }
32
- catch (e) {
33
- console.error(e);
34
- }
35
- finally {
36
- setLoading(false);
37
- }
38
- };
39
- runEffect();
40
- }, [facet, merchant]);
41
- React.useEffect(() => {
42
- setPreset((current = {}) => {
43
- const newPreset = {
44
- ...current,
45
- presets: {
46
- ...(current?.presets || {}),
47
- productCategory: selectedProductCategory,
48
- },
49
- };
50
- onChange?.(newPreset);
51
- return newPreset;
52
- });
53
- }, [onChange, selectedProductCategory, setPreset]);
54
- return (_jsx(Form, { title: "Presets activit\u00E9s autres produits", width: 420, preset: preset, buttonsActions: {
55
- testPreset,
56
- cancelPreset,
57
- confirmPreset: selectedProductCategory ? confirmPreset : undefined,
58
- }, children: _jsx(Select, { label: "Cat\u00E9gorie de produit", placeholder: "S\u00E9lectionnez une cat\u00E9gorie", options: formattedCategories, value: selectedProductCategory, onValueChange: setSelectedProductCategory, disabled: loading }) }));
59
- }
60
- function getDefaultData(preset) {
61
- if (!preset?.presets)
62
- return DEFAULT_DATA;
63
- const { productCategory } = preset.presets;
64
- return productCategory || DEFAULT_DATA.productCategory;
65
- }
@@ -1,15 +0,0 @@
1
- import * as React from "react";
2
- type Props = {
3
- stay: {
4
- from: string;
5
- to: string;
6
- };
7
- preset: Record<string, any> | null;
8
- setPreset: React.Dispatch<React.SetStateAction<Record<string, any> | null>>;
9
- setShowPresetDialog: React.Dispatch<React.SetStateAction<boolean>>;
10
- onChange?: (preset: Record<string, any> | null) => void;
11
- testPreset: () => void;
12
- };
13
- export default function Vakario({ preset, setPreset, setShowPresetDialog, onChange, testPreset, }: Props): import("react/jsx-runtime").JSX.Element;
14
- export {};
15
- //# sourceMappingURL=vakario.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vakario.d.ts","sourceRoot":"","sources":["../../../../../src/common/components/msem-preset-editor/editors/vakario.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,KAAK,GAAG;IACX,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;AASF,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,2CAiOP"}
@@ -1,179 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import Form from "../components/form";
4
- import Select from "dt-design-system/es/select";
5
- import * as API from "../services/api";
6
- const DEFAULT_DATA = {
7
- kindCodes: "",
8
- ageCodes: "",
9
- categoryCodes: "",
10
- levelCodes: "",
11
- };
12
- export default function Vakario({ preset, setPreset, setShowPresetDialog, onChange, testPreset, }) {
13
- const savedPreset = React.useRef(preset);
14
- const [loading, setLoading] = React.useState(false);
15
- const [kindCodes, setKindCodes] = React.useState([]);
16
- const [ageCodes, setAgeCodes] = React.useState([]);
17
- const [categoryCodes, setCategoryCodes] = React.useState([]);
18
- const [levelCodes, setLevelCodes] = React.useState([]);
19
- const [data, setData] = React.useState(getDefaultData(preset));
20
- const { channel, merchant } = preset?.options;
21
- const cancelPreset = () => {
22
- setPreset(savedPreset.current);
23
- setShowPresetDialog(false);
24
- };
25
- const confirmPreset = () => {
26
- setShowPresetDialog(false);
27
- };
28
- const updateField = (field) => (value) => {
29
- setData((data) => {
30
- let newData = { ...data, [field]: value };
31
- if (field === "kindCodes" && value === "") {
32
- newData = {
33
- ...newData,
34
- ageCodes: "",
35
- categoryCodes: "",
36
- levelCodes: "",
37
- };
38
- }
39
- if (field === "ageCodes" && value === "") {
40
- newData = { ...newData, categoryCodes: "", levelCodes: "" };
41
- }
42
- if (field === "categoryCodes" && value === "") {
43
- newData = { ...newData, levelCodes: "" };
44
- }
45
- return newData;
46
- });
47
- };
48
- React.useEffect(() => {
49
- const runEffect = async () => {
50
- try {
51
- setLoading(true);
52
- const kinds = await API.getVakarioKinds(channel, merchant);
53
- const formattedKinds = kinds.map(({ code, name }) => ({
54
- label: name,
55
- value: code,
56
- }));
57
- setKindCodes(formattedKinds);
58
- setData((data) => ({
59
- ...data,
60
- ageCodes: "",
61
- categoryCodes: "",
62
- levelCodes: "",
63
- }));
64
- }
65
- catch (e) {
66
- console.error(e);
67
- }
68
- finally {
69
- setLoading(false);
70
- }
71
- };
72
- runEffect();
73
- }, [channel, merchant]);
74
- React.useEffect(() => {
75
- if (data.kindCodes) {
76
- const runEffect = async () => {
77
- try {
78
- setLoading(true);
79
- const ages = await API.getVakarioAges(channel, merchant, data.kindCodes);
80
- const formattedAges = ages.map(({ code, name }) => ({
81
- label: name,
82
- value: code,
83
- }));
84
- setAgeCodes(formattedAges);
85
- setData((data) => ({ ...data, categoryCodes: "", levelCodes: "" }));
86
- }
87
- catch (e) {
88
- console.error(e);
89
- }
90
- finally {
91
- setLoading(false);
92
- }
93
- };
94
- runEffect();
95
- }
96
- }, [merchant, data.kindCodes, channel]);
97
- React.useEffect(() => {
98
- if (data.kindCodes && data.ageCodes) {
99
- const runEffect = async () => {
100
- try {
101
- setLoading(true);
102
- const categories = await API.getVakarioCategories(channel, merchant, data.kindCodes, data.ageCodes);
103
- const formattedCategories = categories.map(({ code, name }) => ({
104
- label: name,
105
- value: code,
106
- }));
107
- setCategoryCodes(formattedCategories);
108
- setData((data) => ({ ...data, levelCodes: "" }));
109
- }
110
- catch (e) {
111
- console.error(e);
112
- }
113
- finally {
114
- setLoading(false);
115
- }
116
- };
117
- runEffect();
118
- }
119
- }, [merchant, data.kindCodes, data.ageCodes, channel]);
120
- React.useEffect(() => {
121
- if (data.kindCodes && data.ageCodes && data.categoryCodes) {
122
- const runEffect = async () => {
123
- try {
124
- setLoading(true);
125
- const levels = await API.getVakarioLevels(channel, merchant, data.kindCodes, data.ageCodes, data.categoryCodes);
126
- const formattedLevels = levels.map(({ code, name }) => ({
127
- label: name,
128
- value: code,
129
- }));
130
- setLevelCodes(formattedLevels);
131
- }
132
- catch (e) {
133
- console.error(e);
134
- }
135
- finally {
136
- setLoading(false);
137
- }
138
- };
139
- runEffect();
140
- }
141
- }, [merchant, data.kindCodes, data.ageCodes, data.categoryCodes, channel]);
142
- React.useEffect(() => {
143
- setPreset((current = {}) => {
144
- const { kindCodes, ageCodes, categoryCodes, levelCodes } = data;
145
- const newPreset = {
146
- ...current,
147
- presets: {
148
- ...(current?.presets || {}),
149
- kindCodes: kindCodes ? [kindCodes] : undefined,
150
- ageCodes: ageCodes ? [ageCodes] : undefined,
151
- categoryCodes: categoryCodes ? [categoryCodes] : undefined,
152
- levelCodes: levelCodes ? [levelCodes] : undefined,
153
- },
154
- };
155
- onChange?.(newPreset);
156
- return newPreset;
157
- });
158
- }, [data, onChange, setPreset]);
159
- return (_jsxs(Form, { title: "Presets activit\u00E9s Vakario", width: 420, preset: preset, buttonsActions: {
160
- testPreset,
161
- cancelPreset,
162
- confirmPreset,
163
- }, children: [_jsx(Select, { label: "Activit\u00E9", placeholder: "S\u00E9lectionnez une activit\u00E9s", options: kindCodes, value: data.kindCodes, onValueChange: updateField("kindCodes"), loading: loading && !data.kindCodes }), _jsx(Select, { label: "\u00C2ge", placeholder: "S\u00E9lectionnez un \u00E2ge", options: ageCodes, value: data.ageCodes, onValueChange: updateField("ageCodes"), loading: loading && data.kindCodes && !data.ageCodes, disabled: !data.kindCodes }), _jsx(Select, { label: "Cat\u00E9gorie", placeholder: "S\u00E9lectionnez une cat\u00E9gorie", options: categoryCodes, value: data.categoryCodes, onValueChange: updateField("categoryCodes"), loading: loading && data.kindCodes && data.ageCodes && !data.categoryCodes, disabled: !data.kindCodes || !data.ageCodes }), _jsx(Select, { label: "Niveau", placeholder: "S\u00E9lectionnez un niveau", options: levelCodes, value: data.levelCodes, onValueChange: updateField("levelCodes"), loading: loading &&
164
- data.kindCodes &&
165
- data.ageCodes &&
166
- data.categoryCodes &&
167
- !data.levelCodes, disabled: !data.kindCodes || !data.ageCodes || !data.categoryCodes })] }));
168
- }
169
- function getDefaultData(preset) {
170
- if (!preset?.presets && !preset?.options)
171
- return DEFAULT_DATA;
172
- const { kindCodes, ageCodes, categoryCodes, levelCodes } = preset?.presets || {};
173
- return {
174
- kindCodes: kindCodes || DEFAULT_DATA.kindCodes,
175
- ageCodes: ageCodes || DEFAULT_DATA.ageCodes,
176
- categoryCodes: categoryCodes || DEFAULT_DATA.categoryCodes,
177
- levelCodes: levelCodes || DEFAULT_DATA.levelCodes,
178
- };
179
- }
@@ -1,3 +0,0 @@
1
- export default MseMPresetEditor;
2
- import MseMPresetEditor from "./msem-preset-editor";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/components/msem-preset-editor/index.js"],"names":[],"mappings":";6BAA6B,sBAAsB"}
@@ -1,2 +0,0 @@
1
- import MseMPresetEditor from "./msem-preset-editor";
2
- export default MseMPresetEditor;
@@ -1,28 +0,0 @@
1
- import * as React from "react";
2
- type Props = {
3
- lang: "fr" | "en";
4
- options: {
5
- channel: string;
6
- resort?: string | number;
7
- cartUrl?: string;
8
- analytics?: () => void;
9
- };
10
- urls?: {
11
- override?: string;
12
- skiPasses?: {
13
- winter: string;
14
- summer: string;
15
- };
16
- lodgings?: {
17
- winter: string;
18
- summer: string;
19
- };
20
- };
21
- selectedPreset?: string | null;
22
- onChange?: (preset: Record<string, any> | null) => void;
23
- noLodgingPage?: boolean;
24
- children?: React.ReactNode;
25
- };
26
- export default function MseMPresetEditor({ lang, options, urls, selectedPreset, onChange, noLodgingPage, children, }: Props): import("react/jsx-runtime").JSX.Element;
27
- export {};
28
- //# sourceMappingURL=msem-preset-editor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/common/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,QAAQ,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,EAAE,KAAK,2CAgOP"}