ublo-lib 1.20.17 → 1.21.0

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 (117) hide show
  1. package/es/esf/components/loyal-customers/api.js +4 -4
  2. package/es/lbm/lumiplan/api.d.ts +8 -0
  3. package/es/lbm/lumiplan/api.d.ts.map +1 -0
  4. package/es/lbm/lumiplan/api.js +33 -0
  5. package/es/lbm/lumiplan/domain.d.ts +8 -0
  6. package/es/lbm/lumiplan/domain.d.ts.map +1 -0
  7. package/es/lbm/lumiplan/domain.js +30 -0
  8. package/es/lbm/lumiplan/domain.module.css +111 -0
  9. package/es/lbm/lumiplan/i18n/en.json +1 -0
  10. package/es/lbm/lumiplan/i18n/fr.json +255 -0
  11. package/es/lbm/lumiplan/i18n/translations.d.ts +7 -0
  12. package/es/lbm/lumiplan/i18n/translations.d.ts.map +1 -0
  13. package/es/lbm/lumiplan/i18n/translations.js +20 -0
  14. package/es/lbm/lumiplan/icons/alert.js +23 -0
  15. package/es/lbm/lumiplan/icons/avalanche-risk.js +16 -0
  16. package/es/lbm/lumiplan/icons/cabin.js +16 -0
  17. package/es/lbm/lumiplan/icons/check.js +18 -0
  18. package/es/lbm/lumiplan/icons/close.js +23 -0
  19. package/es/lbm/lumiplan/icons/cloud.js +18 -0
  20. package/es/lbm/lumiplan/icons/cloud.module.css +9 -0
  21. package/es/lbm/lumiplan/icons/dawn.js +21 -0
  22. package/es/lbm/lumiplan/icons/fog.js +37 -0
  23. package/es/lbm/lumiplan/icons/fog.module.css +34 -0
  24. package/es/lbm/lumiplan/icons/information.js +23 -0
  25. package/es/lbm/lumiplan/icons/isothermal.js +27 -0
  26. package/es/lbm/lumiplan/icons/lifts/index.js +5 -0
  27. package/es/lbm/lumiplan/icons/lifts/tapis-roulant.js +18 -0
  28. package/es/lbm/lumiplan/icons/lifts/telecabine.js +18 -0
  29. package/es/lbm/lumiplan/icons/lifts/telesiege-debrayable.js +29 -0
  30. package/es/lbm/lumiplan/icons/lifts/telesiege.js +18 -0
  31. package/es/lbm/lumiplan/icons/lifts/teleski.js +18 -0
  32. package/es/lbm/lumiplan/icons/night.js +16 -0
  33. package/es/lbm/lumiplan/icons/rain.js +27 -0
  34. package/es/lbm/lumiplan/icons/rain.module.css +27 -0
  35. package/es/lbm/lumiplan/icons/rainy.js +31 -0
  36. package/es/lbm/lumiplan/icons/rainy.module.css +33 -0
  37. package/es/lbm/lumiplan/icons/reload.js +32 -0
  38. package/es/lbm/lumiplan/icons/road-condition.js +30 -0
  39. package/es/lbm/lumiplan/icons/slopes.js +16 -0
  40. package/es/lbm/lumiplan/icons/snow-cover.js +18 -0
  41. package/es/lbm/lumiplan/icons/snow.js +33 -0
  42. package/es/lbm/lumiplan/icons/snow.module.css +28 -0
  43. package/es/lbm/lumiplan/icons/storm.js +27 -0
  44. package/es/lbm/lumiplan/icons/storm.module.css +25 -0
  45. package/es/lbm/lumiplan/icons/sun.js +23 -0
  46. package/es/lbm/lumiplan/icons/sun.module.css +14 -0
  47. package/es/lbm/lumiplan/icons/sunny.js +29 -0
  48. package/es/lbm/lumiplan/icons/sunny.module.css +11 -0
  49. package/es/lbm/lumiplan/icons/time.js +23 -0
  50. package/es/lbm/lumiplan/icons/trails/boarder-cross.js +22 -0
  51. package/es/lbm/lumiplan/icons/trails/champ-de-bosse.js +20 -0
  52. package/es/lbm/lumiplan/icons/trails/freeride.js +17 -0
  53. package/es/lbm/lumiplan/icons/trails/index.js +12 -0
  54. package/es/lbm/lumiplan/icons/trails/luge.js +17 -0
  55. package/es/lbm/lumiplan/icons/trails/pieton.js +17 -0
  56. package/es/lbm/lumiplan/icons/trails/piste-eclairee.js +20 -0
  57. package/es/lbm/lumiplan/icons/trails/raquette.js +66 -0
  58. package/es/lbm/lumiplan/icons/trails/ski-alpin.js +17 -0
  59. package/es/lbm/lumiplan/icons/trails/ski-fond.js +17 -0
  60. package/es/lbm/lumiplan/icons/trails/snowpark.js +17 -0
  61. package/es/lbm/lumiplan/icons/trails/vtt.js +20 -0
  62. package/es/lbm/lumiplan/icons/trails/zone-freeride.js +17 -0
  63. package/es/lbm/lumiplan/icons/warning.js +23 -0
  64. package/es/lbm/lumiplan/icons/wind.js +30 -0
  65. package/es/lbm/lumiplan/index.d.ts +3 -0
  66. package/es/lbm/lumiplan/index.d.ts.map +1 -0
  67. package/es/lbm/lumiplan/index.js +2 -0
  68. package/es/lbm/lumiplan/lumiplan.d.ts +2 -0
  69. package/es/lbm/lumiplan/lumiplan.d.ts.map +1 -0
  70. package/es/lbm/lumiplan/lumiplan.js +118 -0
  71. package/es/lbm/lumiplan/lumiplan.module.css +3 -0
  72. package/es/lbm/lumiplan/opening.d.ts +8 -0
  73. package/es/lbm/lumiplan/opening.d.ts.map +1 -0
  74. package/es/lbm/lumiplan/opening.js +33 -0
  75. package/es/lbm/lumiplan/opening.module.css +88 -0
  76. package/es/lbm/lumiplan/pois.d.ts +8 -0
  77. package/es/lbm/lumiplan/pois.d.ts.map +1 -0
  78. package/es/lbm/lumiplan/pois.js +150 -0
  79. package/es/lbm/lumiplan/pois.module.css +137 -0
  80. package/es/lbm/lumiplan/resort-selector.d.ts +12 -0
  81. package/es/lbm/lumiplan/resort-selector.d.ts.map +1 -0
  82. package/es/lbm/lumiplan/resort-selector.js +18 -0
  83. package/es/lbm/lumiplan/resort-selector.module.css +28 -0
  84. package/es/lbm/lumiplan/road-condition.d.ts +8 -0
  85. package/es/lbm/lumiplan/road-condition.d.ts.map +1 -0
  86. package/es/lbm/lumiplan/road-condition.js +26 -0
  87. package/es/lbm/lumiplan/road-condition.module.css +79 -0
  88. package/es/lbm/lumiplan/todays-tips.d.ts +8 -0
  89. package/es/lbm/lumiplan/todays-tips.d.ts.map +1 -0
  90. package/es/lbm/lumiplan/todays-tips.js +23 -0
  91. package/es/lbm/lumiplan/todays-tips.module.css +35 -0
  92. package/es/lbm/lumiplan/types.d.ts +281 -0
  93. package/es/lbm/lumiplan/types.d.ts.map +1 -0
  94. package/es/lbm/lumiplan/types.js +1 -0
  95. package/es/lbm/lumiplan/weather/avalanche-risk.d.ts +4 -0
  96. package/es/lbm/lumiplan/weather/avalanche-risk.d.ts.map +1 -0
  97. package/es/lbm/lumiplan/weather/avalanche-risk.js +12 -0
  98. package/es/lbm/lumiplan/weather/avalanche-risk.module.css +21 -0
  99. package/es/lbm/lumiplan/weather/index.d.ts +3 -0
  100. package/es/lbm/lumiplan/weather/index.d.ts.map +1 -0
  101. package/es/lbm/lumiplan/weather/index.js +2 -0
  102. package/es/lbm/lumiplan/weather/snow-data.d.ts +8 -0
  103. package/es/lbm/lumiplan/weather/snow-data.d.ts.map +1 -0
  104. package/es/lbm/lumiplan/weather/snow-data.js +8 -0
  105. package/es/lbm/lumiplan/weather/snow-data.module.css +41 -0
  106. package/es/lbm/lumiplan/weather/weather-data.d.ts +9 -0
  107. package/es/lbm/lumiplan/weather/weather-data.d.ts.map +1 -0
  108. package/es/lbm/lumiplan/weather/weather-data.js +8 -0
  109. package/es/lbm/lumiplan/weather/weather-data.module.css +61 -0
  110. package/es/lbm/lumiplan/weather/weather-icon.d.ts +23 -0
  111. package/es/lbm/lumiplan/weather/weather-icon.d.ts.map +1 -0
  112. package/es/lbm/lumiplan/weather/weather-icon.js +30 -0
  113. package/es/lbm/lumiplan/weather/weather.d.ts +8 -0
  114. package/es/lbm/lumiplan/weather/weather.d.ts.map +1 -0
  115. package/es/lbm/lumiplan/weather/weather.js +74 -0
  116. package/es/lbm/lumiplan/weather/weather.module.css +118 -0
  117. package/package.json +2 -1
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from "classnames";
3
+ import Button from "dt-design-system/es/button";
4
+ import css from "./resort-selector.module.css";
5
+ export default function ResortSelector({ resorts, currentResortId, setCurrentResortId, }) {
6
+ if (!resorts || resorts.length < 2) {
7
+ return null;
8
+ }
9
+ return (_jsx("div", { className: css.selector, children: resorts.map(({ id, label }) => {
10
+ const classes = classNames(css.button, {
11
+ [css.selected]: id === currentResortId,
12
+ });
13
+ const updateCurrentResort = () => {
14
+ setCurrentResortId(id);
15
+ };
16
+ return (_jsx(Button, { className: classes, onClick: updateCurrentResort, children: label }, id));
17
+ }) }));
18
+ }
@@ -0,0 +1,28 @@
1
+ .selector {
2
+ display: flex;
3
+ justify-content: center;
4
+ flex-wrap: wrap;
5
+ gap: 20px;
6
+ margin-bottom: 40px;
7
+ }
8
+
9
+ button.button {
10
+ --ds-button-padding: 12px;
11
+ --ds-button-font-size: 16px;
12
+ --ds-button-foreground: hsl(var(--primary));
13
+ --ds-button-font-weight: 400;
14
+ --ds-button-background: transparent;
15
+ --ds-button-hover-background: hsla(var(--primary), 10%);
16
+ --ds-button-shadow: 0 0 0 1px hsl(var(--primary)) inset;
17
+ --ds-button-text-transform: uppercase;
18
+ --ds-button-font-weight: 700;
19
+
20
+ display: block;
21
+ }
22
+
23
+ button.selected {
24
+ --ds-button-foreground: hsl(var(--grey-000));
25
+ --ds-button-shadow: 0;
26
+
27
+ background: var(--blue-gradient);
28
+ }
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import type { ResortAccess } from "./types";
3
+ type Props = {
4
+ resortAccess?: ResortAccess | null;
5
+ };
6
+ declare const RoadCondition: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
7
+ export default RoadCondition;
8
+ //# sourceMappingURL=road-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"road-condition.d.ts","sourceRoot":"","sources":["../../../src/lbm/lumiplan/road-condition.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,QAAA,MAAM,aAAa,8EA8ElB,CAAC;AAIF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { useUbloContext } from "ublo/with-ublo";
4
+ import Loader from "dt-design-system/es/loader";
5
+ import T, { t } from "./i18n/translations";
6
+ import RoadConditionIcon from "./icons/road-condition";
7
+ import css from "./road-condition.module.css";
8
+ const RoadCondition = React.forwardRef(({ resortAccess }, ref) => {
9
+ const { lang } = useUbloContext();
10
+ if (resortAccess === undefined) {
11
+ return (_jsx("div", { ref: ref, className: css.loader, "data-tags": t(lang, "road-conditions.navigation-title"), children: _jsx(Loader, { variant: "overlay" }) }));
12
+ }
13
+ if (!resortAccess?.roadConditions?.length) {
14
+ return null;
15
+ }
16
+ const { roadConditions } = resortAccess;
17
+ return (_jsxs("div", { ref: ref, className: css.conditions, "data-tags": t(lang, "road-conditions.navigation-title"), children: [_jsx("div", { className: css.title, dangerouslySetInnerHTML: { __html: t(lang, "road-conditions.title") } }), roadConditions.map(({ id, name, status, roadInfo, equipment, surface }) => {
18
+ const roadInfoData = roadInfo?.data?.find(({ language }) => {
19
+ const _lang = lang === "fr" ? "fr_FR" : "en_US";
20
+ return language === _lang;
21
+ });
22
+ return (_jsxs("div", { className: css.condition, children: [_jsx(RoadConditionIcon, { className: css.icon }), _jsxs("div", { className: css.right, children: [_jsxs("div", { className: css.top, children: [_jsx("div", { className: css.name, children: name }), _jsxs("div", { className: css.surface, children: [_jsx("b", { children: _jsx(T, { id: "road-conditions.surface.title" }) }), _jsx(T, { id: `road-conditions.surface.states.${surface}` }), "."] }), _jsxs("div", { className: css.equipment, children: [_jsx("b", { children: _jsx(T, { id: "road-conditions.equipment.title" }) }), _jsx(T, { id: `road-conditions.equipment.states.${equipment}` })] })] }), roadInfoData && (_jsx("div", { className: css.bottom, dangerouslySetInnerHTML: { __html: roadInfoData.data } }))] }), _jsx("div", { className: css.status, children: _jsx(T, { id: `road-conditions.status.${status ? "OPENED" : "CLOSED"}` }) })] }, id));
23
+ })] }));
24
+ });
25
+ RoadCondition.displayName = "RoadCondition";
26
+ export default RoadCondition;
@@ -0,0 +1,79 @@
1
+ .loader {
2
+ position: relative;
3
+ width: 100%;
4
+ max-width: 1200px;
5
+ height: 150px;
6
+ margin: 30px auto;
7
+ border-radius: var(--radius-200);
8
+ overflow: hidden;
9
+ }
10
+
11
+ .conditions {
12
+ width: 100%;
13
+ max-width: 1200px;
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: 16px;
17
+ margin: 30px auto;
18
+ padding: 0 10px;
19
+ color: hsl(var(--primary));
20
+ }
21
+
22
+ @media (min-width: 1220px) {
23
+ .conditions {
24
+ padding: 0;
25
+ }
26
+ }
27
+
28
+ .title {
29
+ font-size: 38px;
30
+ color: hsl(var(--primary));
31
+ margin-bottom: 10px;
32
+ }
33
+
34
+ .condition {
35
+ display: flex;
36
+ flex-wrap: wrap;
37
+ gap: 12px;
38
+ }
39
+
40
+ .icon {
41
+ flex: 0 0 30px;
42
+ width: 30px;
43
+ height: 30px;
44
+ fill: var(--blue-gradient-fill);
45
+ }
46
+
47
+ .right {
48
+ display: flex;
49
+ flex-direction: column;
50
+ margin-right: auto;
51
+ gap: 10px;
52
+ }
53
+
54
+ .top {
55
+ display: flex;
56
+ align-items: baseline;
57
+ flex-wrap: wrap;
58
+ gap: 6px;
59
+ }
60
+
61
+ .name {
62
+ font-size: 20px;
63
+ font-weight: 700;
64
+ }
65
+
66
+ .surface,
67
+ .equipment {
68
+ font-size: 17px;
69
+ }
70
+
71
+ .bottom {
72
+ font-size: 15px;
73
+ }
74
+
75
+ .status {
76
+ font-size: 20px;
77
+ font-weight: 700;
78
+ text-transform: uppercase;
79
+ }
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import type { ResortOpening } from "./types";
3
+ type Props = {
4
+ resortOpening?: ResortOpening | null;
5
+ };
6
+ declare const TodaysTips: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
7
+ export default TodaysTips;
8
+ //# sourceMappingURL=todays-tips.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todays-tips.d.ts","sourceRoot":"","sources":["../../../src/lbm/lumiplan/todays-tips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,KAAK,KAAK,GAAG;IACX,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,QAAA,MAAM,UAAU,8EAsCf,CAAC;AAIF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { useUbloContext } from "ublo/with-ublo";
4
+ import Loader from "dt-design-system/es/loader";
5
+ import { t } from "./i18n/translations";
6
+ import css from "./todays-tips.module.css";
7
+ const TodaysTips = React.forwardRef(({ resortOpening }, ref) => {
8
+ const { lang } = useUbloContext();
9
+ const todaysTips = resortOpening?.resortInfos?.find(({ type }) => type === "RESORT_TIP_OF_THE_DAY");
10
+ if (todaysTips === undefined) {
11
+ return (_jsx("div", { ref: ref, className: css.loader, children: _jsx(Loader, { variant: "overlay" }) }));
12
+ }
13
+ if (!todaysTips) {
14
+ return null;
15
+ }
16
+ const text = todaysTips.data.find(({ language }) => language === "fr_FR");
17
+ if (!text?.data) {
18
+ return null;
19
+ }
20
+ return (_jsxs("div", { ref: ref, className: css.tips, children: [_jsx("div", { className: css.title, dangerouslySetInnerHTML: { __html: t(lang, "todays-tips.title") } }), _jsx("div", { className: css.text, dangerouslySetInnerHTML: { __html: text.data } })] }));
21
+ });
22
+ TodaysTips.displayName = "TodaysTips";
23
+ export default TodaysTips;
@@ -0,0 +1,35 @@
1
+ .loader {
2
+ position: relative;
3
+ width: 100%;
4
+ max-width: 1200px;
5
+ height: 100px;
6
+ margin: 0 auto;
7
+ border-radius: var(--radius-200);
8
+ overflow: hidden;
9
+ }
10
+
11
+ .tips {
12
+ width: 100%;
13
+ max-width: 1200px;
14
+ display: flex;
15
+ flex-direction: column;
16
+ margin: 0 auto;
17
+ padding: 0 10px;
18
+ }
19
+
20
+ @media (min-width: 1220px) {
21
+ .tips {
22
+ padding: 0;
23
+ }
24
+ }
25
+
26
+ .title {
27
+ font-size: 38px;
28
+ color: hsl(var(--primary));
29
+ margin-bottom: 10px;
30
+ }
31
+
32
+ .text {
33
+ font-style: 18px;
34
+ color: hsl(var(--primary));
35
+ }
@@ -0,0 +1,281 @@
1
+ type Day = {
2
+ dayType: string;
3
+ open: boolean;
4
+ };
5
+ type MultiLangString = {
6
+ language: "fr_FR" | "en_US";
7
+ data: string;
8
+ };
9
+ export type MultiLangMessage = {
10
+ id: string;
11
+ type: string;
12
+ title: string;
13
+ data: MultiLangString[];
14
+ };
15
+ type OpeningStatus = "OPEN" | "OPEN_PEDESTRIAN_ONLY" | "OPEN_DOWNHILL_ONLY" | "FORECAST" | "FORECAST_AURORA_SKI" | "FORECAST_NIGHT_SKI" | "DELAYED" | "DELAYED_TECHNICAL_ISSUE" | "DELAYED_SECURING" | "DELAYED_WEATHER" | "DELAYED_WIND" | "STOPPED" | "STOPPED_TECHNICAL_ISSUE" | "STOPPED_SECURING" | "STOPPED_WEATHER" | "STOPPED_WIND" | "CLOSED" | "CLOSED_CONTEST" | "OUT_OF_PERIOD" | "OUT_OF_PERIOD_SEASON_BEGINNING" | "OUT_OF_PERIOD_SEASON_ENDING" | "UNDEF";
16
+ export type ResortOpening = {
17
+ id: string;
18
+ availability: {
19
+ openingStatus: OpeningStatus;
20
+ openingDate: string;
21
+ closingDate: string;
22
+ openingDays: Day[];
23
+ dawnSkiingDays: Day[];
24
+ nightSkiingDays: Day[];
25
+ backToBaseArea: string;
26
+ winterAmbiance: string;
27
+ practicalActivities: string;
28
+ };
29
+ name: string;
30
+ resortInfos: MultiLangMessage[];
31
+ };
32
+ type Surface = "UNDEF" | "CLEAR_DRY" | "CLEAR_WET" | "SOGGY" | "PART_SNOW" | "SNOWY" | "PACKED" | "ICY" | "CLOSED";
33
+ type Equipment = "UNDEF" | "NORM" | "CHAIN" | "RECO_CHAIN_RESORT" | "RECO_CHAIN" | "ICY" | "CLOSED";
34
+ type RoadCondition = {
35
+ id: string;
36
+ name: string;
37
+ number: string;
38
+ status: boolean;
39
+ roadInfo: MultiLangMessage;
40
+ surface: Surface;
41
+ equipment: Equipment;
42
+ };
43
+ export type ResortAccess = {
44
+ roadConditions: RoadCondition[];
45
+ };
46
+ export type DomainInfo = {
47
+ slopes: {
48
+ slopes: {
49
+ GREEN: {
50
+ open: number;
51
+ total: number;
52
+ };
53
+ BLUE: {
54
+ open: number;
55
+ total: number;
56
+ };
57
+ RED: {
58
+ open: number;
59
+ total: number;
60
+ };
61
+ BLACK: {
62
+ open: number;
63
+ total: number;
64
+ };
65
+ };
66
+ count: {
67
+ open: number;
68
+ total: number;
69
+ };
70
+ };
71
+ lifts: {
72
+ count: {
73
+ open: number;
74
+ total: number;
75
+ };
76
+ };
77
+ };
78
+ type SnowQuality = "UNDEF" | "FRESH" | "ARTIFICIAL" | "CRUSTED" | "DRIFTED" | "EARLY_SEASON" | "FROZEN" | "GRADIENT" | "HARD_PACKED" | "LOW_SNOWFALL" | "PACKED_POWDER" | "POWDER" | "SNOW_GROOMED" | "SPRING" | "VARIABLE" | "WET_SNOW";
79
+ type AvalancheRisk = "UNDEF" | "LOW" | "MODERATE" | "CONSIDERABLE" | "HIGH" | "VERY_HIGH";
80
+ export type SnowZone = {
81
+ id: number;
82
+ name: string;
83
+ altitude: {
84
+ value: number;
85
+ unit: "METER";
86
+ };
87
+ altitudeLevel: "LOW" | "MEDIUM" | "HIGH";
88
+ avalancheRisk: AvalancheRisk;
89
+ snowQuality: SnowQuality;
90
+ snowTotalDepth: {
91
+ value: number;
92
+ unit: "CENTIMETER";
93
+ };
94
+ overnight: {
95
+ value: number;
96
+ unit: "CENTIMETER";
97
+ };
98
+ freshSnowFallDepth12H: {
99
+ value: number;
100
+ unit: "CENTIMETER";
101
+ };
102
+ freshSnowFallDepth24H: {
103
+ value: number;
104
+ unit: "CENTIMETER";
105
+ };
106
+ freshSnowFallDepth48H: {
107
+ value: number;
108
+ unit: "CENTIMETER";
109
+ };
110
+ freshSnowFallDepth72H: {
111
+ value: number;
112
+ unit: "CENTIMETER";
113
+ };
114
+ freshSnowFallDepth7D: {
115
+ value: number;
116
+ unit: "CENTIMETER";
117
+ };
118
+ snowFallDepthCompleteSeason: {
119
+ value: number;
120
+ unit: "CENTIMETER";
121
+ };
122
+ lastSnowFallDepth: {
123
+ value: number;
124
+ unit: "CENTIMETER";
125
+ };
126
+ lastSnowFallDate: string;
127
+ };
128
+ type Direction = "UNDEF" | "NORTH" | "NORTH_WEST" | "NORTH_EAST" | "EAST" | "WEST" | "SOUTH" | "SOUTH_EAST" | "SOUTH_WEST" | "TURNING";
129
+ export type WeatherInfo = {
130
+ indexUv: {
131
+ value: number;
132
+ unit: string;
133
+ };
134
+ skyStatus: "UNDEF" | "SUNNY" | "MOSTLY_SUNNY" | "FAIR_WEATHER_PARTLY_CLOUDY" | "MOSTLY_CLOUDY_SOME_SUN" | "MOSTLY_CLOUDY_LIGHT_RAIN" | "CLOUDY_LIGHT_RAIN" | "CLOUDY" | "VARIABLE_SKY_LIGHT_SNOWFALL" | "CLOUDY_LIGHT_SNOWFALL" | "CLOUDY_MODERATE_HEAVY_SNOWFALL" | "CLOUDY_MODERATE_HEAVY_RAIN" | "FOG" | "THUNDERSTORMS" | "VARIABLE_SKY_SCATTERED_THUNDERSTORMS";
135
+ temperature: {
136
+ value: number;
137
+ unit: "CELCIUS";
138
+ };
139
+ wind: {
140
+ value: {
141
+ value: number;
142
+ unit: "METTER";
143
+ };
144
+ valueMax: {
145
+ value: number;
146
+ unit: "METTER";
147
+ };
148
+ direction: Direction;
149
+ };
150
+ windchill: {
151
+ value: number;
152
+ unit: "CELSIUS";
153
+ };
154
+ limitRainSnowFall: {
155
+ value: number;
156
+ unit: "METER";
157
+ };
158
+ limitIsothermic0: {
159
+ value: number;
160
+ unit: "METER";
161
+ };
162
+ limitIsothermicMinus10: {
163
+ value: number;
164
+ unit: "METER";
165
+ };
166
+ visibility: "UNDEF" | "VISIBILITE_0" | "VISIBILITE_25" | "VISIBILITE_50" | "VISIBILITE_75" | "VISIBILITE_100";
167
+ };
168
+ type WeatherInfos = {
169
+ date: string;
170
+ am: WeatherInfo;
171
+ pm: WeatherInfo;
172
+ };
173
+ type WeatherZone = {
174
+ id: string;
175
+ name: string;
176
+ altitude: {
177
+ value: number;
178
+ unit: string;
179
+ };
180
+ altitudeLevel: string;
181
+ weatherInfos: WeatherInfos[];
182
+ };
183
+ export type WeatherForecast = {
184
+ weather: {
185
+ weatherZones: WeatherZone[];
186
+ };
187
+ snow: {
188
+ snowZones: SnowZone[];
189
+ };
190
+ };
191
+ type LiftType = "CABRIOLET_GONDOLA" | "CHAIRLIFT" | "COMBINED_CHAIR_GONDOLA_LIFT" | "DETACHABLE_BUBBLE_CHAIRLIFT" | "DETACHABLE_CHAIRLIFT" | "FUNICULAR" | "FUNITEL" | "GONDOLA" | "LIFT" | "MAGIC_CARPET" | "PEDESTRIAN_SKI_LIFT" | "ROPE_TO" | "SURFACE_LIFT" | "TRAIN" | "TRAM" | "UNDEF";
192
+ type TimePeriod = {
193
+ beginTime: string;
194
+ endTime: string;
195
+ };
196
+ type Lift = {
197
+ id: string;
198
+ name: string;
199
+ type: "TRAIL" | "SKI_LIFT";
200
+ openingStatus: OpeningStatus;
201
+ openingStatusCompl: OpeningStatus;
202
+ messagePoi: MultiLangMessage;
203
+ operating: boolean;
204
+ liftType: LiftType;
205
+ sectorName: string;
206
+ openingTimesTh?: TimePeriod;
207
+ openingTimesReal?: TimePeriod;
208
+ departureAltitude: {
209
+ value: number;
210
+ unit: string;
211
+ };
212
+ arrivalAltitude: {
213
+ value: number;
214
+ unit: string;
215
+ };
216
+ uphillCapacity: {
217
+ value: number;
218
+ unit: string;
219
+ };
220
+ length: {
221
+ value: number;
222
+ unit: string;
223
+ };
224
+ duration: {
225
+ value: number;
226
+ unit: string;
227
+ };
228
+ exposure: Direction;
229
+ };
230
+ type Grooming = "UNDEF" | "GROOMED" | "PARTIALLY_GROOMED" | "MORNING_GROOMED " | "EVENING_GROOMED " | "H48_GROOMED " | "GROOMING_FORECAST" | "NOT_GROOMED ";
231
+ type TrailType = "BIKE_PARK" | "BOARDERCROSS" | "BUMP_TRAIL" | "CROSS_COUNTRY_MOUNTAIN_BIKING" | "CROSS_COUNTRY_SKIING" | "DOWNHILL_MOUNTAIN_BIKING" | "DOWNHILL_SKIING" | "EBIKE" | "ENDURO" | "FREERIDE_AREA_OFF_PIST" | "FREERIDE_SKI_ITINERARY" | "FUN_ZONE" | "GATE" | "GLADES" | "ILLUMINATED_TRAIL" | "MULTI_USE_TRAIL" | "MTB_ENDURO" | "PATH" | "PEDESTRIAN" | "ROUTE_OF_CROSS_COUNTRY" | "SKI_TOURING" | "SLEDDING_HILL" | "SNOWPARK" | "SNOWPARK_LINE" | "SNOWSHOE" | "TERRAIN_PARK" | "TERRAIN_PARK_US" | "TRAIL_RUNNING" | "UNDEF" | "VIDEO_ZONE";
232
+ type TrailLevel = "UNDEF" | "GREEN" | "BLUE" | "RED" | "BLACK" | "YELLOW";
233
+ type Trail = {
234
+ id: string;
235
+ name: string;
236
+ type: "TRAIL" | "SKI_LIFT";
237
+ openingStatus: OpeningStatus;
238
+ openingStatusCompl: OpeningStatus;
239
+ messagePoi: MultiLangMessage;
240
+ operating: boolean;
241
+ trailType: TrailType;
242
+ trailLevel: TrailLevel;
243
+ groomingStatus: Grooming;
244
+ snowQuality: SnowQuality;
245
+ sectorName: string;
246
+ openingTimesTh?: TimePeriod;
247
+ openingTimesReal?: TimePeriod;
248
+ arrivalAltitude: {
249
+ value: number;
250
+ unit: "METER";
251
+ };
252
+ departureAltitude: {
253
+ value: number;
254
+ unit: "METER";
255
+ };
256
+ exposure: Direction;
257
+ length: {
258
+ value: number;
259
+ unit: "METER";
260
+ };
261
+ countInTotals: boolean;
262
+ };
263
+ type Interconnection = {
264
+ id: string;
265
+ name: string;
266
+ type: string;
267
+ openingStatus: OpeningStatus;
268
+ openingStatusCompl: OpeningStatus;
269
+ operating: boolean;
270
+ };
271
+ export type Poi = Lift & Trail;
272
+ export type Zone = {
273
+ id: string;
274
+ name: string;
275
+ lifts: Poi[];
276
+ trails: Poi[];
277
+ interconnections: Interconnection[];
278
+ };
279
+ export type PoisInfo = Zone[];
280
+ export {};
281
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lbm/lumiplan/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export default function AvalancheRisk({ avalancheRisk }: {
2
+ avalancheRisk: any;
3
+ }): import("react/jsx-runtime").JSX.Element | null;
4
+ //# sourceMappingURL=avalanche-risk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avalanche-risk.d.ts","sourceRoot":"","sources":["../../../../src/lbm/lumiplan/weather/avalanche-risk.tsx"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,aAAa,EAAE;;CAAA,kDAmBtD"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Image from "next/image";
3
+ import getConfig from "next/config";
4
+ import T from "../i18n/translations";
5
+ import css from "./avalanche-risk.module.css";
6
+ const { publicRuntimeConfig } = getConfig();
7
+ const { lumiplanApiV2 } = publicRuntimeConfig;
8
+ export default function AvalancheRisk({ avalancheRisk }) {
9
+ if (!avalancheRisk || avalancheRisk === "UNDEF")
10
+ return null;
11
+ return (_jsxs("div", { className: css.avalancheRisk, children: [_jsxs("b", { children: [_jsx(T, { id: "weather.avalanche-risk.title" }), " :"] }), _jsx(Image, { src: `${lumiplanApiV2}/avalanche/${avalancheRisk}.svg`, width: 20, height: 20, alt: "" }), _jsx("span", { children: _jsx(T, { id: `weather.avalanche-risk.states.${avalancheRisk}` }) })] }));
12
+ }
@@ -0,0 +1,21 @@
1
+ .avalancheRisk {
2
+ width: fit-content;
3
+ display: flex;
4
+ justify-content: center;
5
+ gap: 7px;
6
+ margin: 0 auto;
7
+ padding: 4px 16px;
8
+ font-size: 18px;
9
+ color: hsl(var(--primary));
10
+ font-weight: 700;
11
+ border: 1px solid hsl(var(--primary));
12
+ border-radius: var(--radius-400);
13
+ }
14
+
15
+ .avalancheRisk > b {
16
+ text-transform: uppercase;
17
+ }
18
+
19
+ .avalancheRisk > span {
20
+ color: hsl(var(--grey-800));
21
+ }
@@ -0,0 +1,3 @@
1
+ import Weather from "./weather";
2
+ export default Weather;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lbm/lumiplan/weather/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,eAAe,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ import Weather from "./weather";
2
+ export default Weather;
@@ -0,0 +1,8 @@
1
+ import type { SnowZone } from "../types";
2
+ type Props = {
3
+ data: SnowZone;
4
+ expanded: boolean;
5
+ };
6
+ export default function SnowData({ data, expanded }: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=snow-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow-data.d.ts","sourceRoot":"","sources":["../../../../src/lbm/lumiplan/weather/snow-data.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,2CA6DzD"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import T from "../i18n/translations";
3
+ import SnowCover from "../icons/snow-cover";
4
+ import css from "./snow-data.module.css";
5
+ export default function SnowData({ data, expanded }) {
6
+ const { snowQuality, snowTotalDepth, freshSnowFallDepth12H, freshSnowFallDepth24H, freshSnowFallDepth48H, freshSnowFallDepth72H, } = data;
7
+ return (_jsxs("div", { className: css.snow, children: [_jsx(SnowCover, { className: css.snowIcon }), _jsxs("div", { className: css.snowInfo, children: [_jsxs("div", { className: css.snowState, children: [_jsx(T, { id: "snow.snow-quality.title" }), " ", snowQuality && snowQuality !== "UNDEF" && (_jsxs(_Fragment, { children: [": ", _jsx(T, { id: `snow.snow-quality.states.${snowQuality}` })] }))] }), _jsxs("div", { className: css.snowDepth, children: [snowTotalDepth?.value || 0, _jsx(T, { id: snowTotalDepth?.unit || "CENTIMETER" })] }), expanded && (_jsxs("div", { className: css.expanded, children: [freshSnowFallDepth12H && (_jsxs("div", { className: css.snowFall, children: [_jsx(T, { id: "snow.fresh-snow-fall" }), " 12h :", " ", freshSnowFallDepth12H.value, _jsx(T, { id: freshSnowFallDepth12H.unit })] })), freshSnowFallDepth24H && (_jsxs("div", { className: css.snowFall, children: [_jsx(T, { id: "snow.fresh-snow-fall" }), " 24h :", " ", freshSnowFallDepth24H.value, _jsx(T, { id: freshSnowFallDepth24H.unit })] })), freshSnowFallDepth48H && (_jsxs("div", { className: css.snowFall, children: [_jsx(T, { id: "snow.fresh-snow-fall" }), " 48h :", " ", freshSnowFallDepth48H.value, _jsx(T, { id: freshSnowFallDepth48H.unit })] })), freshSnowFallDepth72H && (_jsxs("div", { className: css.snowFall, children: [_jsx(T, { id: "snow.fresh-snow-fall" }), " 72h :", " ", freshSnowFallDepth72H.value, _jsx(T, { id: freshSnowFallDepth72H.unit })] }))] }))] })] }));
8
+ }
@@ -0,0 +1,41 @@
1
+ .snow {
2
+ flex: 1 1 100%;
3
+ display: flex;
4
+ gap: 34px;
5
+ }
6
+
7
+ .snowIcon {
8
+ flex: 0 0 50px;
9
+ width: 50px;
10
+ height: 50px;
11
+ margin-top: 10px;
12
+ fill: hsl(var(--primary));
13
+ }
14
+
15
+ .snowInfo {
16
+ display: flex;
17
+ flex-direction: column;
18
+ }
19
+
20
+ .snowState {
21
+ color: hsl(var(--primary));
22
+ font-weight: 700;
23
+ }
24
+
25
+ .snowDepth {
26
+ margin: 16px 0;
27
+ font-size: 28px;
28
+ font-weight: 700;
29
+ color: hsl(var(--secondary));
30
+ }
31
+
32
+ .expanded {
33
+ display: flex;
34
+ flex-direction: column;
35
+ gap: 3px;
36
+ }
37
+
38
+ .snowFall {
39
+ color: hsl(var(--primary));
40
+ font-size: 14px;
41
+ }