@rio-cloud/rio-uikit 1.4.1 → 1.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/.DS_Store +0 -0
- package/FadeExpander.d.ts +2 -0
- package/FadeExpander.js +2 -0
- package/FadeUp.d.ts +2 -0
- package/FadeUp.js +2 -0
- package/XAxis.d.ts +2 -0
- package/XAxis.js +2 -0
- package/YAxis.d.ts +2 -0
- package/YAxis.js +2 -0
- package/components/applicationLayout/ApplicationLayoutBody.d.ts +5 -0
- package/components/applicationLayout/ApplicationLayoutBody.js +10 -1
- package/components/charts/Area.d.ts +11 -3
- package/components/charts/Area.js +9 -1
- package/components/charts/AreaChart.d.ts +4 -3
- package/components/charts/AreaChart.js +9 -8
- package/components/charts/Bar.d.ts +6 -2
- package/components/charts/Bar.js +3 -4
- package/components/charts/BarChart.d.ts +2 -1
- package/components/charts/BarChart.js +8 -4
- package/components/charts/ComposedChart.d.ts +6 -5
- package/components/charts/ComposedChart.js +16 -11
- package/components/charts/Line.d.ts +11 -3
- package/components/charts/Line.js +9 -1
- package/components/charts/LineChart.d.ts +6 -4
- package/components/charts/LineChart.js +10 -9
- package/components/charts/ReferenceLine.d.ts +8 -4
- package/components/charts/ReferenceLine.js +18 -2
- package/components/charts/XAxis.d.ts +7 -0
- package/components/charts/XAxis.js +18 -0
- package/components/charts/YAxis.d.ts +5 -0
- package/components/charts/YAxis.js +2 -0
- package/components/collapse/Collapse.js +3 -2
- package/components/fade/FadeExpander.d.ts +27 -0
- package/components/fade/FadeExpander.js +41 -0
- package/components/fade/FadeUp.d.ts +27 -0
- package/components/fade/FadeUp.js +28 -0
- package/components/listMenu/ListMenu.d.ts +7 -0
- package/components/listMenu/ListMenu.js +6 -3
- package/components/map/components/features/Route.d.ts +13 -2
- package/components/map/components/features/Route.js +19 -11
- package/components/map/components/features/basics/Polygon.d.ts +1 -0
- package/components/map/components/features/basics/Polygon.js +1 -0
- package/components/map/components/features/basics/Polyline.d.ts +3 -1
- package/components/map/components/features/basics/Polyline.js +5 -16
- package/components/map/components/features/basics/polygonColors.d.ts +252 -0
- package/components/map/components/features/basics/polygonColors.js +252 -0
- package/components/map/utils/mapTypes.d.ts +1 -1
- package/components/map/utils/mapTypes.js +2 -0
- package/components/mapMarker/SingleMapMarker.d.ts +3 -2
- package/components/mapMarker/SingleMapMarker.js +3 -3
- package/components/selects/BaseSelectDropdown.d.ts +0 -1
- package/components/selects/BaseSelectDropdown.js +7 -1
- package/components/selects/Multiselect.js +1 -4
- package/components/selects/Select.d.ts +1 -1
- package/components/selects/Select.js +1 -4
- package/components/smoothScrollbars/SmoothScrollbars.js +28 -3
- package/hooks/useSorting.d.ts +29 -0
- package/hooks/useSorting.js +41 -0
- package/lib/es/FadeExpander.d.ts +2 -0
- package/lib/es/FadeExpander.js +7 -0
- package/lib/es/FadeUp.d.ts +2 -0
- package/lib/es/FadeUp.js +7 -0
- package/lib/es/XAxis.d.ts +2 -0
- package/lib/es/XAxis.js +7 -0
- package/lib/es/YAxis.d.ts +2 -0
- package/lib/es/YAxis.js +7 -0
- package/lib/es/components/applicationLayout/ApplicationLayoutBody.d.ts +5 -0
- package/lib/es/components/applicationLayout/ApplicationLayoutBody.js +10 -1
- package/lib/es/components/charts/Area.d.ts +11 -3
- package/lib/es/components/charts/Area.js +11 -1
- package/lib/es/components/charts/AreaChart.d.ts +4 -3
- package/lib/es/components/charts/AreaChart.js +8 -7
- package/lib/es/components/charts/Bar.d.ts +6 -2
- package/lib/es/components/charts/Bar.js +5 -4
- package/lib/es/components/charts/BarChart.d.ts +2 -1
- package/lib/es/components/charts/BarChart.js +7 -3
- package/lib/es/components/charts/ComposedChart.d.ts +6 -5
- package/lib/es/components/charts/ComposedChart.js +15 -10
- package/lib/es/components/charts/Line.d.ts +11 -3
- package/lib/es/components/charts/Line.js +11 -1
- package/lib/es/components/charts/LineChart.d.ts +6 -4
- package/lib/es/components/charts/LineChart.js +9 -8
- package/lib/es/components/charts/ReferenceLine.d.ts +8 -4
- package/lib/es/components/charts/ReferenceLine.js +21 -2
- package/lib/es/components/charts/XAxis.d.ts +7 -0
- package/lib/es/components/charts/XAxis.js +23 -0
- package/lib/es/components/charts/YAxis.d.ts +5 -0
- package/lib/es/components/charts/YAxis.js +4 -0
- package/lib/es/components/collapse/Collapse.js +3 -2
- package/lib/es/components/fade/FadeExpander.d.ts +27 -0
- package/lib/es/components/fade/FadeExpander.js +43 -0
- package/lib/es/components/fade/FadeUp.d.ts +27 -0
- package/lib/es/components/fade/FadeUp.js +30 -0
- package/lib/es/components/listMenu/ListMenu.d.ts +7 -0
- package/lib/es/components/listMenu/ListMenu.js +6 -3
- package/lib/es/components/map/components/features/Route.d.ts +13 -2
- package/lib/es/components/map/components/features/Route.js +20 -12
- package/lib/es/components/map/components/features/basics/Polygon.d.ts +1 -0
- package/lib/es/components/map/components/features/basics/Polygon.js +10 -0
- package/lib/es/components/map/components/features/basics/Polyline.d.ts +3 -1
- package/lib/es/components/map/components/features/basics/Polyline.js +5 -16
- package/lib/es/components/map/components/features/basics/polygonColors.d.ts +252 -0
- package/lib/es/components/map/components/features/basics/polygonColors.js +255 -0
- package/lib/es/components/map/utils/mapTypes.d.ts +1 -1
- package/lib/es/components/map/utils/mapTypes.js +2 -0
- package/lib/es/components/mapMarker/SingleMapMarker.d.ts +3 -2
- package/lib/es/components/mapMarker/SingleMapMarker.js +3 -3
- package/lib/es/components/selects/BaseSelectDropdown.d.ts +0 -1
- package/lib/es/components/selects/BaseSelectDropdown.js +6 -0
- package/lib/es/components/selects/Multiselect.js +1 -4
- package/lib/es/components/selects/Select.d.ts +1 -1
- package/lib/es/components/selects/Select.js +1 -4
- package/lib/es/components/smoothScrollbars/SmoothScrollbars.js +27 -2
- package/lib/es/hooks/useSorting.d.ts +29 -0
- package/lib/es/hooks/useSorting.js +43 -0
- package/lib/es/storageUtils.d.ts +1 -0
- package/lib/es/storageUtils.js +4 -0
- package/lib/es/styles/variables/colors/colors.json +4 -3
- package/lib/es/urlFeatureToggles.d.ts +1 -0
- package/lib/es/urlFeatureToggles.js +4 -0
- package/lib/es/useSorting.d.ts +2 -0
- package/lib/es/useSorting.js +7 -0
- package/lib/es/utils/storageUtils.d.ts +5 -0
- package/lib/es/utils/storageUtils.js +32 -0
- package/lib/es/utils/urlFeatureToggles.d.ts +10 -0
- package/lib/es/utils/urlFeatureToggles.js +41 -0
- package/lib/es/version.json +1 -1
- package/package.json +15 -4
- package/storageUtils.d.ts +1 -0
- package/storageUtils.js +1 -0
- package/styles/variables/colors/colors.json +4 -3
- package/urlFeatureToggles.d.ts +1 -0
- package/urlFeatureToggles.js +1 -0
- package/useSorting.d.ts +2 -0
- package/useSorting.js +2 -0
- package/utils/storageUtils.d.ts +5 -0
- package/utils/storageUtils.js +29 -0
- package/utils/urlFeatureToggles.d.ts +10 -0
- package/utils/urlFeatureToggles.js +32 -0
- package/version.json +1 -1
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.colorMapHighlight = exports.colorMapRating = exports.colorMapMarker = exports.colorMapStatus = exports.colorMapBrand = exports.colorMapGray = exports.colorMapWarmup = exports.colorMapColdplay = void 0;
|
|
4
|
+
exports.colorMapColdplay = {
|
|
5
|
+
'color-coldplay-wine': {
|
|
6
|
+
stroke: 'rgba(82, 13, 78, 0.65)',
|
|
7
|
+
fill: 'rgba(82, 13, 78, 0.25)',
|
|
8
|
+
},
|
|
9
|
+
'color-coldplay-aubergine': {
|
|
10
|
+
stroke: 'rgba(90, 72, 118, 0.65)',
|
|
11
|
+
fill: 'rgba(90, 72, 118, 0.25)',
|
|
12
|
+
},
|
|
13
|
+
'color-coldplay-kashmir': {
|
|
14
|
+
stroke: 'rgba(83, 110, 139, 0.65)',
|
|
15
|
+
fill: 'rgba(83, 110, 139, 0.25)',
|
|
16
|
+
},
|
|
17
|
+
'color-coldplay-fountain': {
|
|
18
|
+
stroke: 'rgba(103, 171, 197, 0.65)',
|
|
19
|
+
fill: 'rgba(103, 171, 197, 0.25)',
|
|
20
|
+
},
|
|
21
|
+
'color-coldplay-turquoise': {
|
|
22
|
+
stroke: 'rgba(78, 204, 193, 0.65)',
|
|
23
|
+
fill: 'rgba(78, 204, 193, 0.25)',
|
|
24
|
+
},
|
|
25
|
+
'color-coldplay-bermuda': {
|
|
26
|
+
stroke: 'rgba(121, 212, 179, 0.65)',
|
|
27
|
+
fill: 'rgba(121, 212, 179, 0.25)',
|
|
28
|
+
},
|
|
29
|
+
'color-coldplay-moos': {
|
|
30
|
+
stroke: 'rgba(161, 218, 163, 0.65)',
|
|
31
|
+
fill: 'rgba(161, 218, 163, 0.25)',
|
|
32
|
+
},
|
|
33
|
+
'color-coldplay-primrose': {
|
|
34
|
+
stroke: 'rgba(199, 226, 145, 0.65)',
|
|
35
|
+
fill: 'rgba(199, 226, 145, 0.25)',
|
|
36
|
+
},
|
|
37
|
+
'color-coldplay-khaki': {
|
|
38
|
+
stroke: 'rgba(240, 235, 131, 0.65)',
|
|
39
|
+
fill: 'rgba(240, 235, 131, 0.25)',
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
exports.colorMapWarmup = {
|
|
43
|
+
'color-warmup-crimson': {
|
|
44
|
+
stroke: 'rgba(49, 20, 79, 0.65)',
|
|
45
|
+
fill: 'rgba(49, 20, 79, 0.25)',
|
|
46
|
+
},
|
|
47
|
+
'color-warmup-victoria': {
|
|
48
|
+
stroke: 'rgba(73, 61, 109, 0.65)',
|
|
49
|
+
fill: 'rgba(73, 61, 109, 0.25)',
|
|
50
|
+
},
|
|
51
|
+
'color-warmup-cadillac': {
|
|
52
|
+
stroke: 'rgba(126, 62, 114, 0.65)',
|
|
53
|
+
fill: 'rgba(126, 62, 114, 0.25)',
|
|
54
|
+
},
|
|
55
|
+
'color-warmup-raspberry': {
|
|
56
|
+
stroke: 'rgba(178, 54, 114, 0.65)',
|
|
57
|
+
fill: 'rgba(178, 54, 114, 0.25)',
|
|
58
|
+
},
|
|
59
|
+
'color-warmup-cerise': {
|
|
60
|
+
stroke: 'rgba(231, 36, 114, 0.65)',
|
|
61
|
+
fill: 'rgba(231, 36, 114, 0.25)',
|
|
62
|
+
},
|
|
63
|
+
'color-warmup-charm': {
|
|
64
|
+
stroke: 'rgba(201, 119, 141, 0.65)',
|
|
65
|
+
fill: 'rgba(201, 119, 141, 0.25)',
|
|
66
|
+
},
|
|
67
|
+
'color-warmup-salmon': {
|
|
68
|
+
stroke: 'rgba(241, 149, 136, 0.65)',
|
|
69
|
+
fill: 'rgba(241, 149, 136, 0.25)',
|
|
70
|
+
},
|
|
71
|
+
'color-warmup-cherokee': {
|
|
72
|
+
stroke: 'rgba(245, 187, 137, 0.65)',
|
|
73
|
+
fill: 'rgba(245, 187, 137, 0.25)',
|
|
74
|
+
},
|
|
75
|
+
'color-warmup-corn': {
|
|
76
|
+
stroke: 'rgba(253, 224, 130, 0.65)',
|
|
77
|
+
fill: 'rgba(253, 224, 130, 0.25)',
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
exports.colorMapGray = {
|
|
81
|
+
'gray-darkest': {
|
|
82
|
+
stroke: 'rgba(42, 55, 64, 0.65)',
|
|
83
|
+
fill: 'rgba(42, 55, 64, 0.25)',
|
|
84
|
+
},
|
|
85
|
+
'gray-darker': {
|
|
86
|
+
stroke: 'rgba(76, 86, 103, 0.65)',
|
|
87
|
+
fill: 'rgba(76, 86, 103, 0.25)',
|
|
88
|
+
},
|
|
89
|
+
'gray-dark': {
|
|
90
|
+
stroke: 'rgba(105, 122, 139, 0.65)',
|
|
91
|
+
fill: 'rgba(105, 122, 139, 0.25)',
|
|
92
|
+
},
|
|
93
|
+
gray: {
|
|
94
|
+
stroke: 'rgba(167, 175, 187, 0.65)',
|
|
95
|
+
fill: 'rgba(167, 175, 187, 0.25)',
|
|
96
|
+
},
|
|
97
|
+
'gray-light': {
|
|
98
|
+
stroke: 'rgba(208, 216, 222, 0.65)',
|
|
99
|
+
fill: 'rgba(208, 216, 222, 0.25)',
|
|
100
|
+
},
|
|
101
|
+
'gray-lighter': {
|
|
102
|
+
stroke: 'rgba(229, 235, 240, 0.65)',
|
|
103
|
+
fill: 'rgba(229, 235, 240, 0.25)',
|
|
104
|
+
},
|
|
105
|
+
'gray-lightest': {
|
|
106
|
+
stroke: 'rgba(246, 248, 249, 0.65)',
|
|
107
|
+
fill: 'rgba(246, 248, 249, 0.25)',
|
|
108
|
+
},
|
|
109
|
+
'gray-decent': {
|
|
110
|
+
stroke: 'rgba(253, 253, 253, 0.65)',
|
|
111
|
+
fill: 'rgba(253, 253, 253, 0.25)',
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
exports.colorMapBrand = {
|
|
115
|
+
'brand-primary': {
|
|
116
|
+
stroke: 'rgba(48, 180, 192, 0.65)',
|
|
117
|
+
fill: 'rgba(48, 180, 192, 0.25)',
|
|
118
|
+
},
|
|
119
|
+
'brand-secondary': {
|
|
120
|
+
stroke: 'rgba(178, 54, 114, 0.65)',
|
|
121
|
+
fill: 'rgba(178, 54, 114, 0.25)',
|
|
122
|
+
},
|
|
123
|
+
'brand-info': {
|
|
124
|
+
stroke: 'rgba(75, 128, 166, 0.65)',
|
|
125
|
+
fill: 'rgba(75, 128, 166, 0.25)',
|
|
126
|
+
},
|
|
127
|
+
'brand-success': {
|
|
128
|
+
stroke: 'rgba(92, 184, 92, 0.65)',
|
|
129
|
+
fill: 'rgba(92, 184, 92, 0.25)',
|
|
130
|
+
},
|
|
131
|
+
'brand-warning': {
|
|
132
|
+
stroke: 'rgba(255, 142, 60, 0.65)',
|
|
133
|
+
fill: 'rgba(255, 142, 60, 0.25)',
|
|
134
|
+
},
|
|
135
|
+
'brand-danger': {
|
|
136
|
+
stroke: 'rgba(226, 40, 55, 0.65)',
|
|
137
|
+
fill: 'rgba(226, 40, 55, 0.25)',
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
exports.colorMapStatus = {
|
|
141
|
+
'color-status-available': {
|
|
142
|
+
stroke: 'rgba(35, 155, 125, 0.65)',
|
|
143
|
+
fill: 'rgba(35, 155, 125, 0.25)',
|
|
144
|
+
},
|
|
145
|
+
'color-status-driving': {
|
|
146
|
+
stroke: 'rgba(54, 144, 174, 0.65)',
|
|
147
|
+
fill: 'rgba(54, 144, 174, 0.25)',
|
|
148
|
+
},
|
|
149
|
+
'color-status-resting': {
|
|
150
|
+
stroke: 'rgba(98, 107, 114, 0.65)',
|
|
151
|
+
fill: 'rgba(98, 107, 114, 0.25)',
|
|
152
|
+
},
|
|
153
|
+
'color-status-working': {
|
|
154
|
+
stroke: 'rgba(148, 72, 139, 0.65)',
|
|
155
|
+
fill: 'rgba(148, 72, 139, 0.25)',
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
exports.colorMapMarker = {
|
|
159
|
+
'color-map-marker-text': {
|
|
160
|
+
stroke: 'rgba(255, 255, 255, 0.65)',
|
|
161
|
+
fill: 'rgba(255, 255, 255, 0.25)',
|
|
162
|
+
},
|
|
163
|
+
'color-map-marker-active': {
|
|
164
|
+
stroke: 'rgba(255, 255, 255, 0.65)',
|
|
165
|
+
fill: 'rgba(255, 255, 255, 0.25)',
|
|
166
|
+
},
|
|
167
|
+
'color-map-marker-asset': {
|
|
168
|
+
stroke: 'rgba(42, 55, 64, 0.65)',
|
|
169
|
+
fill: 'rgba(42, 55, 64, 0.25)',
|
|
170
|
+
},
|
|
171
|
+
'color-map-marker-poi': {
|
|
172
|
+
stroke: 'rgba(203, 57, 149, 0.65)',
|
|
173
|
+
fill: 'rgba(203, 57, 149, 0.25)',
|
|
174
|
+
},
|
|
175
|
+
'color-map-marker-geofence': {
|
|
176
|
+
stroke: 'rgba(242, 84, 95, 0.65)',
|
|
177
|
+
fill: 'rgba(242, 84, 95, 0.25)',
|
|
178
|
+
},
|
|
179
|
+
'color-map-marker-route': {
|
|
180
|
+
stroke: 'rgba(54, 175, 215, 0.65)',
|
|
181
|
+
fill: 'rgba(54, 175, 215, 0.25)',
|
|
182
|
+
},
|
|
183
|
+
'color-map-marker-info': {
|
|
184
|
+
stroke: 'rgba(63, 117, 155, 0.65)',
|
|
185
|
+
fill: 'rgba(63, 117, 155, 0.25)',
|
|
186
|
+
},
|
|
187
|
+
'color-map-marker-success': {
|
|
188
|
+
stroke: 'rgba(92, 184, 92, 0.65)',
|
|
189
|
+
fill: 'rgba(92, 184, 92, 0.25)',
|
|
190
|
+
},
|
|
191
|
+
'color-map-marker-warning': {
|
|
192
|
+
stroke: 'rgba(255, 142, 60, 0.65)',
|
|
193
|
+
fill: 'rgba(255, 142, 60, 0.25)',
|
|
194
|
+
},
|
|
195
|
+
'color-map-marker-danger': {
|
|
196
|
+
stroke: 'rgba(226, 40, 55, 0.65)',
|
|
197
|
+
fill: 'rgba(226, 40, 55, 0.25)',
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
exports.colorMapRating = {
|
|
201
|
+
'color-rating-1': {
|
|
202
|
+
stroke: 'rgba(226, 40, 55, 0.65)',
|
|
203
|
+
fill: 'rgba(226, 40, 55, 0.25)',
|
|
204
|
+
},
|
|
205
|
+
'color-rating-2': {
|
|
206
|
+
stroke: 'rgba(255, 142, 60, 0.65)',
|
|
207
|
+
fill: 'rgba(255, 142, 60, 0.25)',
|
|
208
|
+
},
|
|
209
|
+
'color-rating-3': {
|
|
210
|
+
stroke: 'rgba(248, 197, 117, 0.65)',
|
|
211
|
+
fill: 'rgba(248, 197, 117, 0.25)',
|
|
212
|
+
},
|
|
213
|
+
'color-rating-4': {
|
|
214
|
+
stroke: 'rgba(92, 184, 92, 0.65)',
|
|
215
|
+
fill: 'rgba(92, 184, 92, 0.25)',
|
|
216
|
+
},
|
|
217
|
+
'color-rating-5': {
|
|
218
|
+
stroke: 'rgba(75, 146, 76, 0.65)',
|
|
219
|
+
fill: 'rgba(75, 146, 76, 0.25)',
|
|
220
|
+
},
|
|
221
|
+
};
|
|
222
|
+
exports.colorMapHighlight = {
|
|
223
|
+
'color-highlight-darkest': {
|
|
224
|
+
stroke: 'rgba(21, 75, 86, 0.65)',
|
|
225
|
+
fill: 'rgba(21, 75, 86, 0.25)',
|
|
226
|
+
},
|
|
227
|
+
'color-highlight-darker': {
|
|
228
|
+
stroke: 'rgba(32, 110, 126, 0.65)',
|
|
229
|
+
fill: 'rgba(32, 110, 126, 0.25)',
|
|
230
|
+
},
|
|
231
|
+
'color-highlight-dark': {
|
|
232
|
+
stroke: 'rgba(38, 136, 151, 0.65)',
|
|
233
|
+
fill: 'rgba(38, 136, 151, 0.25)',
|
|
234
|
+
},
|
|
235
|
+
'color-highlight': {
|
|
236
|
+
stroke: 'rgba(48, 180, 192, 0.65)',
|
|
237
|
+
fill: 'rgba(48, 180, 192, 0.25)',
|
|
238
|
+
},
|
|
239
|
+
'color-highlight-light': {
|
|
240
|
+
stroke: 'rgba(141, 219, 227, 0.65)',
|
|
241
|
+
fill: 'rgba(141, 219, 227, 0.25)',
|
|
242
|
+
},
|
|
243
|
+
'color-highlight-lighter': {
|
|
244
|
+
stroke: 'rgba(206, 240, 243, 0.65)',
|
|
245
|
+
fill: 'rgba(206, 240, 243, 0.25)',
|
|
246
|
+
},
|
|
247
|
+
'color-highlight-lightest': {
|
|
248
|
+
stroke: 'rgba(235, 249, 250, 0.65)',
|
|
249
|
+
fill: 'rgba(235, 249, 250, 0.25)',
|
|
250
|
+
},
|
|
251
|
+
'color-highlight-decent': {
|
|
252
|
+
stroke: 'rgba(243, 251, 252, 0.65)',
|
|
253
|
+
fill: 'rgba(243, 251, 252, 0.25)',
|
|
254
|
+
},
|
|
255
|
+
};
|
|
@@ -161,6 +161,6 @@ export type IncidentDataPoint = {
|
|
|
161
161
|
roadClosed: boolean;
|
|
162
162
|
position: Position;
|
|
163
163
|
};
|
|
164
|
-
export declare const markerColorOptions: readonly ["bg-map-marker-asset", "bg-map-marker-poi", "bg-map-marker-geofence", "bg-map-marker-route", "bg-map-marker-info", "bg-map-marker-success", "bg-map-marker-warning", "bg-map-marker-danger"];
|
|
164
|
+
export declare const markerColorOptions: readonly ["bg-map-marker-asset", "bg-map-marker-poi", "bg-map-marker-geofence", "bg-map-marker-route", "bg-map-marker-info", "bg-map-marker-success", "bg-map-marker-warning", "bg-map-marker-danger", "bg-map-marker-restrictions"];
|
|
165
165
|
export type MarkerColor = (typeof markerColorOptions)[number];
|
|
166
166
|
export declare const markerColorMapping: Record<MarkerColor, string>;
|
|
@@ -22,6 +22,7 @@ exports.markerColorOptions = [
|
|
|
22
22
|
'bg-map-marker-success',
|
|
23
23
|
'bg-map-marker-warning',
|
|
24
24
|
'bg-map-marker-danger',
|
|
25
|
+
'bg-map-marker-restrictions',
|
|
25
26
|
];
|
|
26
27
|
exports.markerColorMapping = {
|
|
27
28
|
'bg-map-marker-asset': '--color-map-marker-asset',
|
|
@@ -32,4 +33,5 @@ exports.markerColorMapping = {
|
|
|
32
33
|
'bg-map-marker-success': '--color-map-marker-success',
|
|
33
34
|
'bg-map-marker-warning': '--color-map-marker-warning',
|
|
34
35
|
'bg-map-marker-danger': '--color-map-marker-danger',
|
|
36
|
+
'bg-map-marker-restrictions': '--color-map-marker-restrictions',
|
|
35
37
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import { type ComponentProps, type ReactNode } from 'react';
|
|
2
2
|
import { type MarkerColor } from '../map/utils/mapTypes';
|
|
3
|
-
export type SingleMapMarkerProps = {
|
|
3
|
+
export type SingleMapMarkerProps = ComponentProps<'div'> & {
|
|
4
4
|
/**
|
|
5
5
|
* Defines the rotation of the arrow in deg.
|
|
6
6
|
*
|
|
@@ -73,6 +73,7 @@ export type SingleMapMarkerProps = {
|
|
|
73
73
|
* - `bg-map-marker-success`
|
|
74
74
|
* - `bg-map-marker-warning`
|
|
75
75
|
* - `bg-map-marker-danger`
|
|
76
|
+
* - `bg-map-marker-restrictions`
|
|
76
77
|
*
|
|
77
78
|
* @default 'bg-map-marker-asset'
|
|
78
79
|
*/
|
|
@@ -19,12 +19,12 @@ const MapStateIndicator = (props) => {
|
|
|
19
19
|
};
|
|
20
20
|
const getIcons = (iconNames = []) => iconNames.map((name, index) => ((0, jsx_runtime_1.jsx)("div", { className: `rio-map-icon rioglyph rioglyph-${name}` }, `rio-map-icon-${name}-${index}`)));
|
|
21
21
|
const SingleMapMarker = (props) => {
|
|
22
|
-
const { bearing = DEFAULT_BEARING, name, warningCount = 0, exceptionCount = 0, active = false, clickable = true, fixed = false, moving = false, pinging = false, anchorIconName, stateIconName, iconNames, markerColor = 'bg-map-marker-asset', textColor, anchorSize, markerOnHover = false, anchorOnly = !name && !iconNames, cursor = 'cursor-pointer', } = props;
|
|
22
|
+
const { bearing = DEFAULT_BEARING, name, warningCount = 0, exceptionCount = 0, active = false, clickable = true, fixed = false, moving = false, pinging = false, anchorIconName, stateIconName, iconNames, markerColor = 'bg-map-marker-asset', textColor, anchorSize, markerOnHover = false, anchorOnly = !name && !iconNames, cursor = 'cursor-pointer', className, style, } = props;
|
|
23
23
|
const largeAnchor = anchorSize === 'lg';
|
|
24
|
-
const classes = (0, classnames_1.default)(active && 'active', 'rio-map-marker', 'rio-map-marker-bottom-center', !clickable && 'not-clickable');
|
|
24
|
+
const classes = (0, classnames_1.default)(active && 'active', 'rio-map-marker', 'rio-map-marker-bottom-center', !clickable && 'not-clickable', className);
|
|
25
25
|
const anchorClasses = (0, classnames_1.default)('rio-map-anchor', largeAnchor ? 'rio-map-anchor-lg' : '', cursor);
|
|
26
26
|
const singleClasses = (0, classnames_1.default)('rio-map-single', fixed && 'fixed', moving && 'moving', textColor, markerOnHover && 'visible-on-hover', active && 'active', pinging && 'pinging', cursor);
|
|
27
27
|
const markerBackgroundColor = `var(${mapTypes_1.markerColorMapping[markerColor]})`;
|
|
28
|
-
return ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: classes, style: { color: markerBackgroundColor }, "data-marker-type": markerColor.replace('bg-', 'single-') }, { children: (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: 'rio-map-marker-translate' }, { children: [!anchorOnly && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: singleClasses }, { children: [(0, jsx_runtime_1.jsx)(MapStateIndicator, { moving: moving, bearing: bearing, stateIconName: stateIconName }), getIcons(iconNames), name && (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'rio-map-name' }, { children: name })), exceptionCount > 0 && (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'rio-map-bubble exception' }, { children: exceptionCount })), warningCount > 0 && (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'rio-map-bubble warning' }, { children: warningCount }))] })), (0, jsx_runtime_1.jsx)("div", { className: 'rio-map-anchor-arrow' })] })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: anchorClasses }, { children: anchorIconName && largeAnchor && (0, jsx_runtime_1.jsx)("span", { className: `rioglyph rioglyph-${anchorIconName}` }) }))] })) })));
|
|
28
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: classes, style: Object.assign(Object.assign({}, style), { color: markerBackgroundColor }), "data-marker-type": markerColor.replace('bg-', 'single-') }, { children: (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: 'rio-map-marker-translate' }, { children: [!anchorOnly && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: singleClasses }, { children: [(0, jsx_runtime_1.jsx)(MapStateIndicator, { moving: moving, bearing: bearing, stateIconName: stateIconName }), getIcons(iconNames), name && (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'rio-map-name' }, { children: name })), exceptionCount > 0 && (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'rio-map-bubble exception' }, { children: exceptionCount })), warningCount > 0 && (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'rio-map-bubble warning' }, { children: warningCount }))] })), (0, jsx_runtime_1.jsx)("div", { className: 'rio-map-anchor-arrow' })] })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: anchorClasses }, { children: anchorIconName && largeAnchor && (0, jsx_runtime_1.jsx)("span", { className: `rioglyph rioglyph-${anchorIconName}` }) }))] })) })));
|
|
29
29
|
};
|
|
30
30
|
exports.default = SingleMapMarker;
|
|
@@ -48,7 +48,6 @@ export type BaseSelectDropdownProps<T extends SelectOption> = {
|
|
|
48
48
|
noItemMessage?: string | React.ReactNode;
|
|
49
49
|
focusedItemIndex?: number;
|
|
50
50
|
dropdownClassName?: string;
|
|
51
|
-
requestItemDOMValues?: boolean;
|
|
52
51
|
keyboardUsed?: boolean;
|
|
53
52
|
useActiveClass?: boolean;
|
|
54
53
|
};
|
|
@@ -44,6 +44,12 @@ const BaseSelectDropdown = (props) => {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}, [dropDirection, dropdownMenuRef]);
|
|
47
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
|
|
48
|
+
(0, react_1.useEffect)(() => {
|
|
49
|
+
if (dropdownMenuRef.current) {
|
|
50
|
+
updateDOMValues(updateItemDOMValues());
|
|
51
|
+
}
|
|
52
|
+
}, [dropdownMenuRef.current]);
|
|
47
53
|
// update internal state for isOpen
|
|
48
54
|
const [previousIsOpen, setPreviousIsOpen] = (0, react_1.useState)(isOpen);
|
|
49
55
|
if (isOpen && !previousIsOpen) {
|
|
@@ -26,7 +26,6 @@ const Multiselect = (props) => {
|
|
|
26
26
|
const [filteredOptions, setFilteredOptions] = (0, react_1.useState)(options);
|
|
27
27
|
const [itemDOMValues, setItemDOMValues] = (0, react_1.useState)([]);
|
|
28
28
|
const [focusedItemIndex, setFocusedItemIndex] = (0, react_1.useState)(DEFAULT_FOCUSED_ITEM_INDEX);
|
|
29
|
-
const [requestItemDOMValues, setRequestItemDOMValues] = (0, react_1.useState)(false);
|
|
30
29
|
const [keyboardUsed, setKeyboardUsed] = (0, react_1.useState)(false);
|
|
31
30
|
const refToggle = (0, react_1.useRef)(null);
|
|
32
31
|
const refMultiSelectWrapper = (0, react_1.useRef)(null);
|
|
@@ -59,12 +58,10 @@ const Multiselect = (props) => {
|
|
|
59
58
|
if (!(0, isEqual_1.default)(options, previousOptions)) {
|
|
60
59
|
updateSelectedItems(options, value);
|
|
61
60
|
setFilteredOptions(options);
|
|
62
|
-
setRequestItemDOMValues(true);
|
|
63
61
|
setPreviousOptions(options);
|
|
64
62
|
}
|
|
65
63
|
const updateDOMValues = (updatedItemDOMValues = []) => {
|
|
66
64
|
setItemDOMValues(updatedItemDOMValues);
|
|
67
|
-
setRequestItemDOMValues(false);
|
|
68
65
|
};
|
|
69
66
|
const renderFilter = () => ((0, jsx_runtime_1.jsx)(MultiselectToggleFilter_1.default, { isActive: isFilterActive || !!filterValue, selectedItemIds: selectedItemIds, filterValue: filterValue, onFilterChange: handleFilterChange, multiline: multiline }));
|
|
70
67
|
const renderSelection = () => {
|
|
@@ -88,7 +85,7 @@ const Multiselect = (props) => {
|
|
|
88
85
|
option.selected = selectedItemIds.indexOf(option.id) !== -1;
|
|
89
86
|
return option;
|
|
90
87
|
});
|
|
91
|
-
return ((0, jsx_runtime_1.jsx)(BaseSelectDropdown_1.default, { isOpen: isOpen, isLoading: isLoading, options: nonSelectedOptions, focusedItemIndex: focusedItemIndex, keyboardUsed: keyboardUsed, updateDOMValues: updateDOMValues, onSelect: onOptionChange, onClose: closeMenu, noItemMessage: noItemMessage, pullRight: pullRight, useActiveClass: true, dropup: dropup, autoDropDirection: autoDropDirection
|
|
88
|
+
return ((0, jsx_runtime_1.jsx)(BaseSelectDropdown_1.default, { isOpen: isOpen, isLoading: isLoading, options: nonSelectedOptions, focusedItemIndex: focusedItemIndex, keyboardUsed: keyboardUsed, updateDOMValues: updateDOMValues, onSelect: onOptionChange, onClose: closeMenu, noItemMessage: noItemMessage, pullRight: pullRight, useActiveClass: true, dropup: dropup, autoDropDirection: autoDropDirection }));
|
|
92
89
|
};
|
|
93
90
|
const handleFilterChange = (event) => {
|
|
94
91
|
event.preventDefault();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type SelectOption } from './BaseSelectDropdown';
|
|
3
|
-
import { WithFeedbackAndAddonProps } from './WithFeedbackAndAddon';
|
|
3
|
+
import { type WithFeedbackAndAddonProps } from './WithFeedbackAndAddon';
|
|
4
4
|
export type { SelectOption } from './BaseSelectDropdown';
|
|
5
5
|
export type SelectProps<T extends SelectOption> = Omit<WithFeedbackAndAddonProps, 'bsSize'> & {
|
|
6
6
|
/**
|
|
@@ -25,7 +25,6 @@ const Select = (props) => {
|
|
|
25
25
|
const [filteredOptions, setFilteredOptions] = (0, react_1.useState)(options);
|
|
26
26
|
const [itemDOMValues, setItemDOMValues] = (0, react_1.useState)([]);
|
|
27
27
|
const [focusedItemIndex, setFocusedItemIndex] = (0, react_1.useState)(DEFAULT_FOCUSED_ITEM_INDEX);
|
|
28
|
-
const [requestItemDOMValues, setRequestItemDOMValues] = (0, react_1.useState)(false);
|
|
29
28
|
const [keyboardUsed, setKeyboardUsed] = (0, react_1.useState)(false);
|
|
30
29
|
const refSelect = (0, react_1.useRef)();
|
|
31
30
|
const refToggle = (0, react_1.useRef)(null);
|
|
@@ -46,7 +45,6 @@ const Select = (props) => {
|
|
|
46
45
|
if (!(0, isEqual_1.default)(options, previousOptions)) {
|
|
47
46
|
updateSelectedItem(options, value);
|
|
48
47
|
setFilteredOptions(options);
|
|
49
|
-
setRequestItemDOMValues(true);
|
|
50
48
|
setPreviousOptions(options);
|
|
51
49
|
}
|
|
52
50
|
const [previousValue, setPreviousValue] = (0, react_1.useState)(value);
|
|
@@ -56,7 +54,6 @@ const Select = (props) => {
|
|
|
56
54
|
}
|
|
57
55
|
const updateDOMValues = (itemDOMValuesToUpdated = []) => {
|
|
58
56
|
setItemDOMValues(itemDOMValuesToUpdated);
|
|
59
|
-
setRequestItemDOMValues(false);
|
|
60
57
|
};
|
|
61
58
|
const handleClearSelectedItem = () => {
|
|
62
59
|
setSelectedItem(null);
|
|
@@ -84,7 +81,7 @@ const Select = (props) => {
|
|
|
84
81
|
else if (keyboardUsed) {
|
|
85
82
|
currentFocusedItemIndex = 0;
|
|
86
83
|
}
|
|
87
|
-
return ((0, jsx_runtime_1.jsx)(BaseSelectDropdown_1.default, { isOpen: isOpen, isLoading: isLoading, options: filteredOptions, focusedItemIndex: currentFocusedItemIndex, keyboardUsed: keyboardUsed, updateDOMValues: updateDOMValues, onSelect: onOptionChange, onClose: closeMenu, noItemMessage: noItemMessage, pullRight: pullRight, dropup: dropup, autoDropDirection: autoDropDirection, dropdownClassName: dropdownClassName
|
|
84
|
+
return ((0, jsx_runtime_1.jsx)(BaseSelectDropdown_1.default, { isOpen: isOpen, isLoading: isLoading, options: filteredOptions, focusedItemIndex: currentFocusedItemIndex, keyboardUsed: keyboardUsed, updateDOMValues: updateDOMValues, onSelect: onOptionChange, onClose: closeMenu, noItemMessage: noItemMessage, pullRight: pullRight, dropup: dropup, autoDropDirection: autoDropDirection, dropdownClassName: dropdownClassName }));
|
|
88
85
|
};
|
|
89
86
|
const handleFilterChange = (event) => {
|
|
90
87
|
event.preventDefault();
|
|
@@ -7,14 +7,39 @@ const react_1 = require("react");
|
|
|
7
7
|
const react_custom_scrollbars_2_1 = require("react-custom-scrollbars-2");
|
|
8
8
|
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
9
9
|
const noop_1 = tslib_1.__importDefault(require("lodash/fp/noop"));
|
|
10
|
+
const debounce_1 = tslib_1.__importDefault(require("lodash/fp/debounce"));
|
|
11
|
+
const RESIZE_THROTTLING = 100;
|
|
10
12
|
const SmoothScrollbars = (0, react_1.forwardRef)((componentProps, ref) => {
|
|
11
13
|
const { slideIn = false, largeTrack = false, trackOffset = false, className = '', onScroll = noop_1.default, tagName = 'div', autoHeight = false, autoHeightMin = 0, autoHeightMax = 200, children, } = componentProps;
|
|
14
|
+
const scrollbarsRef = (0, react_1.useRef)(null);
|
|
15
|
+
const contentRef = (0, react_1.useRef)(null);
|
|
16
|
+
(0, react_1.useImperativeHandle)(ref, () => scrollbarsRef.current);
|
|
17
|
+
(0, react_1.useEffect)(() => {
|
|
18
|
+
if (!contentRef.current || !scrollbarsRef.current) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const updateScrollbars = (0, debounce_1.default)(RESIZE_THROTTLING)(() => {
|
|
22
|
+
if (scrollbarsRef.current) {
|
|
23
|
+
// Trigger a update for the scrollbars.
|
|
24
|
+
// This is needed since the lib does not automatically update on content height changes
|
|
25
|
+
// See: https://github.com/RobPethick/react-custom-scrollbars-2/issues/12
|
|
26
|
+
// Use type assertion to tell TypeScript that 'update' exists
|
|
27
|
+
scrollbarsRef.current.update();
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const resizeObserver = new ResizeObserver(updateScrollbars);
|
|
31
|
+
resizeObserver.observe(contentRef.current);
|
|
32
|
+
return () => {
|
|
33
|
+
resizeObserver.disconnect();
|
|
34
|
+
updateScrollbars.cancel();
|
|
35
|
+
};
|
|
36
|
+
}, []);
|
|
12
37
|
const wrapperClassNames = (0, classnames_1.default)(className, slideIn && 'scrollbar-fly-in', 'smooth-scrollbar-wrapper');
|
|
13
38
|
const renderTrackVerticalNames = (0, classnames_1.default)('scrollbar-track-vertical', largeTrack && 'scrollbar-track-size-large', trackOffset && 'scrollbar-track-offset');
|
|
14
39
|
const renderThumbVerticalNames = (0, classnames_1.default)('scrollbar-thumb-vertical', largeTrack && 'scrollbar-thumb-size-large');
|
|
15
40
|
const renderTrackHorizontalNames = (0, classnames_1.default)('scrollbar-track-horizontal', largeTrack && 'scrollbar-track-size-large', trackOffset && 'scrollbar-track-offset');
|
|
16
41
|
const renderThumbHorizontalNames = (0, classnames_1.default)('scrollbar-thumb-horizontal', largeTrack && 'scrollbar-thumb-size-large');
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)(react_custom_scrollbars_2_1.Scrollbars, Object.assign({ ref:
|
|
42
|
+
return ((0, jsx_runtime_1.jsx)(react_custom_scrollbars_2_1.Scrollbars, Object.assign({ ref: scrollbarsRef, tagName: tagName, onScroll: onScroll, className: wrapperClassNames, hideTracksWhenNotNeeded: true, autoHeight: autoHeight, autoHeightMin: autoHeightMin, autoHeightMax: autoHeightMax, renderView: props => {
|
|
18
43
|
return (0, jsx_runtime_1.jsx)("div", Object.assign({}, props, { className: 'scrollbar-view' }));
|
|
19
44
|
}, renderTrackVertical: props => {
|
|
20
45
|
return (0, jsx_runtime_1.jsx)("div", Object.assign({}, props, { className: renderTrackVerticalNames }));
|
|
@@ -24,6 +49,6 @@ const SmoothScrollbars = (0, react_1.forwardRef)((componentProps, ref) => {
|
|
|
24
49
|
return (0, jsx_runtime_1.jsx)("div", Object.assign({}, props, { className: renderTrackHorizontalNames }));
|
|
25
50
|
}, renderThumbHorizontal: props => {
|
|
26
51
|
return (0, jsx_runtime_1.jsx)("div", Object.assign({}, props, { className: renderThumbHorizontalNames }));
|
|
27
|
-
} }, { children: children })));
|
|
52
|
+
} }, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({ className: 'scrollbar-content-wrapper', ref: contentRef }, { children: children })) })));
|
|
28
53
|
});
|
|
29
54
|
exports.default = SmoothScrollbars;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type SortDirectionType } from '../utils/SortUtils';
|
|
2
|
+
type SortKey<T> = keyof T | [keyof T, keyof T];
|
|
3
|
+
type UseSortingResult<T> = {
|
|
4
|
+
/**
|
|
5
|
+
* The sorted data
|
|
6
|
+
*/
|
|
7
|
+
sortedItems: T[];
|
|
8
|
+
/**
|
|
9
|
+
* The key(s) to sort the data for
|
|
10
|
+
*/
|
|
11
|
+
sortKey: SortKey<T>;
|
|
12
|
+
/**
|
|
13
|
+
* The current direction that the data is sorted
|
|
14
|
+
*/
|
|
15
|
+
sortDirection: SortDirectionType;
|
|
16
|
+
/**
|
|
17
|
+
* Function to change the sorting key(s) afterwards
|
|
18
|
+
* @param newKey the new sorting key(s)
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
setSortKey: (newKey: SortKey<T>) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Function to toggle the sorting between ascending and descending order
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
toggleDirection: () => void;
|
|
27
|
+
};
|
|
28
|
+
declare const useSorting: <T>(items: T[], initialKey: SortKey<T>, initialDirection?: SortDirectionType, enableNaturalSort?: boolean, isCaseSensitive?: boolean) => UseSortingResult<T>;
|
|
29
|
+
export default useSorting;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("react");
|
|
4
|
+
const SortUtils_1 = require("../utils/SortUtils");
|
|
5
|
+
const useSorting = (items, initialKey, initialDirection = SortUtils_1.SortDirection.ASCENDING, enableNaturalSort = true, isCaseSensitive = false) => {
|
|
6
|
+
const [sortKey, setSortKey] = (0, react_1.useState)(initialKey);
|
|
7
|
+
const [sortDirection, setSortDirection] = (0, react_1.useState)(initialDirection);
|
|
8
|
+
const sortedItems = (0, react_1.useMemo)(() => {
|
|
9
|
+
const sortByKey = (arr, key) => {
|
|
10
|
+
return enableNaturalSort
|
|
11
|
+
? (0, SortUtils_1.naturalSortByProperty)(arr, key, sortDirection, isCaseSensitive)
|
|
12
|
+
: arr.sort((a, b) => {
|
|
13
|
+
const aVal = a[key];
|
|
14
|
+
const bVal = b[key];
|
|
15
|
+
if (aVal < bVal)
|
|
16
|
+
return sortDirection === SortUtils_1.SortDirection.ASCENDING ? -1 : 1;
|
|
17
|
+
if (aVal > bVal)
|
|
18
|
+
return sortDirection === SortUtils_1.SortDirection.ASCENDING ? 1 : -1;
|
|
19
|
+
return 0;
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
if (Array.isArray(sortKey)) {
|
|
23
|
+
const [primaryKey, secondaryKey] = sortKey;
|
|
24
|
+
const primarySorted = sortByKey(items, primaryKey);
|
|
25
|
+
// Group items with the same primary key value
|
|
26
|
+
const groups = primarySorted.reduce((acc, item) => {
|
|
27
|
+
const key = String(item[primaryKey]);
|
|
28
|
+
if (!acc[key])
|
|
29
|
+
acc[key] = [];
|
|
30
|
+
acc[key].push(item);
|
|
31
|
+
return acc;
|
|
32
|
+
}, {});
|
|
33
|
+
// Sort each group by the secondary key and flatten the result
|
|
34
|
+
return Object.values(groups).flatMap(group => sortByKey(group, secondaryKey));
|
|
35
|
+
}
|
|
36
|
+
return sortByKey(items, sortKey);
|
|
37
|
+
}, [items, sortKey, sortDirection, enableNaturalSort, isCaseSensitive]);
|
|
38
|
+
const toggleDirection = () => {
|
|
39
|
+
setSortDirection(prev => prev === SortUtils_1.SortDirection.ASCENDING ? SortUtils_1.SortDirection.DESCENDING : SortUtils_1.SortDirection.ASCENDING);
|
|
40
|
+
};
|
|
41
|
+
return { sortedItems, sortKey, sortDirection, setSortKey, toggleDirection };
|
|
42
|
+
};
|
|
43
|
+
exports.default = useSorting;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './utils/storageUtils';
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"gray-light": "#D0D8DE",
|
|
11
11
|
"gray-lighter": "#E5EBF0",
|
|
12
12
|
"gray-lightest": "#f6f8f9",
|
|
13
|
-
"gray-decent": "#
|
|
13
|
+
"gray-decent": "#fcfcfd",
|
|
14
14
|
"brand-primary": "#30b4c0",
|
|
15
15
|
"brand-secondary": "#b23672",
|
|
16
16
|
"brand-primary-decent": "#f4fbfc",
|
|
@@ -31,13 +31,14 @@
|
|
|
31
31
|
"color-map-marker-text": "#ffffff",
|
|
32
32
|
"color-map-marker-active": "#ffffff",
|
|
33
33
|
"color-map-marker-asset": "#2a3740",
|
|
34
|
-
"color-map-marker-poi": "#
|
|
35
|
-
"color-map-marker-geofence": "#
|
|
34
|
+
"color-map-marker-poi": "#d5429f",
|
|
35
|
+
"color-map-marker-geofence": "#f9636e",
|
|
36
36
|
"color-map-marker-route": "#36afd7",
|
|
37
37
|
"color-map-marker-info": "#3f759b",
|
|
38
38
|
"color-map-marker-success": "#5cb85c",
|
|
39
39
|
"color-map-marker-warning": "#ff8e3c",
|
|
40
40
|
"color-map-marker-danger": "#e22837",
|
|
41
|
+
"color-map-marker-restrictions": "#8F68ED",
|
|
41
42
|
"color-rating-1": "#e22837",
|
|
42
43
|
"color-rating-2": "#ff8e3c",
|
|
43
44
|
"color-rating-3": "#f8c575",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './utils/urlFeatureToggles';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
var useSorting_1 = require("./hooks/useSorting");
|
|
6
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(useSorting_1).default; } });
|
|
7
|
+
tslib_1.__exportStar(require("./hooks/useSorting"), exports);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storage = void 0;
|
|
4
|
+
const localStorage = window.localStorage;
|
|
5
|
+
const STORAGE_PREFIX = '';
|
|
6
|
+
const save = (key, value, prefix = STORAGE_PREFIX) => {
|
|
7
|
+
try {
|
|
8
|
+
localStorage.setItem(`${prefix}${key}`, JSON.stringify(value));
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
catch (_) {
|
|
12
|
+
// Intentionally left blank
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const removeItem = (key, prefix = STORAGE_PREFIX) => {
|
|
16
|
+
try {
|
|
17
|
+
localStorage.removeItem(`${prefix}${key}`);
|
|
18
|
+
}
|
|
19
|
+
catch (_) {
|
|
20
|
+
// Intentionally left blank
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const load = (key, prefix = STORAGE_PREFIX) => {
|
|
24
|
+
try {
|
|
25
|
+
const item = localStorage.getItem(`${prefix}${key}`);
|
|
26
|
+
return item && JSON.parse(item);
|
|
27
|
+
}
|
|
28
|
+
catch (_) {
|
|
29
|
+
// Intentionally left blank
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.storage = { save, load, removeItem };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="lodash" />
|
|
2
|
+
export declare const DEFAULT_PREFIX = "featureToggle.";
|
|
3
|
+
export type ToggleType = string | boolean | number;
|
|
4
|
+
export declare const cleanupOldToggles: (oldToggles: string[], prefix: string) => void;
|
|
5
|
+
export declare const asBoolean: (urlParamName: string) => (prefix: string) => ToggleType | undefined;
|
|
6
|
+
export declare const asString: (urlParamName: string) => (prefix: string) => ToggleType | undefined;
|
|
7
|
+
export declare const asNumber: (urlParamName: string) => (prefix: string) => ToggleType | undefined;
|
|
8
|
+
export declare const detectFeatureToggles: (toggleDefinitions: {
|
|
9
|
+
[key: string]: (paramName: string) => ToggleType | undefined;
|
|
10
|
+
}, oldToggles?: string[], prefix?: string) => import("lodash").Dictionary<ToggleType | undefined>;
|