ublo-lib 1.38.0 → 1.38.1
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.
- package/es/future/components/msem-preset-editor/editor-dialog.d.ts +3 -7
- package/es/future/components/msem-preset-editor/editor-dialog.d.ts.map +1 -1
- package/es/future/components/msem-preset-editor/editor-dialog.js +2 -2
- package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts +3 -7
- package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts.map +1 -1
- package/es/future/components/msem-preset-editor/msem-preset-editor.js +9 -10
- package/es/future/components/msem-preset-linker/msem-preset-linker.d.ts +3 -7
- package/es/future/components/msem-preset-linker/msem-preset-linker.d.ts.map +1 -1
- package/es/future/components/msem-preset-linker/msem-preset-linker.js +2 -2
- package/package.json +1 -1
|
@@ -4,19 +4,15 @@ type Resort = {
|
|
|
4
4
|
};
|
|
5
5
|
type Props = {
|
|
6
6
|
lang: "fr" | "en";
|
|
7
|
+
channel: string;
|
|
8
|
+
resort: string;
|
|
7
9
|
msemServicesUrl: string;
|
|
8
|
-
options: {
|
|
9
|
-
channel: string;
|
|
10
|
-
resort: string;
|
|
11
|
-
cartUrl?: string;
|
|
12
|
-
analytics?: () => void;
|
|
13
|
-
};
|
|
14
10
|
urlOverride?: string;
|
|
15
11
|
resorts?: Resort[];
|
|
16
12
|
target: HTMLElement | null;
|
|
17
13
|
updatePreset: (preset: any) => any;
|
|
18
14
|
closeEditor: () => void;
|
|
19
15
|
};
|
|
20
|
-
export default function EditorDialog({ lang,
|
|
16
|
+
export default function EditorDialog({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, target, updatePreset, closeEditor, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
21
17
|
export {};
|
|
22
18
|
//# sourceMappingURL=editor-dialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-dialog.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/editor-dialog.tsx"],"names":[],"mappings":"AAMA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"editor-dialog.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/editor-dialog.tsx"],"names":[],"mappings":"AAMA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,WAAW,GACZ,EAAE,KAAK,2CAsDP"}
|
|
@@ -4,7 +4,7 @@ import Dialog from "dt-design-system/es/dialog";
|
|
|
4
4
|
import Button from "dt-design-system/es/button";
|
|
5
5
|
import MseMPresetEditor from "./msem-preset-editor";
|
|
6
6
|
import css from "./editor-dialog.module.css";
|
|
7
|
-
export default function EditorDialog({ lang,
|
|
7
|
+
export default function EditorDialog({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, target, updatePreset, closeEditor, }) {
|
|
8
8
|
const selectedPreset = target?.getAttribute("data-msem-preset");
|
|
9
9
|
const [preset, setPreset] = React.useState(selectedPreset ? JSON.parse(selectedPreset) : null);
|
|
10
10
|
React.useEffect(() => {
|
|
@@ -21,5 +21,5 @@ export default function EditorDialog({ lang, msemServicesUrl, options, urlOverri
|
|
|
21
21
|
}
|
|
22
22
|
updatePreset(preset);
|
|
23
23
|
}, [preset, updatePreset, target]);
|
|
24
|
-
return (_jsxs(Dialog, { className: css.dialog, isOpened: !!target, close: closeEditor, closeOnBackdropClick: false, showAsModal: false, children: [_jsx("div", { className: css.title, children: "Choisissez un widget" }), _jsx("div", { className: css.subtitle, children: "Ce dernier s'ouvrira au clic sur l'\u00E9l\u00E9ment s\u00E9lectionn\u00E9." }), _jsx(MseMPresetEditor, { lang: lang,
|
|
24
|
+
return (_jsxs(Dialog, { className: css.dialog, isOpened: !!target, close: closeEditor, closeOnBackdropClick: false, showAsModal: false, children: [_jsx("div", { className: css.title, children: "Choisissez un widget" }), _jsx("div", { className: css.subtitle, children: "Ce dernier s'ouvrira au clic sur l'\u00E9l\u00E9ment s\u00E9lectionn\u00E9." }), _jsx(MseMPresetEditor, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, urlOverride: urlOverride, resorts: resorts, selectedPreset: selectedPreset, onChange: setPreset }), _jsxs("div", { className: css.buttons, children: [_jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updateNewPreset, children: "Valider" })] })] }));
|
|
25
25
|
}
|
|
@@ -4,18 +4,14 @@ type Resort = {
|
|
|
4
4
|
};
|
|
5
5
|
type Props = {
|
|
6
6
|
lang: "fr" | "en";
|
|
7
|
+
channel: string;
|
|
8
|
+
resort: string;
|
|
7
9
|
msemServicesUrl: string;
|
|
8
|
-
options: {
|
|
9
|
-
channel: string;
|
|
10
|
-
resort?: string | number;
|
|
11
|
-
cartUrl?: string;
|
|
12
|
-
analytics?: () => void;
|
|
13
|
-
};
|
|
14
10
|
urlOverride?: string;
|
|
15
11
|
resorts?: Resort[];
|
|
16
12
|
selectedPreset?: string | null;
|
|
17
13
|
onChange?: (preset: Record<string, any> | null) => void;
|
|
18
14
|
};
|
|
19
|
-
export default function MseMPresetEditor({ lang,
|
|
15
|
+
export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, selectedPreset, onChange, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
20
16
|
export {};
|
|
21
17
|
//# sourceMappingURL=msem-preset-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAmBA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAmBA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,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;CACzD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,cAAc,EACd,QAAQ,GACT,EAAE,KAAK,2CAwNP"}
|
|
@@ -15,18 +15,18 @@ import Editors from "./editors";
|
|
|
15
15
|
import * as UrlParams from "./services/url-params";
|
|
16
16
|
import * as Preset from "./services/preset";
|
|
17
17
|
import css from "./msem-preset-editor.module.css";
|
|
18
|
-
export default function MseMPresetEditor({ lang,
|
|
18
|
+
export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, selectedPreset, onChange, }) {
|
|
19
19
|
const currentPreset = selectedPreset ? JSON.parse(selectedPreset) : undefined;
|
|
20
|
-
const defaultResort = Number(currentPreset ? currentPreset.options.resort :
|
|
20
|
+
const defaultResort = Number(currentPreset ? currentPreset.options.resort : resort);
|
|
21
21
|
const [facet, setFacet] = React.useState(currentPreset?.options?.facet?.toString() || "");
|
|
22
22
|
const [stay, setStay] = React.useState(currentPreset?.presets?.stay || { from: "", to: "" });
|
|
23
23
|
const [preset, setPreset] = React.useState(currentPreset || null);
|
|
24
24
|
const [error, setError] = React.useState(null);
|
|
25
25
|
const [showPresetDialog, setShowPresetDialog] = React.useState(false);
|
|
26
26
|
const [presetUrl, setPresetUrl] = React.useState("");
|
|
27
|
-
const [
|
|
27
|
+
const [selectedResort, setSelectedResort] = React.useState(defaultResort);
|
|
28
28
|
const initialRender = React.useRef(true);
|
|
29
|
-
const showWidgetList =
|
|
29
|
+
const showWidgetList = selectedResort && facet !== "";
|
|
30
30
|
const updatePreset = React.useCallback((item, subPreset) => {
|
|
31
31
|
let { name, options: itemOptions, presets: itemPresets } = item;
|
|
32
32
|
const widget = subPreset?.widget || item.widget;
|
|
@@ -45,8 +45,7 @@ export default function MseMPresetEditor({ lang, msemServicesUrl, options, urlOv
|
|
|
45
45
|
const allOptions = {
|
|
46
46
|
facet: Number(facet),
|
|
47
47
|
...itemOptions,
|
|
48
|
-
|
|
49
|
-
resort,
|
|
48
|
+
resort: selectedResort,
|
|
50
49
|
};
|
|
51
50
|
const newPreset = {
|
|
52
51
|
name,
|
|
@@ -57,7 +56,7 @@ export default function MseMPresetEditor({ lang, msemServicesUrl, options, urlOv
|
|
|
57
56
|
};
|
|
58
57
|
onChange?.(newPreset);
|
|
59
58
|
setPreset(newPreset);
|
|
60
|
-
}, [facet, onChange,
|
|
59
|
+
}, [facet, onChange, selectedResort, stay, urlOverride]);
|
|
61
60
|
const removePreset = React.useCallback(() => {
|
|
62
61
|
onChange?.(null);
|
|
63
62
|
setPreset(null);
|
|
@@ -111,15 +110,15 @@ export default function MseMPresetEditor({ lang, msemServicesUrl, options, urlOv
|
|
|
111
110
|
else {
|
|
112
111
|
removePreset();
|
|
113
112
|
}
|
|
114
|
-
}, [removePreset,
|
|
115
|
-
if (!
|
|
113
|
+
}, [removePreset, selectedResort]);
|
|
114
|
+
if (!selectedResort)
|
|
116
115
|
return null;
|
|
117
116
|
const CurrentEditor = preset?.widget && Editors[preset.widget];
|
|
118
117
|
const showPresetUrl = Boolean(preset?.widget && presetUrl !== "");
|
|
119
118
|
const footerClasses = classNames(css.footer, {
|
|
120
119
|
[css.footerButtonOnly]: !showPresetUrl,
|
|
121
120
|
});
|
|
122
|
-
return (_jsxs("div", { className: css.editor, children: [resorts && (_jsx(ResortSelector, { resorts: resorts, resort:
|
|
121
|
+
return (_jsxs("div", { className: css.editor, children: [resorts && (_jsx(ResortSelector, { resorts: resorts, resort: selectedResort, setResort: setSelectedResort })), _jsx(FacetSelector, { facet: facet, setFacet: setFacet, setPreset: setPreset }), _jsx(StayPicker, { stay: stay, setStay: setStay, setPreset: setPreset }), showWidgetList && (_jsx(WidgetList, { lang: lang, msemServicesUrl: msemServicesUrl, resort: selectedResort, channel: channel, facet: facet, preset: preset, updatePreset: updatePreset, removePreset: removePreset, error: error, setError: setError, setShowPresetDialog: setShowPresetDialog })), _jsx(Dialog, { isOpened: showPresetDialog, close: () => setShowPresetDialog(false), container: null, showAsModal: false, children: showPresetDialog && (_jsx(CurrentEditor, { stay: stay, facet: facet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, urlOverride: urlOverride })) }), error && _jsx("div", { className: css.error, children: error }), _jsxs("div", { className: footerClasses, children: [showPresetUrl ? (_jsx(Tooltip, { content: "Tester dans le widget MseM", children: _jsx(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: _jsx(Icons.OpenInBrowser, {}) }) })) : (_jsxs(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: [_jsx(Icons.OpenInBrowser, {}), "Tester dans le widget MseM"] })), showPresetUrl && (_jsx(Input, { type: "text", className: css.url, value: presetUrl, onClick: copyUrl, placeholder: !preset
|
|
123
122
|
? "Aucun preset sélectionné"
|
|
124
123
|
: "Preset incompatible au format URL", readOnly: true }))] })] }));
|
|
125
124
|
}
|
|
@@ -4,16 +4,12 @@ type Resort = {
|
|
|
4
4
|
};
|
|
5
5
|
type Props = {
|
|
6
6
|
lang: "fr" | "en";
|
|
7
|
+
channel: string;
|
|
8
|
+
resort: string;
|
|
7
9
|
msemServicesUrl: string;
|
|
8
10
|
target: HTMLElement | null;
|
|
9
|
-
options: {
|
|
10
|
-
channel: string;
|
|
11
|
-
resort: string;
|
|
12
|
-
cartUrl?: string;
|
|
13
|
-
analytics?: () => void;
|
|
14
|
-
};
|
|
15
11
|
resorts?: Resort[];
|
|
16
12
|
};
|
|
17
|
-
export default function MseMPresetLinker({ lang, msemServicesUrl, target,
|
|
13
|
+
export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
18
14
|
export {};
|
|
19
15
|
//# sourceMappingURL=msem-preset-linker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAGA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAGA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,MAAM,EACN,OAAO,GACR,EAAE,KAAK,2CA2BP"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import EditorDialog from "../msem-preset-editor/editor-dialog";
|
|
3
3
|
const PRESET_ATTRIBUTE = "data-msem-preset";
|
|
4
|
-
export default function MseMPresetLinker({ lang, msemServicesUrl, target,
|
|
4
|
+
export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, }) {
|
|
5
5
|
const link = target?.querySelector(":scope > a");
|
|
6
6
|
const urlOverride = link?.getAttribute("href") || undefined;
|
|
7
7
|
const updatePreset = (newPreset) => {
|
|
@@ -13,5 +13,5 @@ export default function MseMPresetLinker({ lang, msemServicesUrl, target, option
|
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
const closeEditor = () => { };
|
|
16
|
-
return (_jsx(EditorDialog, { lang: lang,
|
|
16
|
+
return (_jsx(EditorDialog, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, target: target, updatePreset: updatePreset, closeEditor: closeEditor, urlOverride: urlOverride, resorts: resorts }));
|
|
17
17
|
}
|