@rio-cloud/rio-uikit 0.16.1 → 0.16.2-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/.DS_Store +0 -0
  2. package/ColorScheme.d.ts +4 -0
  3. package/ColorScheme.js +2 -0
  4. package/Colors.js +1 -1
  5. package/TruckLayer.js +1 -1
  6. package/components/.DS_Store +0 -0
  7. package/components/applicationHeader/AppMenu.js +6 -3
  8. package/components/applicationHeader/AppMenuDropdown.js +6 -2
  9. package/components/applicationHeader/ApplicationHeader.js +10 -5
  10. package/components/applicationHeader/MobileAppMenu.js +8 -4
  11. package/components/assetTree/Tree.js +1 -1
  12. package/components/autosuggest/AutoSuggest.js +2 -2
  13. package/components/charts/chartHelper.js +1 -1
  14. package/components/clearableInput/ClearableInput.js +2 -1
  15. package/components/datepicker/DatePicker.js +8 -4
  16. package/components/filepicker/FilePicker.js +5 -4
  17. package/components/map/.DS_Store +0 -0
  18. package/components/map/assets/icon_map_settings_maptype_night_active.svg +12 -0
  19. package/components/map/assets/icon_map_settings_maptype_night_inactive.svg +12 -0
  20. package/components/map/components/.DS_Store +0 -0
  21. package/components/map/components/Map.js +167 -140
  22. package/components/map/components/constants.js +1 -0
  23. package/components/map/components/features/Route.js +6 -7
  24. package/components/map/components/features/basics/Polyline.js +10 -5
  25. package/components/map/components/features/layers/RoadRestrictionLayer.js +27 -0
  26. package/components/map/components/features/layers/TrafficLayer.js +19 -5
  27. package/components/map/components/features/layers/baselayers/DefaultRasterLayer.js +19 -0
  28. package/components/map/components/features/layers/baselayers/DefaultVectorLayer.js +15 -0
  29. package/components/map/components/features/layers/baselayers/FleetStyleLayer.js +13 -17
  30. package/components/map/components/features/layers/baselayers/NightLayer.js +17 -0
  31. package/components/map/components/features/layers/baselayers/SatelliteLayer.js +13 -17
  32. package/components/map/components/features/layers/baselayers/TerrainLayer.js +13 -17
  33. package/components/map/components/features/layers/baselayers/useBaseLayer.js +53 -0
  34. package/components/map/components/features/settings/builtinSettings/MapClusterSettings.js +1 -1
  35. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +9 -3
  36. package/components/map/components/mapUtils.js +44 -8
  37. package/components/map/icons/MapIcon.js +64 -0
  38. package/components/mapMarker/ClusterMapMarker.js +2 -2
  39. package/components/mapMarker/SingleMapMarker.js +8 -2
  40. package/components/numberControl/NumberControl.js +34 -11
  41. package/components/numberInput/NumberInput.js +52 -50
  42. package/components/sidebars/Sidebar.js +2 -2
  43. package/hooks/useDarkMode.js +30 -0
  44. package/hooks/useElementSize.js +1 -1
  45. package/hooks/useFullscreen.js +37 -41
  46. package/hooks/useHereMap.ts +23 -0
  47. package/hooks/useMutationObserver.js +38 -0
  48. package/hooks/useScripts.ts +52 -0
  49. package/hooks/useScrollPosition.js +72 -0
  50. package/index.js +6 -1
  51. package/lib/.DS_Store +0 -0
  52. package/lib/es/.DS_Store +0 -0
  53. package/lib/es/ColorScheme.d.ts +4 -0
  54. package/lib/es/ColorScheme.js +18 -0
  55. package/lib/es/Colors.js +1 -1
  56. package/lib/es/TruckLayer.js +2 -2
  57. package/lib/es/components/.DS_Store +0 -0
  58. package/lib/es/components/applicationHeader/AppMenu.js +6 -3
  59. package/lib/es/components/applicationHeader/AppMenuDropdown.js +6 -2
  60. package/lib/es/components/applicationHeader/ApplicationHeader.js +10 -5
  61. package/lib/es/components/applicationHeader/MobileAppMenu.js +8 -4
  62. package/lib/es/components/assetTree/Tree.js +1 -1
  63. package/lib/es/components/autosuggest/AutoSuggest.js +2 -2
  64. package/lib/es/components/charts/chartHelper.js +1 -1
  65. package/lib/es/components/clearableInput/ClearableInput.js +2 -1
  66. package/lib/es/components/datepicker/DatePicker.js +7 -3
  67. package/lib/es/components/filepicker/FilePicker.js +5 -4
  68. package/lib/es/components/map/assets/icon_map_settings_maptype_night_active.svg +12 -0
  69. package/lib/es/components/map/assets/icon_map_settings_maptype_night_inactive.svg +12 -0
  70. package/lib/es/components/map/components/Map.js +165 -135
  71. package/lib/es/components/map/components/constants.js +3 -1
  72. package/lib/es/components/map/components/features/Route.js +6 -7
  73. package/lib/es/components/map/components/features/basics/Polyline.js +10 -7
  74. package/lib/es/components/map/components/features/layers/RoadRestrictionLayer.js +35 -0
  75. package/lib/es/components/map/components/features/layers/TrafficLayer.js +18 -5
  76. package/lib/es/components/map/components/features/layers/baselayers/DefaultRasterLayer.js +25 -0
  77. package/lib/es/components/map/components/features/layers/baselayers/DefaultVectorLayer.js +22 -0
  78. package/lib/es/components/map/components/features/layers/baselayers/FleetStyleLayer.js +12 -17
  79. package/lib/es/components/map/components/features/layers/baselayers/NightLayer.js +23 -0
  80. package/lib/es/components/map/components/features/layers/baselayers/SatelliteLayer.js +12 -17
  81. package/lib/es/components/map/components/features/layers/baselayers/TerrainLayer.js +12 -17
  82. package/lib/es/components/map/components/features/layers/baselayers/useBaseLayer.js +61 -0
  83. package/lib/es/components/map/components/features/settings/builtinSettings/MapClusterSettings.js +1 -1
  84. package/lib/es/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +7 -1
  85. package/lib/es/components/map/components/mapUtils.js +44 -10
  86. package/lib/es/components/map/icons/MapIcon.js +67 -1
  87. package/lib/es/components/mapMarker/ClusterMapMarker.js +2 -2
  88. package/lib/es/components/mapMarker/SingleMapMarker.js +8 -2
  89. package/lib/es/components/numberControl/NumberControl.js +33 -10
  90. package/lib/es/components/numberInput/NumberInput.js +51 -50
  91. package/lib/es/components/sidebars/Sidebar.js +2 -2
  92. package/lib/es/hooks/useDarkMode.js +38 -0
  93. package/lib/es/hooks/useElementSize.js +1 -1
  94. package/lib/es/hooks/useFullscreen.js +37 -41
  95. package/lib/es/hooks/useHereMap.ts +23 -0
  96. package/lib/es/hooks/useMutationObserver.js +46 -0
  97. package/lib/es/hooks/useScripts.ts +52 -0
  98. package/lib/es/hooks/useScrollPosition.js +80 -0
  99. package/lib/es/index.js +40 -1
  100. package/lib/es/mapIndex.js +2 -2
  101. package/lib/es/styles/.DS_Store +0 -0
  102. package/lib/es/styles/components/Activity.less +9 -10
  103. package/lib/es/styles/components/ApplicationHeader.less +24 -29
  104. package/lib/es/styles/components/ApplicationLayout.less +7 -7
  105. package/lib/es/styles/components/AssetTree.less +30 -28
  106. package/lib/es/styles/components/AutoSuggest.less +2 -2
  107. package/lib/es/styles/components/BottomSheet.less +1 -2
  108. package/lib/es/styles/components/Carousel.less +13 -9
  109. package/lib/es/styles/components/Checkbox.less +15 -16
  110. package/lib/es/styles/components/ClearableInput.less +3 -3
  111. package/lib/es/styles/components/Counter.less +12 -12
  112. package/lib/es/styles/components/DataTabs.less +2 -2
  113. package/lib/es/styles/components/DatePicker.less +27 -27
  114. package/lib/es/styles/components/Dialog.less +15 -11
  115. package/lib/es/styles/components/Dropdown.less +11 -11
  116. package/lib/es/styles/components/Expander.less +7 -7
  117. package/lib/es/styles/components/ListMenu.less +8 -8
  118. package/lib/es/styles/components/MapHere.less +3 -2
  119. package/lib/es/styles/components/MapMarker.less +16 -17
  120. package/lib/es/styles/components/MapSettings.less +5 -5
  121. package/lib/es/styles/components/NoData.less +1 -1
  122. package/lib/es/styles/components/Notification.less +12 -12
  123. package/lib/es/styles/components/RadioButton.less +11 -12
  124. package/lib/es/styles/components/Resizer.less +1 -1
  125. package/lib/es/styles/components/Select.less +16 -26
  126. package/lib/es/styles/components/Sidebar.less +29 -21
  127. package/lib/es/styles/components/Slider.less +18 -18
  128. package/lib/es/styles/components/Spinner.less +6 -6
  129. package/lib/es/styles/components/StatsWidget.less +5 -5
  130. package/lib/es/styles/components/SteppedProgressBar.less +32 -29
  131. package/lib/es/styles/components/SupportMarker.less +1 -1
  132. package/lib/es/styles/components/Switch.less +8 -8
  133. package/lib/es/styles/components/TableSettingsDialog.less +7 -7
  134. package/lib/es/styles/components/TableToolbar.less +1 -1
  135. package/lib/es/styles/components/Tag.less +10 -10
  136. package/lib/es/styles/components/Timeline.less +3 -3
  137. package/lib/es/styles/components/Tooltip.less +10 -10
  138. package/lib/es/styles/design/badges.less +10 -10
  139. package/lib/es/styles/design/border.less +1 -1
  140. package/lib/es/styles/design/breadcrumbs.less +2 -2
  141. package/lib/es/styles/design/button-groups.less +25 -1
  142. package/lib/es/styles/design/buttons.less +53 -109
  143. package/lib/es/styles/design/callouts.less +3 -3
  144. package/lib/es/styles/design/code.less +4 -6
  145. package/lib/es/styles/design/colors.less +20 -20
  146. package/lib/es/styles/design/form-input-groups.less +4 -4
  147. package/lib/es/styles/design/form-inputs.less +33 -31
  148. package/lib/es/styles/design/images.less +2 -2
  149. package/lib/es/styles/design/labels.less +11 -11
  150. package/lib/es/styles/design/list-group.less +14 -12
  151. package/lib/es/styles/design/navs.less +27 -27
  152. package/lib/es/styles/design/normalize.less +0 -9
  153. package/lib/es/styles/design/pagination.less +10 -10
  154. package/lib/es/styles/design/panels.less +10 -10
  155. package/lib/es/styles/design/popovers.less +8 -8
  156. package/lib/es/styles/design/progress-bars.less +8 -8
  157. package/lib/es/styles/design/shadows.less +14 -7
  158. package/lib/es/styles/design/tables.less +68 -106
  159. package/lib/es/styles/design/text.less +5 -19
  160. package/lib/es/styles/design/theme.less +10 -10
  161. package/lib/es/styles/design/thumbnails.less +2 -2
  162. package/lib/es/styles/design/type.less +4 -4
  163. package/lib/es/styles/design/wells.less +1 -1
  164. package/lib/es/styles/mapping/color-map.less +76 -75
  165. package/lib/es/styles/mixins/_imports.less +14 -0
  166. package/lib/es/styles/mixins/buttons.less +24 -56
  167. package/lib/es/styles/mixins/forms.less +19 -55
  168. package/lib/es/styles/mixins/hsl.less +19 -0
  169. package/lib/es/styles/mixins/panels.less +2 -2
  170. package/lib/es/styles/print/print.less +7 -7
  171. package/lib/es/styles/rio-uikit-core.less +2 -2
  172. package/lib/es/styles/rio-uikit-print-utilities.less +2 -2
  173. package/lib/es/styles/rio-uikit-responsive-utilities.less +2 -2
  174. package/lib/es/styles/variables/_index.less +196 -0
  175. package/lib/es/styles/variables/colors.json +67 -0
  176. package/lib/es/styles/variables/concated_css_variables.less +66 -0
  177. package/lib/es/styles/variables/dark_colors.less +88 -0
  178. package/lib/es/styles/variables/dark_css_variables.less +28 -0
  179. package/lib/es/styles/variables/dark_css_variables_map.less +96 -0
  180. package/lib/es/styles/variables/light_colors.less +92 -0
  181. package/lib/es/styles/variables/light_css_variables.less +17 -0
  182. package/lib/es/styles/variables/light_css_variables_map.less +100 -0
  183. package/lib/es/styles/variables/screens.less +7 -0
  184. package/lib/es/styles/variables/text.less +23 -0
  185. package/lib/es/themes/.DS_Store +0 -0
  186. package/lib/es/themes/BuyButton/styles/rio-buyButton.less +13 -8
  187. package/lib/es/themes/MAN/styles/man-uikit.less +3 -0
  188. package/lib/es/themes/SCANIA/styles/scania-uikit.less +3 -0
  189. package/lib/es/themes/Volkswagen/styles/vw-uikit.less +21 -30
  190. package/lib/es/themes/Website/styles/rio-website.less +154 -124
  191. package/lib/es/themes/Xmas/styles/rio-xmas.less +59 -29
  192. package/lib/es/types.ts +27 -5
  193. package/lib/es/useDarkMode.d.ts +4 -0
  194. package/lib/es/useDarkMode.js +13 -0
  195. package/lib/es/useMutationObserver.d.ts +4 -0
  196. package/lib/es/useMutationObserver.js +13 -0
  197. package/lib/es/useScrollPosition.d.ts +4 -0
  198. package/lib/es/useScrollPosition.js +13 -0
  199. package/lib/es/utils/colorScheme.js +69 -0
  200. package/lib/es/utils/init.js +34 -34
  201. package/lib/es/version.json +1 -1
  202. package/mapIndex.js +1 -1
  203. package/package.json +34 -33
  204. package/styles/.DS_Store +0 -0
  205. package/styles/components/Activity.less +9 -10
  206. package/styles/components/ApplicationHeader.less +24 -29
  207. package/styles/components/ApplicationLayout.less +7 -7
  208. package/styles/components/AssetTree.less +30 -28
  209. package/styles/components/AutoSuggest.less +2 -2
  210. package/styles/components/BottomSheet.less +1 -2
  211. package/styles/components/Carousel.less +13 -9
  212. package/styles/components/Checkbox.less +15 -16
  213. package/styles/components/ClearableInput.less +3 -3
  214. package/styles/components/Counter.less +12 -12
  215. package/styles/components/DataTabs.less +2 -2
  216. package/styles/components/DatePicker.less +27 -27
  217. package/styles/components/Dialog.less +15 -11
  218. package/styles/components/Dropdown.less +11 -11
  219. package/styles/components/Expander.less +7 -7
  220. package/styles/components/ListMenu.less +8 -8
  221. package/styles/components/MapHere.less +3 -2
  222. package/styles/components/MapMarker.less +16 -17
  223. package/styles/components/MapSettings.less +5 -5
  224. package/styles/components/NoData.less +1 -1
  225. package/styles/components/Notification.less +12 -12
  226. package/styles/components/RadioButton.less +11 -12
  227. package/styles/components/Resizer.less +1 -1
  228. package/styles/components/Select.less +16 -26
  229. package/styles/components/Sidebar.less +29 -21
  230. package/styles/components/Slider.less +18 -18
  231. package/styles/components/Spinner.less +6 -6
  232. package/styles/components/StatsWidget.less +5 -5
  233. package/styles/components/SteppedProgressBar.less +32 -29
  234. package/styles/components/SupportMarker.less +1 -1
  235. package/styles/components/Switch.less +8 -8
  236. package/styles/components/TableSettingsDialog.less +7 -7
  237. package/styles/components/TableToolbar.less +1 -1
  238. package/styles/components/Tag.less +10 -10
  239. package/styles/components/Timeline.less +3 -3
  240. package/styles/components/Tooltip.less +10 -10
  241. package/styles/design/badges.less +10 -10
  242. package/styles/design/border.less +1 -1
  243. package/styles/design/breadcrumbs.less +2 -2
  244. package/styles/design/button-groups.less +25 -1
  245. package/styles/design/buttons.less +53 -109
  246. package/styles/design/callouts.less +3 -3
  247. package/styles/design/code.less +4 -6
  248. package/styles/design/colors.less +20 -20
  249. package/styles/design/form-input-groups.less +4 -4
  250. package/styles/design/form-inputs.less +33 -31
  251. package/styles/design/images.less +2 -2
  252. package/styles/design/labels.less +11 -11
  253. package/styles/design/list-group.less +14 -12
  254. package/styles/design/navs.less +27 -27
  255. package/styles/design/normalize.less +0 -9
  256. package/styles/design/pagination.less +10 -10
  257. package/styles/design/panels.less +10 -10
  258. package/styles/design/popovers.less +8 -8
  259. package/styles/design/progress-bars.less +8 -8
  260. package/styles/design/shadows.less +14 -7
  261. package/styles/design/tables.less +68 -106
  262. package/styles/design/text.less +5 -19
  263. package/styles/design/theme.less +10 -10
  264. package/styles/design/thumbnails.less +2 -2
  265. package/styles/design/type.less +4 -4
  266. package/styles/design/wells.less +1 -1
  267. package/styles/mapping/color-map.less +76 -75
  268. package/styles/mixins/_imports.less +14 -0
  269. package/styles/mixins/buttons.less +24 -56
  270. package/styles/mixins/forms.less +19 -55
  271. package/styles/mixins/hsl.less +19 -0
  272. package/styles/mixins/panels.less +2 -2
  273. package/styles/print/print.less +7 -7
  274. package/styles/rio-uikit-core.less +2 -2
  275. package/styles/rio-uikit-print-utilities.less +2 -2
  276. package/styles/rio-uikit-responsive-utilities.less +2 -2
  277. package/styles/variables/_index.less +196 -0
  278. package/styles/variables/colors.json +67 -0
  279. package/styles/variables/concated_css_variables.less +66 -0
  280. package/styles/variables/dark_colors.less +88 -0
  281. package/styles/variables/dark_css_variables.less +28 -0
  282. package/styles/variables/dark_css_variables_map.less +96 -0
  283. package/styles/variables/light_colors.less +92 -0
  284. package/styles/variables/light_css_variables.less +17 -0
  285. package/styles/variables/light_css_variables_map.less +100 -0
  286. package/styles/variables/screens.less +7 -0
  287. package/styles/variables/text.less +23 -0
  288. package/themes/.DS_Store +0 -0
  289. package/themes/BuyButton/styles/rio-buyButton.less +13 -8
  290. package/themes/MAN/styles/man-uikit.less +3 -0
  291. package/themes/SCANIA/styles/scania-uikit.less +3 -0
  292. package/themes/Volkswagen/.DS_Store +0 -0
  293. package/themes/Volkswagen/styles/vw-uikit.less +21 -30
  294. package/themes/Website/.DS_Store +0 -0
  295. package/themes/Website/styles/rio-website.less +154 -124
  296. package/themes/Xmas/styles/rio-xmas.less +59 -29
  297. package/types.ts +27 -5
  298. package/useDarkMode.d.ts +4 -0
  299. package/useDarkMode.js +2 -0
  300. package/useMutationObserver.d.ts +4 -0
  301. package/useMutationObserver.js +2 -0
  302. package/useScrollPosition.d.ts +4 -0
  303. package/useScrollPosition.js +2 -0
  304. package/utils/colorScheme.js +55 -0
  305. package/utils/init.js +34 -34
  306. package/version.json +1 -1
@@ -22,23 +22,47 @@ var _constants = require("./constants");
22
22
  var _ZoomButtons = _interopRequireDefault(require("./features/settings/ZoomButtons"));
23
23
  var _IncidentsLayer = _interopRequireDefault(require("./features/layers/IncidentsLayer"));
24
24
  var _TrafficLayer = _interopRequireDefault(require("./features/layers/TrafficLayer"));
25
- var _TruckLayer = _interopRequireDefault(require("./features/layers/TruckLayer"));
26
- var _DefaultLayer = _interopRequireDefault(require("./features/layers/baselayers/DefaultLayer"));
25
+ var _RoadRestrictionLayer = _interopRequireDefault(require("./features/layers/RoadRestrictionLayer"));
26
+ var _DefaultVectorLayer = _interopRequireDefault(require("./features/layers/baselayers/DefaultVectorLayer"));
27
+ var _DefaultRasterLayer = _interopRequireDefault(require("./features/layers/baselayers/DefaultRasterLayer"));
27
28
  var _FleetStyleLayer = _interopRequireDefault(require("./features/layers/baselayers/FleetStyleLayer"));
28
29
  var _SatelliteLayer = _interopRequireDefault(require("./features/layers/baselayers/SatelliteLayer"));
29
30
  var _TerrainLayer = _interopRequireDefault(require("./features/layers/baselayers/TerrainLayer"));
31
+ var _NightLayer = _interopRequireDefault(require("./features/layers/baselayers/NightLayer"));
32
+ var _useBaseLayer = require("./features/layers/baselayers/useBaseLayer");
30
33
  var _eventHandling = require("../utils/eventHandling");
31
34
  var _context = require("./context");
32
35
  var _mapUtils = require("./mapUtils");
36
+ var _useDarkMode = _interopRequireDefault(require("../../../hooks/useDarkMode"));
33
37
  var _PropTypes$shape;
34
38
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
39
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
36
40
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
41
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
38
- var NO_CREDENTIALS_ERROR_MESSAGE = 'Cannot instantiate PlainMap. Missing credentials property.';
42
+ var NO_CREDENTIALS_ERROR_MESSAGE = 'Cannot instantiate the Map. Missing credentials property.';
39
43
  exports.NO_CREDENTIALS_ERROR_MESSAGE = NO_CREDENTIALS_ERROR_MESSAGE;
40
44
  var RESIZE_THROTTLE = 1100; // 100 more than the ApplicationLayout handler
41
45
 
46
+ // Note: "apikey" used by Here v3.1 whereas "app_id" and "app_code" are used by the 3.0 API
47
+ // The Here API 3.1 works a little different and by default uses WebGL rendering
48
+ // See Migration guide: https://developer.here.com/documentation/maps/3.1.37.0/dev_guide/topics/migration.html
49
+ var getPlatform = function getPlatform(credentials) {
50
+ return new H.service.Platform({
51
+ apikey: credentials.apikey || credentials.api_key,
52
+ app_id: credentials.app_id,
53
+ app_code: credentials.app_code
54
+ });
55
+ };
56
+ var getHereUi = function getHereUi(hereMap, defaultLayers, showScaleBar) {
57
+ var hereUi = H.ui.UI.createDefault(hereMap, defaultLayers);
58
+ if (hereUi) {
59
+ hereUi.getControl('scalebar').setVisibility(showScaleBar);
60
+ hereUi.getControl('scalebar').setAlignment('bottom-left');
61
+ hereUi.getControl('mapsettings').setVisibility(false);
62
+ hereUi.removeControl('zoom');
63
+ }
64
+ return hereUi;
65
+ };
42
66
  var getBounds = function getBounds(boundingBox) {
43
67
  var top = boundingBox.top,
44
68
  left = boundingBox.left,
@@ -46,41 +70,47 @@ var getBounds = function getBounds(boundingBox) {
46
70
  right = boundingBox.right;
47
71
  return new H.geo.Rect(top, left, bottom, right);
48
72
  };
49
- var getLayer = function getLayer(api, layer, language) {
73
+ var getLayer = function getLayer(api, layer, language, useWebGL) {
50
74
  switch (layer) {
51
75
  case _constants.MAP_LAYER_TRAFFIC:
52
76
  return /*#__PURE__*/_react["default"].createElement(_TrafficLayer["default"], {
53
77
  api: api,
54
78
  language: language,
55
79
  key: layer,
56
- layerIndex: 1
80
+ useWebGL: useWebGL
57
81
  });
58
82
  case _constants.MAP_LAYER_INCIDENTS:
59
83
  return /*#__PURE__*/_react["default"].createElement(_IncidentsLayer["default"], {
60
84
  api: api,
61
85
  language: language,
62
- key: layer,
63
- layerIndex: 2
86
+ key: layer
64
87
  });
65
88
  case _constants.MAP_LAYER_ROAD_RESTRICTIONS:
66
- return /*#__PURE__*/_react["default"].createElement(_TruckLayer["default"], {
89
+ return /*#__PURE__*/_react["default"].createElement(_RoadRestrictionLayer["default"], {
67
90
  api: api,
68
91
  language: language,
69
92
  key: layer,
70
- layerIndex: 3
93
+ useWebGL: useWebGL
71
94
  });
72
95
  default:
73
96
  null;
74
97
  }
75
98
  };
76
- var getBaseLayer = function getBaseLayer(api, baseLayer, language) {
99
+ var getBaseLayer = function getBaseLayer(api, baseLayer, language, useWebGL, darkMode) {
77
100
  switch (baseLayer) {
78
101
  case _constants.MAP_TYPE_DEFAULT:
79
- return /*#__PURE__*/_react["default"].createElement(_DefaultLayer["default"], {
80
- api: api,
81
- language: language,
82
- key: baseLayer
83
- });
102
+ {
103
+ return !darkMode && useWebGL ? /*#__PURE__*/_react["default"].createElement(_DefaultVectorLayer["default"], {
104
+ api: api,
105
+ language: language,
106
+ key: baseLayer
107
+ }) : /*#__PURE__*/_react["default"].createElement(_DefaultRasterLayer["default"], {
108
+ api: api,
109
+ language: language,
110
+ key: baseLayer,
111
+ darkMode: darkMode
112
+ });
113
+ }
84
114
  case _constants.MAP_TYPE_FLEET_STYLE:
85
115
  return /*#__PURE__*/_react["default"].createElement(_FleetStyleLayer["default"], {
86
116
  api: api,
@@ -99,11 +129,17 @@ var getBaseLayer = function getBaseLayer(api, baseLayer, language) {
99
129
  language: language,
100
130
  key: baseLayer
101
131
  });
132
+ case _constants.MAP_TYPE_NIGHT:
133
+ return /*#__PURE__*/_react["default"].createElement(_NightLayer["default"], {
134
+ api: api,
135
+ language: language,
136
+ key: baseLayer
137
+ });
102
138
  default:
103
139
  null;
104
140
  }
105
141
  };
106
- var enhanceChildren = function enhanceChildren(children, api) {
142
+ var enrichChildrenWithApi = function enrichChildrenWithApi(children, api) {
107
143
  return _react["default"].Children.map(children, function (child) {
108
144
  if (child) {
109
145
  return /*#__PURE__*/_react["default"].cloneElement(child, {
@@ -147,7 +183,9 @@ var Map = function Map(props) {
147
183
  onZoomIn = props.onZoomIn,
148
184
  onZoomOut = props.onZoomOut,
149
185
  mapSettingsTooltip = props.mapSettingsTooltip,
150
- mapSettings = props.mapSettings;
186
+ mapSettings = props.mapSettings,
187
+ useWebGL = props.useWebGL,
188
+ darkMode = props.darkMode;
151
189
  var mapRef = (0, _react.useRef)(null);
152
190
  var _useState = (0, _react.useState)(false),
153
191
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -155,107 +193,93 @@ var Map = function Map(props) {
155
193
  setMapInitialized = _useState2[1];
156
194
  var _useState3 = (0, _react.useState)(),
157
195
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
158
- herePlatform = _useState4[0],
159
- setHerePlatform = _useState4[1];
160
- var _useState5 = (0, _react.useState)(),
196
+ api = _useState4[0],
197
+ setApi = _useState4[1];
198
+ var _useState5 = (0, _react.useState)(mapType),
161
199
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
162
- api = _useState6[0],
163
- setApi = _useState6[1];
164
- var _useState7 = (0, _react.useState)(mapType),
200
+ baseLayer = _useState6[0],
201
+ setBaseLayer = _useState6[1];
202
+ var _useState7 = (0, _react.useState)(mapLayer),
165
203
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
166
- baseLayer = _useState8[0],
167
- setBaseLayer = _useState8[1];
168
- var _useState9 = (0, _react.useState)(mapLayer),
204
+ activeLayers = _useState8[0],
205
+ setActiveLayers = _useState8[1];
206
+ var _useState9 = (0, _react.useState)(externalShowCluster),
169
207
  _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
170
- activeLayers = _useState10[0],
171
- setActiveLayers = _useState10[1];
172
- var _useState11 = (0, _react.useState)(externalShowCluster),
173
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
174
- showCluster = _useState12[0],
175
- setShowCluster = _useState12[1];
208
+ showCluster = _useState10[0],
209
+ setShowCluster = _useState10[1];
210
+ var isDarkMode = (0, _useDarkMode["default"])();
176
211
  (0, _react.useEffect)(function () {
177
- if (!herePlatform) {
178
- var platform = new H.service.Platform({
179
- // Note: "apikey" used by Here v3.1 whereas "app_id" and "app_code" are used by the 3.0 API
180
- apikey: credentials.apikey || credentials.api_key,
181
- app_id: credentials.app_id,
182
- app_code: credentials.app_code
183
- });
184
- setHerePlatform(platform);
185
- var defaultLayers = platform.createDefaultLayers({
186
- tileSize: _constants.TILE_SIZE,
187
- ppi: window.devicePixelRatio > 1 ? _constants.HIGH_RES_PPI : undefined,
188
- lg: language,
189
- lg2: 'en'
190
- });
191
- var bounds = boundingBox && getBounds(boundingBox);
192
- var newHereMap = new H.Map(mapRef.current, defaultLayers.raster.normal.map, {
193
- zoom: zoom,
194
- center: center,
195
- bounds: bounds,
196
- // Removed window.devicePixelRatio || 1 since it was zooming out when devicePixelRatio > 1
197
- pixelRatio: 1,
198
- // need to be set for better performence of legacy map
199
- engineType: H.map.render.RenderEngine.EngineType.P2D
200
- });
212
+ // Toggle night map only if current map type is default
213
+ if (isDarkMode && baseLayer === _constants.MAP_TYPE_DEFAULT) {
214
+ setBaseLayer(_constants.MAP_TYPE_NIGHT);
215
+ onMapTypeChange(_constants.MAP_TYPE_NIGHT);
216
+ }
217
+ // Toggle back to default map only if current map type is night
218
+ else if (!isDarkMode && baseLayer === _constants.MAP_TYPE_NIGHT) {
219
+ setBaseLayer(_constants.MAP_TYPE_DEFAULT);
220
+ onMapTypeChange(_constants.MAP_TYPE_DEFAULT);
221
+ }
222
+ }, [isDarkMode]);
223
+ var devicePixelRatio = window.devicePixelRatio || 1;
224
+ (0, _react.useEffect)(function () {
225
+ console.debug('initialize here map');
226
+ var bounds = boundingBox && getBounds(boundingBox);
227
+ var platform = getPlatform(credentials);
228
+ var defaultLayers = platform.createDefaultLayers();
229
+ var defaultLayer = (0, _useBaseLayer.getDefaultBaseLayer)(defaultLayers, baseLayer, useWebGL);
201
230
 
202
- // Add a resize listener to make sure that the map occupies the whole container
203
- var resizeListener = (0, _addEventListener["default"])(window, 'resize', (0, _throttle["default"])(RESIZE_THROTTLE, function () {
204
- return newHereMap.getViewPort().resize();
205
- }));
206
- var orientationChangeListener = (0, _addEventListener["default"])(window, 'orientationchange', (0, _throttle["default"])(RESIZE_THROTTLE, function () {
207
- return newHereMap.getViewPort().resize();
208
- }));
209
- setMapInitialized(true);
210
- var newHereMapEvents = !disableMapEvents && new H.mapevents.MapEvents(newHereMap);
211
- var newHereBehavior = !disableMapEvents && !disableBehavior && new H.mapevents.Behavior(newHereMapEvents);
212
- if (newHereBehavior) {
213
- newHereBehavior.disable(H.mapevents.Behavior.Feature.FRACTIONAL_ZOOM);
214
- }
215
- (0, _eventHandling.addEventListenerMap)(newHereMap, eventListenerMap, newHereMap);
216
- var hereUi = H.ui.UI.createDefault(newHereMap, defaultLayers);
217
- if (hereUi) {
218
- hereUi.getControl('scalebar').setVisibility(showScaleBar);
219
- hereUi.getControl('scalebar').setAlignment('bottom-left');
220
- hereUi.getControl('mapsettings').setVisibility(false);
221
- hereUi.removeControl('zoom');
222
- }
223
- var newSettings = {
231
+ // Instantiate (and display) a map object:
232
+ var mapConfig = {
233
+ zoom: zoom,
234
+ center: center,
235
+ bounds: bounds,
236
+ pixelRatio: devicePixelRatio
237
+ };
238
+ var hereMap = new H.Map(mapRef.current, defaultLayer, mapConfig);
239
+
240
+ // Add a resize listener to make sure that the map occupies the whole container
241
+ var resizeListener = (0, _addEventListener["default"])(window, 'resize', (0, _throttle["default"])(RESIZE_THROTTLE, function () {
242
+ return hereMap.getViewPort().resize();
243
+ }));
244
+ var orientationChangeListener = (0, _addEventListener["default"])(window, 'orientationchange', (0, _throttle["default"])(RESIZE_THROTTLE, function () {
245
+ return hereMap.getViewPort().resize();
246
+ }));
247
+ setMapInitialized(true);
248
+ var hereMapEvents = !disableMapEvents && new H.mapevents.MapEvents(hereMap);
249
+ var hereBehavior = !(disableMapEvents || disableBehavior) && new H.mapevents.Behavior(hereMapEvents);
250
+ (0, _eventHandling.addEventListenerMap)(hereMap, eventListenerMap, hereMap);
251
+ setApi({
252
+ credentials: credentials,
253
+ defaultLayers: defaultLayers,
254
+ group: hereMap,
255
+ map: hereMap,
256
+ mapEvents: hereMapEvents,
257
+ behavior: hereBehavior,
258
+ platform: platform,
259
+ ui: getHereUi(hereMap, defaultLayers, showScaleBar),
260
+ utils: (0, _mapUtils.createUtils)(hereMap),
261
+ settings: {
224
262
  baseLayer: baseLayer,
225
263
  mapLayer: activeLayers,
226
264
  showCluster: showCluster
227
- };
228
- setApi({
229
- credentials: credentials,
230
- defaultLayers: defaultLayers,
231
- group: newHereMap,
232
- map: newHereMap,
233
- mapEvents: newHereMapEvents,
234
- behavior: newHereBehavior,
235
- platform: platform,
236
- ui: hereUi,
237
- settings: newSettings,
238
- utils: (0, _mapUtils.createUtils)(newHereMap)
239
- });
240
- return function () {
241
- if (newHereMap) {
242
- (0, _eventHandling.removeEventListenerMap)(newHereMap);
243
- if (newHereMapEvents) {
244
- newHereMapEvents.dispose();
245
- }
246
- if (resizeListener) {
247
- resizeListener.remove();
248
- }
249
- if (orientationChangeListener) {
250
- orientationChangeListener.remove();
251
- }
252
- //console.log('Destroy map', newHereMap);
253
- newHereMap.dispose();
254
- // setTimeout(() => newHereMap.dispose(), 0);
265
+ }
266
+ });
267
+ return function () {
268
+ if (hereMap) {
269
+ (0, _eventHandling.removeEventListenerMap)(hereMap);
270
+ if (hereMapEvents) {
271
+ hereMapEvents.dispose();
255
272
  }
256
- };
257
- }
258
- }, []);
273
+ if (resizeListener) {
274
+ resizeListener.remove();
275
+ }
276
+ if (orientationChangeListener) {
277
+ orientationChangeListener.remove();
278
+ }
279
+ hereMap.dispose();
280
+ }
281
+ };
282
+ }, [useWebGL]);
259
283
 
260
284
  // Update BoundingBox from outside
261
285
  (0, _react.useEffect)(function () {
@@ -270,17 +294,25 @@ var Map = function Map(props) {
270
294
  }
271
295
  }, [boundingBox]);
272
296
 
273
- // Update Zoom from outside
297
+ // Update Zoom from outside if value is different
274
298
  (0, _react.useEffect)(function () {
275
- if (api && zoom) {
276
- api.map.setZoom(zoom, zoomAnimation);
299
+ if (!api) {
300
+ return;
301
+ }
302
+ var currentMapZoom = api.utils.getZoom();
303
+ if (zoom && currentMapZoom !== zoom) {
304
+ api.utils.setZoom(zoom, zoomAnimation);
277
305
  }
278
306
  }, [zoom]);
279
307
 
280
- // Update Lat & Lng from outside
308
+ // Update Lat & Lng from outside if value is different
281
309
  (0, _react.useEffect)(function () {
282
- if (api && center) {
283
- api.map.setCenter(center, zoomAnimation);
310
+ if (!(api && center)) {
311
+ return;
312
+ }
313
+ var currentMapCenter = api.utils.getCenter();
314
+ if (currentMapCenter.lat !== center.lat || currentMapCenter.lng !== center.lng) {
315
+ api.utils.setCenter(center, zoomAnimation);
284
316
  }
285
317
  }, [center]);
286
318
 
@@ -332,30 +364,22 @@ var Map = function Map(props) {
332
364
  }));
333
365
  };
334
366
  var handleZoomIn = function handleZoomIn() {
335
- var z = api.map.getZoom();
367
+ var z = api.utils.getZoom();
336
368
  var newZoom = z + 1;
337
369
  onZoomIn(newZoom, z);
338
- api.map.setZoom(newZoom, true);
370
+ api.utils.setZoom(newZoom, zoomAnimation);
339
371
  };
340
372
  var handleZoomOut = function handleZoomOut() {
341
- var z = api.map.getZoom();
373
+ var z = api.utils.getZoom();
342
374
  var newZoom = z - 1;
343
375
  onZoomOut(newZoom, z);
344
- api.map.setZoom(newZoom, true);
345
- };
346
- var renderChildren = function renderChildren() {
347
- if (!children) {
348
- return null;
349
- }
350
- return /*#__PURE__*/_react["default"].createElement("div", {
351
- className: 'MapElements'
352
- }, (0, _isFunction["default"])(children) ? children(api) : enhanceChildren(children, api));
376
+ api.utils.setZoom(newZoom, zoomAnimation);
353
377
  };
354
378
  var style = getStyle(height, width);
355
379
  var autoHeightClass = (0, _isEmpty["default"])(style) ? 'height-100pct' : '';
356
380
  var hideZoomButtons = disableBehavior;
357
381
  return /*#__PURE__*/_react["default"].createElement("div", {
358
- className: "Map position-relative ".concat(autoHeightClass),
382
+ className: "Map position-relative map-type-".concat(baseLayer.toLowerCase(), " ").concat(autoHeightClass),
359
383
  style: style,
360
384
  ref: mapRef
361
385
  }, isMapInitialized && /*#__PURE__*/_react["default"].createElement(_context.MapContext.Provider, {
@@ -375,15 +399,17 @@ var Map = function Map(props) {
375
399
  onShowClusterChange: handleShowClusterChange,
376
400
  mapSettingsTooltip: mapSettingsTooltip
377
401
  }
378
- }, mapSettings), getBaseLayer(api, baseLayer, language), (0, _map["default"])(function (layer) {
379
- return getLayer(api, layer, language);
380
- }, activeLayers), renderChildren()));
402
+ }, mapSettings), getBaseLayer(api, baseLayer, language, useWebGL, darkMode), (0, _map["default"])(function (layer) {
403
+ return getLayer(api, layer, language, useWebGL);
404
+ }, activeLayers), children && /*#__PURE__*/_react["default"].createElement("div", {
405
+ className: 'MapElements'
406
+ }, (0, _isFunction["default"])(children) ? children(api) : enrichChildrenWithApi(children, api))));
381
407
  };
382
- ;
383
408
  Map.TYPE_DEFAULT = _constants.MAP_TYPE_DEFAULT;
384
409
  Map.TYPE_FLEET_STYLE = _constants.MAP_TYPE_FLEET_STYLE;
385
410
  Map.TYPE_SATELLITE = _constants.MAP_TYPE_SATELLITE;
386
411
  Map.TYPE_TERRAIN = _constants.MAP_TYPE_TERRAIN;
412
+ Map.TYPE_NIGHT = _constants.MAP_TYPE_NIGHT;
387
413
  Map.LAYER_INCIDENTS = _constants.MAP_LAYER_INCIDENTS;
388
414
  Map.LAYER_TRAFFIC = _constants.MAP_LAYER_TRAFFIC;
389
415
  Map.LAYER_ROAD_RESTRICTIONS = _constants.MAP_LAYER_ROAD_RESTRICTIONS;
@@ -401,7 +427,9 @@ Map.defaultProps = {
401
427
  onMapLayerChange: function onMapLayerChange() {},
402
428
  onShowClusterChange: function onShowClusterChange() {},
403
429
  onZoomIn: function onZoomIn() {},
404
- onZoomOut: function onZoomOut() {}
430
+ onZoomOut: function onZoomOut() {},
431
+ useWebGL: false,
432
+ darkMode: false
405
433
  };
406
434
  Map.propTypes = {
407
435
  credentials: _propTypes["default"].shape((_PropTypes$shape = {}, (0, _defineProperty2["default"])(_PropTypes$shape, 'app_id', _propTypes["default"].string), (0, _defineProperty2["default"])(_PropTypes$shape, 'app_code', _propTypes["default"].string), (0, _defineProperty2["default"])(_PropTypes$shape, 'api_key', _propTypes["default"].string), (0, _defineProperty2["default"])(_PropTypes$shape, "apikey", _propTypes["default"].string), _PropTypes$shape)).isRequired,
@@ -417,7 +445,7 @@ Map.propTypes = {
417
445
  hideMapSettings: _propTypes["default"].bool,
418
446
  hideClusterSettings: _propTypes["default"].bool,
419
447
  hideMapLayerSettings: _propTypes["default"].bool,
420
- mapType: _propTypes["default"].oneOf([Map.TYPE_DEFAULT, Map.TYPE_FLEET_STYLE, Map.TYPE_SATELLITE, Map.TYPE_TERRAIN]),
448
+ mapType: _propTypes["default"].oneOf([Map.TYPE_DEFAULT, Map.TYPE_FLEET_STYLE, Map.TYPE_SATELLITE, Map.TYPE_TERRAIN, Map.TYPE_NIGHT]),
421
449
  mapLayer: _propTypes["default"].arrayOf(_propTypes["default"].string),
422
450
  showCluster: _propTypes["default"].bool,
423
451
  showScaleBar: _propTypes["default"].bool,
@@ -428,7 +456,9 @@ Map.propTypes = {
428
456
  onZoomOut: _propTypes["default"].func,
429
457
  getApi: _propTypes["default"].func,
430
458
  mapSettingsTooltip: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
431
- mapSettings: _propTypes["default"].node
459
+ mapSettings: _propTypes["default"].node,
460
+ useWebGL: _propTypes["default"].bool,
461
+ darkMode: _propTypes["default"].bool
432
462
  };
433
463
  var _default = Map;
434
464
  exports["default"] = _default;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TILE_TYPE = exports.TILE_SIZE = exports.MAP_TYPE_TERRAIN = exports.MAP_TYPE_SATELLITE = exports.MAP_TYPE_FLEET_STYLE = exports.MAP_TYPE_DEFAULT = exports.MAP_LAYER_TRAFFIC = exports.MAP_LAYER_ROAD_RESTRICTIONS = exports.MAP_LAYER_INCIDENTS = exports.HIGH_RES_PPI = exports.FORMAT = void 0;
6
+ exports.TILE_TYPE = exports.TILE_SIZE = exports.MAP_TYPE_TERRAIN = exports.MAP_TYPE_SATELLITE = exports.MAP_TYPE_NIGHT = exports.MAP_TYPE_FLEET_STYLE = exports.MAP_TYPE_DEFAULT = exports.MAP_LAYER_TRAFFIC = exports.MAP_LAYER_ROAD_RESTRICTIONS = exports.MAP_LAYER_INCIDENTS = exports.HIGH_RES_PPI = exports.FORMAT = void 0;
7
7
  var MAP_TYPE_DEFAULT = 'DEFAULT';
8
8
  exports.MAP_TYPE_DEFAULT = MAP_TYPE_DEFAULT;
9
9
  var MAP_TYPE_FLEET_STYLE = 'FLEET_STYLE';
@@ -12,6 +12,8 @@ var MAP_TYPE_SATELLITE = 'SATELLITE';
12
12
  exports.MAP_TYPE_SATELLITE = MAP_TYPE_SATELLITE;
13
13
  var MAP_TYPE_TERRAIN = 'TERRAIN';
14
14
  exports.MAP_TYPE_TERRAIN = MAP_TYPE_TERRAIN;
15
+ var MAP_TYPE_NIGHT = 'NIGHT';
16
+ exports.MAP_TYPE_NIGHT = MAP_TYPE_NIGHT;
15
17
  var MAP_LAYER_INCIDENTS = 'INCIDENTS';
16
18
  exports.MAP_LAYER_INCIDENTS = MAP_LAYER_INCIDENTS;
17
19
  var MAP_LAYER_TRAFFIC = 'TRAFFIC';
@@ -26,7 +26,6 @@ var TO_LESS_LINE_WIDTH_EXCEPTION_MSG = 'If isBorderIncludedInWidth is set to tru
26
26
  exports.TO_LESS_LINE_WIDTH_EXCEPTION_MSG = TO_LESS_LINE_WIDTH_EXCEPTION_MSG;
27
27
  var LINE_STROKE_COLOR = 'rgba(48, 194, 255, 1)';
28
28
  var LINE_STROKE_COLOR_REDUCED = 'rgba(48, 194, 255, 0.5)';
29
- var BORDER_STROKE_COLOR = 'rgba(255, 255, 255, 1)';
30
29
  var BORDER_STROKE_COLOR_REDUCED = 'rgba(255, 255, 255, 0)';
31
30
  var defaultStyle = {
32
31
  width: 5,
@@ -36,12 +35,12 @@ var defaultStyle = {
36
35
  isBorderIncludedInWidth: false
37
36
  };
38
37
  var defaultArrowStyle = {
39
- lineWidth: 10,
40
- fillColor: 'rgba(42, 55, 64, 1)',
41
- strokeColor: BORDER_STROKE_COLOR,
42
- lineDash: [0, 6],
43
- lineTailCap: 'arrow-tail',
44
- lineHeadCap: 'arrow-head'
38
+ // lineWidth: 12,
39
+ // strokeColor: 'rgba(0, 0, 0, 0.8)',
40
+ // lineDash: [0, 3],
41
+ // lineDashOffset: 2,
42
+ // lineTailCap: 'arrow-tail',
43
+ // lineHeadCap: 'arrow-head',
45
44
  };
46
45
  var alternativeRouteStyle = _objectSpread(_objectSpread({}, defaultStyle), {}, {
47
46
  color: 'rgb(218,253,255)'
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = exports.WRONG_GEOMETRY_PROPS_EXCEPTION_MSG = exports.MISSING_GEOMETRY_PROPS_EXCEPTION_MSG = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _react = require("react");
10
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -12,8 +13,8 @@ var _context = require("../../context");
12
13
  var _MapException = _interopRequireDefault(require("../../../exceptions/MapException"));
13
14
  var _hooks = require("../../../utils/hooks");
14
15
  var _eventHandling = require("../../../utils/eventHandling");
15
- /* eslint-disable no-undef */
16
-
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
18
  var MISSING_GEOMETRY_PROPS_EXCEPTION_MSG = 'Error in Polyline: Polyline without geometry makes no sense';
18
19
  exports.MISSING_GEOMETRY_PROPS_EXCEPTION_MSG = MISSING_GEOMETRY_PROPS_EXCEPTION_MSG;
19
20
  var WRONG_GEOMETRY_PROPS_EXCEPTION_MSG = 'Error in Polyline: property geometry must be of type H.geo.LineString';
@@ -45,15 +46,17 @@ var Polyline = function Polyline(_ref) {
45
46
  // Create a patterned polyline:
46
47
 
47
48
  // Non-legacy version:
48
- var arrowLineStyle = new H.map.SpatialStyle({
49
- width: 5,
49
+ var arrowLineStyle = new H.map.SpatialStyle(_objectSpread(_objectSpread({}, arrowStyle), {}, {
50
50
  lineWidth: 10,
51
- strokeColor: 'rgba(255, 255, 255, 0)'
52
- });
51
+ strokeColor: 'rgba(0, 0, 0, 0.8)',
52
+ lineDash: [0, 3],
53
+ lineDashOffset: 1.6,
54
+ lineTailCap: 'arrow-tail',
55
+ lineHeadCap: 'arrow-head'
56
+ }));
53
57
  var routeArrows = new H.map.Polyline(geometry, {
54
58
  style: arrowLineStyle
55
59
  });
56
- routeArrows.setArrows(arrowStyle);
57
60
 
58
61
  // create a group that represents the route line and contains
59
62
  // outline and the pattern
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _constants = require("../../constants");
12
+ var _mapUtils = require("../../mapUtils");
13
+ var _Layer = _interopRequireDefault(require("./Layer"));
14
+ var _excluded = ["useWebGL"];
15
+ var createRoadRestrictionLayer = function createRoadRestrictionLayer(useWebGL) {
16
+ return function (api, language) {
17
+ return api.platform.getMapTileService({
18
+ type: 'base'
19
+ }).createTileLayer('truckonlytile', 'normal.day', _constants.TILE_SIZE, _constants.FORMAT, {
20
+ style: 'default',
21
+ lg: language,
22
+ ppi: useWebGL ? undefined : (0, _mapUtils.getPPI)()
23
+ });
24
+ };
25
+ };
26
+ var RoadRestrictionLayer = function RoadRestrictionLayer(props) {
27
+ var useWebGL = props.useWebGL,
28
+ remainingProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
29
+ var createLayer = createRoadRestrictionLayer(useWebGL);
30
+ return /*#__PURE__*/_react["default"].createElement(_Layer["default"], (0, _extends2["default"])({}, remainingProps, {
31
+ createLayer: createLayer
32
+ }));
33
+ };
34
+ var _default = RoadRestrictionLayer;
35
+ exports["default"] = _default;
@@ -6,13 +6,23 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
10
  var _react = _interopRequireDefault(require("react"));
10
11
  var _constants = require("../../constants");
11
12
  var _Layer = _interopRequireDefault(require("./Layer"));
12
- /* eslint-disable no-undef */
13
+ var _excluded = ["useWebGL"];
14
+ var createVebGlTrafficLayer = function createVebGlTrafficLayer(api, language) {
15
+ // use new Here 3.1 API traffic layer for WebGL
16
+ // https://developer.here.com/documentation/maps/3.1.37.0/dev_guide/topics/migration.html
13
17
 
14
- var createTrafficLayer = function createTrafficLayer(api, language) {
15
- //return api.defaultLayers.vector.normal.traffic;
18
+ // Create a traffic service and a corresponding provider.
19
+ var service = api.platform.getTrafficService();
20
+ var provider = new H.service.traffic.flow.Provider(service);
21
+
22
+ // Create a tile layer that can be added to the map
23
+ return new H.map.layer.TileLayer(provider);
24
+ };
25
+ var createRasterTrafficLayer = function createRasterTrafficLayer(api, language) {
16
26
  return api.platform.getMapTileService({
17
27
  type: 'traffic'
18
28
  }).createTileLayer('flowtile', 'normal.day.grey', _constants.TILE_SIZE, _constants.FORMAT, {
@@ -21,8 +31,11 @@ var createTrafficLayer = function createTrafficLayer(api, language) {
21
31
  });
22
32
  };
23
33
  var TrafficLayer = function TrafficLayer(props) {
24
- return /*#__PURE__*/_react["default"].createElement(_Layer["default"], (0, _extends2["default"])({}, props, {
25
- createLayer: createTrafficLayer
34
+ var useWebGL = props.useWebGL,
35
+ remainingProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
36
+ var createLayerCallback = useWebGL ? createVebGlTrafficLayer : createRasterTrafficLayer;
37
+ return /*#__PURE__*/_react["default"].createElement(_Layer["default"], (0, _extends2["default"])({}, remainingProps, {
38
+ createLayer: createLayerCallback
26
39
  }));
27
40
  };
28
41
  var _default = TrafficLayer;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _useBaseLayer = require("./useBaseLayer");
8
+ var _constants = require("../../../constants");
9
+ // https://developer.here.com/documentation/map-tile/dev_guide/topics/resource-info.html
10
+
11
+ var DefaultRasterLayer = function DefaultRasterLayer(props) {
12
+ var api = props.api,
13
+ language = props.language;
14
+ (0, _useBaseLayer.useBaseLayer)({
15
+ api: api,
16
+ language: language,
17
+ mapType: _constants.MAP_TYPE_DEFAULT,
18
+ additionalParameters: {
19
+ style: 'alps'
20
+ }
21
+ });
22
+ return null;
23
+ };
24
+ var _default = DefaultRasterLayer;
25
+ exports["default"] = _default;