@rio-cloud/rio-uikit 2.5.0-beta.1 → 2.5.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.
- package/CountedInput.d.ts +2 -0
- package/CountedInput.js +5 -0
- package/CountedInput.js.map +1 -0
- package/TabbedPanel.d.ts +2 -0
- package/TabbedPanel.js +5 -0
- package/TabbedPanel.js.map +1 -0
- package/components/applicationHeader/NavItems.js +58 -46
- package/components/applicationHeader/NavItems.js.map +1 -1
- package/components/applicationLayout/ApplicationLayoutBody.d.ts +1 -1
- package/components/applicationLayout/ApplicationLayoutBody.js +29 -29
- package/components/applicationLayout/ApplicationLayoutBody.js.map +1 -1
- package/components/applicationLayout/ApplicationLayoutHeader.js +22 -7
- package/components/applicationLayout/ApplicationLayoutHeader.js.map +1 -1
- package/components/assetTree/useTreeHeight.js.map +1 -1
- package/components/button/Button.d.ts +11 -3
- package/components/button/Button.js.map +1 -1
- package/components/clearableInput/ClearableInput.d.ts +4 -0
- package/components/clearableInput/ClearableInput.js.map +1 -1
- package/components/countedInput/CountedInput.d.ts +91 -0
- package/components/countedInput/CountedInput.js +65 -0
- package/components/countedInput/CountedInput.js.map +1 -0
- package/components/datepicker/DatePicker.d.ts +1 -1
- package/components/datepicker/DatePicker.js +1 -1
- package/components/datepicker/DatePicker.js.map +1 -1
- package/components/datepicker/DayPicker.js +3 -2
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/datepicker/DayPickerInput.d.ts +1 -1
- package/components/datepicker/DayPickerInput.js.map +1 -1
- package/components/datepicker/dayPickerTypes.d.ts +3 -2
- package/components/datepicker/dayPickerTypes.js.map +1 -1
- package/components/datepicker/dayPickerUtils.d.ts +1 -1
- package/components/datepicker/dayPickerUtils.js +45 -22
- package/components/datepicker/dayPickerUtils.js.map +1 -1
- package/components/datepicker/useDayPickerInputState.d.ts +1 -1
- package/components/dialog/ConfirmationDialog.d.ts +17 -0
- package/components/dialog/ConfirmationDialog.js +43 -19
- package/components/dialog/ConfirmationDialog.js.map +1 -1
- package/components/dialog/DialogHeader.js +20 -19
- package/components/dialog/DialogHeader.js.map +1 -1
- package/components/dropdown/ButtonDropdown.d.ts +5 -0
- package/components/dropdown/ButtonDropdown.js +63 -61
- package/components/dropdown/ButtonDropdown.js.map +1 -1
- package/components/dropdown/DropdownToggleButton.d.ts +2 -0
- package/components/dropdown/DropdownToggleButton.js +39 -35
- package/components/dropdown/DropdownToggleButton.js.map +1 -1
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +103 -105
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
- package/components/map/utils/eventHandling.js.map +1 -1
- package/components/map/utils/mapTypes.d.ts +7 -0
- package/components/map/utils/mapTypes.js.map +1 -1
- package/components/map/utils/rendering.js +5 -5
- package/components/numberControl/NumberControl.js.map +1 -1
- package/components/page/Page.d.ts +2 -0
- package/components/page/Page.js.map +1 -1
- package/components/rioglyph/Rioglyph.d.ts +8 -2
- package/components/rioglyph/Rioglyph.js.map +1 -1
- package/components/rioglyph/RioglyphIconType.d.ts +1 -1
- package/components/selects/BaseSelectDropdown.d.ts +8 -0
- package/components/selects/BaseSelectDropdown.js +76 -60
- package/components/selects/BaseSelectDropdown.js.map +1 -1
- package/components/selects/Multiselect.d.ts +5 -0
- package/components/selects/Multiselect.js +60 -58
- package/components/selects/Multiselect.js.map +1 -1
- package/components/selects/Select.d.ts +5 -0
- package/components/selects/Select.js +60 -58
- package/components/selects/Select.js.map +1 -1
- package/components/sidebars/Sidebar.js +40 -40
- package/components/sidebars/Sidebar.js.map +1 -1
- package/components/sidebars/SidebarCloseButton.d.ts +3 -1
- package/components/sidebars/SidebarCloseButton.js +19 -5
- package/components/sidebars/SidebarCloseButton.js.map +1 -1
- package/components/states/CustomState.d.ts +7 -1
- package/components/states/CustomState.js.map +1 -1
- package/components/states/StateButton.d.ts +11 -1
- package/components/states/StateButton.js +46 -10
- package/components/states/StateButton.js.map +1 -1
- package/components/statsWidget/StatsWidgetNumber.d.ts +16 -1
- package/components/statsWidget/StatsWidgetNumber.js +29 -12
- package/components/statsWidget/StatsWidgetNumber.js.map +1 -1
- package/components/tabbedPanel/TabbedPanel.d.ts +99 -0
- package/components/tabbedPanel/TabbedPanel.js +119 -0
- package/components/tabbedPanel/TabbedPanel.js.map +1 -0
- package/components/table/Table.types.d.ts +9 -1
- package/components/table/TableColumn.js +20 -19
- package/components/table/TableColumn.js.map +1 -1
- package/components/table/TableHeaderColumn.d.ts +4 -0
- package/components/table/TableHeaderColumn.js +50 -53
- package/components/table/TableHeaderColumn.js.map +1 -1
- package/components/table/TableToolbar.d.ts +4 -0
- package/components/table/TableToolbar.js.map +1 -1
- package/components/table/TableToolbarColumn.d.ts +3 -0
- package/components/table/TableToolbarColumn.js.map +1 -1
- package/components/table/render/header/resolveHeaderCellStyle.d.ts +87 -55
- package/components/timepicker/TimePicker.d.ts +6 -0
- package/components/timepicker/TimePicker.js +57 -56
- package/components/timepicker/TimePicker.js.map +1 -1
- package/hooks/useClickOutside.js +3 -3
- package/hooks/useClipboard.js.map +1 -1
- package/hooks/useScrollPosition.js.map +1 -1
- package/package.json +2 -4
- package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +23 -22
- package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js.map +1 -1
- package/utils/analytics/getTrackingLabelFromNode.d.ts +2 -0
- package/utils/analytics/getTrackingLabelFromNode.js +24 -0
- package/utils/analytics/getTrackingLabelFromNode.js.map +1 -0
- package/utils/analytics/googleAnalyticsUtils.js +21 -28
- package/utils/analytics/googleAnalyticsUtils.js.map +1 -1
- package/utils/getNodeTextContent.d.ts +2 -0
- package/utils/getNodeTextContent.js +22 -0
- package/utils/getNodeTextContent.js.map +1 -0
- package/utils/init/initCSS.js +5 -5
- package/utils/init/initCSS.js.map +1 -1
- package/utils/init/initConfig.js +4 -7
- package/utils/init/initConfig.js.map +1 -1
- package/utils/init/initDocumentBootstrapping.js +14 -14
- package/utils/init/initDocumentBootstrapping.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +2 -2
- package/version.js.map +1 -1
|
@@ -1,162 +1,160 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
1
|
+
import { jsx as e, jsxs as j } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo as N, useEffect as K } from "react";
|
|
3
|
-
import { noop as
|
|
4
|
-
import { compact as
|
|
5
|
-
import { MAP_TYPE_DEFAULT as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { MapIcon as a, MAP_TYPE_NIGHT_INACTIVE as Y, MAP_TYPE_NIGHT_ACTIVE as
|
|
10
|
-
import
|
|
11
|
-
|
|
3
|
+
import { noop as W } from "es-toolkit/function";
|
|
4
|
+
import { compact as f } from "es-toolkit/compat";
|
|
5
|
+
import { MAP_TYPE_DEFAULT as i, MAP_TYPE_FLEET_STYLE as n, MAP_TYPE_TERRAIN as T, MAP_TYPE_SATELLITE as s, MAP_TYPE_NIGHT as _ } from "../../../constants.js";
|
|
6
|
+
import q from "../MapSettingsPanel.js";
|
|
7
|
+
import A from "../MapSettingsItem.js";
|
|
8
|
+
import z from "../MapSettingsTile.js";
|
|
9
|
+
import { MapIcon as a, MAP_TYPE_NIGHT_INACTIVE as Y, MAP_TYPE_NIGHT_ACTIVE as B, MAP_TYPE_SATELLITE_INACTIVE as d, MAP_TYPE_SATELLITE_ACTIVE as J, MAP_TYPE_TERRAIN_INACTIVE as F, MAP_TYPE_TERRAIN_ACTIVE as O, MAP_TYPE_FLAT_TRUCK_INACTIVE as V, MAP_TYPE_FLAT_TRUCK_ACTIVE as Q, MAP_TYPE_FLAT_INACTIVE as k, MAP_TYPE_FLAT_ACTIVE as X } from "../../../../icons/MapIcon.js";
|
|
10
|
+
import Z from "../items/MapSettingsDropdownHeader.js";
|
|
11
|
+
import "../../../../../../utils/init/initConfig.js";
|
|
12
|
+
const ce = (R) => {
|
|
12
13
|
const {
|
|
13
|
-
mapType:
|
|
14
|
-
onMapTypeChange:
|
|
15
|
-
enableNightMap:
|
|
16
|
-
visibleMapTypes:
|
|
17
|
-
|
|
14
|
+
mapType: l,
|
|
15
|
+
onMapTypeChange: r = W,
|
|
16
|
+
enableNightMap: D = !0,
|
|
17
|
+
visibleMapTypes: S = [
|
|
18
|
+
i,
|
|
18
19
|
n,
|
|
20
|
+
T,
|
|
19
21
|
s,
|
|
20
|
-
p,
|
|
21
22
|
_
|
|
22
23
|
],
|
|
23
|
-
defaultTypeLabel:
|
|
24
|
+
defaultTypeLabel: M,
|
|
24
25
|
truckTypeLabel: E,
|
|
25
26
|
terrainTypeLabel: I,
|
|
26
|
-
satelliteTypeLabel:
|
|
27
|
-
nightTypeLabel:
|
|
28
|
-
dropdownHeaderText:
|
|
29
|
-
...
|
|
30
|
-
} = R,
|
|
31
|
-
() =>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
m && !
|
|
27
|
+
satelliteTypeLabel: P,
|
|
28
|
+
nightTypeLabel: y,
|
|
29
|
+
dropdownHeaderText: b,
|
|
30
|
+
...H
|
|
31
|
+
} = R, o = N(() => new Set(S), [S]), t = (p) => o.has(p), m = t(_) && D, w = N(
|
|
32
|
+
() => f([
|
|
33
|
+
o.has(i) && !M && i,
|
|
34
|
+
o.has(n) && !E && n,
|
|
35
|
+
o.has(T) && !I && T,
|
|
36
|
+
o.has(s) && !P && s,
|
|
37
|
+
m && !y && _
|
|
37
38
|
]),
|
|
38
39
|
[
|
|
39
|
-
|
|
40
|
+
M,
|
|
40
41
|
m,
|
|
41
|
-
P,
|
|
42
42
|
y,
|
|
43
|
+
P,
|
|
43
44
|
I,
|
|
44
45
|
E,
|
|
45
|
-
|
|
46
|
+
o
|
|
46
47
|
]
|
|
47
48
|
);
|
|
48
49
|
K(() => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
);
|
|
52
|
-
}, [f]);
|
|
53
|
-
const r = N(
|
|
50
|
+
}, [w]);
|
|
51
|
+
const c = N(
|
|
54
52
|
() => ({
|
|
55
|
-
isDefault:
|
|
56
|
-
isFleetStyle:
|
|
57
|
-
isTerrain:
|
|
58
|
-
isSatellite:
|
|
59
|
-
isNight:
|
|
53
|
+
isDefault: l === i,
|
|
54
|
+
isFleetStyle: l === n,
|
|
55
|
+
isTerrain: l === T,
|
|
56
|
+
isSatellite: l === s,
|
|
57
|
+
isNight: l === _
|
|
60
58
|
}),
|
|
61
|
-
[
|
|
62
|
-
), x = (
|
|
63
|
-
if (
|
|
64
|
-
return /* @__PURE__ */ e(a, { name: D });
|
|
65
|
-
if (o.isFleetStyle)
|
|
59
|
+
[l]
|
|
60
|
+
), x = (p) => {
|
|
61
|
+
if (p.isDefault)
|
|
66
62
|
return /* @__PURE__ */ e(a, { name: k });
|
|
67
|
-
if (
|
|
68
|
-
return /* @__PURE__ */ e(a, { name: F });
|
|
69
|
-
if (o.isSatellite)
|
|
63
|
+
if (p.isFleetStyle)
|
|
70
64
|
return /* @__PURE__ */ e(a, { name: V });
|
|
71
|
-
if (
|
|
65
|
+
if (p.isTerrain)
|
|
66
|
+
return /* @__PURE__ */ e(a, { name: F });
|
|
67
|
+
if (p.isSatellite)
|
|
68
|
+
return /* @__PURE__ */ e(a, { name: d });
|
|
69
|
+
if (p.isNight)
|
|
72
70
|
return /* @__PURE__ */ e(a, { name: Y });
|
|
73
|
-
},
|
|
74
|
-
|
|
71
|
+
}, G = b && /* @__PURE__ */ e(Z, { label: b }, "mapTypeDropdownHeader"), v = /* @__PURE__ */ e(
|
|
72
|
+
A,
|
|
75
73
|
{
|
|
76
74
|
className: "MapTypeNight",
|
|
77
|
-
onClick: () =>
|
|
78
|
-
isActive:
|
|
79
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
75
|
+
onClick: () => r(_),
|
|
76
|
+
isActive: c.isNight,
|
|
77
|
+
activeIcon: /* @__PURE__ */ e(a, { name: B }),
|
|
80
78
|
inactiveIcon: /* @__PURE__ */ e(a, { name: Y }),
|
|
81
|
-
label:
|
|
79
|
+
label: y
|
|
82
80
|
},
|
|
83
81
|
"MapTypeNight"
|
|
84
|
-
),
|
|
85
|
-
|
|
82
|
+
), L = /* @__PURE__ */ e(
|
|
83
|
+
A,
|
|
86
84
|
{
|
|
87
85
|
className: "MapTypeSatellite",
|
|
88
|
-
onClick: () =>
|
|
89
|
-
isActive:
|
|
90
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
91
|
-
inactiveIcon: /* @__PURE__ */ e(a, { name:
|
|
92
|
-
label:
|
|
86
|
+
onClick: () => r(s),
|
|
87
|
+
isActive: c.isSatellite,
|
|
88
|
+
activeIcon: /* @__PURE__ */ e(a, { name: J }),
|
|
89
|
+
inactiveIcon: /* @__PURE__ */ e(a, { name: d }),
|
|
90
|
+
label: P
|
|
93
91
|
},
|
|
94
92
|
"MapTypeSatellite"
|
|
95
|
-
),
|
|
96
|
-
|
|
93
|
+
), g = /* @__PURE__ */ e(
|
|
94
|
+
A,
|
|
97
95
|
{
|
|
98
96
|
className: "MapTypeTerrain",
|
|
99
|
-
onClick: () =>
|
|
100
|
-
isActive:
|
|
101
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
97
|
+
onClick: () => r(T),
|
|
98
|
+
isActive: c.isTerrain,
|
|
99
|
+
activeIcon: /* @__PURE__ */ e(a, { name: O }),
|
|
102
100
|
inactiveIcon: /* @__PURE__ */ e(a, { name: F }),
|
|
103
101
|
label: I
|
|
104
102
|
},
|
|
105
103
|
"MapTypeTerrain"
|
|
106
|
-
),
|
|
107
|
-
|
|
104
|
+
), h = /* @__PURE__ */ e(
|
|
105
|
+
A,
|
|
108
106
|
{
|
|
109
107
|
className: "MapTypeFlatTruck",
|
|
110
|
-
onClick: () =>
|
|
111
|
-
isActive:
|
|
112
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
113
|
-
inactiveIcon: /* @__PURE__ */ e(a, { name:
|
|
108
|
+
onClick: () => r(n),
|
|
109
|
+
isActive: c.isFleetStyle,
|
|
110
|
+
activeIcon: /* @__PURE__ */ e(a, { name: Q }),
|
|
111
|
+
inactiveIcon: /* @__PURE__ */ e(a, { name: V }),
|
|
114
112
|
label: E
|
|
115
113
|
},
|
|
116
114
|
"MapTypeFlatTruck"
|
|
117
|
-
),
|
|
118
|
-
|
|
115
|
+
), C = /* @__PURE__ */ e(
|
|
116
|
+
A,
|
|
119
117
|
{
|
|
120
118
|
className: "MapTypeFlat",
|
|
121
|
-
onClick: () =>
|
|
122
|
-
isActive:
|
|
123
|
-
activeIcon: /* @__PURE__ */ e(a, { name:
|
|
124
|
-
inactiveIcon: /* @__PURE__ */ e(a, { name:
|
|
125
|
-
label:
|
|
119
|
+
onClick: () => r(i),
|
|
120
|
+
isActive: c.isDefault,
|
|
121
|
+
activeIcon: /* @__PURE__ */ e(a, { name: X }),
|
|
122
|
+
inactiveIcon: /* @__PURE__ */ e(a, { name: k }),
|
|
123
|
+
label: M
|
|
126
124
|
},
|
|
127
125
|
"MapTypeFlat"
|
|
128
|
-
),
|
|
129
|
-
|
|
130
|
-
m &&
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
i
|
|
135
|
-
]),
|
|
136
|
-
i
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
m &&
|
|
126
|
+
), U = f([
|
|
127
|
+
G,
|
|
128
|
+
m && v,
|
|
129
|
+
t(s) && L,
|
|
130
|
+
t(T) && g,
|
|
131
|
+
t(n) && h,
|
|
132
|
+
t(i) && C
|
|
133
|
+
]), u = f([
|
|
134
|
+
t(i) && M,
|
|
135
|
+
t(n) && E,
|
|
136
|
+
t(T) && I,
|
|
137
|
+
t(s) && P,
|
|
138
|
+
m && y
|
|
141
139
|
]).length > 0;
|
|
142
140
|
return /* @__PURE__ */ e(
|
|
143
|
-
|
|
141
|
+
z,
|
|
144
142
|
{
|
|
145
143
|
className: "MapTypeSettings",
|
|
146
|
-
inactiveIcon: x(
|
|
147
|
-
items:
|
|
148
|
-
panel: !
|
|
149
|
-
m &&
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
i
|
|
144
|
+
inactiveIcon: x(c),
|
|
145
|
+
items: u ? U : void 0,
|
|
146
|
+
panel: !u && /* @__PURE__ */ j(q, { children: [
|
|
147
|
+
m && v,
|
|
148
|
+
t(s) && L,
|
|
149
|
+
t(T) && g,
|
|
150
|
+
t(n) && h,
|
|
151
|
+
t(i) && C
|
|
154
152
|
] }),
|
|
155
|
-
...
|
|
153
|
+
...H
|
|
156
154
|
}
|
|
157
155
|
);
|
|
158
156
|
};
|
|
159
157
|
export {
|
|
160
|
-
|
|
158
|
+
ce as default
|
|
161
159
|
};
|
|
162
160
|
//# sourceMappingURL=MapTypeSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapTypeSettings.js","sources":["../../../../../../../src/components/map/components/features/settings/builtinSettings/MapTypeSettings.tsx"],"sourcesContent":["import type React from 'react';\nimport { useEffect, useMemo } from 'react';\nimport { noop } from 'es-toolkit/function';\nimport { compact } from 'es-toolkit/compat';\n\nimport {\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_NIGHT,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_TERRAIN,\n} from '../../../constants';\nimport MapSettingsPanel from '../MapSettingsPanel';\nimport MapSettingsItem from '../MapSettingsItem';\nimport MapSettingsTile from '../MapSettingsTile';\n\nimport {\n MapIcon,\n MAP_TYPE_FLAT_ACTIVE,\n MAP_TYPE_FLAT_INACTIVE,\n MAP_TYPE_FLAT_TRUCK_ACTIVE,\n MAP_TYPE_FLAT_TRUCK_INACTIVE,\n MAP_TYPE_SATELLITE_ACTIVE,\n MAP_TYPE_SATELLITE_INACTIVE,\n MAP_TYPE_TERRAIN_ACTIVE,\n MAP_TYPE_TERRAIN_INACTIVE,\n MAP_TYPE_NIGHT_ACTIVE,\n MAP_TYPE_NIGHT_INACTIVE,\n} from '../../../../icons/MapIcon';\nimport type { MapType } from '../../../../utils/mapTypes';\nimport MapSettingsDropdownHeader from '../items/MapSettingsDropdownHeader';\n\nexport type MapTypeSettingsProps = {\n /**\n * Currently selected base map type.\n */\n mapType?: MapType;\n\n /**\n * Global switch to enable or disable the night map type entry.\n *\n * @deprecated Prefer controlling night visibility via `visibleMapTypes`\n * by including or excluding `MAP_TYPE_NIGHT`.\n */\n enableNightMap?: boolean;\n\n /**\n * Map types that should be shown in the settings panel/dropdown.\n */\n visibleMapTypes?: MapType[];\n\n /**\n * Called when the user selects a different map type.\n */\n onMapTypeChange?: (type: MapType) => void;\n\n /**\n * Custom label for the default map type entry.\n */\n defaultTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the truck/fleet-style map type entry.\n */\n truckTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the terrain map type entry.\n */\n terrainTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the satellite map type entry.\n */\n satelliteTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the night map type entry.\n */\n nightTypeLabel?: string | JSX.Element;\n\n /**\n * Tooltip content shown for the map type settings trigger.\n */\n tooltip?: string | React.ReactNode;\n\n /**\n * Optional dropdown header text shown above labeled map type entries.\n */\n dropdownHeaderText?: string | JSX.Element;\n};\n\nconst MapTypeSettings = (props: MapTypeSettingsProps) => {\n const {\n mapType,\n onMapTypeChange = noop,\n enableNightMap = true,\n visibleMapTypes = [\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_TERRAIN,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_NIGHT,\n ],\n defaultTypeLabel,\n truckTypeLabel,\n terrainTypeLabel,\n satelliteTypeLabel,\n nightTypeLabel,\n dropdownHeaderText,\n ...remainingProps\n } = props;\n\n const visibleMapTypesSet = useMemo(() => new Set(visibleMapTypes), [visibleMapTypes]);\n\n const isMapTypeVisible = (type: MapType) => visibleMapTypesSet.has(type);\n\n const isNightMapVisible = isMapTypeVisible(MAP_TYPE_NIGHT) && enableNightMap;\n\n const visibleMapTypesWithoutLabel = useMemo(\n () =>\n compact([\n visibleMapTypesSet.has(MAP_TYPE_DEFAULT) && !defaultTypeLabel && MAP_TYPE_DEFAULT,\n visibleMapTypesSet.has(MAP_TYPE_FLEET_STYLE) && !truckTypeLabel && MAP_TYPE_FLEET_STYLE,\n visibleMapTypesSet.has(MAP_TYPE_TERRAIN) && !terrainTypeLabel && MAP_TYPE_TERRAIN,\n visibleMapTypesSet.has(MAP_TYPE_SATELLITE) && !satelliteTypeLabel && MAP_TYPE_SATELLITE,\n isNightMapVisible && !nightTypeLabel && MAP_TYPE_NIGHT,\n ]),\n [\n defaultTypeLabel,\n isNightMapVisible,\n nightTypeLabel,\n satelliteTypeLabel,\n terrainTypeLabel,\n truckTypeLabel,\n visibleMapTypesSet,\n ]\n );\n\n useEffect(() => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production') {\n return;\n }\n\n if (visibleMapTypesWithoutLabel.length === 0) {\n return;\n }\n\n console.warn(\n `[MapTypeSettings] Missing labels for visible map types: ${visibleMapTypesWithoutLabel.join(', ')}. ` +\n 'Pass the corresponding `...TypeLabel` props to improve clarity.'\n );\n }, [visibleMapTypesWithoutLabel]);\n\n const type = useMemo(\n () => ({\n isDefault: mapType === MAP_TYPE_DEFAULT,\n isFleetStyle: mapType === MAP_TYPE_FLEET_STYLE,\n isTerrain: mapType === MAP_TYPE_TERRAIN,\n isSatellite: mapType === MAP_TYPE_SATELLITE,\n isNight: mapType === MAP_TYPE_NIGHT,\n }),\n [mapType]\n );\n\n const getIcon = (currentType: typeof type) => {\n if (currentType.isDefault) {\n return <MapIcon name={MAP_TYPE_FLAT_INACTIVE} />;\n }\n if (currentType.isFleetStyle) {\n return <MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />;\n }\n if (currentType.isTerrain) {\n return <MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />;\n }\n if (currentType.isSatellite) {\n return <MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />;\n }\n if (currentType.isNight) {\n return <MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />;\n }\n };\n\n const dropdownHeader = dropdownHeaderText && (\n <MapSettingsDropdownHeader key='mapTypeDropdownHeader' label={dropdownHeaderText} />\n );\n\n const mapTypeNight = (\n <MapSettingsItem\n key='MapTypeNight'\n className='MapTypeNight'\n onClick={() => onMapTypeChange(MAP_TYPE_NIGHT)}\n isActive={type.isNight}\n activeIcon={<MapIcon name={MAP_TYPE_NIGHT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />}\n label={nightTypeLabel}\n />\n );\n\n const mapTypeSatellite = (\n <MapSettingsItem\n key='MapTypeSatellite'\n className='MapTypeSatellite'\n onClick={() => onMapTypeChange(MAP_TYPE_SATELLITE)}\n isActive={type.isSatellite}\n activeIcon={<MapIcon name={MAP_TYPE_SATELLITE_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />}\n label={satelliteTypeLabel}\n />\n );\n\n const mapTypeTerrain = (\n <MapSettingsItem\n key='MapTypeTerrain'\n className='MapTypeTerrain'\n onClick={() => onMapTypeChange(MAP_TYPE_TERRAIN)}\n isActive={type.isTerrain}\n activeIcon={<MapIcon name={MAP_TYPE_TERRAIN_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />}\n label={terrainTypeLabel}\n />\n );\n\n const mapTypeTruck = (\n <MapSettingsItem\n key='MapTypeFlatTruck'\n className='MapTypeFlatTruck'\n onClick={() => onMapTypeChange(MAP_TYPE_FLEET_STYLE)}\n isActive={type.isFleetStyle}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />}\n label={truckTypeLabel}\n />\n );\n\n const mapTypeDefault = (\n <MapSettingsItem\n key='MapTypeFlat'\n className='MapTypeFlat'\n onClick={() => onMapTypeChange(MAP_TYPE_DEFAULT)}\n isActive={type.isDefault}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_INACTIVE} />}\n label={defaultTypeLabel}\n />\n );\n\n const mapTypeItems = compact([\n dropdownHeader,\n isNightMapVisible && mapTypeNight,\n isMapTypeVisible(MAP_TYPE_SATELLITE) && mapTypeSatellite,\n isMapTypeVisible(MAP_TYPE_TERRAIN) && mapTypeTerrain,\n isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && mapTypeTruck,\n isMapTypeVisible(MAP_TYPE_DEFAULT) && mapTypeDefault,\n ]);\n\n const hasVisibleLabels =\n compact([\n isMapTypeVisible(MAP_TYPE_DEFAULT) && defaultTypeLabel,\n isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && truckTypeLabel,\n isMapTypeVisible(MAP_TYPE_TERRAIN) && terrainTypeLabel,\n isMapTypeVisible(MAP_TYPE_SATELLITE) && satelliteTypeLabel,\n isNightMapVisible && nightTypeLabel,\n ]).length > 0;\n\n return (\n <MapSettingsTile\n className='MapTypeSettings'\n inactiveIcon={getIcon(type)}\n items={hasVisibleLabels ? mapTypeItems : undefined}\n panel={\n !hasVisibleLabels && (\n <MapSettingsPanel>\n {isNightMapVisible && mapTypeNight}\n {isMapTypeVisible(MAP_TYPE_SATELLITE) && mapTypeSatellite}\n {isMapTypeVisible(MAP_TYPE_TERRAIN) && mapTypeTerrain}\n {isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && mapTypeTruck}\n {isMapTypeVisible(MAP_TYPE_DEFAULT) && mapTypeDefault}\n </MapSettingsPanel>\n )\n }\n {...remainingProps}\n />\n );\n};\n\nexport default MapTypeSettings;\n"],"names":["MapTypeSettings","props","mapType","onMapTypeChange","noop","enableNightMap","visibleMapTypes","MAP_TYPE_DEFAULT","MAP_TYPE_FLEET_STYLE","MAP_TYPE_TERRAIN","MAP_TYPE_SATELLITE","MAP_TYPE_NIGHT","defaultTypeLabel","truckTypeLabel","terrainTypeLabel","satelliteTypeLabel","nightTypeLabel","dropdownHeaderText","remainingProps","visibleMapTypesSet","useMemo","isMapTypeVisible","type","isNightMapVisible","visibleMapTypesWithoutLabel","compact","useEffect","getIcon","currentType","jsx","MapIcon","MAP_TYPE_FLAT_INACTIVE","MAP_TYPE_FLAT_TRUCK_INACTIVE","MAP_TYPE_TERRAIN_INACTIVE","MAP_TYPE_SATELLITE_INACTIVE","MAP_TYPE_NIGHT_INACTIVE","dropdownHeader","MapSettingsDropdownHeader","mapTypeNight","MapSettingsItem","MAP_TYPE_NIGHT_ACTIVE","mapTypeSatellite","MAP_TYPE_SATELLITE_ACTIVE","mapTypeTerrain","MAP_TYPE_TERRAIN_ACTIVE","mapTypeTruck","MAP_TYPE_FLAT_TRUCK_ACTIVE","mapTypeDefault","MAP_TYPE_FLAT_ACTIVE","mapTypeItems","hasVisibleLabels","MapSettingsTile","jsxs","MapSettingsPanel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MapTypeSettings.js","sources":["../../../../../../../src/components/map/components/features/settings/builtinSettings/MapTypeSettings.tsx"],"sourcesContent":["import type React from 'react';\nimport { useEffect, useMemo } from 'react';\nimport { noop } from 'es-toolkit/function';\nimport { compact } from 'es-toolkit/compat';\n\nimport {\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_NIGHT,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_TERRAIN,\n} from '../../../constants';\nimport MapSettingsPanel from '../MapSettingsPanel';\nimport MapSettingsItem from '../MapSettingsItem';\nimport MapSettingsTile from '../MapSettingsTile';\n\nimport {\n MapIcon,\n MAP_TYPE_FLAT_ACTIVE,\n MAP_TYPE_FLAT_INACTIVE,\n MAP_TYPE_FLAT_TRUCK_ACTIVE,\n MAP_TYPE_FLAT_TRUCK_INACTIVE,\n MAP_TYPE_SATELLITE_ACTIVE,\n MAP_TYPE_SATELLITE_INACTIVE,\n MAP_TYPE_TERRAIN_ACTIVE,\n MAP_TYPE_TERRAIN_INACTIVE,\n MAP_TYPE_NIGHT_ACTIVE,\n MAP_TYPE_NIGHT_INACTIVE,\n} from '../../../../icons/MapIcon';\nimport type { MapType } from '../../../../utils/mapTypes';\nimport MapSettingsDropdownHeader from '../items/MapSettingsDropdownHeader';\nimport { isProd } from '../../../../../../utils/init/initConfig';\n\nexport type MapTypeSettingsProps = {\n /**\n * Currently selected base map type.\n */\n mapType?: MapType;\n\n /**\n * Global switch to enable or disable the night map type entry.\n *\n * @deprecated Prefer controlling night visibility via `visibleMapTypes`\n * by including or excluding `MAP_TYPE_NIGHT`.\n */\n enableNightMap?: boolean;\n\n /**\n * Map types that should be shown in the settings panel/dropdown.\n */\n visibleMapTypes?: MapType[];\n\n /**\n * Called when the user selects a different map type.\n */\n onMapTypeChange?: (type: MapType) => void;\n\n /**\n * Custom label for the default map type entry.\n */\n defaultTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the truck/fleet-style map type entry.\n */\n truckTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the terrain map type entry.\n */\n terrainTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the satellite map type entry.\n */\n satelliteTypeLabel?: string | JSX.Element;\n\n /**\n * Custom label for the night map type entry.\n */\n nightTypeLabel?: string | JSX.Element;\n\n /**\n * Tooltip content shown for the map type settings trigger.\n */\n tooltip?: string | React.ReactNode;\n\n /**\n * Optional dropdown header text shown above labeled map type entries.\n */\n dropdownHeaderText?: string | JSX.Element;\n};\n\nconst MapTypeSettings = (props: MapTypeSettingsProps) => {\n const {\n mapType,\n onMapTypeChange = noop,\n enableNightMap = true,\n visibleMapTypes = [\n MAP_TYPE_DEFAULT,\n MAP_TYPE_FLEET_STYLE,\n MAP_TYPE_TERRAIN,\n MAP_TYPE_SATELLITE,\n MAP_TYPE_NIGHT,\n ],\n defaultTypeLabel,\n truckTypeLabel,\n terrainTypeLabel,\n satelliteTypeLabel,\n nightTypeLabel,\n dropdownHeaderText,\n ...remainingProps\n } = props;\n\n const visibleMapTypesSet = useMemo(() => new Set(visibleMapTypes), [visibleMapTypes]);\n\n const isMapTypeVisible = (type: MapType) => visibleMapTypesSet.has(type);\n\n const isNightMapVisible = isMapTypeVisible(MAP_TYPE_NIGHT) && enableNightMap;\n\n const visibleMapTypesWithoutLabel = useMemo(\n () =>\n compact([\n visibleMapTypesSet.has(MAP_TYPE_DEFAULT) && !defaultTypeLabel && MAP_TYPE_DEFAULT,\n visibleMapTypesSet.has(MAP_TYPE_FLEET_STYLE) && !truckTypeLabel && MAP_TYPE_FLEET_STYLE,\n visibleMapTypesSet.has(MAP_TYPE_TERRAIN) && !terrainTypeLabel && MAP_TYPE_TERRAIN,\n visibleMapTypesSet.has(MAP_TYPE_SATELLITE) && !satelliteTypeLabel && MAP_TYPE_SATELLITE,\n isNightMapVisible && !nightTypeLabel && MAP_TYPE_NIGHT,\n ]),\n [\n defaultTypeLabel,\n isNightMapVisible,\n nightTypeLabel,\n satelliteTypeLabel,\n terrainTypeLabel,\n truckTypeLabel,\n visibleMapTypesSet,\n ]\n );\n\n useEffect(() => {\n if (isProd) {\n return;\n }\n\n if (visibleMapTypesWithoutLabel.length === 0) {\n return;\n }\n\n console.warn(\n `[MapTypeSettings] Missing labels for visible map types: ${visibleMapTypesWithoutLabel.join(', ')}. ` +\n 'Pass the corresponding `...TypeLabel` props to improve clarity.'\n );\n }, [visibleMapTypesWithoutLabel]);\n\n const type = useMemo(\n () => ({\n isDefault: mapType === MAP_TYPE_DEFAULT,\n isFleetStyle: mapType === MAP_TYPE_FLEET_STYLE,\n isTerrain: mapType === MAP_TYPE_TERRAIN,\n isSatellite: mapType === MAP_TYPE_SATELLITE,\n isNight: mapType === MAP_TYPE_NIGHT,\n }),\n [mapType]\n );\n\n const getIcon = (currentType: typeof type) => {\n if (currentType.isDefault) {\n return <MapIcon name={MAP_TYPE_FLAT_INACTIVE} />;\n }\n if (currentType.isFleetStyle) {\n return <MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />;\n }\n if (currentType.isTerrain) {\n return <MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />;\n }\n if (currentType.isSatellite) {\n return <MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />;\n }\n if (currentType.isNight) {\n return <MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />;\n }\n };\n\n const dropdownHeader = dropdownHeaderText && (\n <MapSettingsDropdownHeader key='mapTypeDropdownHeader' label={dropdownHeaderText} />\n );\n\n const mapTypeNight = (\n <MapSettingsItem\n key='MapTypeNight'\n className='MapTypeNight'\n onClick={() => onMapTypeChange(MAP_TYPE_NIGHT)}\n isActive={type.isNight}\n activeIcon={<MapIcon name={MAP_TYPE_NIGHT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_NIGHT_INACTIVE} />}\n label={nightTypeLabel}\n />\n );\n\n const mapTypeSatellite = (\n <MapSettingsItem\n key='MapTypeSatellite'\n className='MapTypeSatellite'\n onClick={() => onMapTypeChange(MAP_TYPE_SATELLITE)}\n isActive={type.isSatellite}\n activeIcon={<MapIcon name={MAP_TYPE_SATELLITE_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_SATELLITE_INACTIVE} />}\n label={satelliteTypeLabel}\n />\n );\n\n const mapTypeTerrain = (\n <MapSettingsItem\n key='MapTypeTerrain'\n className='MapTypeTerrain'\n onClick={() => onMapTypeChange(MAP_TYPE_TERRAIN)}\n isActive={type.isTerrain}\n activeIcon={<MapIcon name={MAP_TYPE_TERRAIN_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_TERRAIN_INACTIVE} />}\n label={terrainTypeLabel}\n />\n );\n\n const mapTypeTruck = (\n <MapSettingsItem\n key='MapTypeFlatTruck'\n className='MapTypeFlatTruck'\n onClick={() => onMapTypeChange(MAP_TYPE_FLEET_STYLE)}\n isActive={type.isFleetStyle}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_TRUCK_INACTIVE} />}\n label={truckTypeLabel}\n />\n );\n\n const mapTypeDefault = (\n <MapSettingsItem\n key='MapTypeFlat'\n className='MapTypeFlat'\n onClick={() => onMapTypeChange(MAP_TYPE_DEFAULT)}\n isActive={type.isDefault}\n activeIcon={<MapIcon name={MAP_TYPE_FLAT_ACTIVE} />}\n inactiveIcon={<MapIcon name={MAP_TYPE_FLAT_INACTIVE} />}\n label={defaultTypeLabel}\n />\n );\n\n const mapTypeItems = compact([\n dropdownHeader,\n isNightMapVisible && mapTypeNight,\n isMapTypeVisible(MAP_TYPE_SATELLITE) && mapTypeSatellite,\n isMapTypeVisible(MAP_TYPE_TERRAIN) && mapTypeTerrain,\n isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && mapTypeTruck,\n isMapTypeVisible(MAP_TYPE_DEFAULT) && mapTypeDefault,\n ]);\n\n const hasVisibleLabels =\n compact([\n isMapTypeVisible(MAP_TYPE_DEFAULT) && defaultTypeLabel,\n isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && truckTypeLabel,\n isMapTypeVisible(MAP_TYPE_TERRAIN) && terrainTypeLabel,\n isMapTypeVisible(MAP_TYPE_SATELLITE) && satelliteTypeLabel,\n isNightMapVisible && nightTypeLabel,\n ]).length > 0;\n\n return (\n <MapSettingsTile\n className='MapTypeSettings'\n inactiveIcon={getIcon(type)}\n items={hasVisibleLabels ? mapTypeItems : undefined}\n panel={\n !hasVisibleLabels && (\n <MapSettingsPanel>\n {isNightMapVisible && mapTypeNight}\n {isMapTypeVisible(MAP_TYPE_SATELLITE) && mapTypeSatellite}\n {isMapTypeVisible(MAP_TYPE_TERRAIN) && mapTypeTerrain}\n {isMapTypeVisible(MAP_TYPE_FLEET_STYLE) && mapTypeTruck}\n {isMapTypeVisible(MAP_TYPE_DEFAULT) && mapTypeDefault}\n </MapSettingsPanel>\n )\n }\n {...remainingProps}\n />\n );\n};\n\nexport default MapTypeSettings;\n"],"names":["MapTypeSettings","props","mapType","onMapTypeChange","noop","enableNightMap","visibleMapTypes","MAP_TYPE_DEFAULT","MAP_TYPE_FLEET_STYLE","MAP_TYPE_TERRAIN","MAP_TYPE_SATELLITE","MAP_TYPE_NIGHT","defaultTypeLabel","truckTypeLabel","terrainTypeLabel","satelliteTypeLabel","nightTypeLabel","dropdownHeaderText","remainingProps","visibleMapTypesSet","useMemo","isMapTypeVisible","type","isNightMapVisible","visibleMapTypesWithoutLabel","compact","useEffect","getIcon","currentType","jsx","MapIcon","MAP_TYPE_FLAT_INACTIVE","MAP_TYPE_FLAT_TRUCK_INACTIVE","MAP_TYPE_TERRAIN_INACTIVE","MAP_TYPE_SATELLITE_INACTIVE","MAP_TYPE_NIGHT_INACTIVE","dropdownHeader","MapSettingsDropdownHeader","mapTypeNight","MapSettingsItem","MAP_TYPE_NIGHT_ACTIVE","mapTypeSatellite","MAP_TYPE_SATELLITE_ACTIVE","mapTypeTerrain","MAP_TYPE_TERRAIN_ACTIVE","mapTypeTruck","MAP_TYPE_FLAT_TRUCK_ACTIVE","mapTypeDefault","MAP_TYPE_FLAT_ACTIVE","mapTypeItems","hasVisibleLabels","MapSettingsTile","jsxs","MapSettingsPanel"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventHandling.js","sources":["../../../../src/components/map/utils/eventHandling.ts"],"sourcesContent":["import type { MapEvent } from './mapTypes';\n\nexport type EventListenerMap = {\n [key: string]: Function;\n};\n\ntype MapTimeGuard = {\n delayTime: number;\n timer:
|
|
1
|
+
{"version":3,"file":"eventHandling.js","sources":["../../../../src/components/map/utils/eventHandling.ts"],"sourcesContent":["import type { MapEvent } from './mapTypes';\n\nexport type EventListenerMap = {\n [key: string]: Function;\n};\n\ntype MapTimeGuard = {\n delayTime: number;\n timer: number | undefined;\n delay(callback: Function, ...args: any[]): void;\n cancel(): void;\n};\n\nconst createMapTimeGuard = (delay = 250): MapTimeGuard => {\n let timer: number | undefined;\n\n const delayFunc = <T>(callback: Function, ...args: T[]): void => {\n cancelFunc();\n timer = setTimeout(() => callback(...args), delay);\n };\n\n const cancelFunc = (): void => {\n clearTimeout(timer);\n };\n\n return {\n delayTime: delay,\n timer,\n delay: delayFunc,\n cancel: cancelFunc,\n };\n};\n\ntype EnhancedMapEvent = {\n viewportX: number;\n viewportY: number;\n map: H.Map;\n calculateGeoCoords(): H.geo.Point;\n};\n\nexport const createEnhancedMapEvent = (\n event: H.mapevents.Event | null,\n mapApi: H.Map\n): EnhancedMapEvent | { map: H.Map } => {\n if (!event || !event.currentPointer) {\n return {\n map: mapApi,\n };\n }\n\n const viewportX = event.currentPointer.viewportX;\n const viewportY = event.currentPointer.viewportY;\n\n const calculateGeoCoords = (): H.geo.Point => mapApi.screenToGeo(viewportX, viewportY);\n\n return {\n viewportX,\n viewportY,\n map: mapApi,\n calculateGeoCoords,\n };\n};\n\nexport const createEnhancedListener = (listener: Function, mapApi: H.Map) => (event: H.mapevents.Event) =>\n listener(event, createEnhancedMapEvent(event, mapApi));\n\nexport type RioEventTarget = H.util.EventTarget & {\n rioMapRemoveEvents?: Function;\n};\n\nexport const addEventListenerMap = (\n eventTarget: RioEventTarget,\n eventListenerMap: EventListenerMap | undefined,\n mapApi: H.Map\n) => {\n if (!eventListenerMap) {\n return;\n }\n\n const enhancedMap: Record<string, any> = {};\n\n Object.keys(eventListenerMap).forEach(key => {\n const enhancedListener = createEnhancedListener(eventListenerMap[key], mapApi);\n eventTarget.addEventListener(key, enhancedListener as any);\n enhancedMap[key] = enhancedListener;\n });\n\n eventTarget.rioMapRemoveEvents = () => {\n Object.keys(enhancedMap).forEach(key => {\n eventTarget.removeEventListener(key, enhancedMap[key]);\n });\n\n delete eventTarget.rioMapRemoveEvents;\n\n return mapApi;\n };\n};\n\nexport const removeEventListenerMap = (eventTarget: RioEventTarget) => {\n if (eventTarget.rioMapRemoveEvents) {\n return eventTarget.rioMapRemoveEvents();\n }\n};\n\nexport const createTapOnDblTapPreventer = (\n eventListenerMap: EventListenerMap,\n delayBetweenTaps = 300\n): EventListenerMap => {\n const result = { ...eventListenerMap };\n if (!eventListenerMap[EventUtils.TAP] || !eventListenerMap[EventUtils.DBL_TAP]) {\n return result;\n }\n\n const guard = createMapTimeGuard(delayBetweenTaps);\n\n result[EventUtils.TAP] = <T>(...args: T[]) => {\n guard.delay(eventListenerMap[EventUtils.TAP], ...args);\n };\n\n result[EventUtils.DBL_TAP] = <T>(...args: T[]) => {\n guard.cancel();\n eventListenerMap[EventUtils.DBL_TAP](...args);\n };\n\n return result;\n};\n\nexport const getMouseButton = (event: MapEvent): number =>\n (event.originalEvent as unknown as H.mapevents.Pointer).button;\n\nexport const isRightClick = (event: MapEvent): boolean => getMouseButton(event) === EventUtils.MOUSE_BUTTONS.RIGHT;\n\nexport const EventUtils = {\n MOUSE_BUTTONS: {\n LEFT: 0,\n MIDDLE: 1,\n RIGHT: 2,\n },\n\n POINTER_DOWN: 'pointerdown',\n POINTER_UP: 'pointerup',\n POINTER_MOVE: 'pointermove',\n POINTER_ENTER: 'pointerenter',\n POINTER_LEAVE: 'pointerleave',\n POINTER_CANCEL: 'pointercancel',\n\n DRAG_START: 'dragstart',\n DRAG: 'drag',\n DRAG_END: 'dragend',\n TAP: 'tap',\n DBL_TAP: 'dbltap',\n LONGPRESS: 'longpress',\n\n CONTEXTMENU: 'contextmenu',\n CONTEXTMENU_CLOSE: 'contextmenuclose',\n\n MAP_VIEW_CHANGE_START: 'mapviewchangestart',\n MAP_VIEW_CHANGE: 'mapviewchange',\n MAP_VIEW_CHANGE_END: 'mapviewchangeend',\n\n BASE_LAYER_CHANGE: 'baselayerchange',\n ENGINE_CHANGE: 'enginechange',\n\n createTapOnDblTapPreventer,\n getMouseButton,\n isRightClick,\n};\n\nexport default EventUtils;\n"],"names":["createMapTimeGuard","delay","timer","delayFunc","callback","args","cancelFunc","createEnhancedMapEvent","event","mapApi","viewportX","viewportY","createEnhancedListener","listener","addEventListenerMap","eventTarget","eventListenerMap","enhancedMap","key","enhancedListener","removeEventListenerMap","createTapOnDblTapPreventer","delayBetweenTaps","result","EventUtils","guard","getMouseButton","isRightClick"],"mappings":"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"}
|
|
@@ -45,11 +45,18 @@ export type MapLayer = ObjectValues<typeof MapLayerMap>;
|
|
|
45
45
|
export type MapCredentials = {
|
|
46
46
|
app_id?: string;
|
|
47
47
|
app_code?: string;
|
|
48
|
+
/**
|
|
49
|
+
* HERE Maps API key. Production map views require project-specific HERE credentials.
|
|
50
|
+
*/
|
|
48
51
|
apikey?: string;
|
|
49
52
|
};
|
|
50
53
|
export type MapProps = {
|
|
51
54
|
/**
|
|
52
55
|
* HERE credentials used to initialize the map platform.
|
|
56
|
+
*
|
|
57
|
+
* Production map views require a valid HERE API key. Read the Map - Getting started
|
|
58
|
+
* documentation before using Map and pass project-specific
|
|
59
|
+
* credentials, for example `{ apikey: '...' }`.
|
|
53
60
|
*/
|
|
54
61
|
credentials: MapCredentials;
|
|
55
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapTypes.js","sources":["../../../../src/components/map/utils/mapTypes.ts"],"sourcesContent":["import type { ObjectValues } from '../../../utils/ObjectValues';\nimport type { MapUtils } from './mapUtils';\nimport type { EventListenerMap } from './eventHandling';\n\nexport type Point = H.geo.Point;\n\nexport type NoisePoint = H.clustering.INoisePoint;\nexport type DataPoint = H.clustering.DataPoint;\n\nexport type MapEvent = H.mapevents.Event & {};\n\nexport type MapContextMenuEvent = H.mapevents.ContextMenuEvent;\n\nexport type MapInfoBubble = H.ui.InfoBubble;\n\nexport type MapUtilEvent = H.util.Event;\n\nexport type Position = {\n lat: number;\n lng: number;\n};\n\nexport type BoundingBox = {\n top: number;\n bottom: number;\n left: number;\n right: number;\n};\n\nexport type MapBoundingBox = {\n topLeft: {\n lng: number | undefined;\n lat: number | undefined;\n };\n bottomRight: {\n lng: number | undefined;\n lat: number | undefined;\n };\n};\n\nexport const MapTypeMap = {\n TYPE_DEFAULT: 'DEFAULT',\n TYPE_FLEET_STYLE: 'FLEET_STYLE',\n TYPE_SATELLITE: 'SATELLITE',\n TYPE_TERRAIN: 'TERRAIN',\n TYPE_NIGHT: 'NIGHT',\n} as const;\n\nexport type MapType = ObjectValues<typeof MapTypeMap>;\n\nexport const MapLayerMap = {\n MAP_LAYER_INCIDENTS: 'INCIDENTS',\n MAP_LAYER_TRAFFIC: 'TRAFFIC',\n MAP_LAYER_ROAD_RESTRICTIONS: 'ROAD_RESTRICTIONS',\n} as const;\n\nexport type MapLayer = ObjectValues<typeof MapLayerMap>;\n\nexport type MapCredentials = {\n app_id?: string;\n app_code?: string;\n apikey?: string;\n};\n\nexport type MapProps = {\n /**\n * HERE credentials used to initialize the map platform.\n */\n credentials: MapCredentials;\n\n /**\n * Height of the map container.\n */\n height?: number;\n\n /**\n * Width of the map container.\n */\n width?: number;\n\n /**\n * Language used for HERE map labels and controls.\n *\n * @default 'en'\n */\n language?: string;\n\n /**\n * Initial center position of the map.\n */\n center?: Position;\n\n /**\n * Initial or controlled zoom level of the map.\n */\n zoom?: number;\n\n /**\n * Bounding box that should be fitted by the map view.\n */\n boundingBox?: BoundingBox;\n\n /**\n * Disables HERE map events entirely.\n */\n disableMapEvents?: boolean;\n\n /**\n * Disables the default HERE map behavior such as pan and zoom interaction.\n *\n * @default false\n */\n disableBehavior?: boolean;\n\n /**\n * Disables HERE zoom momentum to reduce scroll inertia on zoom.\n *\n * @default true\n */\n disableZoomMomentum?: boolean;\n\n /**\n * Event listeners attached to the HERE map instance.\n */\n eventListenerMap?: EventListenerMap;\n\n /**\n * Legacy prop for hiding map settings.\n */\n hideMapSettings?: boolean;\n\n /**\n * Hides the cluster settings entry in the map settings UI.\n *\n * @default false\n */\n hideClusterSettings?: boolean;\n\n /**\n * Hides the map layer settings entry in the map settings UI.\n *\n * @default false\n */\n hideMapLayerSettings?: boolean;\n\n /**\n * Base map type to render.\n *\n * @default Map.TYPE_DEFAULT\n */\n mapType?: MapType;\n\n /**\n * Active overlay layers such as traffic or incidents.\n *\n * @default []\n */\n mapLayer?: MapLayer[];\n\n /**\n * Controls whether marker clustering is enabled.\n *\n * @default true\n */\n showCluster?: boolean;\n\n /**\n * Shows the HERE scale bar.\n *\n * @default false\n */\n showScaleBar?: boolean;\n\n /**\n * Callback fired when the map type changes.\n */\n onMapTypeChange?: (type: MapType, previousType?: MapType) => void;\n\n /**\n * Callback fired when the active map layers change.\n */\n onMapLayerChange?: (activeLayer: MapLayer[], previousLayer?: MapLayer[]) => void;\n\n /**\n * Callback fired when the cluster visibility changes.\n */\n onShowClusterChange?: (show: boolean) => void;\n\n /**\n * Callback fired when zooming in via the built-in zoom controls.\n */\n onZoomIn?: (zoom: number) => void;\n\n /**\n * Callback fired when zooming out via the built-in zoom controls.\n */\n onZoomOut?: (zoom: number) => void;\n\n /**\n * Callback used by incidents overlays to report fetched incidents.\n */\n onIncidentsChange?: (incidentsResult: MapIncidents) => void;\n\n /**\n * Tooltip content for the map settings entry.\n */\n mapSettingsTooltip?: string | React.ReactNode;\n\n /**\n * Custom settings UI rendered on top of the map.\n */\n mapSettings?: React.ReactNode;\n\n /**\n * Enables animation when zoom or center changes are applied programmatically.\n *\n * @default false\n */\n zoomAnimation?: boolean;\n\n /**\n * Maximum number of previous map viewports stored for viewport history.\n *\n * @default 5\n */\n maxViewportHistoryEntries?: number;\n\n /**\n * Enables the WebGL/HARP rendering engine where supported.\n *\n * @default true\n */\n enableWebGL?: boolean;\n\n /**\n * Uses `window.devicePixelRatio` for map rendering.\n *\n * @default true\n */\n enableDevicePixelRatio?: boolean;\n\n /**\n * Enables caching for generated marker icons.\n *\n * @default true\n */\n enableMarkerIconCache?: boolean;\n\n /**\n * Keeps HERE fractional zoom enabled for smoother trackpad and wheel zoom interaction.\n *\n * @default false\n */\n enableFractionalZoom?: boolean;\n\n /**\n * Temporarily disables marker pointer events during zoom interactions to reduce DOM hit-testing overhead.\n *\n * @default false\n */\n disableMarkerPointerEventsWhileZooming?: boolean;\n\n /**\n * Fallback pixel ratio used when device pixel ratio support is disabled.\n */\n pixelRatio?: number;\n\n /**\n * Minimum allowed zoom level.\n */\n minZoom?: number;\n\n /**\n * Maximum allowed zoom level.\n */\n maxZoom?: number;\n\n /**\n * Map content or a render function receiving the map API.\n */\n children?: React.ReactNode | ((api: MapApi, incidents?: MapIncidents) => React.ReactNode);\n};\n\nexport type MapApi = {\n credentials?: MapCredentials;\n defaultLayers?: H.service.DefaultLayers;\n map?: H.Map;\n mapEvents?: false | H.mapevents.MapEvents;\n behavior?: false | H.mapevents.Behavior;\n platform?: H.service.Platform;\n ui?: H.ui.UI;\n utils?: MapUtils;\n group?: H.map.Group;\n settings?: {\n enableWebGL?: boolean;\n baseLayer?: MapType;\n activeLayers?: MapLayer[];\n showCluster?: boolean;\n minZoom?: number;\n maxZoom?: number;\n };\n};\n\nexport type MapIncidents = {\n sourceUpdated: string;\n results: IncidentDataPoint[];\n};\n\nexport type Incidents = {\n sourceUpdated: string;\n results: Incident[];\n};\n\nexport type IncidentLocationPoint = {\n length: number;\n points: Position[];\n};\n\nexport type IncidentLocationShape = {\n links: IncidentLocationPoint[];\n};\n\nexport type Incident = {\n incidentDetails: IncidentDetails;\n location: {\n length: number;\n shape: IncidentLocationShape;\n };\n};\n\nexport type IncidentDetails = {\n id: string;\n hrn: string;\n originalId: string;\n originalHrn: string;\n startTime: string;\n endTime: string;\n entryTime: string;\n roadClosed: boolean;\n criticality: 'minor' | 'major' | 'critical';\n type: 'roadClosure' | 'construction' | 'roadHazard' | 'other';\n codes: number[];\n comment: string | undefined;\n description: {\n value: string;\n language?: string;\n };\n summary: {\n value: string;\n language?: string;\n };\n junctionTraversability: string;\n};\n\n// https://www.here.com/docs/bundle/traffic-api-developer-guide-v7/page/topics/concepts/incidents.html#incidents\nexport type IncidentDataPoint = {\n id: string;\n tooltipContent: string;\n criticality: 'low' | 'minor' | 'major' | 'critical';\n description: {\n value: string;\n language?: string;\n };\n summary: {\n value: string;\n language?: string;\n };\n comment: string | undefined;\n type:\n | 'accident'\n | 'construction'\n | 'congestion'\n | 'roadHazard'\n | 'roadClosure'\n | 'disabledVehicle'\n | 'massTransit'\n | 'plannedEvent'\n | 'weather'\n | 'laneRestriction'\n | 'other';\n startTime: string;\n endTime: string;\n roadClosed: boolean;\n position: Position;\n};\n\nexport const markerColorOptions = [\n 'bg-map-marker-asset',\n 'bg-map-marker-poi',\n 'bg-map-marker-geofence',\n 'bg-map-marker-route',\n 'bg-map-marker-info',\n 'bg-map-marker-success',\n 'bg-map-marker-warning',\n 'bg-map-marker-danger',\n 'bg-map-marker-restrictions',\n] as const;\n\nexport type MarkerColor = (typeof markerColorOptions)[number];\n\nexport const markerColorMapping: Record<MarkerColor, string> = {\n 'bg-map-marker-asset': '--color-map-marker-asset',\n 'bg-map-marker-poi': '--color-map-marker-poi',\n 'bg-map-marker-geofence': '--color-map-marker-geofence',\n 'bg-map-marker-route': '--color-map-marker-route',\n 'bg-map-marker-info': '--color-map-marker-info',\n 'bg-map-marker-success': '--color-map-marker-success',\n 'bg-map-marker-warning': '--color-map-marker-warning',\n 'bg-map-marker-danger': '--color-map-marker-danger',\n 'bg-map-marker-restrictions': '--color-map-marker-restrictions',\n};\n"],"names":["MapTypeMap","MapLayerMap","markerColorOptions","markerColorMapping"],"mappings":"AAwCO,MAAMA,IAAa;AAAA,EACtB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,YAAY;AAChB,GAIaC,IAAc;AAAA,EACvB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,6BAA6B;AACjC,GA4UaC,IAAqB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAIaC,IAAkD;AAAA,EAC3D,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,8BAA8B;AAClC;"}
|
|
1
|
+
{"version":3,"file":"mapTypes.js","sources":["../../../../src/components/map/utils/mapTypes.ts"],"sourcesContent":["import type { ObjectValues } from '../../../utils/ObjectValues';\nimport type { MapUtils } from './mapUtils';\nimport type { EventListenerMap } from './eventHandling';\n\nexport type Point = H.geo.Point;\n\nexport type NoisePoint = H.clustering.INoisePoint;\nexport type DataPoint = H.clustering.DataPoint;\n\nexport type MapEvent = H.mapevents.Event & {};\n\nexport type MapContextMenuEvent = H.mapevents.ContextMenuEvent;\n\nexport type MapInfoBubble = H.ui.InfoBubble;\n\nexport type MapUtilEvent = H.util.Event;\n\nexport type Position = {\n lat: number;\n lng: number;\n};\n\nexport type BoundingBox = {\n top: number;\n bottom: number;\n left: number;\n right: number;\n};\n\nexport type MapBoundingBox = {\n topLeft: {\n lng: number | undefined;\n lat: number | undefined;\n };\n bottomRight: {\n lng: number | undefined;\n lat: number | undefined;\n };\n};\n\nexport const MapTypeMap = {\n TYPE_DEFAULT: 'DEFAULT',\n TYPE_FLEET_STYLE: 'FLEET_STYLE',\n TYPE_SATELLITE: 'SATELLITE',\n TYPE_TERRAIN: 'TERRAIN',\n TYPE_NIGHT: 'NIGHT',\n} as const;\n\nexport type MapType = ObjectValues<typeof MapTypeMap>;\n\nexport const MapLayerMap = {\n MAP_LAYER_INCIDENTS: 'INCIDENTS',\n MAP_LAYER_TRAFFIC: 'TRAFFIC',\n MAP_LAYER_ROAD_RESTRICTIONS: 'ROAD_RESTRICTIONS',\n} as const;\n\nexport type MapLayer = ObjectValues<typeof MapLayerMap>;\n\nexport type MapCredentials = {\n app_id?: string;\n app_code?: string;\n /**\n * HERE Maps API key. Production map views require project-specific HERE credentials.\n */\n apikey?: string;\n};\n\nexport type MapProps = {\n /**\n * HERE credentials used to initialize the map platform.\n *\n * Production map views require a valid HERE API key. Read the Map - Getting started\n * documentation before using Map and pass project-specific\n * credentials, for example `{ apikey: '...' }`.\n */\n credentials: MapCredentials;\n\n /**\n * Height of the map container.\n */\n height?: number;\n\n /**\n * Width of the map container.\n */\n width?: number;\n\n /**\n * Language used for HERE map labels and controls.\n *\n * @default 'en'\n */\n language?: string;\n\n /**\n * Initial center position of the map.\n */\n center?: Position;\n\n /**\n * Initial or controlled zoom level of the map.\n */\n zoom?: number;\n\n /**\n * Bounding box that should be fitted by the map view.\n */\n boundingBox?: BoundingBox;\n\n /**\n * Disables HERE map events entirely.\n */\n disableMapEvents?: boolean;\n\n /**\n * Disables the default HERE map behavior such as pan and zoom interaction.\n *\n * @default false\n */\n disableBehavior?: boolean;\n\n /**\n * Disables HERE zoom momentum to reduce scroll inertia on zoom.\n *\n * @default true\n */\n disableZoomMomentum?: boolean;\n\n /**\n * Event listeners attached to the HERE map instance.\n */\n eventListenerMap?: EventListenerMap;\n\n /**\n * Legacy prop for hiding map settings.\n */\n hideMapSettings?: boolean;\n\n /**\n * Hides the cluster settings entry in the map settings UI.\n *\n * @default false\n */\n hideClusterSettings?: boolean;\n\n /**\n * Hides the map layer settings entry in the map settings UI.\n *\n * @default false\n */\n hideMapLayerSettings?: boolean;\n\n /**\n * Base map type to render.\n *\n * @default Map.TYPE_DEFAULT\n */\n mapType?: MapType;\n\n /**\n * Active overlay layers such as traffic or incidents.\n *\n * @default []\n */\n mapLayer?: MapLayer[];\n\n /**\n * Controls whether marker clustering is enabled.\n *\n * @default true\n */\n showCluster?: boolean;\n\n /**\n * Shows the HERE scale bar.\n *\n * @default false\n */\n showScaleBar?: boolean;\n\n /**\n * Callback fired when the map type changes.\n */\n onMapTypeChange?: (type: MapType, previousType?: MapType) => void;\n\n /**\n * Callback fired when the active map layers change.\n */\n onMapLayerChange?: (activeLayer: MapLayer[], previousLayer?: MapLayer[]) => void;\n\n /**\n * Callback fired when the cluster visibility changes.\n */\n onShowClusterChange?: (show: boolean) => void;\n\n /**\n * Callback fired when zooming in via the built-in zoom controls.\n */\n onZoomIn?: (zoom: number) => void;\n\n /**\n * Callback fired when zooming out via the built-in zoom controls.\n */\n onZoomOut?: (zoom: number) => void;\n\n /**\n * Callback used by incidents overlays to report fetched incidents.\n */\n onIncidentsChange?: (incidentsResult: MapIncidents) => void;\n\n /**\n * Tooltip content for the map settings entry.\n */\n mapSettingsTooltip?: string | React.ReactNode;\n\n /**\n * Custom settings UI rendered on top of the map.\n */\n mapSettings?: React.ReactNode;\n\n /**\n * Enables animation when zoom or center changes are applied programmatically.\n *\n * @default false\n */\n zoomAnimation?: boolean;\n\n /**\n * Maximum number of previous map viewports stored for viewport history.\n *\n * @default 5\n */\n maxViewportHistoryEntries?: number;\n\n /**\n * Enables the WebGL/HARP rendering engine where supported.\n *\n * @default true\n */\n enableWebGL?: boolean;\n\n /**\n * Uses `window.devicePixelRatio` for map rendering.\n *\n * @default true\n */\n enableDevicePixelRatio?: boolean;\n\n /**\n * Enables caching for generated marker icons.\n *\n * @default true\n */\n enableMarkerIconCache?: boolean;\n\n /**\n * Keeps HERE fractional zoom enabled for smoother trackpad and wheel zoom interaction.\n *\n * @default false\n */\n enableFractionalZoom?: boolean;\n\n /**\n * Temporarily disables marker pointer events during zoom interactions to reduce DOM hit-testing overhead.\n *\n * @default false\n */\n disableMarkerPointerEventsWhileZooming?: boolean;\n\n /**\n * Fallback pixel ratio used when device pixel ratio support is disabled.\n */\n pixelRatio?: number;\n\n /**\n * Minimum allowed zoom level.\n */\n minZoom?: number;\n\n /**\n * Maximum allowed zoom level.\n */\n maxZoom?: number;\n\n /**\n * Map content or a render function receiving the map API.\n */\n children?: React.ReactNode | ((api: MapApi, incidents?: MapIncidents) => React.ReactNode);\n};\n\nexport type MapApi = {\n credentials?: MapCredentials;\n defaultLayers?: H.service.DefaultLayers;\n map?: H.Map;\n mapEvents?: false | H.mapevents.MapEvents;\n behavior?: false | H.mapevents.Behavior;\n platform?: H.service.Platform;\n ui?: H.ui.UI;\n utils?: MapUtils;\n group?: H.map.Group;\n settings?: {\n enableWebGL?: boolean;\n baseLayer?: MapType;\n activeLayers?: MapLayer[];\n showCluster?: boolean;\n minZoom?: number;\n maxZoom?: number;\n };\n};\n\nexport type MapIncidents = {\n sourceUpdated: string;\n results: IncidentDataPoint[];\n};\n\nexport type Incidents = {\n sourceUpdated: string;\n results: Incident[];\n};\n\nexport type IncidentLocationPoint = {\n length: number;\n points: Position[];\n};\n\nexport type IncidentLocationShape = {\n links: IncidentLocationPoint[];\n};\n\nexport type Incident = {\n incidentDetails: IncidentDetails;\n location: {\n length: number;\n shape: IncidentLocationShape;\n };\n};\n\nexport type IncidentDetails = {\n id: string;\n hrn: string;\n originalId: string;\n originalHrn: string;\n startTime: string;\n endTime: string;\n entryTime: string;\n roadClosed: boolean;\n criticality: 'minor' | 'major' | 'critical';\n type: 'roadClosure' | 'construction' | 'roadHazard' | 'other';\n codes: number[];\n comment: string | undefined;\n description: {\n value: string;\n language?: string;\n };\n summary: {\n value: string;\n language?: string;\n };\n junctionTraversability: string;\n};\n\n// https://www.here.com/docs/bundle/traffic-api-developer-guide-v7/page/topics/concepts/incidents.html#incidents\nexport type IncidentDataPoint = {\n id: string;\n tooltipContent: string;\n criticality: 'low' | 'minor' | 'major' | 'critical';\n description: {\n value: string;\n language?: string;\n };\n summary: {\n value: string;\n language?: string;\n };\n comment: string | undefined;\n type:\n | 'accident'\n | 'construction'\n | 'congestion'\n | 'roadHazard'\n | 'roadClosure'\n | 'disabledVehicle'\n | 'massTransit'\n | 'plannedEvent'\n | 'weather'\n | 'laneRestriction'\n | 'other';\n startTime: string;\n endTime: string;\n roadClosed: boolean;\n position: Position;\n};\n\nexport const markerColorOptions = [\n 'bg-map-marker-asset',\n 'bg-map-marker-poi',\n 'bg-map-marker-geofence',\n 'bg-map-marker-route',\n 'bg-map-marker-info',\n 'bg-map-marker-success',\n 'bg-map-marker-warning',\n 'bg-map-marker-danger',\n 'bg-map-marker-restrictions',\n] as const;\n\nexport type MarkerColor = (typeof markerColorOptions)[number];\n\nexport const markerColorMapping: Record<MarkerColor, string> = {\n 'bg-map-marker-asset': '--color-map-marker-asset',\n 'bg-map-marker-poi': '--color-map-marker-poi',\n 'bg-map-marker-geofence': '--color-map-marker-geofence',\n 'bg-map-marker-route': '--color-map-marker-route',\n 'bg-map-marker-info': '--color-map-marker-info',\n 'bg-map-marker-success': '--color-map-marker-success',\n 'bg-map-marker-warning': '--color-map-marker-warning',\n 'bg-map-marker-danger': '--color-map-marker-danger',\n 'bg-map-marker-restrictions': '--color-map-marker-restrictions',\n};\n"],"names":["MapTypeMap","MapLayerMap","markerColorOptions","markerColorMapping"],"mappings":"AAwCO,MAAMA,IAAa;AAAA,EACtB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,YAAY;AAChB,GAIaC,IAAc;AAAA,EACvB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,6BAA6B;AACjC,GAmVaC,IAAqB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAIaC,IAAkD;AAAA,EAC3D,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,8BAA8B;AAClC;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const h = () => window.devicePixelRatio >= 1.7 ? 200 : 100, u = (r, e) => r && e !==
|
|
1
|
+
import { MAP_TYPE_DEFAULT as M, MAP_TYPE_NIGHT as p, MAP_TYPE_FLEET_STYLE as _, MAP_TYPE_TERRAIN as v, MAP_TYPE_SATELLITE as A, ENGINE_TYPE_HARP as d, ENGINE_TYPE_P2D as l, DEFAULT_RASTER_LAYER_FORMAT as L } from "../components/constants.js";
|
|
2
|
+
const h = () => window.devicePixelRatio >= 1.7 ? 200 : 100, u = (r, e) => r && e !== v && e !== _, w = (r) => (
|
|
3
3
|
// Initiate and authenticate your connection to the HERE platform:
|
|
4
4
|
new H.service.Platform({
|
|
5
5
|
apikey: r.apikey ?? "",
|
|
@@ -22,8 +22,8 @@ const h = () => window.devicePixelRatio >= 1.7 ? 200 : 100, u = (r, e) => r && e
|
|
|
22
22
|
}
|
|
23
23
|
}), S = (r, e) => {
|
|
24
24
|
switch (r) {
|
|
25
|
-
case v:
|
|
26
25
|
case _:
|
|
26
|
+
case v:
|
|
27
27
|
return l;
|
|
28
28
|
default:
|
|
29
29
|
return e ? d : l;
|
|
@@ -71,7 +71,7 @@ const h = () => window.devicePixelRatio >= 1.7 ? 200 : 100, u = (r, e) => r && e
|
|
|
71
71
|
)
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
-
case
|
|
74
|
+
case v:
|
|
75
75
|
return {
|
|
76
76
|
baseLayer: P(
|
|
77
77
|
E(t, "topo.day", T, s),
|
|
@@ -80,7 +80,7 @@ const h = () => window.devicePixelRatio >= 1.7 ? 200 : 100, u = (r, e) => r && e
|
|
|
80
80
|
c
|
|
81
81
|
)
|
|
82
82
|
};
|
|
83
|
-
case
|
|
83
|
+
case _:
|
|
84
84
|
return {
|
|
85
85
|
baseLayer: P(
|
|
86
86
|
E(t, "logistics.day", T, s),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberControl.js","sources":["../../../src/components/numberControl/NumberControl.tsx"],"sourcesContent":["import { useState, useRef, useEffect, forwardRef, type ForwardedRef } from 'react';\nimport { noop } from 'es-toolkit/function';\n\nimport classNames from '../../utils/classNames';\nimport NumberInput, {\n DEFAULT_STEP,\n DEFAULT_MIN,\n DEFAULT_MAX,\n DEFAULT_VALUE,\n convertNonIntegerToDefault,\n type NumberInputProps,\n} from '../numberInput/NumberInput';\n\nconst INITIAL_TICK = 700;\nconst TICK_TIME = 50;\n\nconst DEFAULT_DIGIT_PRECISION = 3;\n\nexport type NumberControlProps = NumberInputProps;\n\nconst NumberControl = forwardRef((props: NumberControlProps, ref: ForwardedRef<HTMLInputElement>) => {\n const {\n id,\n min = DEFAULT_MIN,\n max = DEFAULT_MAX,\n step = DEFAULT_STEP,\n value,\n onChange,\n onKeyDown = noop,\n disabled,\n bsSize,\n className,\n unit,\n inputAddon,\n errorMessage,\n warningMessage,\n messageWhiteSpace,\n digitPrecision = DEFAULT_DIGIT_PRECISION,\n placeholder,\n noDefault,\n ...remainingProps\n } = props;\n\n const timeout = useRef<NodeJS.Timeout | null>(null);\n\n const [isHoldingDownInc, setIsHoldingDownInc] = useState(false);\n const [isHoldingDownDec, setIsHoldingDownDec] = useState(false);\n const [internalValue, setInternalValue] = useState(value);\n\n const initialTimeout = (callbackFn: VoidFunction) => {\n if (timeout.current !== null) {\n clearTimeout(timeout.current);\n }\n timeout.current = setTimeout(() => {\n callbackFn();\n }, INITIAL_TICK);\n };\n\n const recursiveTimeout = (callbackFn: VoidFunction) => {\n timeout.current = setTimeout(() => {\n callbackFn();\n }, TICK_TIME);\n };\n\n // Update internal state if external value has changed\n useEffect(() => {\n if (internalValue !== value) {\n setInternalValue(value);\n }\n }, [value]);\n\n // Notify external component if internal value has changed\n useEffect(() => {\n if (internalValue !== value && onChange) {\n onChange(internalValue);\n }\n }, [internalValue]);\n\n useEffect(() => {\n // Call increment function for a loop when button is holding down\n if (isHoldingDownInc && !disabled) {\n initialTimeout(incrementRecursively);\n }\n\n // Call decrement function for a loop when button is holding down\n if (isHoldingDownDec && !disabled) {\n initialTimeout(decrementRecursively);\n }\n }, [isHoldingDownInc, isHoldingDownDec]);\n\n const incrementInternalValue = () => {\n setInternalValue(val => {\n const currentValue = convertNonIntegerToDefault(val, DEFAULT_VALUE);\n const newValue = Number((currentValue + step).toFixed(digitPrecision));\n const newValueLimited = newValue <= max ? newValue : val;\n return newValueLimited;\n });\n };\n\n const decrementInternalValue = () => {\n setInternalValue(val => {\n const currentValue = convertNonIntegerToDefault(val, DEFAULT_VALUE);\n const newValue = Number((currentValue - step).toFixed(digitPrecision));\n const newValueLimited = newValue >= min ? newValue : val;\n return newValueLimited;\n });\n };\n\n const incrementRecursively = () => {\n incrementInternalValue();\n recursiveTimeout(incrementRecursively);\n };\n\n const decrementRecursively = () => {\n decrementInternalValue();\n recursiveTimeout(decrementRecursively);\n };\n\n const handleMouseDownOnIncrement = () => {\n if (disabled) {\n return;\n }\n setIsHoldingDownInc(true);\n\n // increment for first click\n incrementInternalValue();\n };\n\n const handleMouseDownOnDecrement = () => {\n if (disabled) {\n return;\n }\n setIsHoldingDownDec(true);\n\n // decrement for first click\n decrementInternalValue();\n };\n\n const handleStopHolding = () => {\n if (timeout.current !== null) {\n clearTimeout(timeout.current);\n }\n setIsHoldingDownInc(false);\n setIsHoldingDownDec(false);\n };\n\n const handleUpdatedNumberInputValue = (newValue: number | undefined) => {\n // Set the internal value when the value of the actual input has changed,\n // for instance the user has typed in a number manually and to\n // use this number as base to increase or decrease from.\n // Ignore empty value in case the user has removed it\n if (newValue !== undefined && !(isHoldingDownDec && isHoldingDownInc)) {\n setInternalValue(Number(newValue));\n }\n onChange?.(newValue);\n };\n\n const classes = classNames('NumberControl', className);\n\n const controls = (\n <div className='display-flex padding-left-10' onMouseOut={handleStopHolding} onBlur={handleStopHolding}>\n <div\n onMouseDown={handleMouseDownOnDecrement}\n onMouseUp={handleStopHolding}\n role='button'\n aria-label='decrement-button'\n className='decrementButton display-flex align-items-center text-color-gray hover-text-color-dark cursor-pointer'\n >\n <div className='rioglyph rioglyph-minus scale-90' />\n </div>\n <div\n onMouseDown={handleMouseDownOnIncrement}\n onMouseUp={handleStopHolding}\n role='button'\n aria-label='increment-button'\n className='incrementButton display-flex align-items-center text-color-gray hover-text-color-dark cursor-pointer margin-left-5'\n >\n <div className='rioglyph rioglyph-plus scale-90' />\n </div>\n </div>\n );\n\n return (\n <div {...remainingProps} className={classes}>\n <NumberInput\n id={id}\n ref={ref}\n min={min}\n max={max}\n value={internalValue}\n step={step}\n bsSize={bsSize}\n disabled={disabled}\n inputAddon={inputAddon}\n errorMessage={errorMessage}\n warningMessage={warningMessage}\n messageWhiteSpace={messageWhiteSpace}\n controls={controls}\n unit={unit}\n onChange={handleUpdatedNumberInputValue}\n onKeyDown={onKeyDown}\n digitPrecision={digitPrecision}\n placeholder={placeholder}\n noDefault={noDefault}\n />\n </div>\n );\n});\n\nexport default NumberControl;\n"],"names":["INITIAL_TICK","TICK_TIME","DEFAULT_DIGIT_PRECISION","NumberControl","forwardRef","props","ref","id","min","DEFAULT_MIN","max","DEFAULT_MAX","step","DEFAULT_STEP","value","onChange","onKeyDown","noop","disabled","bsSize","className","unit","inputAddon","errorMessage","warningMessage","messageWhiteSpace","digitPrecision","placeholder","noDefault","remainingProps","timeout","useRef","isHoldingDownInc","setIsHoldingDownInc","useState","isHoldingDownDec","setIsHoldingDownDec","internalValue","setInternalValue","initialTimeout","callbackFn","recursiveTimeout","useEffect","incrementRecursively","decrementRecursively","incrementInternalValue","val","currentValue","convertNonIntegerToDefault","DEFAULT_VALUE","newValue","decrementInternalValue","handleMouseDownOnIncrement","handleMouseDownOnDecrement","handleStopHolding","handleUpdatedNumberInputValue","classes","classNames","jsx","NumberInput"],"mappings":";;;;;AAaA,MAAMA,KAAe,KACfC,KAAY,IAEZC,KAA0B,GAI1BC,KAAgBC,EAAW,CAACC,GAA2BC,MAAwC;AACjG,QAAM;AAAA,IACF,IAAAC;AAAA,IACA,KAAAC,IAAMC;AAAA,IACN,KAAAC,IAAMC;AAAA,IACN,MAAAC,IAAOC;AAAA,IACP,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC,IAAYC;AAAA,IACZ,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC,IAAiBxB;AAAA,IACjB,aAAAyB;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHxB,GAEEyB,IAAUC,EAA8B,IAAI,GAE5C,CAACC,GAAkBC,CAAmB,IAAIC,EAAS,EAAK,GACxD,CAACC,GAAkBC,CAAmB,IAAIF,EAAS,EAAK,GACxD,CAACG,GAAeC,CAAgB,IAAIJ,EAASpB,CAAK,GAElDyB,IAAiB,CAACC,MAA6B;AACjD,IAAIV,EAAQ,YAAY,QACpB,aAAaA,EAAQ,OAAO,GAEhCA,EAAQ,UAAU,WAAW,MAAM;AAC/B,MAAAU,EAAA;AAAA,IACJ,GAAGxC,EAAY;AAAA,EACnB,GAEMyC,IAAmB,CAACD,MAA6B;AACnD,IAAAV,EAAQ,UAAU,WAAW,MAAM;AAC/B,MAAAU,EAAA;AAAA,IACJ,GAAGvC,EAAS;AAAA,EAChB;AAGA,EAAAyC,EAAU,MAAM;AACZ,IAAIL,MAAkBvB,KAClBwB,EAAiBxB,CAAK;AAAA,EAE9B,GAAG,CAACA,CAAK,CAAC,GAGV4B,EAAU,MAAM;AACZ,IAAIL,MAAkBvB,KAASC,KAC3BA,EAASsB,CAAa;AAAA,EAE9B,GAAG,CAACA,CAAa,CAAC,GAElBK,EAAU,MAAM;AAEZ,IAAIV,KAAoB,CAACd,KACrBqB,EAAeI,CAAoB,GAInCR,KAAoB,CAACjB,KACrBqB,EAAeK,CAAoB;AAAA,EAE3C,GAAG,CAACZ,GAAkBG,CAAgB,CAAC;AAEvC,QAAMU,IAAyB,MAAM;AACjC,IAAAP,EAAiB,CAAAQ,MAAO;AACpB,YAAMC,IAAeC,EAA2BF,GAAKG,CAAa,GAC5DC,IAAW,QAAQH,IAAenC,GAAM,QAAQc,CAAc,CAAC;AAErE,aADwBwB,KAAYxC,IAAMwC,IAAWJ;AAAA,IAEzD,CAAC;AAAA,EACL,GAEMK,IAAyB,MAAM;AACjC,IAAAb,EAAiB,CAAAQ,MAAO;AACpB,YAAMC,IAAeC,EAA2BF,GAAKG,CAAa,GAC5DC,IAAW,QAAQH,IAAenC,GAAM,QAAQc,CAAc,CAAC;AAErE,aADwBwB,KAAY1C,IAAM0C,IAAWJ;AAAA,IAEzD,CAAC;AAAA,EACL,GAEMH,IAAuB,MAAM;AAC/B,IAAAE,EAAA,GACAJ,EAAiBE,CAAoB;AAAA,EACzC,GAEMC,IAAuB,MAAM;AAC/B,IAAAO,EAAA,GACAV,EAAiBG,CAAoB;AAAA,EACzC,GAEMQ,IAA6B,MAAM;AACrC,IAAIlC,MAGJe,EAAoB,EAAI,GAGxBY,EAAA;AAAA,EACJ,GAEMQ,IAA6B,MAAM;AACrC,IAAInC,MAGJkB,EAAoB,EAAI,GAGxBe,EAAA;AAAA,EACJ,GAEMG,IAAoB,MAAM;AAC5B,IAAIxB,EAAQ,YAAY,QACpB,aAAaA,EAAQ,OAAO,GAEhCG,EAAoB,EAAK,GACzBG,EAAoB,EAAK;AAAA,EAC7B,GAEMmB,IAAgC,CAACL,MAAiC;AAKpE,IAAIA,MAAa,UAAa,EAAEf,KAAoBH,MAChDM,EAAiB,OAAOY,CAAQ,CAAC,GAErCnC,IAAWmC,CAAQ;AAAA,EACvB,GAEMM,IAAUC,EAAW,iBAAiBrC,CAAS;AAyBrD,SACI,gBAAAsC,EAAC,OAAA,EAAK,GAAG7B,GAAgB,WAAW2B,GAChC,UAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,IAAApD;AAAA,MACA,KAAAD;AAAA,MACA,KAAAE;AAAA,MACA,KAAAE;AAAA,MACA,OAAO2B;AAAA,MACP,MAAAzB;AAAA,MACA,QAAAO;AAAA,MACA,UAAAD;AAAA,MACA,YAAAI;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,4BArCP,OAAA,EAAI,WAAU,gCAA+B,YAAY6B,GAAmB,QAAQA,GACjF,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,aAAaL;AAAA,YACb,WAAWC;AAAA,YACX,MAAK;AAAA,YACL,cAAW;AAAA,YACX,WAAU;AAAA,YAEV,UAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,mCAAA,CAAmC;AAAA,UAAA;AAAA,QAAA;AAAA,QAEtD,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,aAAaN;AAAA,YACb,WAAWE;AAAA,YACX,MAAK;AAAA,YACL,cAAW;AAAA,YACX,WAAU;AAAA,YAEV,UAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,kCAAA,CAAkC;AAAA,UAAA;AAAA,QAAA;AAAA,MACrD,GACJ;AAAA,MAmBQ,MAAArC;AAAA,MACA,UAAUkC;AAAA,MACV,WAAAvC;AAAA,MACA,gBAAAU;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA,GAER;AAER,CAAC;"}
|
|
1
|
+
{"version":3,"file":"NumberControl.js","sources":["../../../src/components/numberControl/NumberControl.tsx"],"sourcesContent":["import { useState, useRef, useEffect, forwardRef, type ForwardedRef } from 'react';\nimport { noop } from 'es-toolkit/function';\n\nimport classNames from '../../utils/classNames';\nimport NumberInput, {\n DEFAULT_STEP,\n DEFAULT_MIN,\n DEFAULT_MAX,\n DEFAULT_VALUE,\n convertNonIntegerToDefault,\n type NumberInputProps,\n} from '../numberInput/NumberInput';\n\nconst INITIAL_TICK = 700;\nconst TICK_TIME = 50;\n\nconst DEFAULT_DIGIT_PRECISION = 3;\n\nexport type NumberControlProps = NumberInputProps;\n\nconst NumberControl = forwardRef((props: NumberControlProps, ref: ForwardedRef<HTMLInputElement>) => {\n const {\n id,\n min = DEFAULT_MIN,\n max = DEFAULT_MAX,\n step = DEFAULT_STEP,\n value,\n onChange,\n onKeyDown = noop,\n disabled,\n bsSize,\n className,\n unit,\n inputAddon,\n errorMessage,\n warningMessage,\n messageWhiteSpace,\n digitPrecision = DEFAULT_DIGIT_PRECISION,\n placeholder,\n noDefault,\n ...remainingProps\n } = props;\n\n const timeout = useRef<number | null>(null);\n\n const [isHoldingDownInc, setIsHoldingDownInc] = useState(false);\n const [isHoldingDownDec, setIsHoldingDownDec] = useState(false);\n const [internalValue, setInternalValue] = useState(value);\n\n const initialTimeout = (callbackFn: VoidFunction) => {\n if (timeout.current !== null) {\n clearTimeout(timeout.current);\n }\n timeout.current = setTimeout(() => {\n callbackFn();\n }, INITIAL_TICK);\n };\n\n const recursiveTimeout = (callbackFn: VoidFunction) => {\n timeout.current = setTimeout(() => {\n callbackFn();\n }, TICK_TIME);\n };\n\n // Update internal state if external value has changed\n useEffect(() => {\n if (internalValue !== value) {\n setInternalValue(value);\n }\n }, [value]);\n\n // Notify external component if internal value has changed\n useEffect(() => {\n if (internalValue !== value && onChange) {\n onChange(internalValue);\n }\n }, [internalValue]);\n\n useEffect(() => {\n // Call increment function for a loop when button is holding down\n if (isHoldingDownInc && !disabled) {\n initialTimeout(incrementRecursively);\n }\n\n // Call decrement function for a loop when button is holding down\n if (isHoldingDownDec && !disabled) {\n initialTimeout(decrementRecursively);\n }\n }, [isHoldingDownInc, isHoldingDownDec]);\n\n const incrementInternalValue = () => {\n setInternalValue(val => {\n const currentValue = convertNonIntegerToDefault(val, DEFAULT_VALUE);\n const newValue = Number((currentValue + step).toFixed(digitPrecision));\n const newValueLimited = newValue <= max ? newValue : val;\n return newValueLimited;\n });\n };\n\n const decrementInternalValue = () => {\n setInternalValue(val => {\n const currentValue = convertNonIntegerToDefault(val, DEFAULT_VALUE);\n const newValue = Number((currentValue - step).toFixed(digitPrecision));\n const newValueLimited = newValue >= min ? newValue : val;\n return newValueLimited;\n });\n };\n\n const incrementRecursively = () => {\n incrementInternalValue();\n recursiveTimeout(incrementRecursively);\n };\n\n const decrementRecursively = () => {\n decrementInternalValue();\n recursiveTimeout(decrementRecursively);\n };\n\n const handleMouseDownOnIncrement = () => {\n if (disabled) {\n return;\n }\n setIsHoldingDownInc(true);\n\n // increment for first click\n incrementInternalValue();\n };\n\n const handleMouseDownOnDecrement = () => {\n if (disabled) {\n return;\n }\n setIsHoldingDownDec(true);\n\n // decrement for first click\n decrementInternalValue();\n };\n\n const handleStopHolding = () => {\n if (timeout.current !== null) {\n clearTimeout(timeout.current);\n }\n setIsHoldingDownInc(false);\n setIsHoldingDownDec(false);\n };\n\n const handleUpdatedNumberInputValue = (newValue: number | undefined) => {\n // Set the internal value when the value of the actual input has changed,\n // for instance the user has typed in a number manually and to\n // use this number as base to increase or decrease from.\n // Ignore empty value in case the user has removed it\n if (newValue !== undefined && !(isHoldingDownDec && isHoldingDownInc)) {\n setInternalValue(Number(newValue));\n }\n onChange?.(newValue);\n };\n\n const classes = classNames('NumberControl', className);\n\n const controls = (\n <div className='display-flex padding-left-10' onMouseOut={handleStopHolding} onBlur={handleStopHolding}>\n <div\n onMouseDown={handleMouseDownOnDecrement}\n onMouseUp={handleStopHolding}\n role='button'\n aria-label='decrement-button'\n className='decrementButton display-flex align-items-center text-color-gray hover-text-color-dark cursor-pointer'\n >\n <div className='rioglyph rioglyph-minus scale-90' />\n </div>\n <div\n onMouseDown={handleMouseDownOnIncrement}\n onMouseUp={handleStopHolding}\n role='button'\n aria-label='increment-button'\n className='incrementButton display-flex align-items-center text-color-gray hover-text-color-dark cursor-pointer margin-left-5'\n >\n <div className='rioglyph rioglyph-plus scale-90' />\n </div>\n </div>\n );\n\n return (\n <div {...remainingProps} className={classes}>\n <NumberInput\n id={id}\n ref={ref}\n min={min}\n max={max}\n value={internalValue}\n step={step}\n bsSize={bsSize}\n disabled={disabled}\n inputAddon={inputAddon}\n errorMessage={errorMessage}\n warningMessage={warningMessage}\n messageWhiteSpace={messageWhiteSpace}\n controls={controls}\n unit={unit}\n onChange={handleUpdatedNumberInputValue}\n onKeyDown={onKeyDown}\n digitPrecision={digitPrecision}\n placeholder={placeholder}\n noDefault={noDefault}\n />\n </div>\n );\n});\n\nexport default NumberControl;\n"],"names":["INITIAL_TICK","TICK_TIME","DEFAULT_DIGIT_PRECISION","NumberControl","forwardRef","props","ref","id","min","DEFAULT_MIN","max","DEFAULT_MAX","step","DEFAULT_STEP","value","onChange","onKeyDown","noop","disabled","bsSize","className","unit","inputAddon","errorMessage","warningMessage","messageWhiteSpace","digitPrecision","placeholder","noDefault","remainingProps","timeout","useRef","isHoldingDownInc","setIsHoldingDownInc","useState","isHoldingDownDec","setIsHoldingDownDec","internalValue","setInternalValue","initialTimeout","callbackFn","recursiveTimeout","useEffect","incrementRecursively","decrementRecursively","incrementInternalValue","val","currentValue","convertNonIntegerToDefault","DEFAULT_VALUE","newValue","decrementInternalValue","handleMouseDownOnIncrement","handleMouseDownOnDecrement","handleStopHolding","handleUpdatedNumberInputValue","classes","classNames","jsx","NumberInput"],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ export type PageProps = {
|
|
|
3
3
|
/**
|
|
4
4
|
* Defines the width in pixel of the page. In landscape mode, the width is set as height.
|
|
5
5
|
* The component uses internally the aspect-ratio of a standard DIN A4 page.
|
|
6
|
+
* Use Page for UI that should visually resemble a real document sheet, such as an invoice,
|
|
7
|
+
* delivery note, shipping document, certificate or print preview.
|
|
6
8
|
* Please make sure the element does not get stretched when using flexbox.
|
|
7
9
|
*/
|
|
8
10
|
width: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.js","sources":["../../../src/components/page/Page.tsx"],"sourcesContent":["import type React from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type PageProps = {\n /**\n * Defines the width in pixel of the page. In landscape mode, the width is set as height.\n * The component uses internally the aspect-ratio of a standard DIN A4 page.\n * Please make sure the element does not get stretched when using flexbox.\n */\n width: number;\n\n /**\n * Defines the layout of the page\n *\n * @default 'portrait'\n */\n orientation?: 'portrait' | 'landscape';\n\n /**\n * Defines to use a pre-defined shadow style. May be disabled on white background.\n *\n * @default true\n */\n shadow?: boolean;\n\n /**\n * Defines to use a pre-defined border style. This may be used to render\n * the page on a white background of as part of another element like a panel.\n */\n border?: boolean;\n\n /**\n * Additional classes to be set on the wrapper element\n */\n className?: string;\n};\n\nconst Page = (props: PropsWithChildren<PageProps>) => {\n const { className, width, orientation = 'portrait', shadow = true, border = false, children } = props;\n\n const wrapperClassNames = classNames(\n 'Page',\n orientation,\n shadow && 'shadow-hard',\n border && 'border border-width-2',\n className\n );\n\n const isPortrait = orientation === 'portrait';\n\n const style: React.CSSProperties = {};\n\n if (width && isPortrait) {\n style.width = `${width}px`;\n }\n\n if (width && !isPortrait) {\n style.height = `${width}px`;\n }\n\n return (\n <div className={wrapperClassNames} style={style}>\n {children}\n </div>\n );\n};\n\nexport default Page;\n"],"names":["Page","props","className","width","orientation","shadow","border","children","wrapperClassNames","classNames","isPortrait","style","jsx"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Page.js","sources":["../../../src/components/page/Page.tsx"],"sourcesContent":["import type React from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type PageProps = {\n /**\n * Defines the width in pixel of the page. In landscape mode, the width is set as height.\n * The component uses internally the aspect-ratio of a standard DIN A4 page.\n * Use Page for UI that should visually resemble a real document sheet, such as an invoice,\n * delivery note, shipping document, certificate or print preview.\n * Please make sure the element does not get stretched when using flexbox.\n */\n width: number;\n\n /**\n * Defines the layout of the page\n *\n * @default 'portrait'\n */\n orientation?: 'portrait' | 'landscape';\n\n /**\n * Defines to use a pre-defined shadow style. May be disabled on white background.\n *\n * @default true\n */\n shadow?: boolean;\n\n /**\n * Defines to use a pre-defined border style. This may be used to render\n * the page on a white background of as part of another element like a panel.\n */\n border?: boolean;\n\n /**\n * Additional classes to be set on the wrapper element\n */\n className?: string;\n};\n\nconst Page = (props: PropsWithChildren<PageProps>) => {\n const { className, width, orientation = 'portrait', shadow = true, border = false, children } = props;\n\n const wrapperClassNames = classNames(\n 'Page',\n orientation,\n shadow && 'shadow-hard',\n border && 'border border-width-2',\n className\n );\n\n const isPortrait = orientation === 'portrait';\n\n const style: React.CSSProperties = {};\n\n if (width && isPortrait) {\n style.width = `${width}px`;\n }\n\n if (width && !isPortrait) {\n style.height = `${width}px`;\n }\n\n return (\n <div className={wrapperClassNames} style={style}>\n {children}\n </div>\n );\n};\n\nexport default Page;\n"],"names":["Page","props","className","width","orientation","shadow","border","children","wrapperClassNames","classNames","isPortrait","style","jsx"],"mappings":";;AAyCA,MAAMA,IAAO,CAACC,MAAwC;AAClD,QAAM,EAAE,WAAAC,GAAW,OAAAC,GAAO,aAAAC,IAAc,YAAY,QAAAC,IAAS,IAAM,QAAAC,IAAS,IAAO,UAAAC,EAAA,IAAaN,GAE1FO,IAAoBC;AAAA,IACtB;AAAA,IACAL;AAAA,IACAC,KAAU;AAAA,IACVC,KAAU;AAAA,IACVJ;AAAA,EAAA,GAGEQ,IAAaN,MAAgB,YAE7BO,IAA6B,CAAA;AAEnC,SAAIR,KAASO,MACTC,EAAM,QAAQ,GAAGR,CAAK,OAGtBA,KAAS,CAACO,MACVC,EAAM,SAAS,GAAGR,CAAK,OAIvB,gBAAAS,EAAC,OAAA,EAAI,WAAWJ,GAAmB,OAAAG,GAC9B,UAAAJ,GACL;AAER;"}
|
|
@@ -2,7 +2,10 @@ import { RioglyphIconType } from './RioglyphIconType';
|
|
|
2
2
|
export type IconType = RioglyphIconType;
|
|
3
3
|
export type RioglyphProps = {
|
|
4
4
|
/**
|
|
5
|
-
* The
|
|
5
|
+
* The RIOglyph icon class name OR an external .svg link.
|
|
6
|
+
*
|
|
7
|
+
* Use only exact existing `rioglyph-*` classes from the generated UIKIT icon contract.
|
|
8
|
+
* Do not compose or guess semantic icon names; an unknown icon class renders as a filled rectangle.
|
|
6
9
|
*/
|
|
7
10
|
icon: IconType | string;
|
|
8
11
|
/**
|
|
@@ -50,7 +53,10 @@ export type RioglyphProps = {
|
|
|
50
53
|
*/
|
|
51
54
|
disabledInverse?: boolean;
|
|
52
55
|
/**
|
|
53
|
-
* The
|
|
56
|
+
* The RIOglyph icon class name OR an external .svg link.
|
|
57
|
+
*
|
|
58
|
+
* Use only exact existing `rioglyph-*` classes from the generated UIKIT icon contract.
|
|
59
|
+
* Do not compose or guess semantic icon names; an unknown icon class renders as a filled rectangle.
|
|
54
60
|
*/
|
|
55
61
|
pairIcon?: IconType | string;
|
|
56
62
|
/**
|