ublo-lib 1.31.43 → 1.31.44
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/common/components/admin-links/admin-links.d.ts +11 -0
- package/es/common/components/admin-links/admin-links.jsx +65 -0
- package/es/common/components/admin-links/{index.js → index.d.ts} +1 -1
- package/es/common/components/admin-links/index.jsx +2 -0
- package/es/common/components/analytics.d.ts +5 -0
- package/es/common/components/analytics.js +36 -34
- package/es/common/components/breadcrumb.d.ts +16 -0
- package/es/common/components/breadcrumb.jsx +32 -0
- package/es/common/components/carousel-zone.d.ts +7 -0
- package/es/common/components/carousel-zone.js +36 -55
- package/es/common/components/carousel.d.ts +14 -0
- package/es/common/components/carousel.js +288 -343
- package/es/common/components/cart-preview/api.d.ts +1 -0
- package/es/common/components/cart-preview/api.js +23 -19
- package/es/common/components/cart-preview/cart-pill.d.ts +5 -0
- package/es/common/components/cart-preview/cart-pill.js +5 -10
- package/es/common/components/cart-preview/cart-preview.d.ts +6 -0
- package/es/common/components/cart-preview/cart-preview.js +73 -102
- package/es/common/components/cart-preview/index.d.ts +2 -0
- package/es/common/components/cart-preview/index.js +1 -1
- package/es/common/components/cart-preview/utils.d.ts +2 -0
- package/es/common/components/cart-preview/utils.js +23 -13
- package/es/common/components/collapsible/collapsible.d.ts +9 -0
- package/es/common/components/collapsible/collapsible.jsx +51 -0
- package/es/common/components/collapsible/{index.js → index.d.ts} +1 -1
- package/es/common/components/collapsible/index.jsx +2 -0
- package/es/common/components/cookie-consent/cookie-consent.d.ts +7 -0
- package/es/common/components/cookie-consent/cookie-consent.js +99 -112
- package/es/common/components/cookie-consent/index.d.ts +4 -0
- package/es/common/components/cookie-consent/index.js +1 -1
- package/es/common/components/cookie-consent/messages.d.ts +1 -0
- package/es/common/components/cookie-consent/messages.js +27 -27
- package/es/common/components/cookie-consent/utils.d.ts +1 -0
- package/es/common/components/cookie-consent/utils.js +30 -21
- package/es/common/components/cross-selling-editor/cross-selling-editor.d.ts +18 -0
- package/es/common/components/cross-selling-editor/cross-selling-editor.jsx +35 -0
- package/es/common/components/cross-selling-editor/editor.d.ts +8 -0
- package/es/common/components/cross-selling-editor/editor.jsx +89 -0
- package/es/common/components/cross-selling-editor/hooks/use-custom-offers.d.ts +6 -0
- package/es/common/components/cross-selling-editor/hooks/use-custom-offers.js +56 -51
- package/es/common/components/cross-selling-editor/hooks/use-tunnel-offers.d.ts +1 -0
- package/es/common/components/cross-selling-editor/hooks/use-tunnel-offers.js +39 -31
- package/es/common/components/cross-selling-editor/{index.js → index.d.ts} +1 -1
- package/es/common/components/cross-selling-editor/index.jsx +2 -0
- package/es/common/components/cross-selling-editor/override-trigger-form.d.ts +10 -0
- package/es/common/components/cross-selling-editor/override-trigger-form.jsx +68 -0
- package/es/common/components/cross-selling-editor/override.d.ts +16 -0
- package/es/common/components/cross-selling-editor/override.jsx +102 -0
- package/es/common/components/cross-selling-editor/overrides-list.d.ts +13 -0
- package/es/common/components/cross-selling-editor/overrides-list.jsx +74 -0
- package/es/common/components/cross-selling-editor/rule.d.ts +13 -0
- package/es/common/components/cross-selling-editor/rule.jsx +55 -0
- package/es/common/components/cross-selling-editor/rules.d.ts +11 -0
- package/es/common/components/cross-selling-editor/rules.jsx +53 -0
- package/es/common/components/cross-selling-editor/services/api.d.ts +2 -0
- package/es/common/components/cross-selling-editor/services/api.js +27 -27
- package/es/common/components/cross-selling-editor/services/utils.d.ts +61 -0
- package/es/common/components/cross-selling-editor/services/utils.js +177 -175
- package/es/common/components/cross-selling-editor/tester-tunnel-offer.d.ts +13 -0
- package/es/common/components/cross-selling-editor/tester-tunnel-offer.jsx +26 -0
- package/es/common/components/cross-selling-editor/tester.d.ts +10 -0
- package/es/common/components/cross-selling-editor/tester.jsx +134 -0
- package/es/common/components/cross-selling-editor/types.d.ts +29 -0
- package/es/common/components/cross-selling-editor/types.js +1 -1
- package/es/common/components/custom-contact-form/attachment.d.ts +9 -0
- package/es/common/components/custom-contact-form/attachment.js +131 -201
- package/es/common/components/custom-contact-form/custom-contact-form.d.ts +24 -0
- package/es/common/components/custom-contact-form/custom-contact-form.jsx +121 -0
- package/es/common/components/custom-contact-form/field.d.ts +10 -0
- package/es/common/components/custom-contact-form/field.js +115 -218
- package/es/common/components/custom-contact-form/icons.d.ts +5 -0
- package/es/common/components/custom-contact-form/icons.js +35 -50
- package/es/common/components/custom-contact-form/index.d.ts +2 -0
- package/es/common/components/custom-contact-form/index.js +1 -1
- package/es/common/components/custom-contact-form/messages.d.ts +1 -0
- package/es/common/components/custom-contact-form/messages.js +78 -77
- package/es/common/components/custom-contact-form/utils.d.ts +29 -0
- package/es/common/components/custom-contact-form/utils.js +101 -124
- package/es/common/components/date-picker/calendar.d.ts +14 -0
- package/es/common/components/date-picker/calendar.js +172 -250
- package/es/common/components/date-picker/data.d.ts +86 -0
- package/es/common/components/date-picker/data.js +72 -78
- package/es/common/components/date-picker/date-item.d.ts +21 -0
- package/es/common/components/date-picker/date-item.js +123 -117
- package/es/common/components/date-picker/date-picker.d.ts +16 -0
- package/es/common/components/date-picker/date-picker.js +28 -56
- package/es/common/components/date-picker/helper.d.ts +9 -0
- package/es/common/components/date-picker/helper.js +37 -51
- package/es/common/components/date-picker/index.d.ts +3 -0
- package/es/common/components/date-picker/index.js +1 -1
- package/es/common/components/date-picker/messages.d.ts +1 -0
- package/es/common/components/date-picker/messages.js +47 -46
- package/es/common/components/date-picker/month.d.ts +20 -0
- package/es/common/components/date-picker/month.js +27 -72
- package/es/common/components/date-picker/utils.d.ts +24 -0
- package/es/common/components/date-picker/utils.js +104 -88
- package/es/common/components/editable-calendar/calendar-caption.d.ts +5 -0
- package/es/common/components/editable-calendar/calendar-caption.js +93 -144
- package/es/common/components/editable-calendar/calendar-date.d.ts +12 -0
- package/es/common/components/editable-calendar/calendar-date.js +64 -79
- package/es/common/components/editable-calendar/calendar-editor.d.ts +7 -0
- package/es/common/components/editable-calendar/calendar-editor.js +49 -83
- package/es/common/components/editable-calendar/calendar-header.d.ts +8 -0
- package/es/common/components/editable-calendar/calendar-header.js +13 -26
- package/es/common/components/editable-calendar/calendar.d.ts +6 -0
- package/es/common/components/editable-calendar/calendar.js +81 -115
- package/es/common/components/editable-calendar/data.d.ts +131 -0
- package/es/common/components/editable-calendar/data.js +95 -101
- package/es/common/components/editable-calendar/index.d.ts +1 -0
- package/es/common/components/editable-calendar/index.js +37 -49
- package/es/common/components/editable-calendar/utils.d.ts +18 -0
- package/es/common/components/editable-calendar/utils.js +58 -52
- package/es/common/components/editable-map/cluster.d.ts +4 -0
- package/es/common/components/editable-map/cluster.js +7 -12
- package/es/common/components/editable-map/edit-form.d.ts +7 -0
- package/es/common/components/editable-map/edit-form.js +43 -97
- package/es/common/components/editable-map/editable-map.d.ts +6 -0
- package/es/common/components/editable-map/editable-map.js +56 -111
- package/es/common/components/editable-map/full-screen-button.d.ts +6 -0
- package/es/common/components/editable-map/full-screen-button.js +61 -59
- package/es/common/components/editable-map/helper.d.ts +2 -0
- package/es/common/components/editable-map/helper.js +22 -23
- package/es/common/components/editable-map/icon-picker.d.ts +6 -0
- package/es/common/components/editable-map/icon-picker.js +41 -63
- package/es/common/components/editable-map/icons/esf-pralognan.d.ts +51 -0
- package/es/common/components/editable-map/icons/esf-pralognan.js +372 -1088
- package/es/common/components/editable-map/icons/esf.d.ts +39 -0
- package/es/common/components/editable-map/icons/esf.js +266 -758
- package/es/common/components/editable-map/icons/index.d.ts +6 -0
- package/es/common/components/editable-map/icons/index.js +1 -1
- package/es/common/components/editable-map/icons/lavovelo.d.ts +5 -0
- package/es/common/components/editable-map/icons/lavovelo.js +43 -84
- package/es/common/components/editable-map/icons/sata-huez.d.ts +29 -0
- package/es/common/components/editable-map/icons/sata-huez.js +169 -468
- package/es/common/components/editable-map/icons/sedev-vars.d.ts +29 -0
- package/es/common/components/editable-map/icons/sedev-vars.js +169 -468
- package/es/common/components/editable-map/icons/viarmonia.d.ts +3 -0
- package/es/common/components/editable-map/icons/viarmonia.js +26 -40
- package/es/common/components/editable-map/index.d.ts +4 -0
- package/es/common/components/editable-map/index.js +66 -74
- package/es/common/components/editable-map/map-events.d.ts +9 -0
- package/es/common/components/editable-map/map-events.js +33 -40
- package/es/common/components/editable-map/marker-list.d.ts +7 -0
- package/es/common/components/editable-map/marker-list.js +64 -87
- package/es/common/components/editable-map/markers.d.ts +6 -0
- package/es/common/components/editable-map/markers.js +39 -88
- package/es/common/components/editable-map/popup-data.d.ts +4 -0
- package/es/common/components/editable-map/popup-data.js +14 -35
- package/es/common/components/editable-map/slopes-toggle.d.ts +5 -0
- package/es/common/components/editable-map/slopes-toggle.js +9 -18
- package/es/common/components/error-404/error-404.d.ts +6 -0
- package/es/common/components/error-404/error-404.js +22 -42
- package/es/common/components/error-404/index.d.ts +2 -0
- package/es/common/components/error-404/index.js +1 -1
- package/es/common/components/error-404/messages.d.ts +1 -0
- package/es/common/components/error-404/messages.js +14 -13
- package/es/common/components/faq.d.ts +6 -0
- package/es/common/components/faq.js +45 -49
- package/es/common/components/gesco-contact-form/gesco-contact-form.d.ts +18 -0
- package/es/common/components/gesco-contact-form/gesco-contact-form.jsx +152 -0
- package/es/common/components/gesco-contact-form/hooks/use-params.d.ts +14 -0
- package/es/common/components/gesco-contact-form/hooks/use-params.js +30 -36
- package/es/common/components/gesco-contact-form/index.d.ts +2 -0
- package/es/common/components/gesco-contact-form/index.js +1 -1
- package/es/common/components/gesco-contact-form/phone-code-select.d.ts +7 -0
- package/es/common/components/gesco-contact-form/phone-code-select.jsx +61 -0
- package/es/common/components/gesco-contact-form/services/api.d.ts +29 -0
- package/es/common/components/gesco-contact-form/services/api.js +23 -9
- package/es/common/components/gesco-contact-form/services/form.d.ts +30 -0
- package/es/common/components/gesco-contact-form/services/form.js +25 -39
- package/es/common/components/gesco-contact-form/services/messages.d.ts +33 -0
- package/es/common/components/gesco-contact-form/services/messages.js +65 -68
- package/es/common/components/gesco-contact-form/services/plausible.d.ts +2 -0
- package/es/common/components/gesco-contact-form/services/plausible.js +10 -8
- package/es/common/components/gesco-contact-form/types.d.ts +33 -0
- package/es/common/components/gesco-contact-form/types.js +1 -1
- package/es/common/components/info-buttons.d.ts +7 -0
- package/es/common/components/info-buttons.js +91 -95
- package/es/common/components/information/index.d.ts +2 -0
- package/es/common/components/information/index.js +1 -1
- package/es/common/components/information/information.d.ts +6 -0
- package/es/common/components/information/information.jsx +49 -0
- package/es/common/components/instant-search/hooks/use-constant.d.ts +1 -0
- package/es/common/components/instant-search/hooks/use-constant.js +6 -8
- package/es/common/components/instant-search/hooks/use-debounced-search.d.ts +6 -0
- package/es/common/components/instant-search/hooks/use-debounced-search.js +14 -14
- package/es/common/components/instant-search/hooks/use-search.d.ts +15 -0
- package/es/common/components/instant-search/hooks/use-search.js +15 -10
- package/es/common/components/instant-search/{index.js → index.d.ts} +1 -1
- package/es/common/components/instant-search/index.jsx +2 -0
- package/es/common/components/instant-search/input.d.ts +15 -0
- package/es/common/components/instant-search/input.jsx +64 -0
- package/es/common/components/instant-search/instant-search.d.ts +19 -0
- package/es/common/components/instant-search/instant-search.jsx +98 -0
- package/es/common/components/instant-search/links.d.ts +12 -0
- package/es/common/components/instant-search/links.jsx +45 -0
- package/es/common/components/instant-search/no-product.d.ts +6 -0
- package/es/common/components/instant-search/no-product.jsx +19 -0
- package/es/common/components/instant-search/products.d.ts +13 -0
- package/es/common/components/instant-search/products.jsx +67 -0
- package/es/common/components/instant-search/results.d.ts +76 -0
- package/es/common/components/instant-search/results.jsx +68 -0
- package/es/common/components/instant-search/services/api.d.ts +1 -0
- package/es/common/components/instant-search/services/api.js +10 -12
- package/es/common/components/instant-search/services/dates.d.ts +1 -0
- package/es/common/components/instant-search/services/dates.js +41 -36
- package/es/common/components/instant-search/services/messages.d.ts +1 -0
- package/es/common/components/instant-search/services/messages.js +3 -3
- package/es/common/components/instant-search/services/utils.d.ts +3 -0
- package/es/common/components/instant-search/services/utils.js +35 -34
- package/es/common/components/msem-preset-editor/components/facet-selector.d.ts +6 -0
- package/es/common/components/msem-preset-editor/components/facet-selector.jsx +20 -0
- package/es/common/components/msem-preset-editor/components/form.d.ts +8 -0
- package/es/common/components/msem-preset-editor/components/form.jsx +28 -0
- package/es/common/components/msem-preset-editor/components/stay-picker.d.ts +14 -0
- package/es/common/components/msem-preset-editor/components/stay-picker.jsx +38 -0
- package/es/common/components/msem-preset-editor/components/widget-list-item.d.ts +11 -0
- package/es/common/components/msem-preset-editor/components/widget-list-item.jsx +97 -0
- package/es/common/components/msem-preset-editor/components/widget-list.d.ts +16 -0
- package/es/common/components/msem-preset-editor/components/widget-list.jsx +46 -0
- package/es/common/components/msem-preset-editor/editor-dialog.d.ts +29 -0
- package/es/common/components/msem-preset-editor/editor-dialog.jsx +45 -0
- package/es/common/components/msem-preset-editor/editors/elloha.d.ts +14 -0
- package/es/common/components/msem-preset-editor/editors/elloha.jsx +95 -0
- package/es/common/components/msem-preset-editor/editors/index.d.ts +15 -0
- package/es/common/components/msem-preset-editor/editors/{index.js → index.jsx} +7 -7
- package/es/common/components/msem-preset-editor/editors/lodgings.d.ts +16 -0
- package/es/common/components/msem-preset-editor/editors/lodgings.jsx +235 -0
- package/es/common/components/msem-preset-editor/editors/ski-passes-jb.d.ts +15 -0
- package/es/common/components/msem-preset-editor/editors/ski-passes-jb.jsx +89 -0
- package/es/common/components/msem-preset-editor/editors/ski-passes.d.ts +15 -0
- package/es/common/components/msem-preset-editor/editors/ski-passes.jsx +215 -0
- package/es/common/components/msem-preset-editor/editors/standard-products.d.ts +15 -0
- package/es/common/components/msem-preset-editor/editors/standard-products.jsx +70 -0
- package/es/common/components/msem-preset-editor/editors/vakario.d.ts +14 -0
- package/es/common/components/msem-preset-editor/editors/vakario.jsx +177 -0
- package/es/common/components/msem-preset-editor/index.d.ts +2 -0
- package/es/common/components/msem-preset-editor/index.js +1 -1
- package/es/common/components/msem-preset-editor/msem-preset-editor.d.ts +27 -0
- package/es/common/components/msem-preset-editor/msem-preset-editor.jsx +176 -0
- package/es/common/components/msem-preset-editor/services/api.d.ts +14 -0
- package/es/common/components/msem-preset-editor/services/api.js +90 -82
- package/es/common/components/msem-preset-editor/services/offers.d.ts +22 -0
- package/es/common/components/msem-preset-editor/services/offers.js +68 -77
- package/es/common/components/msem-preset-editor/services/preset.d.ts +31 -0
- package/es/common/components/msem-preset-editor/services/preset.js +18 -26
- package/es/common/components/msem-preset-editor/services/url-params.d.ts +2 -0
- package/es/common/components/msem-preset-editor/services/url-params.js +24 -24
- package/es/common/components/msem-preset-linker/components/actions.d.ts +11 -0
- package/es/common/components/msem-preset-linker/components/actions.jsx +60 -0
- package/es/common/components/msem-preset-linker/components/overlays.d.ts +8 -0
- package/es/common/components/msem-preset-linker/components/overlays.jsx +59 -0
- package/es/common/components/msem-preset-linker/components/resort-selector.d.ts +6 -0
- package/es/common/components/msem-preset-linker/components/resort-selector.jsx +12 -0
- package/es/common/components/msem-preset-linker/hooks/use-msem-presets.d.ts +4 -0
- package/es/common/components/msem-preset-linker/hooks/use-msem-presets.js +32 -48
- package/es/common/components/msem-preset-linker/{index.js → index.d.ts} +1 -1
- package/es/common/components/msem-preset-linker/index.jsx +2 -0
- package/es/common/components/msem-preset-linker/msem-preset-linker.d.ts +29 -0
- package/es/common/components/msem-preset-linker/msem-preset-linker.jsx +56 -0
- package/es/common/components/msem-preset-linker/services/url-params.d.ts +1 -0
- package/es/common/components/msem-preset-linker/services/url-params.js +13 -10
- package/es/common/components/packages-selector/index.d.ts +7 -0
- package/es/common/components/packages-selector/index.js +41 -49
- package/es/common/components/plausible/hooks/use-plausible.d.ts +11 -0
- package/es/common/components/plausible/hooks/use-plausible.js +18 -22
- package/es/common/components/plausible/index.d.ts +7 -0
- package/es/common/components/plausible/index.js +1 -1
- package/es/common/components/plausible/plausible.d.ts +7 -0
- package/es/common/components/plausible/plausible.jsx +17 -0
- package/es/common/components/plausible/services/callback.d.ts +23 -0
- package/es/common/components/plausible/services/callback.js +123 -186
- package/es/common/components/plausible/services/load.d.ts +1 -0
- package/es/common/components/plausible/services/load.js +6 -4
- package/es/common/components/plausible/services/send-goal.d.ts +6 -0
- package/es/common/components/plausible/services/send-goal.js +3 -6
- package/es/common/components/popup.d.ts +6 -0
- package/es/common/components/popup.js +51 -80
- package/es/common/components/scroll-spy.d.ts +13 -0
- package/es/common/components/scroll-spy.jsx +56 -0
- package/es/common/components/scrolling-carousel/{index.js → index.d.ts} +1 -1
- package/es/common/components/scrolling-carousel/index.jsx +2 -0
- package/es/common/components/scrolling-carousel/scrolling-carousel.d.ts +7 -0
- package/es/common/components/scrolling-carousel/scrolling-carousel.jsx +78 -0
- package/es/common/components/search-bar/hooks/use-constant.d.ts +1 -0
- package/es/common/components/search-bar/hooks/use-constant.js +6 -8
- package/es/common/components/search-bar/hooks/use-debounced-search.d.ts +6 -0
- package/es/common/components/search-bar/hooks/use-debounced-search.js +14 -14
- package/es/common/components/search-bar/hooks/use-search.d.ts +11 -0
- package/es/common/components/search-bar/hooks/use-search.js +14 -11
- package/es/common/components/search-bar/index.d.ts +2 -0
- package/es/common/components/search-bar/index.js +1 -1
- package/es/common/components/search-bar/messages.d.ts +14 -0
- package/es/common/components/search-bar/messages.js +16 -16
- package/es/common/components/search-bar/search-bar.d.ts +12 -0
- package/es/common/components/search-bar/search-bar.js +147 -204
- package/es/common/components/search-bar/utils/fetcher.d.ts +1 -0
- package/es/common/components/search-bar/utils/fetcher.js +16 -13
- package/es/common/components/search-bar/utils/keyboard-keys.d.ts +5 -0
- package/es/common/components/search-bar/utils/keyboard-keys.js +1 -1
- package/es/common/components/search-bar/utils/params.d.ts +1 -0
- package/es/common/components/search-bar/utils/params.js +11 -8
- package/es/common/components/tabbed-zones.d.ts +12 -0
- package/es/common/components/tabbed-zones.jsx +68 -0
- package/es/common/components/video-player/controls.d.ts +16 -0
- package/es/common/components/video-player/controls.js +71 -114
- package/es/common/components/video-player/icons.d.ts +7 -0
- package/es/common/components/video-player/icons.js +35 -48
- package/es/common/components/video-player/index.d.ts +1 -0
- package/es/common/components/video-player/index.js +1 -1
- package/es/common/components/video-player/utils.d.ts +4 -0
- package/es/common/components/video-player/utils.js +42 -34
- package/es/common/components/video-player/video-player.d.ts +9 -0
- package/es/common/components/video-player/video-player.js +77 -101
- package/es/common/hooks/use-account.d.ts +6 -0
- package/es/common/hooks/use-account.js +33 -25
- package/es/common/hooks/use-faq.d.ts +2 -0
- package/es/common/hooks/use-faq.js +36 -37
- package/es/common/hooks/use-in-view.d.ts +4 -0
- package/es/common/hooks/use-in-view.js +74 -74
- package/es/common/hooks/use-injected-cms-markup.d.ts +2 -0
- package/es/common/hooks/use-injected-cms-markup.js +46 -39
- package/es/common/hooks/use-packages.d.ts +2 -0
- package/es/common/hooks/use-packages.js +98 -97
- package/es/common/hooks/use-scroll-direction.d.ts +10 -0
- package/es/common/hooks/use-scroll-direction.js +32 -37
- package/es/common/hooks/use-stay.d.ts +3 -0
- package/es/common/hooks/use-stay.js +13 -16
- package/es/common/hooks/use-sticky.d.ts +3 -0
- package/es/common/hooks/use-sticky.js +35 -35
- package/es/common/hooks/use-tunnel.d.ts +10 -0
- package/es/common/hooks/use-tunnel.js +56 -51
- package/es/common/hooks/use-update-effect.d.ts +1 -0
- package/es/common/hooks/use-update-effect.js +9 -9
- package/es/common/hooks/use-window-sizes.d.ts +6 -0
- package/es/common/hooks/use-window-sizes.js +28 -29
- package/es/common/hooks/use-youtube-popup.d.ts +2 -0
- package/es/common/hooks/use-youtube-popup.js +46 -53
- package/es/common/hooks/use-zone-sync.d.ts +2 -0
- package/es/common/hooks/use-zone-sync.js +54 -52
- package/es/common/utils/cms.d.ts +3 -0
- package/es/common/utils/cms.js +32 -17
- package/es/common/utils/cookies.d.ts +1 -0
- package/es/common/utils/cookies.js +11 -10
- package/es/common/utils/copy.d.ts +1 -0
- package/es/common/utils/copy.js +11 -11
- package/es/common/utils/dates.d.ts +1 -0
- package/es/common/utils/dates.js +10 -8
- package/es/common/utils/elements.d.ts +4 -0
- package/es/common/utils/elements.js +16 -14
- package/es/common/utils/events.d.ts +3 -0
- package/es/common/utils/events.js +19 -4
- package/es/common/utils/fetcher.d.ts +4 -0
- package/es/common/utils/fetcher.js +48 -28
- package/es/common/utils/file-manager.d.ts +12 -0
- package/es/common/utils/file-manager.js +20 -13
- package/es/common/utils/load-js.d.ts +2 -0
- package/es/common/utils/load-js.js +11 -10
- package/es/common/utils/msem-widget.d.ts +16 -0
- package/es/common/utils/msem-widget.jsx +49 -0
- package/es/common/utils/scrollbar-size.d.ts +1 -0
- package/es/common/utils/scrollbar-size.js +1 -1
- package/es/common/utils/touch-device.d.ts +1 -0
- package/es/common/utils/touch-device.js +3 -1
- package/es/common/utils/url-parameters.d.ts +1 -0
- package/es/common/utils/url-parameters.js +7 -11
- package/es/esf/components/account-button/account-button.d.ts +14 -0
- package/es/esf/components/account-button/account-button.jsx +16 -0
- package/es/esf/components/account-button/index.d.ts +2 -0
- package/es/esf/components/account-button/index.js +1 -1
- package/es/esf/components/booking-form/booking-form.d.ts +3 -0
- package/es/esf/components/booking-form/booking-form.js +31 -65
- package/es/esf/components/booking-form/data.d.ts +334 -0
- package/es/esf/components/booking-form/data.js +212 -206
- package/es/esf/components/booking-form/field.d.ts +10 -0
- package/es/esf/components/booking-form/field.js +79 -102
- package/es/esf/components/booking-form/hooks/use-custom-fields.d.ts +2 -0
- package/es/esf/components/booking-form/hooks/use-custom-fields.js +17 -23
- package/es/esf/components/booking-form/hooks/use-stay.d.ts +2 -0
- package/es/esf/components/booking-form/hooks/use-stay.js +9 -9
- package/es/esf/components/booking-form/index.d.ts +2 -0
- package/es/esf/components/booking-form/index.js +1 -1
- package/es/esf/components/booking-form/lesson.d.ts +9 -0
- package/es/esf/components/booking-form/lesson.js +31 -48
- package/es/esf/components/booking-form/lessons.d.ts +12 -0
- package/es/esf/components/booking-form/lessons.js +51 -77
- package/es/esf/components/booking-form/messages.d.ts +1 -0
- package/es/esf/components/booking-form/messages.js +51 -50
- package/es/esf/components/booking-form/personal-data.d.ts +10 -0
- package/es/esf/components/booking-form/personal-data.js +31 -55
- package/es/esf/components/booking-form/progress-bar.d.ts +6 -0
- package/es/esf/components/booking-form/progress-bar.js +16 -29
- package/es/esf/components/booking-form/steps.d.ts +14 -0
- package/es/esf/components/booking-form/steps.js +38 -70
- package/es/esf/components/booking-form/summary.d.ts +11 -0
- package/es/esf/components/booking-form/summary.js +101 -131
- package/es/esf/components/booking-form/utils.d.ts +5 -0
- package/es/esf/components/booking-form/utils.js +53 -58
- package/es/esf/components/covid-link/index.d.ts +2 -0
- package/es/esf/components/covid-link/index.js +133 -2
- package/es/esf/components/covid-link/mask-icon.d.ts +3 -0
- package/es/esf/components/covid-link/mask-icon.js +5 -15
- package/es/esf/components/covid-link/vax-pass-icon.d.ts +3 -0
- package/es/esf/components/covid-link/vax-pass-icon.js +13 -32
- package/es/esf/components/cp-form.d.ts +14 -0
- package/es/esf/components/cp-form.js +58 -57
- package/es/esf/components/instructors-book/api.d.ts +3 -0
- package/es/esf/components/instructors-book/api.js +66 -57
- package/es/esf/components/instructors-book/book.d.ts +5 -0
- package/es/esf/components/instructors-book/book.js +66 -75
- package/es/esf/components/instructors-book/filters.d.ts +9 -0
- package/es/esf/components/instructors-book/filters.js +23 -56
- package/es/esf/components/instructors-book/flags.d.ts +34 -0
- package/es/esf/components/instructors-book/flags.js +108 -246
- package/es/esf/components/instructors-book/index.d.ts +6 -0
- package/es/esf/components/instructors-book/index.js +1 -1
- package/es/esf/components/instructors-book/instructor.d.ts +8 -0
- package/es/esf/components/instructors-book/instructor.js +64 -103
- package/es/esf/components/instructors-book/list.d.ts +10 -0
- package/es/esf/components/instructors-book/list.js +21 -40
- package/es/esf/components/instructors-book/messages.d.ts +1 -0
- package/es/esf/components/instructors-book/messages.js +38 -38
- package/es/esf/components/instructors-book/prefixes.d.ts +5 -0
- package/es/esf/components/instructors-book/prefixes.js +3 -3
- package/es/esf/components/instructors-book/sheet.d.ts +8 -0
- package/es/esf/components/instructors-book/sheet.js +93 -159
- package/es/esf/components/instructors-book/suggestions.d.ts +7 -0
- package/es/esf/components/instructors-book/suggestions.js +43 -51
- package/es/esf/components/instructors-book/utils.d.ts +13 -0
- package/es/esf/components/instructors-book/utils.js +42 -39
- package/es/esf/components/levels/detail.d.ts +5 -0
- package/es/esf/components/levels/detail.js +14 -34
- package/es/esf/components/levels/index.d.ts +2 -0
- package/es/esf/components/levels/index.js +1 -1
- package/es/esf/components/levels/levels.d.ts +5 -0
- package/es/esf/components/levels/levels.js +239 -325
- package/es/esf/components/loyal-customers/api.d.ts +4 -0
- package/es/esf/components/loyal-customers/api.js +25 -20
- package/es/esf/components/loyal-customers/components/bin-icon.d.ts +3 -0
- package/es/esf/components/loyal-customers/components/bin-icon.js +9 -25
- package/es/esf/components/loyal-customers/components/customer-form.d.ts +18 -0
- package/es/esf/components/loyal-customers/components/customer-form.js +54 -89
- package/es/esf/components/loyal-customers/components/field.d.ts +9 -0
- package/es/esf/components/loyal-customers/components/field.js +67 -91
- package/es/esf/components/loyal-customers/components/row.d.ts +10 -0
- package/es/esf/components/loyal-customers/components/row.js +31 -66
- package/es/esf/components/loyal-customers/components/rows.d.ts +9 -0
- package/es/esf/components/loyal-customers/components/rows.js +14 -30
- package/es/esf/components/loyal-customers/components/stay.d.ts +5 -0
- package/es/esf/components/loyal-customers/components/stay.js +24 -30
- package/es/esf/components/loyal-customers/components/student-form.d.ts +10 -0
- package/es/esf/components/loyal-customers/components/student-form.js +59 -106
- package/es/esf/components/loyal-customers/components/voucher.d.ts +7 -0
- package/es/esf/components/loyal-customers/components/voucher.js +5 -19
- package/es/esf/components/loyal-customers/content.d.ts +17 -0
- package/es/esf/components/loyal-customers/content.js +43 -46
- package/es/esf/components/loyal-customers/data.d.ts +166 -0
- package/es/esf/components/loyal-customers/data.js +62 -113
- package/es/esf/components/loyal-customers/hooks/use-stored-rows.d.ts +3 -0
- package/es/esf/components/loyal-customers/hooks/use-stored-rows.js +9 -8
- package/es/esf/components/loyal-customers/index.d.ts +2 -0
- package/es/esf/components/loyal-customers/index.js +1 -1
- package/es/esf/components/loyal-customers/loyal-customers.d.ts +17 -0
- package/es/esf/components/loyal-customers/loyal-customers.js +62 -120
- package/es/esf/components/loyal-customers/messages.d.ts +1 -0
- package/es/esf/components/loyal-customers/messages.js +57 -56
- package/es/esf/components/loyal-customers/utils.d.ts +20 -0
- package/es/esf/components/loyal-customers/utils.js +42 -67
- package/es/esf/components/magic-box/booking.d.ts +11 -0
- package/es/esf/components/magic-box/booking.js +97 -90
- package/es/esf/components/magic-box/filter.d.ts +8 -0
- package/es/esf/components/magic-box/filter.js +16 -38
- package/es/esf/components/magic-box/filters.d.ts +7 -0
- package/es/esf/components/magic-box/filters.js +7 -18
- package/es/esf/components/magic-box/index.d.ts +2 -0
- package/es/esf/components/magic-box/index.js +1 -1
- package/es/esf/components/magic-box/magic-box.d.ts +27 -0
- package/es/esf/components/magic-box/magic-box.jsx +142 -0
- package/es/esf/components/magic-box/messages.d.ts +1 -0
- package/es/esf/components/magic-box/messages.js +27 -26
- package/es/esf/components/magic-box/services/api.d.ts +18 -0
- package/es/esf/components/magic-box/services/api.js +39 -48
- package/es/esf/components/magic-box/services/widgets.d.ts +1 -0
- package/es/esf/components/magic-box/services/widgets.js +15 -3
- package/es/esf/components/parcours-esf/index.d.ts +2 -0
- package/es/esf/components/parcours-esf/index.js +1 -1
- package/es/esf/components/parcours-esf/parcours-esf.d.ts +14 -0
- package/es/esf/components/parcours-esf/parcours-esf.jsx +42 -0
- package/es/esf/components/period-picker/controls.d.ts +5 -0
- package/es/esf/components/period-picker/controls.js +22 -38
- package/es/esf/components/period-picker/date-display.d.ts +4 -0
- package/es/esf/components/period-picker/date-display.js +40 -59
- package/es/esf/components/period-picker/days.d.ts +3 -0
- package/es/esf/components/period-picker/days.js +68 -102
- package/es/esf/components/period-picker/extended-stay-picker.d.ts +12 -0
- package/es/esf/components/period-picker/extended-stay-picker.js +23 -48
- package/es/esf/components/period-picker/index.d.ts +2 -0
- package/es/esf/components/period-picker/index.js +1 -1
- package/es/esf/components/period-picker/messages.d.ts +1 -0
- package/es/esf/components/period-picker/messages.js +87 -87
- package/es/esf/components/period-picker/period-picker.d.ts +8 -0
- package/es/esf/components/period-picker/period-picker.js +125 -183
- package/es/esf/components/period-picker/popup.d.ts +7 -0
- package/es/esf/components/period-picker/popup.js +16 -33
- package/es/esf/components/period-picker/services/dates.d.ts +15 -0
- package/es/esf/components/period-picker/services/dates.js +70 -68
- package/es/esf/components/period-picker/services/events.d.ts +1 -0
- package/es/esf/components/period-picker/services/events.js +3 -6
- package/es/esf/components/period-picker/services/motions.d.ts +50 -0
- package/es/esf/components/period-picker/services/motions.js +8 -33
- package/es/esf/components/period-picker/services/sections.d.ts +2 -0
- package/es/esf/components/period-picker/services/sections.js +39 -31
- package/es/esf/components/period-picker/services/stay.d.ts +2 -0
- package/es/esf/components/period-picker/services/stay.js +20 -21
- package/es/esf/components/period-picker/title.d.ts +5 -0
- package/es/esf/components/period-picker/title.js +9 -22
- package/es/esf/components/period-picker/warning.d.ts +8 -0
- package/es/esf/components/period-picker/warning.js +24 -43
- package/es/esf/components/period-picker/weeks.d.ts +3 -0
- package/es/esf/components/period-picker/weeks.js +98 -137
- package/es/esf/components/reviews.d.ts +7 -0
- package/es/esf/components/reviews.js +27 -25
- package/es/esf/components/village-maps/icons.d.ts +6 -0
- package/es/esf/components/village-maps/icons.js +32 -38
- package/es/esf/components/village-maps/index.d.ts +8 -0
- package/es/esf/components/village-maps/index.js +100 -193
- package/es/esf/components/village-maps/messages.d.ts +2 -0
- package/es/esf/components/village-maps/messages.js +13 -13
- package/es/esf/components/village-maps/utils.d.ts +4 -0
- package/es/esf/components/village-maps/utils.js +20 -19
- package/es/esf/components/week-picker/index.d.ts +14 -0
- package/es/esf/components/week-picker/index.js +182 -222
- package/es/esf/components/week-picker/messages.d.ts +27 -0
- package/es/esf/components/week-picker/messages.js +31 -30
- package/es/esf/components/week-picker/utils.d.ts +5 -0
- package/es/esf/components/week-picker/utils.js +52 -47
- package/es/esf/components/week-picker/week.d.ts +10 -0
- package/es/esf/components/week-picker/week.js +31 -46
- package/es/esf/components/week-picker-2/index.d.ts +14 -0
- package/es/esf/components/week-picker-2/index.js +207 -259
- package/es/esf/components/week-picker-2/messages.d.ts +31 -0
- package/es/esf/components/week-picker-2/messages.js +29 -29
- package/es/esf/components/week-picker-2/utils.d.ts +5 -0
- package/es/esf/components/week-picker-2/utils.js +52 -47
- package/es/esf/components/week-picker-2/week.d.ts +10 -0
- package/es/esf/components/week-picker-2/week.js +32 -49
- package/es/esf/hooks/use-affiliation.d.ts +1 -0
- package/es/esf/hooks/use-affiliation.js +12 -16
- package/es/esf/hooks/use-booking-links.d.ts +1 -0
- package/es/esf/hooks/use-booking-links.js +52 -34
- package/es/esf/hooks/use-reviews.d.ts +2 -0
- package/es/esf/hooks/use-reviews.js +27 -22
- package/es/esf/hooks/use-season-products.d.ts +1 -0
- package/es/esf/hooks/use-season-products.js +83 -79
- package/es/future/components/msem/index.d.ts +3 -0
- package/es/future/components/msem/index.js +1 -1
- package/es/future/components/msem/script.d.ts +6 -0
- package/es/future/components/msem/script.jsx +7 -0
- package/es/future/components/msem/tunnel.d.ts +41 -0
- package/es/future/components/msem/tunnel.jsx +18 -0
- package/es/future/components/msem/types.d.ts +15 -0
- package/es/future/components/msem/types.js +1 -1
- package/es/future/components/msem/utils.d.ts +3 -0
- package/es/future/components/msem/utils.js +19 -16
- package/es/future/components/plausible/hooks/use-plausible.d.ts +11 -0
- package/es/future/components/plausible/hooks/use-plausible.js +18 -22
- package/es/future/components/plausible/index.d.ts +7 -0
- package/es/future/components/plausible/index.js +1 -1
- package/es/future/components/plausible/plausible.d.ts +7 -0
- package/es/future/components/plausible/plausible.jsx +17 -0
- package/es/future/components/plausible/services/callback.d.ts +23 -0
- package/es/future/components/plausible/services/callback.js +123 -186
- package/es/future/components/plausible/services/load.d.ts +1 -0
- package/es/future/components/plausible/services/load.js +6 -4
- package/es/future/components/plausible/services/send-goal.d.ts +6 -0
- package/es/future/components/plausible/services/send-goal.js +3 -6
- package/es/lbm/components/lumiplan/api.d.ts +8 -0
- package/es/lbm/components/lumiplan/api.js +60 -54
- package/es/lbm/components/lumiplan/domain.d.ts +7 -0
- package/es/lbm/components/lumiplan/domain.jsx +74 -0
- package/es/lbm/components/lumiplan/header.d.ts +8 -0
- package/es/lbm/components/lumiplan/header.jsx +25 -0
- package/es/lbm/components/lumiplan/i18n/translations.d.ts +7 -0
- package/es/lbm/components/lumiplan/i18n/translations.jsx +20 -0
- package/es/lbm/components/lumiplan/icons/alert.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/alert.js +6 -21
- package/es/lbm/components/lumiplan/icons/avalanche-risk.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/avalanche-risk.js +5 -14
- package/es/lbm/components/lumiplan/icons/cabin.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/cabin.js +5 -14
- package/es/lbm/components/lumiplan/icons/check.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/check.js +5 -16
- package/es/lbm/components/lumiplan/icons/close.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/close.js +6 -21
- package/es/lbm/components/lumiplan/icons/cloud.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/cloud.js +6 -20
- package/es/lbm/components/lumiplan/icons/dawn.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/dawn.js +6 -19
- package/es/lbm/components/lumiplan/icons/fog.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/fog.js +7 -23
- package/es/lbm/components/lumiplan/icons/heavy-snow.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/heavy-snow.js +10 -32
- package/es/lbm/components/lumiplan/icons/information.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/information.js +6 -21
- package/es/lbm/components/lumiplan/icons/isothermal.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/isothermal.js +10 -25
- package/es/lbm/components/lumiplan/icons/lifts/index.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/lifts/index.js +1 -1
- package/es/lbm/components/lumiplan/icons/lifts/tapis-roulant.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/lifts/tapis-roulant.js +5 -16
- package/es/lbm/components/lumiplan/icons/lifts/telecabine.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/lifts/telecabine.js +5 -16
- package/es/lbm/components/lumiplan/icons/lifts/telesiege-debrayable.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/lifts/telesiege-debrayable.js +8 -27
- package/es/lbm/components/lumiplan/icons/lifts/telesiege.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/lifts/telesiege.js +5 -16
- package/es/lbm/components/lumiplan/icons/lifts/teleski.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/lifts/teleski.js +5 -16
- package/es/lbm/components/lumiplan/icons/link.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/link.js +6 -17
- package/es/lbm/components/lumiplan/icons/night.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/night.js +5 -14
- package/es/lbm/components/lumiplan/icons/rain.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/rain.js +10 -24
- package/es/lbm/components/lumiplan/icons/rainy-rainy.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/rainy-rainy.js +6 -20
- package/es/lbm/components/lumiplan/icons/rainy.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/rainy.js +6 -20
- package/es/lbm/components/lumiplan/icons/reload.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/reload.js +13 -30
- package/es/lbm/components/lumiplan/icons/road-condition.d.ts +7 -0
- package/es/lbm/components/lumiplan/icons/road-condition.js +10 -28
- package/es/lbm/components/lumiplan/icons/slopes.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/slopes.js +5 -14
- package/es/lbm/components/lumiplan/icons/snow-cover.d.ts +7 -0
- package/es/lbm/components/lumiplan/icons/snow-cover.js +5 -16
- package/es/lbm/components/lumiplan/icons/snow.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/snow.js +8 -26
- package/es/lbm/components/lumiplan/icons/storm.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/storm.js +5 -15
- package/es/lbm/components/lumiplan/icons/sun.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/sun.js +5 -16
- package/es/lbm/components/lumiplan/icons/sunny.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/sunny.js +7 -23
- package/es/lbm/components/lumiplan/icons/time.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/time.js +6 -21
- package/es/lbm/components/lumiplan/icons/trails/accrobranche.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/accrobranche.js +6 -17
- package/es/lbm/components/lumiplan/icons/trails/boarder-cross.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/boarder-cross.js +7 -21
- package/es/lbm/components/lumiplan/icons/trails/champ-de-bosse.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/champ-de-bosse.js +6 -19
- package/es/lbm/components/lumiplan/icons/trails/freeride.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/freeride.js +5 -16
- package/es/lbm/components/lumiplan/icons/trails/index.d.ts +16 -0
- package/es/lbm/components/lumiplan/icons/trails/index.js +1 -1
- package/es/lbm/components/lumiplan/icons/trails/luge-sur-rail.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/luge-sur-rail.js +6 -19
- package/es/lbm/components/lumiplan/icons/trails/luge.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/luge.js +5 -16
- package/es/lbm/components/lumiplan/icons/trails/pieton.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/pieton.js +5 -16
- package/es/lbm/components/lumiplan/icons/trails/piste-eclairee.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/piste-eclairee.js +6 -19
- package/es/lbm/components/lumiplan/icons/trails/raquette.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/raquette.js +17 -65
- package/es/lbm/components/lumiplan/icons/trails/ski-alpin.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/ski-alpin.js +5 -16
- package/es/lbm/components/lumiplan/icons/trails/ski-fond.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/ski-fond.js +5 -16
- package/es/lbm/components/lumiplan/icons/trails/snowpark.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/snowpark.js +5 -16
- package/es/lbm/components/lumiplan/icons/trails/snowtubing.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/snowtubing.js +7 -23
- package/es/lbm/components/lumiplan/icons/trails/tyrolienne.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/tyrolienne.js +5 -16
- package/es/lbm/components/lumiplan/icons/trails/vtt.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/vtt.js +6 -19
- package/es/lbm/components/lumiplan/icons/trails/zone-freeride.d.ts +5 -0
- package/es/lbm/components/lumiplan/icons/trails/zone-freeride.js +5 -16
- package/es/lbm/components/lumiplan/icons/variable-snow.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/variable-snow.js +9 -29
- package/es/lbm/components/lumiplan/icons/variable-storm.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/variable-storm.js +6 -22
- package/es/lbm/components/lumiplan/icons/variable.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/variable.js +6 -20
- package/es/lbm/components/lumiplan/icons/warning.d.ts +6 -0
- package/es/lbm/components/lumiplan/icons/warning.js +6 -21
- package/es/lbm/components/lumiplan/icons/wind.d.ts +7 -0
- package/es/lbm/components/lumiplan/icons/wind.js +13 -26
- package/es/lbm/components/lumiplan/index.d.ts +2 -0
- package/es/lbm/components/lumiplan/index.js +1 -1
- package/es/lbm/components/lumiplan/lumiplan.d.ts +2 -0
- package/es/lbm/components/lumiplan/lumiplan.jsx +179 -0
- package/es/lbm/components/lumiplan/opening.d.ts +8 -0
- package/es/lbm/components/lumiplan/opening.jsx +108 -0
- package/es/lbm/components/lumiplan/pois.d.ts +7 -0
- package/es/lbm/components/lumiplan/pois.jsx +233 -0
- package/es/lbm/components/lumiplan/print-button.d.ts +9 -0
- package/es/lbm/components/lumiplan/print-button.jsx +27 -0
- package/es/lbm/components/lumiplan/resort-selector.d.ts +12 -0
- package/es/lbm/components/lumiplan/resort-selector.jsx +47 -0
- package/es/lbm/components/lumiplan/road-condition.d.ts +7 -0
- package/es/lbm/components/lumiplan/road-condition.jsx +59 -0
- package/es/lbm/components/lumiplan/signature.d.ts +7 -0
- package/es/lbm/components/lumiplan/signature.jsx +12 -0
- package/es/lbm/components/lumiplan/todays-tips.d.ts +7 -0
- package/es/lbm/components/lumiplan/todays-tips.jsx +28 -0
- package/es/lbm/components/lumiplan/toolbar.d.ts +7 -0
- package/es/lbm/components/lumiplan/toolbar.jsx +15 -0
- package/es/lbm/components/lumiplan/types.d.ts +291 -0
- package/es/lbm/components/lumiplan/types.js +1 -1
- package/es/lbm/components/lumiplan/weather/avalanche-risk.d.ts +4 -0
- package/es/lbm/components/lumiplan/weather/avalanche-risk.jsx +22 -0
- package/es/lbm/components/lumiplan/weather/index.d.ts +2 -0
- package/es/lbm/components/lumiplan/weather/index.js +1 -1
- package/es/lbm/components/lumiplan/weather/snow-data.d.ts +8 -0
- package/es/lbm/components/lumiplan/weather/snow-data.jsx +44 -0
- package/es/lbm/components/lumiplan/weather/weather-data.d.ts +9 -0
- package/es/lbm/components/lumiplan/weather/weather-data.jsx +85 -0
- package/es/lbm/components/lumiplan/weather/weather-days.d.ts +7 -0
- package/es/lbm/components/lumiplan/weather/weather-days.jsx +60 -0
- package/es/lbm/components/lumiplan/weather/weather-icon.d.ts +68 -0
- package/es/lbm/components/lumiplan/weather/weather-icon.jsx +34 -0
- package/es/lbm/components/lumiplan/weather/weather-zones.d.ts +6 -0
- package/es/lbm/components/lumiplan/weather/weather-zones.jsx +56 -0
- package/es/lbm/components/lumiplan/weather/weather.d.ts +7 -0
- package/es/lbm/components/lumiplan/weather/weather.jsx +80 -0
- package/package.json +4 -13
- package/es/common/components/admin-links/admin-links.js +0 -102
- package/es/common/components/breadcrumb.js +0 -82
- package/es/common/components/collapsible/collapsible.js +0 -69
- package/es/common/components/cross-selling-editor/cross-selling-editor.js +0 -60
- package/es/common/components/cross-selling-editor/editor.js +0 -109
- package/es/common/components/cross-selling-editor/override-trigger-form.js +0 -166
- package/es/common/components/cross-selling-editor/override.js +0 -167
- package/es/common/components/cross-selling-editor/overrides-list.js +0 -131
- package/es/common/components/cross-selling-editor/rule.js +0 -105
- package/es/common/components/cross-selling-editor/rules.js +0 -86
- package/es/common/components/cross-selling-editor/tester-tunnel-offer.js +0 -65
- package/es/common/components/cross-selling-editor/tester.js +0 -197
- package/es/common/components/custom-contact-form/custom-contact-form.js +0 -164
- package/es/common/components/gesco-contact-form/gesco-contact-form.js +0 -262
- package/es/common/components/gesco-contact-form/phone-code-select.js +0 -81
- package/es/common/components/information/information.js +0 -58
- package/es/common/components/instant-search/input.js +0 -86
- package/es/common/components/instant-search/instant-search.js +0 -138
- package/es/common/components/instant-search/links.js +0 -81
- package/es/common/components/instant-search/no-product.js +0 -81
- package/es/common/components/instant-search/products.js +0 -129
- package/es/common/components/instant-search/results.js +0 -130
- package/es/common/components/msem-preset-editor/components/facet-selector.js +0 -40
- package/es/common/components/msem-preset-editor/components/form.js +0 -58
- package/es/common/components/msem-preset-editor/components/stay-picker.js +0 -74
- package/es/common/components/msem-preset-editor/components/widget-list-item.js +0 -137
- package/es/common/components/msem-preset-editor/components/widget-list.js +0 -59
- package/es/common/components/msem-preset-editor/editor-dialog.js +0 -74
- package/es/common/components/msem-preset-editor/editors/elloha.js +0 -113
- package/es/common/components/msem-preset-editor/editors/lodgings.js +0 -333
- package/es/common/components/msem-preset-editor/editors/ski-passes-jb.js +0 -130
- package/es/common/components/msem-preset-editor/editors/ski-passes.js +0 -285
- package/es/common/components/msem-preset-editor/editors/standard-products.js +0 -94
- package/es/common/components/msem-preset-editor/editors/vakario.js +0 -252
- package/es/common/components/msem-preset-editor/msem-preset-editor.js +0 -251
- package/es/common/components/msem-preset-linker/components/actions.js +0 -57
- package/es/common/components/msem-preset-linker/components/overlays.js +0 -68
- package/es/common/components/msem-preset-linker/components/resort-selector.js +0 -22
- package/es/common/components/msem-preset-linker/msem-preset-linker.js +0 -84
- package/es/common/components/plausible/plausible.js +0 -26
- package/es/common/components/scroll-spy.js +0 -59
- package/es/common/components/scrolling-carousel/scrolling-carousel.js +0 -105
- package/es/common/components/tabbed-zones.js +0 -103
- package/es/common/utils/msem-widget.js +0 -45
- package/es/esf/components/account-button/account-button.js +0 -40
- package/es/esf/components/magic-box/magic-box.js +0 -186
- package/es/esf/components/parcours-esf/parcours-esf.js +0 -52
- package/es/future/components/msem/script.js +0 -14
- package/es/future/components/msem/tunnel.js +0 -34
- package/es/future/components/plausible/plausible.js +0 -26
- package/es/lbm/components/lumiplan/domain.js +0 -118
- package/es/lbm/components/lumiplan/header.js +0 -39
- package/es/lbm/components/lumiplan/i18n/translations.js +0 -29
- package/es/lbm/components/lumiplan/lumiplan.js +0 -189
- package/es/lbm/components/lumiplan/opening.js +0 -147
- package/es/lbm/components/lumiplan/pois.js +0 -299
- package/es/lbm/components/lumiplan/print-button.js +0 -29
- package/es/lbm/components/lumiplan/resort-selector.js +0 -64
- package/es/lbm/components/lumiplan/road-condition.js +0 -108
- package/es/lbm/components/lumiplan/signature.js +0 -24
- package/es/lbm/components/lumiplan/todays-tips.js +0 -52
- package/es/lbm/components/lumiplan/toolbar.js +0 -31
- package/es/lbm/components/lumiplan/weather/avalanche-risk.js +0 -37
- package/es/lbm/components/lumiplan/weather/snow-data.js +0 -74
- package/es/lbm/components/lumiplan/weather/weather-data.js +0 -131
- package/es/lbm/components/lumiplan/weather/weather-days.js +0 -82
- package/es/lbm/components/lumiplan/weather/weather-icon.js +0 -37
- package/es/lbm/components/lumiplan/weather/weather-zones.js +0 -77
- package/es/lbm/components/lumiplan/weather/weather.js +0 -139
|
@@ -1,207 +1,209 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
export const tunnelOffers = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
11
|
+
HOT: "Hébergement",
|
|
12
|
+
LIFT: "Forfait",
|
|
13
|
+
SKI_RENTAL: "Location de matériel",
|
|
14
|
+
ESF: "Cours de ski",
|
|
15
|
+
CONCIERGERIE: "Conciergerie",
|
|
16
|
+
STAND: "Autre produit",
|
|
8
17
|
};
|
|
9
18
|
export function getSortedOffers(container, cartContent, config) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
if (!container || !cartContent || !config)
|
|
20
|
+
return [];
|
|
21
|
+
const sections = Array.from(container.querySelectorAll(".tunnel-offer"));
|
|
22
|
+
const offers = sections.map((section) => {
|
|
23
|
+
var _a;
|
|
24
|
+
const clonedSection = section.cloneNode(true);
|
|
25
|
+
// Nettoyage du HTML
|
|
26
|
+
const cmsUI = clonedSection.querySelector("cms-section-ui");
|
|
27
|
+
if (cmsUI) {
|
|
28
|
+
cmsUI.remove();
|
|
29
|
+
}
|
|
30
|
+
const contentEditable = Array.from(clonedSection.querySelectorAll("[contenteditable]"));
|
|
31
|
+
contentEditable.forEach((element) => {
|
|
32
|
+
element.removeAttribute("contenteditable");
|
|
33
|
+
});
|
|
34
|
+
const title = (_a = clonedSection.querySelector(".tunnel-offer__title, [data-title]")) === null || _a === void 0 ? void 0 : _a.textContent;
|
|
35
|
+
const uuid = section.getAttribute("data-uuid") || "";
|
|
36
|
+
const weight = Object.keys(config).reduce((acc, key) => {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const override = getActiveOverride(key, cartContent, config);
|
|
39
|
+
const currentWeight = ((_b = (_a = override === null || override === void 0 ? void 0 : override.rules) === null || _a === void 0 ? void 0 : _a[uuid]) === null || _b === void 0 ? void 0 : _b.weight) || 0;
|
|
40
|
+
const inCart = cartContent.items[key] || 0;
|
|
41
|
+
return acc + currentWeight * inCart;
|
|
42
|
+
}, 0);
|
|
43
|
+
const isHidden = Object.keys(config).some((key) => {
|
|
44
|
+
var _a, _b;
|
|
45
|
+
const override = getActiveOverride(key, cartContent, config);
|
|
46
|
+
const isHidden = ((_b = (_a = override === null || override === void 0 ? void 0 : override.rules) === null || _a === void 0 ? void 0 : _a[uuid]) === null || _b === void 0 ? void 0 : _b.hidden) || false;
|
|
47
|
+
const inCart = cartContent.items[key] || 0;
|
|
48
|
+
return inCart ? isHidden : false;
|
|
49
|
+
});
|
|
50
|
+
return { title, weight, elementHTML: clonedSection.outerHTML, isHidden };
|
|
21
51
|
});
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
const override = getActiveOverride(key, cartContent, config);
|
|
26
|
-
const currentWeight = override?.rules?.[uuid]?.weight || 0;
|
|
27
|
-
const inCart = cartContent.items[key] || 0;
|
|
28
|
-
return acc + currentWeight * inCart;
|
|
29
|
-
}, 0);
|
|
30
|
-
const isHidden = Object.keys(config).some(key => {
|
|
31
|
-
const override = getActiveOverride(key, cartContent, config);
|
|
32
|
-
const isHidden = override?.rules?.[uuid]?.hidden || false;
|
|
33
|
-
const inCart = cartContent.items[key] || 0;
|
|
34
|
-
return inCart ? isHidden : false;
|
|
35
|
-
});
|
|
36
|
-
return {
|
|
37
|
-
title,
|
|
38
|
-
weight,
|
|
39
|
-
elementHTML: clonedSection.outerHTML,
|
|
40
|
-
isHidden
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
const filteredOffers = offers.filter(offer => !offer.isHidden);
|
|
44
|
-
const sortedOffers = filteredOffers.sort((a, b) => b.weight - a.weight);
|
|
45
|
-
return sortedOffers;
|
|
52
|
+
const filteredOffers = offers.filter((offer) => !offer.isHidden);
|
|
53
|
+
const sortedOffers = filteredOffers.sort((a, b) => b.weight - a.weight);
|
|
54
|
+
return sortedOffers;
|
|
46
55
|
}
|
|
47
56
|
export function getActiveOverride(key, cartContent, config) {
|
|
48
|
-
|
|
49
|
-
items
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
const { items } = cartContent;
|
|
58
|
+
const amountInCart = items[key];
|
|
59
|
+
const item = config[key];
|
|
60
|
+
if (!amountInCart)
|
|
61
|
+
return item === null || item === void 0 ? void 0 : item.default;
|
|
62
|
+
const matchingOverrides = getMatchingOverrides(item, cartContent);
|
|
63
|
+
const activeOverride = matchingOverrides.length > 0
|
|
64
|
+
? item === null || item === void 0 ? void 0 : item.overrides.find((o) => o.id === matchingOverrides[0])
|
|
65
|
+
: (item === null || item === void 0 ? void 0 : item.default) || {};
|
|
66
|
+
return activeOverride;
|
|
57
67
|
}
|
|
58
68
|
function getMatchingOverrides(item, cartContent) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
overrides = []
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return isMatching ? [...acc, override.id] : acc;
|
|
76
|
-
}, []);
|
|
77
|
-
return matchs;
|
|
69
|
+
if (!item)
|
|
70
|
+
return [];
|
|
71
|
+
const { overrides = [] } = item;
|
|
72
|
+
const matchs = overrides.reduce((acc, override) => {
|
|
73
|
+
const { stay, merchants, skiPassDurations = [], durationTags, } = cartContent;
|
|
74
|
+
const isStayMatching = checkStay(override, stay);
|
|
75
|
+
const isMerchantMatching = checkMerchants(override, merchants);
|
|
76
|
+
const isSkiPassDurationMatching = checkSkiPassDurations(override, skiPassDurations);
|
|
77
|
+
const isDurationTagMatching = checkDurationTags(override, durationTags);
|
|
78
|
+
const isMatching = isStayMatching ||
|
|
79
|
+
isMerchantMatching ||
|
|
80
|
+
isSkiPassDurationMatching ||
|
|
81
|
+
isDurationTagMatching;
|
|
82
|
+
return isMatching ? [...acc, override.id] : acc;
|
|
83
|
+
}, []);
|
|
84
|
+
return matchs;
|
|
78
85
|
}
|
|
79
86
|
function checkStay(override, stay) {
|
|
80
|
-
|
|
81
|
-
stayFrom
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
const { stayFrom, stayTo, stayDuration } = override.triggers || {};
|
|
88
|
+
if (!stayFrom || !stayTo || !(stay === null || stay === void 0 ? void 0 : stay.from) || !(stay === null || stay === void 0 ? void 0 : stay.to))
|
|
89
|
+
return false;
|
|
90
|
+
const triggerStayFrom = new Date(stayFrom).getTime();
|
|
91
|
+
const triggerStayTo = new Date(stayTo).getTime();
|
|
92
|
+
const stayFromTime = new Date(stay === null || stay === void 0 ? void 0 : stay.from).getTime();
|
|
93
|
+
const stayToTime = new Date(stay === null || stay === void 0 ? void 0 : stay.to).getTime();
|
|
94
|
+
const stayIsBetweenTrigger = stayFromTime >= triggerStayFrom && stayToTime <= triggerStayTo;
|
|
95
|
+
const stayHasRightDuration = stay.duration &&
|
|
96
|
+
stayDuration &&
|
|
97
|
+
stayDuration !== 0 &&
|
|
98
|
+
typeof (stay === null || stay === void 0 ? void 0 : stay.duration) === "number" &&
|
|
99
|
+
(stay === null || stay === void 0 ? void 0 : stay.duration) > stayDuration;
|
|
100
|
+
return stayIsBetweenTrigger || stayHasRightDuration;
|
|
93
101
|
}
|
|
94
102
|
function checkMerchants(override, merchants) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const splittedMerchant = merchant.split(",").map(m => m.trim());
|
|
99
|
-
return merchants && splittedMerchant.some(m => merchants.includes(m));
|
|
103
|
+
const { merchant = "" } = override.triggers || {};
|
|
104
|
+
const splittedMerchant = merchant.split(",").map((m) => m.trim());
|
|
105
|
+
return merchants && splittedMerchant.some((m) => merchants.includes(m));
|
|
100
106
|
}
|
|
101
107
|
function checkSkiPassDurations(override, skiPassDurations) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
skiPassDuration,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
108
|
+
if (!skiPassDurations)
|
|
109
|
+
return false;
|
|
110
|
+
const maxDuration = Math.max(...skiPassDurations);
|
|
111
|
+
const { skiPassDuration, skiPassDurationOperator = ">=" } = override.triggers || {};
|
|
112
|
+
if (!skiPassDuration)
|
|
113
|
+
return false;
|
|
114
|
+
switch (skiPassDurationOperator) {
|
|
115
|
+
case ">":
|
|
116
|
+
return maxDuration > skiPassDuration;
|
|
117
|
+
case ">=":
|
|
118
|
+
return maxDuration >= skiPassDuration;
|
|
119
|
+
case "<":
|
|
120
|
+
return maxDuration < skiPassDuration;
|
|
121
|
+
case "<=":
|
|
122
|
+
return maxDuration <= skiPassDuration;
|
|
123
|
+
case "=":
|
|
124
|
+
return maxDuration === skiPassDuration;
|
|
125
|
+
default:
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
123
128
|
}
|
|
124
129
|
function checkDurationTags(override, durationTags) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
durationTag
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
130
|
+
if (!durationTags)
|
|
131
|
+
return false;
|
|
132
|
+
const { durationTag } = override.triggers || {};
|
|
133
|
+
if (!durationTag)
|
|
134
|
+
return false;
|
|
135
|
+
return durationTags.includes(durationTag);
|
|
131
136
|
}
|
|
132
137
|
export const allowedOverrides = ["HOT", "LIFT", "SKI_RENTAL", "STAND"];
|
|
133
138
|
export function hasAllowedOverrides(kind) {
|
|
134
|
-
|
|
139
|
+
return allowedOverrides.includes(kind);
|
|
135
140
|
}
|
|
136
141
|
export function formatCartContent(cart) {
|
|
137
|
-
|
|
138
|
-
orders
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
[key]: inscriptionsLength
|
|
148
|
-
};
|
|
149
|
-
}, {});
|
|
142
|
+
const { orders } = cart;
|
|
143
|
+
if (!orders)
|
|
144
|
+
return {};
|
|
145
|
+
return Object.keys(orders).reduce((acc, key) => {
|
|
146
|
+
if (!Object.keys(tunnelOffers).includes(key))
|
|
147
|
+
return acc;
|
|
148
|
+
const order = orders === null || orders === void 0 ? void 0 : orders[key];
|
|
149
|
+
const inscriptionsLength = (order === null || order === void 0 ? void 0 : order.length) || 0;
|
|
150
|
+
return Object.assign(Object.assign({}, acc), { [key]: inscriptionsLength });
|
|
151
|
+
}, {});
|
|
150
152
|
}
|
|
151
153
|
export function getMerchantsFromCart(cart) {
|
|
152
|
-
|
|
153
|
-
orders
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
154
|
+
const { orders } = cart;
|
|
155
|
+
if (!orders)
|
|
156
|
+
return [];
|
|
157
|
+
return Object.keys(orders).reduce((acc, key) => {
|
|
158
|
+
if (!Object.keys(tunnelOffers).includes(key))
|
|
159
|
+
return acc;
|
|
160
|
+
const order = orders[key];
|
|
161
|
+
const merchants = order.map((item) => item.merchant);
|
|
162
|
+
return [...acc, ...merchants];
|
|
163
|
+
}, []);
|
|
162
164
|
}
|
|
163
165
|
export function getStayFromCart(cart) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
const duration = bareDuration / (1000 * 3600 * 24);
|
|
171
|
-
return {
|
|
172
|
-
from,
|
|
173
|
-
to,
|
|
174
|
-
duration
|
|
175
|
-
};
|
|
166
|
+
const { stayFrom: from, stayTo: to } = cart;
|
|
167
|
+
if (!from || !to)
|
|
168
|
+
return {};
|
|
169
|
+
const bareDuration = new Date(to).getTime() - new Date(from).getTime();
|
|
170
|
+
const duration = bareDuration / (1000 * 3600 * 24);
|
|
171
|
+
return { from, to, duration };
|
|
176
172
|
}
|
|
177
|
-
export
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
173
|
+
export function getSkiPassDurationFromCart(cart) {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
const { LIFT: items } = cart.orders;
|
|
176
|
+
if (!(items === null || items === void 0 ? void 0 : items.length))
|
|
177
|
+
return [];
|
|
178
|
+
const durations = items[0].inscriptions.map((i) => patchDuration(i.duration));
|
|
179
|
+
return durations;
|
|
180
|
+
});
|
|
184
181
|
}
|
|
185
182
|
function patchDuration(duration) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
183
|
+
if (typeof duration === "number")
|
|
184
|
+
return duration;
|
|
185
|
+
const normalizedDuration = duration.toLowerCase();
|
|
186
|
+
if (normalizedDuration.includes("jour") ||
|
|
187
|
+
normalizedDuration.includes("day")) {
|
|
188
|
+
return Number(normalizedDuration.replace(/\D+/g, ""));
|
|
189
|
+
}
|
|
190
|
+
return 1;
|
|
192
191
|
}
|
|
193
|
-
export
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
192
|
+
export function getDurationTagsFromCart(cart) {
|
|
193
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
194
|
+
const { LIFT: items } = cart.orders;
|
|
195
|
+
if (!(items === null || items === void 0 ? void 0 : items.length))
|
|
196
|
+
return [];
|
|
197
|
+
const tags = items[0].inscriptions
|
|
198
|
+
.flatMap((i) => i.durationTags)
|
|
199
|
+
.filter(Boolean);
|
|
200
|
+
const uniqueTags = (tags === null || tags === void 0 ? void 0 : tags.length) > 0 ? [...new Set(tags)] : [];
|
|
201
|
+
return uniqueTags;
|
|
202
|
+
});
|
|
201
203
|
}
|
|
202
204
|
export const CONFIG_ID = "cross-selling-editor";
|
|
203
205
|
export function getConfig(container) {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
206
|
+
const config = container === null || container === void 0 ? void 0 : container.querySelector(`#${CONFIG_ID}`);
|
|
207
|
+
const json = JSON.parse((config === null || config === void 0 ? void 0 : config.textContent) || "{}");
|
|
208
|
+
return json;
|
|
209
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Durations } from "./types";
|
|
3
|
+
type Props = {
|
|
4
|
+
kind: string;
|
|
5
|
+
value: string;
|
|
6
|
+
label: string;
|
|
7
|
+
cartOffers: Record<string, number>;
|
|
8
|
+
updateCartOffers: (kind: string) => (value: number) => void;
|
|
9
|
+
refreshCartContent: () => void;
|
|
10
|
+
durations?: Durations;
|
|
11
|
+
};
|
|
12
|
+
export default function TesterTunnelOffer({ kind, value, label, cartOffers, updateCartOffers, refreshCartContent, durations, }: Props): React.JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import NumberPicker from "dt-design-system/es/number-picker";
|
|
3
|
+
import Input from "dt-design-system/es/input";
|
|
4
|
+
import Select from "dt-design-system/es/select";
|
|
5
|
+
import * as Utils from "./services/utils";
|
|
6
|
+
import styles from "./tester-tunnel-offer.module.css";
|
|
7
|
+
export default function TesterTunnelOffer({ kind, value, label, cartOffers, updateCartOffers, refreshCartContent, durations, }) {
|
|
8
|
+
const overrideAllowed = Utils.allowedOverrides.includes(kind);
|
|
9
|
+
const isSkiPasses = kind === "LIFT";
|
|
10
|
+
const itemValue = cartOffers[value] || 0;
|
|
11
|
+
const items = [...new Array(itemValue)];
|
|
12
|
+
return (<div key={label} className={styles.item}>
|
|
13
|
+
<NumberPicker label={label} value={itemValue} onChange={updateCartOffers(value)} min={0} max={10}/>
|
|
14
|
+
{overrideAllowed &&
|
|
15
|
+
items.map((_, index) => {
|
|
16
|
+
const number = index + 1;
|
|
17
|
+
if (isSkiPasses) {
|
|
18
|
+
return (<React.Fragment key={index}>
|
|
19
|
+
<Input type="number" className={styles.input} data-kind="skiPassDuration" label={`Durée du forfait n°${number}`} placeholder="En jour(s) (Optionnel)" min={0} max={40} onChange={refreshCartContent} compact/>
|
|
20
|
+
{durations && (<Select className={styles.input} label={(durations === null || durations === void 0 ? void 0 : durations.title) + ` n°${number}`} placeholder=" " data-kind="durationTags" options={durations === null || durations === void 0 ? void 0 : durations.tags} onChange={refreshCartContent} compact/>)}
|
|
21
|
+
</React.Fragment>);
|
|
22
|
+
}
|
|
23
|
+
return (<Input key={index} className={styles.input} data-kind="merchant" label={`Marchand n°${number}`} placeholder="Code (Optionnel)" onChange={refreshCartContent} compact/>);
|
|
24
|
+
})}
|
|
25
|
+
</div>);
|
|
26
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { Config, Durations } from "./types";
|
|
3
|
+
type Props = {
|
|
4
|
+
container: HTMLElement;
|
|
5
|
+
config: Config;
|
|
6
|
+
tunnelOffers: Record<string, string>;
|
|
7
|
+
durations?: Durations;
|
|
8
|
+
};
|
|
9
|
+
export default function Tester({ container, config, tunnelOffers, durations, }: Props): React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import Input from "dt-design-system/es/input";
|
|
3
|
+
import Popover from "dt-design-system/es/popover";
|
|
4
|
+
import Button from "dt-design-system/es/button";
|
|
5
|
+
import * as Icons from "dt-design-system/es/icons";
|
|
6
|
+
import TesterTunnelOffer from "./tester-tunnel-offer";
|
|
7
|
+
import * as Utils from "./services/utils";
|
|
8
|
+
import styles from "./tester.module.css";
|
|
9
|
+
export default function Tester({ container, config, tunnelOffers, durations, }) {
|
|
10
|
+
const ref = React.useRef(null);
|
|
11
|
+
const [stayFrom, setStayFrom] = React.useState("");
|
|
12
|
+
const [stayTo, setStayTo] = React.useState("");
|
|
13
|
+
const [cartOffers, setCartOffers] = React.useState({});
|
|
14
|
+
const [merchants, setMerchants] = React.useState([]);
|
|
15
|
+
const [skiPassDurations, setSkiPassDurations] = React.useState([]);
|
|
16
|
+
const [durationTags, setDurationTags] = React.useState([]);
|
|
17
|
+
const updateStayFrom = (value) => {
|
|
18
|
+
setStayFrom(value);
|
|
19
|
+
const stayToIsUndefined = !stayTo;
|
|
20
|
+
const stayToIsBefore = new Date(stayTo) && new Date(value) > new Date(stayTo);
|
|
21
|
+
if (stayToIsUndefined || stayToIsBefore) {
|
|
22
|
+
const addOneWeek = new Date(value);
|
|
23
|
+
addOneWeek.setDate(addOneWeek.getDate() + 7);
|
|
24
|
+
const newValue = addOneWeek.toISOString().split("T")[0];
|
|
25
|
+
setStayTo(newValue);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const updateStayTo = (value) => {
|
|
29
|
+
setStayTo(value);
|
|
30
|
+
const stayFromIsAfter = new Date(stayFrom) > new Date(value);
|
|
31
|
+
if (stayFromIsAfter) {
|
|
32
|
+
const removeOneWeek = new Date(value);
|
|
33
|
+
removeOneWeek.setDate(removeOneWeek.getDate() - 7);
|
|
34
|
+
const newValue = removeOneWeek.toISOString().split("T")[0];
|
|
35
|
+
setStayFrom(newValue);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const stay = Utils.getStayFromCart({ stayFrom, stayTo });
|
|
39
|
+
const cartContent = {
|
|
40
|
+
items: cartOffers,
|
|
41
|
+
stay,
|
|
42
|
+
merchants,
|
|
43
|
+
skiPassDurations,
|
|
44
|
+
durationTags,
|
|
45
|
+
};
|
|
46
|
+
const sortedOffers = Utils.getSortedOffers(container, cartContent, config);
|
|
47
|
+
const activeOverrides = Object.keys(cartOffers).reduce((acc, key) => {
|
|
48
|
+
const name = Utils.tunnelOffers[key];
|
|
49
|
+
const override = Utils.getActiveOverride(key, cartContent, config);
|
|
50
|
+
const isDefault = !(override === null || override === void 0 ? void 0 : override.name);
|
|
51
|
+
if (!override || isDefault)
|
|
52
|
+
return acc;
|
|
53
|
+
return Object.assign(Object.assign({}, acc), { [name]: [...(acc[name] || []), override.name] });
|
|
54
|
+
}, {});
|
|
55
|
+
const activeOverridesKeys = Object.keys(activeOverrides);
|
|
56
|
+
const hasActiveOverride = activeOverridesKeys.length > 0;
|
|
57
|
+
const updateCartOffers = (kind) => (value) => {
|
|
58
|
+
setCartOffers((prev) => (Object.assign(Object.assign({}, prev), { [kind]: value })));
|
|
59
|
+
};
|
|
60
|
+
const refreshCartContent = () => {
|
|
61
|
+
const container = ref.current;
|
|
62
|
+
if (container) {
|
|
63
|
+
const merchantInputs = Array.from(container.querySelectorAll("[data-kind='merchant']"));
|
|
64
|
+
const skiPassDurationInputs = Array.from(container.querySelectorAll("[data-kind='skiPassDuration']"));
|
|
65
|
+
const durationTagsSelect = Array.from(container.querySelectorAll("[data-kind='durationTags']"));
|
|
66
|
+
const merchants = merchantInputs
|
|
67
|
+
.map((input) => input.value)
|
|
68
|
+
.filter(Boolean);
|
|
69
|
+
const skiPassDurations = skiPassDurationInputs
|
|
70
|
+
.map((input) => Number(input.value))
|
|
71
|
+
.filter(Boolean);
|
|
72
|
+
const durationTags = durationTagsSelect
|
|
73
|
+
.map((select) => select.value)
|
|
74
|
+
.filter(Boolean);
|
|
75
|
+
setMerchants(merchants);
|
|
76
|
+
setSkiPassDurations(skiPassDurations);
|
|
77
|
+
setDurationTags(durationTags);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const tunnelOptions = Object.keys(tunnelOffers).map((key) => {
|
|
81
|
+
const label = tunnelOffers[key];
|
|
82
|
+
return { key, value: key, label };
|
|
83
|
+
});
|
|
84
|
+
return (<div className={styles.tester}>
|
|
85
|
+
<div className={styles.content}>
|
|
86
|
+
<div className={styles.title}>
|
|
87
|
+
Prévisualisation
|
|
88
|
+
<Popover className={styles.popover} trigger={<Button variant="transparent">
|
|
89
|
+
<Icons.Info />
|
|
90
|
+
</Button>}>
|
|
91
|
+
Vous pouvez tester les règles de suggestions en modifiant le contenu
|
|
92
|
+
du panier ci-dessous.
|
|
93
|
+
<br />
|
|
94
|
+
Les suggestions de produits s'afficheront dessous en temps réel.
|
|
95
|
+
</Popover>
|
|
96
|
+
</div>
|
|
97
|
+
<div className={styles.header}>
|
|
98
|
+
<div className={styles.headerTitle}>Simulez un contenu de panier</div>
|
|
99
|
+
<div className={styles.stay}>
|
|
100
|
+
<Input className={styles.input} type="date" label="Date de début de séjour" value={stayFrom || ""} onValueChange={updateStayFrom} compact/>
|
|
101
|
+
<Input className={styles.input} type="date" label="Date de fin de séjour" value={stayTo || ""} onValueChange={updateStayTo} compact/>
|
|
102
|
+
</div>
|
|
103
|
+
<div ref={ref} className={styles.tunnelOffers}>
|
|
104
|
+
{tunnelOptions.map(({ key, value, label }) => {
|
|
105
|
+
return (<TesterTunnelOffer key={key.concat(label)} kind={key} value={value} label={label} cartOffers={cartOffers} updateCartOffers={updateCartOffers} refreshCartContent={refreshCartContent} durations={durations}/>);
|
|
106
|
+
})}
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
<div className={styles.activeOverrides}>
|
|
110
|
+
<span className={styles.activeOverridesTitle}>
|
|
111
|
+
Surcharge(s) active(s) :{" "}
|
|
112
|
+
</span>
|
|
113
|
+
{hasActiveOverride ? (activeOverridesKeys.map((key) => {
|
|
114
|
+
const values = activeOverrides[key];
|
|
115
|
+
return (<>
|
|
116
|
+
<span key={key} className={styles.activeOverride}>
|
|
117
|
+
{key} ({values.join(", ")})
|
|
118
|
+
</span>{" "}
|
|
119
|
+
</>);
|
|
120
|
+
})) : (<span className={styles.noActiveOverride}>Aucune</span>)}
|
|
121
|
+
</div>
|
|
122
|
+
<div className={styles.offers} data-custom-offers="">
|
|
123
|
+
{sortedOffers.map(({ title, weight, elementHTML }) => {
|
|
124
|
+
return (<div key={title} className={styles.offer} data-custom-offer="">
|
|
125
|
+
<div className={styles.offerContent} dangerouslySetInnerHTML={{ __html: elementHTML }}/>
|
|
126
|
+
<div className={styles.offerWeight}>
|
|
127
|
+
Priorité : <b>{weight}</b>
|
|
128
|
+
</div>
|
|
129
|
+
</div>);
|
|
130
|
+
})}
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
</div>);
|
|
134
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
type Operator = ">" | ">=" | "<" | "<=" | "=";
|
|
2
|
+
type Triggers = {
|
|
3
|
+
stayFrom?: string;
|
|
4
|
+
stayTo?: string;
|
|
5
|
+
stayDuration?: number;
|
|
6
|
+
merchant?: string;
|
|
7
|
+
skiPassDuration?: number;
|
|
8
|
+
skiPassDurationOperator?: Operator;
|
|
9
|
+
durationTag?: string;
|
|
10
|
+
};
|
|
11
|
+
export type Override = {
|
|
12
|
+
id?: number;
|
|
13
|
+
name?: string;
|
|
14
|
+
triggers?: Triggers;
|
|
15
|
+
rules: Record<string, {
|
|
16
|
+
weight: number;
|
|
17
|
+
hidden: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
};
|
|
20
|
+
export type Overrides = {
|
|
21
|
+
default: Override;
|
|
22
|
+
overrides?: Override[];
|
|
23
|
+
};
|
|
24
|
+
export type Config = Record<string, Overrides>;
|
|
25
|
+
export type Durations = {
|
|
26
|
+
title: string;
|
|
27
|
+
tags: string[];
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|