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,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 Elloha({ preset, setPreset, stay, setShowPresetDialog, onChange, testPreset, }: Props): import("react/jsx-runtime").JSX.Element;
14
- export {};
15
- //# sourceMappingURL=elloha.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"elloha.d.ts","sourceRoot":"","sources":["../../../../../src/common/components/msem-preset-editor/editors/elloha.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/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;AAWF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,2CAiHP"}
@@ -1,79 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import Input from "dt-design-system/es/input";
4
- import MultipleSelect from "dt-design-system/es/multiple-select";
5
- import Form from "../components/form";
6
- import * as API from "../services/api";
7
- import css from "./elloha.module.css";
8
- const DEFAULT_DATA = {
9
- groupNames: [],
10
- };
11
- export default function Elloha({ preset, setPreset, stay, setShowPresetDialog, onChange, testPreset, }) {
12
- const savedPreset = React.useRef(preset);
13
- const [loading, setLoading] = React.useState(false);
14
- const [groupNames, setGroupNames] = React.useState([]);
15
- const [selectedGroups, setSelectedGroups] = React.useState(getDefaultData(preset));
16
- const { merchant } = preset?.options || {};
17
- const stayIsUndefined = !stay?.from || !stay?.to;
18
- const cancelPreset = () => {
19
- setPreset(savedPreset.current);
20
- setShowPresetDialog(false);
21
- };
22
- const confirmPreset = () => {
23
- setShowPresetDialog(false);
24
- };
25
- const manualSelectedGroupUpdate = (newValue) => {
26
- const values = newValue.split(";");
27
- setSelectedGroups(values);
28
- };
29
- React.useEffect(() => {
30
- if (!stayIsUndefined) {
31
- const runEffect = async () => {
32
- try {
33
- setLoading(true);
34
- const { kinds } = await API.getEllohaGroups(merchant, stay.from);
35
- const allGroups = kinds.map((k) => k.group).filter(Boolean);
36
- const groups = [...new Set(allGroups)];
37
- setGroupNames(groups);
38
- }
39
- catch (e) {
40
- console.error(e);
41
- }
42
- finally {
43
- setLoading(false);
44
- }
45
- };
46
- runEffect();
47
- }
48
- }, [merchant, stayIsUndefined, stay.from]);
49
- React.useEffect(() => {
50
- setPreset((current = {}) => {
51
- const newPreset = {
52
- ...current,
53
- presets: {
54
- ...(current?.presets || {}),
55
- groupNames: selectedGroups
56
- .map((g) => g.trim())
57
- .filter(Boolean),
58
- },
59
- };
60
- onChange?.(newPreset);
61
- return newPreset;
62
- });
63
- }, [onChange, selectedGroups, setPreset]);
64
- return (_jsxs(Form, { title: "Presets activit\u00E9s Elloha", width: 420, preset: preset, buttonsActions: {
65
- testPreset,
66
- cancelPreset,
67
- confirmPreset: groupNames.length === 0 && selectedGroups.length === 0
68
- ? undefined
69
- : confirmPreset,
70
- }, children: [!stayIsUndefined && (_jsx(MultipleSelect, { label: "Groupes", options: groupNames, values: selectedGroups, onChange: setSelectedGroups, placeholder: "S\u00E9lectionnez un ou plusieurs groupes", loading: loading, disabled: groupNames.length === 0, error: !loading &&
71
- groupNames.length === 0 &&
72
- "Aucun groupe disponible à ces dates" })), stayIsUndefined && (_jsxs(_Fragment, { children: [_jsx("div", { className: css.error, children: "Vous devez renseigner des dates de s\u00E9jour pour afficher dynamiquement les groupes" }), _jsx(Input, { label: "Groupe", placeholder: "", value: selectedGroups.join(";"), onValueChange: manualSelectedGroupUpdate }), _jsx("div", { className: css.helper, children: "Vous pouvez manuellement renseigner un ou plusieurs groupe(s) (les s\u00E9pararer par un \";\")" })] }))] }));
73
- }
74
- function getDefaultData(preset) {
75
- if (!preset?.presets)
76
- return DEFAULT_DATA.groupNames;
77
- const { groupNames } = preset.presets;
78
- return groupNames || DEFAULT_DATA.groupNames;
79
- }
@@ -1,14 +0,0 @@
1
- .error {
2
- padding: 10px;
3
- font-size: 12px;
4
- text-align: center;
5
- color: var(--ds-red-500, #990700);
6
- background-color: var(--ds-red-200, #fde7e7);
7
- border-radius: var(--ds-radius-200, 8px);
8
- }
9
-
10
- .helper {
11
- margin-top: -6px;
12
- font-size: 12px;
13
- color: var(--ds-grey-400, #9d9d9d);
14
- }
@@ -1,16 +0,0 @@
1
- import SkiPasses from "./ski-passes";
2
- import SkiPassesJb from "./ski-passes-jb";
3
- import Lodgings from "./lodgings";
4
- import Elloha from "./elloha";
5
- import Vakario from "./vakario";
6
- import StandardProducts from "./standard-products";
7
- declare const Editor: {
8
- lodging: typeof Lodgings;
9
- skiPass: typeof SkiPasses;
10
- liftJb: typeof SkiPassesJb;
11
- elloha: typeof Elloha;
12
- vakario: typeof Vakario;
13
- otherProducts: typeof StandardProducts;
14
- };
15
- export default Editor;
16
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/common/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,15 +0,0 @@
1
- import SkiPasses from "./ski-passes";
2
- import SkiPassesJb from "./ski-passes-jb";
3
- import Lodgings from "./lodgings";
4
- import Elloha from "./elloha";
5
- import Vakario from "./vakario";
6
- import StandardProducts from "./standard-products";
7
- const Editor = {
8
- lodging: Lodgings,
9
- skiPass: SkiPasses,
10
- liftJb: SkiPassesJb,
11
- elloha: Elloha,
12
- vakario: Vakario,
13
- otherProducts: StandardProducts,
14
- };
15
- export default Editor;
@@ -1,17 +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
- testPreset: () => void;
11
- onChange?: (preset: Record<string, any> | null) => void;
12
- noLodgingPage?: boolean;
13
- baseUrl: string;
14
- };
15
- export default function Lodgings({ preset, setPreset, setShowPresetDialog, testPreset, onChange, baseUrl, noLodgingPage, }: Props): import("react/jsx-runtime").JSX.Element;
16
- export {};
17
- //# sourceMappingURL=lodgings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lodgings.d.ts","sourceRoot":"","sources":["../../../../../src/common/components/msem-preset-editor/editors/lodgings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/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,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAsCF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,GACd,EAAE,KAAK,2CAmSP"}
@@ -1,192 +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 Checkbox from "dt-design-system/es/checkbox";
4
- import NumberPicker from "dt-design-system/es/number-picker";
5
- import Select from "dt-design-system/es/select";
6
- import MultipleSelect from "dt-design-system/es/multiple-select";
7
- import Form from "../components/form";
8
- import * as API from "../services/api";
9
- import css from "./lodgings.module.css";
10
- const DEFAULT_DATA = {
11
- adults: 0,
12
- children: 0,
13
- lodging: "",
14
- standings: [],
15
- options: [],
16
- districts: [],
17
- nbRooms: [],
18
- roomType: "",
19
- type: "",
20
- openPage: false,
21
- };
22
- export default function Lodgings({ preset, setPreset, setShowPresetDialog, testPreset, onChange, baseUrl, noLodgingPage, }) {
23
- const savedPreset = React.useRef(preset);
24
- const [ready, setReady] = React.useState(false);
25
- const [lodgings, setLogings] = React.useState([]);
26
- const [filters, setFilters] = React.useState({
27
- standings: [],
28
- options: [],
29
- districts: [],
30
- });
31
- const [rooms, setRooms] = React.useState([]);
32
- const [loading, setLoading] = React.useState(false);
33
- const [data, setData] = React.useState(getDefaultData(preset));
34
- const kinds = [...new Set(lodgings.map(({ kind }) => kind))];
35
- const { channel, resort, facet } = preset?.options || {};
36
- const showLodgingPageCheckbox = !noLodgingPage && !!data.lodging;
37
- const showFilters = !data.lodging;
38
- const updateField = (field) => (value) => {
39
- setData({ ...data, [field]: value });
40
- };
41
- const updateRoomNb = (value) => {
42
- setData({ ...data, nbRooms: value ? [value] : DEFAULT_DATA.nbRooms });
43
- };
44
- const updateFilter = (kind) => (newValue) => {
45
- setData((data) => ({ ...data, [kind]: newValue.map((v) => v.value) }));
46
- };
47
- const formattedLodgings = lodgings.map((lodging) => ({
48
- value: lodging.slug,
49
- label: lodging.name,
50
- }));
51
- const formattedRooms = rooms.map((room) => ({
52
- label: room.title,
53
- value: room.type,
54
- }));
55
- const selectedOptions = data.options?.map((option) => filters?.options?.find((d) => d.value === option));
56
- const selectedDistricts = data.districts?.map((district) => filters?.districts?.find((d) => d.value === district));
57
- const cancelPreset = () => {
58
- setPreset(savedPreset.current);
59
- setShowPresetDialog(false);
60
- };
61
- const confirmPreset = () => {
62
- setShowPresetDialog(false);
63
- };
64
- React.useEffect(() => {
65
- if (!ready) {
66
- const init = async () => {
67
- try {
68
- setLoading(true);
69
- const filters = await API.getLodgingFilters(channel, resort, facet);
70
- const formattedFilters = Object.keys(filters).reduce((acc, key) => {
71
- if (key === "accomodations")
72
- return acc;
73
- const filter = filters[key];
74
- if (key === "districts") {
75
- const entries = filter.map((entry) => ({
76
- value: entry.id,
77
- label: entry.name,
78
- }));
79
- return { ...acc, [key]: entries };
80
- }
81
- else {
82
- const entries = filter.map((entry) => ({
83
- value: entry.code,
84
- label: entry.label,
85
- }));
86
- return { ...acc, [key]: entries };
87
- }
88
- }, {});
89
- setLogings(filters.accomodations);
90
- setFilters(formattedFilters);
91
- setReady(true);
92
- }
93
- catch (e) {
94
- console.error(e);
95
- }
96
- finally {
97
- setLoading(false);
98
- }
99
- };
100
- init();
101
- }
102
- }, [channel, facet, ready, resort]);
103
- React.useEffect(() => {
104
- if (!data.lodging) {
105
- setData((data) => ({ ...data, openPage: false }));
106
- }
107
- else {
108
- const getRoomTypes = async () => {
109
- try {
110
- setLoading(true);
111
- const id = lodgings.find((lodging) => lodging.slug === data.lodging)?.id;
112
- if (id) {
113
- const { rooms } = await API.getLodgingRooms(id, resort, facet);
114
- if (rooms) {
115
- setRooms(rooms);
116
- }
117
- }
118
- }
119
- catch (e) {
120
- console.error(e);
121
- }
122
- finally {
123
- setLoading(false);
124
- }
125
- setData((data) => ({
126
- ...data,
127
- openPage: data.openPage ?? true,
128
- options: DEFAULT_DATA.options,
129
- districts: DEFAULT_DATA.districts,
130
- type: DEFAULT_DATA.type,
131
- }));
132
- };
133
- getRoomTypes();
134
- }
135
- }, [data.lodging, facet, lodgings, resort]);
136
- React.useEffect(() => {
137
- setPreset((current = {}) => {
138
- const { lodging } = data;
139
- const adults = parseInt(data.adults);
140
- const children = parseInt(data.children);
141
- const accomodation = lodging || undefined;
142
- const openPage = lodging ? data.openPage : undefined;
143
- const agesChildren = [...new Array(children)].map(() => 12);
144
- const paxPlan = adults ? { adults, children, agesChildren } : undefined;
145
- const options = data.options?.length ? data.options : undefined;
146
- const districts = data.districts?.length ? data.districts : undefined;
147
- const type = data.type || undefined;
148
- const roomType = data.roomType || undefined;
149
- const nbRooms = data.nbRooms[0] > 0 ? data.nbRooms : undefined;
150
- const previewDetails = { paxPlan, roomType };
151
- const presets = {
152
- accomodation,
153
- options,
154
- districts,
155
- nbRooms,
156
- type,
157
- };
158
- const newPreset = {
159
- ...current,
160
- options: { ...(current?.options || {}), previewDetails },
161
- presets: { ...(current?.presets || {}), ...presets },
162
- openPage,
163
- url: baseUrl || undefined,
164
- };
165
- onChange?.(newPreset);
166
- return newPreset;
167
- });
168
- }, [data, onChange, baseUrl, setPreset]);
169
- return (_jsxs(Form, { title: "Presets h\u00E9bergements", width: 580, preset: preset, buttonsActions: {
170
- testPreset,
171
- cancelPreset,
172
- confirmPreset,
173
- }, 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 }), showLodgingPageCheckbox && (_jsx(Checkbox, { label: "Ouvrir la page du site", checked: data.openPage, disabled: !showLodgingPageCheckbox, onCheckedChange: updateField("openPage") })), !showFilters && (_jsxs(_Fragment, { children: [_jsx("div", { className: css.label, children: "Chambres" }), (formattedRooms?.length > 0 || loading) && (_jsx(Select, { label: "Type de bien", placeholder: "S\u00E9lectionnez un type de bien", value: data.roomType, options: formattedRooms, loading: loading, onValueChange: updateField("roomType") })), _jsx(NumberPicker, { label: "Nombre de chambres", min: 0, max: 20, value: data.nbRooms?.[0] || 0, onChange: updateRoomNb, withInput: true })] })), showFilters && (_jsxs(_Fragment, { children: [_jsx("div", { className: css.label, children: "Filtres" }), kinds.length > 1 && (_jsx(Select, { label: "Type", placeholder: "S\u00E9lectionnez un type", options: kinds, value: data.type, onValueChange: updateField("type"), loading: loading })), filters?.options && filters?.options?.length > 1 && (_jsx(MultipleSelect, { placeholder: "Selectionnez une ou plusieurs options", label: "Options", options: filters.options, values: selectedOptions, onChange: updateFilter("options"), loading: loading })), filters?.districts && filters?.districts?.length > 1 && (_jsx(MultipleSelect, { placeholder: "Selectionnez une ou plusieurs options", label: "Quartiers", options: filters.districts, values: selectedDistricts, onChange: updateFilter("districts"), loading: loading }))] }))] }));
174
- }
175
- function getDefaultData(preset) {
176
- if (!preset?.presets && !preset?.options)
177
- return DEFAULT_DATA;
178
- const { accomodation, nbRooms, options, districts, type } = preset?.presets || {};
179
- const { openPage } = preset;
180
- const { paxPlan, roomType } = preset?.options?.previewDetails || {};
181
- return {
182
- adults: paxPlan?.adults || DEFAULT_DATA.adults,
183
- children: paxPlan?.children || DEFAULT_DATA.children,
184
- lodging: accomodation || DEFAULT_DATA.lodging,
185
- nbRooms: nbRooms || DEFAULT_DATA.nbRooms,
186
- roomType: roomType || DEFAULT_DATA.roomType,
187
- options: options || DEFAULT_DATA.options,
188
- districts: districts || DEFAULT_DATA.districts,
189
- type: type || DEFAULT_DATA.type,
190
- openPage: openPage ?? DEFAULT_DATA.openPage,
191
- };
192
- }
@@ -1,21 +0,0 @@
1
- .row {
2
- display: flex;
3
- gap: 8px;
4
- }
5
-
6
- .rowWrap {
7
- display: flex;
8
- flex-wrap: wrap;
9
- justify-content: space-between;
10
- gap: 8px;
11
- }
12
-
13
- .rowWrap > * {
14
- flex: 0 0 auto;
15
- }
16
-
17
- .label {
18
- font-size: 12px;
19
- user-select: none;
20
- font-weight: 700;
21
- }
@@ -1,16 +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
- baseUrl: string;
13
- };
14
- export default function SkiPasses({ preset, setPreset, stay, setShowPresetDialog, onChange, testPreset, baseUrl, }: Props): import("react/jsx-runtime").JSX.Element;
15
- export {};
16
- //# sourceMappingURL=ski-passes-jb.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ski-passes-jb.d.ts","sourceRoot":"","sources":["../../../../../src/common/components/msem-preset-editor/editors/ski-passes-jb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/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;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAQF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,OAAO,GACR,EAAE,KAAK,2CA2GP"}
@@ -1,85 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import Select from "dt-design-system/es/select";
4
- import Input from "dt-design-system/es/input";
5
- import NumberPicker from "dt-design-system/es/number-picker";
6
- import Form from "../components/form";
7
- import * as API from "../services/api";
8
- const DEFAULT_DATA = {
9
- catalog: "",
10
- firstSkiDate: "",
11
- nbParticipants: 1,
12
- };
13
- export default function SkiPasses({ preset, setPreset, stay, setShowPresetDialog, onChange, testPreset, baseUrl, }) {
14
- const savedPreset = React.useRef(preset);
15
- const [catalogs, setCatalogs] = React.useState(null);
16
- const [catalog, setCatalog] = React.useState(preset?.options?.catalog || "");
17
- const [data, setData] = React.useState(getDefaultData(preset));
18
- const firstSkiDateDefaultMonth = stay?.from
19
- ? new Date(stay.from).getMonth() + 1
20
- : undefined;
21
- const { merchant } = preset?.options;
22
- const isReady = catalogs !== null;
23
- const hasCatalog = isReady && catalogs?.length > 0 && catalog !== "";
24
- const cancelPreset = () => {
25
- setPreset(savedPreset.current);
26
- setShowPresetDialog(false);
27
- };
28
- const confirmPreset = () => {
29
- setShowPresetDialog(false);
30
- };
31
- const updateField = (field) => (value) => {
32
- setData((data) => ({ ...data, [field]: value }));
33
- };
34
- const updateFirstSkiDate = (value) => {
35
- updateField("firstSkiDate")(value);
36
- };
37
- React.useEffect(() => {
38
- if (!isReady) {
39
- const runEffect = async () => {
40
- try {
41
- const catalogs = await API.getSkiPassesCatalogs(merchant);
42
- setCatalogs(catalogs);
43
- }
44
- catch (e) {
45
- setCatalogs([]);
46
- }
47
- };
48
- runEffect();
49
- }
50
- }, [isReady, merchant]);
51
- React.useEffect(() => {
52
- setPreset((current = {}) => {
53
- const newPreset = {
54
- ...current,
55
- options: {
56
- ...(current?.options || {}),
57
- catalog,
58
- },
59
- presets: {
60
- ...(current?.presets || {}),
61
- ...data,
62
- },
63
- url: baseUrl || undefined,
64
- };
65
- onChange?.(newPreset);
66
- return newPreset;
67
- });
68
- }, [catalog, data, baseUrl, setPreset, onChange]);
69
- return (_jsxs(Form, { title: "Presets forfaits JB", width: 420, preset: preset, buttonsActions: {
70
- testPreset,
71
- cancelPreset,
72
- confirmPreset: hasCatalog ? confirmPreset : undefined,
73
- }, children: [_jsx(Select, { label: "Catalogue", value: catalog, options: catalogs ? ["", ...catalogs] : [], onValueChange: setCatalog, loading: !isReady }), 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 }), _jsx(NumberPicker, { label: "Nb de participants", value: data.nbParticipants, onChange: updateField("nbParticipants"), min: 0, withInput: true, compact: true })] }))] }));
74
- }
75
- function getDefaultData(preset) {
76
- if (!preset?.presets)
77
- return DEFAULT_DATA;
78
- const { catalog } = preset.options || {};
79
- const { firstSkiDate, nbParticipants } = preset.presets;
80
- return {
81
- catalog: catalog || DEFAULT_DATA.catalog,
82
- firstSkiDate: firstSkiDate || DEFAULT_DATA.firstSkiDate,
83
- nbParticipants: nbParticipants || DEFAULT_DATA.nbParticipants,
84
- };
85
- }
@@ -1,16 +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
- baseUrl: string;
13
- };
14
- export default function SkiPasses({ preset, setPreset, stay, setShowPresetDialog, onChange, testPreset, baseUrl, }: Props): import("react/jsx-runtime").JSX.Element;
15
- export {};
16
- //# sourceMappingURL=ski-passes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ski-passes.d.ts","sourceRoot":"","sources":["../../../../../src/common/components/msem-preset-editor/editors/ski-passes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/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;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA4DF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,OAAO,GACR,EAAE,KAAK,2CAqRP"}