ublo-lib 1.39.13 → 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 (95) hide show
  1. package/es/future/components/msem-preset-editor/components/stay-picker.js +1 -1
  2. package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts +2 -1
  3. package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts.map +1 -1
  4. package/es/future/components/msem-preset-editor/msem-preset-editor.js +8 -7
  5. package/package.json +1 -1
  6. package/es/common/components/msem-preset-editor/components/facet-selector.d.ts +0 -6
  7. package/es/common/components/msem-preset-editor/components/facet-selector.d.ts.map +0 -1
  8. package/es/common/components/msem-preset-editor/components/facet-selector.js +0 -23
  9. package/es/common/components/msem-preset-editor/components/form.d.ts +0 -8
  10. package/es/common/components/msem-preset-editor/components/form.d.ts.map +0 -1
  11. package/es/common/components/msem-preset-editor/components/form.js +0 -9
  12. package/es/common/components/msem-preset-editor/components/form.module.css +0 -39
  13. package/es/common/components/msem-preset-editor/components/stay-picker.d.ts +0 -14
  14. package/es/common/components/msem-preset-editor/components/stay-picker.d.ts.map +0 -1
  15. package/es/common/components/msem-preset-editor/components/stay-picker.js +0 -35
  16. package/es/common/components/msem-preset-editor/components/stay-picker.module.css +0 -5
  17. package/es/common/components/msem-preset-editor/components/widget-list-item.d.ts +0 -12
  18. package/es/common/components/msem-preset-editor/components/widget-list-item.d.ts.map +0 -1
  19. package/es/common/components/msem-preset-editor/components/widget-list-item.js +0 -55
  20. package/es/common/components/msem-preset-editor/components/widget-list-item.module.css +0 -115
  21. package/es/common/components/msem-preset-editor/components/widget-list.d.ts +0 -17
  22. package/es/common/components/msem-preset-editor/components/widget-list.d.ts.map +0 -1
  23. package/es/common/components/msem-preset-editor/components/widget-list.js +0 -34
  24. package/es/common/components/msem-preset-editor/components/widget-list.module.css +0 -21
  25. package/es/common/components/msem-preset-editor/editor-dialog.d.ts +0 -30
  26. package/es/common/components/msem-preset-editor/editor-dialog.d.ts.map +0 -1
  27. package/es/common/components/msem-preset-editor/editor-dialog.js +0 -27
  28. package/es/common/components/msem-preset-editor/editor-dialog.module.css +0 -31
  29. package/es/common/components/msem-preset-editor/editors/elloha.d.ts +0 -15
  30. package/es/common/components/msem-preset-editor/editors/elloha.d.ts.map +0 -1
  31. package/es/common/components/msem-preset-editor/editors/elloha.js +0 -79
  32. package/es/common/components/msem-preset-editor/editors/elloha.module.css +0 -14
  33. package/es/common/components/msem-preset-editor/editors/index.d.ts +0 -16
  34. package/es/common/components/msem-preset-editor/editors/index.d.ts.map +0 -1
  35. package/es/common/components/msem-preset-editor/editors/index.js +0 -15
  36. package/es/common/components/msem-preset-editor/editors/lodgings.d.ts +0 -17
  37. package/es/common/components/msem-preset-editor/editors/lodgings.d.ts.map +0 -1
  38. package/es/common/components/msem-preset-editor/editors/lodgings.js +0 -192
  39. package/es/common/components/msem-preset-editor/editors/lodgings.module.css +0 -21
  40. package/es/common/components/msem-preset-editor/editors/ski-passes-jb.d.ts +0 -16
  41. package/es/common/components/msem-preset-editor/editors/ski-passes-jb.d.ts.map +0 -1
  42. package/es/common/components/msem-preset-editor/editors/ski-passes-jb.js +0 -85
  43. package/es/common/components/msem-preset-editor/editors/ski-passes.d.ts +0 -16
  44. package/es/common/components/msem-preset-editor/editors/ski-passes.d.ts.map +0 -1
  45. package/es/common/components/msem-preset-editor/editors/ski-passes.js +0 -198
  46. package/es/common/components/msem-preset-editor/editors/ski-passes.module.css +0 -25
  47. package/es/common/components/msem-preset-editor/editors/standard-products.d.ts +0 -16
  48. package/es/common/components/msem-preset-editor/editors/standard-products.d.ts.map +0 -1
  49. package/es/common/components/msem-preset-editor/editors/standard-products.js +0 -65
  50. package/es/common/components/msem-preset-editor/editors/vakario.d.ts +0 -15
  51. package/es/common/components/msem-preset-editor/editors/vakario.d.ts.map +0 -1
  52. package/es/common/components/msem-preset-editor/editors/vakario.js +0 -179
  53. package/es/common/components/msem-preset-editor/index.d.ts +0 -3
  54. package/es/common/components/msem-preset-editor/index.d.ts.map +0 -1
  55. package/es/common/components/msem-preset-editor/index.js +0 -2
  56. package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts +0 -28
  57. package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts.map +0 -1
  58. package/es/common/components/msem-preset-editor/msem-preset-editor.js +0 -161
  59. package/es/common/components/msem-preset-editor/msem-preset-editor.module.css +0 -38
  60. package/es/common/components/msem-preset-editor/services/api.d.ts +0 -15
  61. package/es/common/components/msem-preset-editor/services/api.d.ts.map +0 -1
  62. package/es/common/components/msem-preset-editor/services/api.js +0 -71
  63. package/es/common/components/msem-preset-editor/services/offers.d.ts +0 -23
  64. package/es/common/components/msem-preset-editor/services/offers.d.ts.map +0 -1
  65. package/es/common/components/msem-preset-editor/services/offers.js +0 -50
  66. package/es/common/components/msem-preset-editor/services/preset.d.ts +0 -32
  67. package/es/common/components/msem-preset-editor/services/preset.d.ts.map +0 -1
  68. package/es/common/components/msem-preset-editor/services/preset.js +0 -19
  69. package/es/common/components/msem-preset-editor/services/url-params.d.ts +0 -3
  70. package/es/common/components/msem-preset-editor/services/url-params.d.ts.map +0 -1
  71. package/es/common/components/msem-preset-editor/services/url-params.js +0 -26
  72. package/es/common/components/msem-preset-linker/components/actions.d.ts +0 -11
  73. package/es/common/components/msem-preset-linker/components/actions.d.ts.map +0 -1
  74. package/es/common/components/msem-preset-linker/components/actions.js +0 -45
  75. package/es/common/components/msem-preset-linker/components/actions.module.css +0 -65
  76. package/es/common/components/msem-preset-linker/components/overlays.d.ts +0 -8
  77. package/es/common/components/msem-preset-linker/components/overlays.d.ts.map +0 -1
  78. package/es/common/components/msem-preset-linker/components/overlays.js +0 -52
  79. package/es/common/components/msem-preset-linker/components/overlays.module.css +0 -64
  80. package/es/common/components/msem-preset-linker/components/resort-selector.d.ts +0 -6
  81. package/es/common/components/msem-preset-linker/components/resort-selector.d.ts.map +0 -1
  82. package/es/common/components/msem-preset-linker/components/resort-selector.js +0 -12
  83. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.d.ts +0 -5
  84. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.d.ts.map +0 -1
  85. package/es/common/components/msem-preset-linker/hooks/use-msem-presets.js +0 -37
  86. package/es/common/components/msem-preset-linker/index.d.ts +0 -3
  87. package/es/common/components/msem-preset-linker/index.d.ts.map +0 -1
  88. package/es/common/components/msem-preset-linker/index.js +0 -2
  89. package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts +0 -30
  90. package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts.map +0 -1
  91. package/es/common/components/msem-preset-linker/msem-preset-linker.js +0 -54
  92. package/es/common/components/msem-preset-linker/msem-preset-linker.module.css +0 -27
  93. package/es/common/components/msem-preset-linker/services/url-params.d.ts +0 -2
  94. package/es/common/components/msem-preset-linker/services/url-params.d.ts.map +0 -1
  95. 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"}