@rio-cloud/uikit-mcp 1.1.10 → 1.1.12
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/README.md +2 -1
- package/dist/doc-metadata.json +92 -92
- package/dist/docs/components/accentBar.md +1 -1
- package/dist/docs/components/activity.md +1 -1
- package/dist/docs/components/analyticsAnalysisOverlay.md +3 -1
- package/dist/docs/components/animatedNumber.md +2 -2
- package/dist/docs/components/animatedTextReveal.md +6 -6
- package/dist/docs/components/animations.md +22 -22
- package/dist/docs/components/appHeader.md +1 -1
- package/dist/docs/components/appLayout.md +31 -65
- package/dist/docs/components/appNavigationBar.md +1 -1
- package/dist/docs/components/areaCharts.md +7 -5
- package/dist/docs/components/aspectRatioPlaceholder.md +1 -1
- package/dist/docs/components/assetTree.md +160 -142
- package/dist/docs/components/autosuggests.md +1 -1
- package/dist/docs/components/avatar.md +1 -1
- package/dist/docs/components/banner.md +2 -2
- package/dist/docs/components/barCharts.md +16 -14
- package/dist/docs/components/barList.md +9 -9
- package/dist/docs/components/basicMap.md +45 -1
- package/dist/docs/components/bottomSheet.md +1 -1
- package/dist/docs/components/button.md +1 -1
- package/dist/docs/components/buttonToolbar.md +1 -1
- package/dist/docs/components/calendarStripe.md +56 -56
- package/dist/docs/components/card.md +1 -1
- package/dist/docs/components/carousel.md +1 -1
- package/dist/docs/components/chartColors.md +3 -1
- package/dist/docs/components/chartsGettingStarted.md +3 -1
- package/dist/docs/components/chat.md +1 -1
- package/dist/docs/components/checkbox.md +3 -1
- package/dist/docs/components/circularProgress.md +5 -5
- package/dist/docs/components/clearableInput.md +1 -1
- package/dist/docs/components/collapse.md +4 -2
- package/dist/docs/components/composedCharts.md +17 -15
- package/dist/docs/components/contentLoader.md +1 -1
- package/dist/docs/components/dataTabs.md +1 -1
- package/dist/docs/components/datepickers.md +662 -660
- package/dist/docs/components/dayPicker.md +55 -5
- package/dist/docs/components/dayPickerCalendar.md +488 -468
- package/dist/docs/components/dialogs.md +1 -1
- package/dist/docs/components/divider.md +1 -1
- package/dist/docs/components/dropdowns.md +3270 -3244
- package/dist/docs/components/editableContent.md +1 -1
- package/dist/docs/components/expander.md +1 -1
- package/dist/docs/components/fade.md +1 -1
- package/dist/docs/components/fadeExpander.md +1 -1
- package/dist/docs/components/fadeUp.md +2 -2
- package/dist/docs/components/feedback.md +1 -1
- package/dist/docs/components/filePickers.md +1 -1
- package/dist/docs/components/formLabel.md +1 -1
- package/dist/docs/components/groupedItemList.md +1 -1
- package/dist/docs/components/htmlTable.md +113 -115
- package/dist/docs/components/iconList.md +3 -3
- package/dist/docs/components/imagePreloader.md +1 -1
- package/dist/docs/components/labeledElement.md +1 -1
- package/dist/docs/components/licensePlate.md +1 -1
- package/dist/docs/components/lineCharts.md +6 -4
- package/dist/docs/components/listMenu.md +1 -1
- package/dist/docs/components/loadMore.md +1 -1
- package/dist/docs/components/mainNavigation.md +1 -1
- package/dist/docs/components/mapCircle.md +1 -1
- package/dist/docs/components/mapCluster.md +3 -1
- package/dist/docs/components/mapContext.md +1 -1
- package/dist/docs/components/mapDraggableMarker.md +1 -1
- package/dist/docs/components/mapGettingStarted.md +39 -1
- package/dist/docs/components/mapInfoBubble.md +1 -1
- package/dist/docs/components/mapLayerGroup.md +1 -1
- package/dist/docs/components/mapMarker.md +3 -1
- package/dist/docs/components/mapPolygon.md +1 -1
- package/dist/docs/components/mapRoute.md +1 -1
- package/dist/docs/components/mapSettings.md +36 -9
- package/dist/docs/components/mapUtils.md +65 -2
- package/dist/docs/components/mapViewportHistory.md +287 -0
- package/dist/docs/components/multiselects.md +171 -1
- package/dist/docs/components/noData.md +1 -1
- package/dist/docs/components/notifications.md +1 -1
- package/dist/docs/components/numbercontrol.md +1 -1
- package/dist/docs/components/onboarding.md +1 -1
- package/dist/docs/components/page.md +1 -1
- package/dist/docs/components/pager.md +1 -1
- package/dist/docs/components/pieCharts.md +38 -36
- package/dist/docs/components/popover.md +1 -1
- package/dist/docs/components/position.md +1 -1
- package/dist/docs/components/radialBarCharts.md +27 -25
- package/dist/docs/components/radioCardGroup.md +1 -1
- package/dist/docs/components/radiobutton.md +3 -1
- package/dist/docs/components/releaseNotes.md +1 -1
- package/dist/docs/components/resizer.md +3 -1
- package/dist/docs/components/responsiveColumnStripe.md +3 -1
- package/dist/docs/components/responsiveVideo.md +1 -1
- package/dist/docs/components/rioglyph.md +1 -1
- package/dist/docs/components/rules.md +1 -1
- package/dist/docs/components/saveableInput.md +247 -247
- package/dist/docs/components/selects.md +168 -51
- package/dist/docs/components/sidebar.md +1 -1
- package/dist/docs/components/sliders.md +1 -1
- package/dist/docs/components/smoothScrollbars.md +3 -1
- package/dist/docs/components/spinners.md +1 -1
- package/dist/docs/components/states.md +15 -1
- package/dist/docs/components/statsWidgets.md +1 -1
- package/dist/docs/components/statusBar.md +3 -1
- package/dist/docs/components/stepButton.md +1 -1
- package/dist/docs/components/steppedProgressBars.md +1 -1
- package/dist/docs/components/subNavigation.md +1 -1
- package/dist/docs/components/supportMarker.md +1 -1
- package/dist/docs/components/svgImage.md +1 -1
- package/dist/docs/components/switch.md +3 -1
- package/dist/docs/components/table.md +1998 -221
- package/dist/docs/components/tableControls.md +51 -51
- package/dist/docs/components/tagManager.md +1 -1
- package/dist/docs/components/tags.md +1 -1
- package/dist/docs/components/teaser.md +3 -1
- package/dist/docs/components/textTruncateMiddle.md +1 -1
- package/dist/docs/components/timeline.md +1 -1
- package/dist/docs/components/timepicker.md +3 -1
- package/dist/docs/components/toggleButton.md +1 -1
- package/dist/docs/components/tooltip.md +5 -1
- package/dist/docs/components/tracker.md +1 -1
- package/dist/docs/components/virtualList.md +58 -56
- package/dist/docs/foundations.md +271 -105
- package/dist/docs/start/changelog.md +44 -212
- package/dist/docs/start/goodtoknow.md +8 -2
- package/dist/docs/start/guidelines/color-combinations.md +5 -1
- package/dist/docs/start/guidelines/custom-css.md +26 -2
- package/dist/docs/start/guidelines/custom-rioglyph.md +20 -2
- package/dist/docs/start/guidelines/formatting.md +2256 -249
- package/dist/docs/start/guidelines/iframe.md +37 -1
- package/dist/docs/start/guidelines/obfuscate-data.md +26 -2
- package/dist/docs/start/guidelines/print-css.md +16 -2
- package/dist/docs/start/guidelines/spinner.md +1 -1
- package/dist/docs/start/guidelines/state-in-url.md +1138 -11
- package/dist/docs/start/guidelines/supported-browsers.md +9 -2
- package/dist/docs/start/guidelines/writing.md +228 -2
- package/dist/docs/start/howto.md +160 -10
- package/dist/docs/start/intro.md +40 -2
- package/dist/docs/start/responsiveness.md +29 -1
- package/dist/docs/templates/ai-assistant.md +1 -1
- package/dist/docs/templates/common-table.md +55 -55
- package/dist/docs/templates/detail-views.md +2 -2
- package/dist/docs/templates/expandable-details.md +1 -1
- package/dist/docs/templates/feature-cards.md +37 -37
- package/dist/docs/templates/form-summary.md +15 -15
- package/dist/docs/templates/form-toggle.md +1 -1
- package/dist/docs/templates/list-blocks.md +137 -137
- package/dist/docs/templates/loading-progress.md +1 -1
- package/dist/docs/templates/options-panel.md +1 -1
- package/dist/docs/templates/panel-variants.md +1 -1
- package/dist/docs/templates/progress-cards.md +1 -1
- package/dist/docs/templates/progress-success.md +1 -1
- package/dist/docs/templates/settings-form.md +18 -18
- package/dist/docs/templates/stats-blocks.md +10 -10
- package/dist/docs/templates/table-panel.md +1 -1
- package/dist/docs/templates/usage-cards.md +1 -1
- package/dist/docs/utilities/classNames.md +89 -1
- package/dist/docs/utilities/deviceUtils.md +1 -1
- package/dist/docs/utilities/featureToggles.md +182 -2
- package/dist/docs/utilities/fuelTypeUtils.md +1 -1
- package/dist/docs/utilities/getTrackingAttributes.md +46 -1
- package/dist/docs/utilities/routeUtils.md +210 -2
- package/dist/docs/utilities/useAfterMount.md +1 -1
- package/dist/docs/utilities/useAutoAnimate.md +1 -1
- package/dist/docs/utilities/useAverage.md +1 -1
- package/dist/docs/utilities/useClickOutside.md +1 -1
- package/dist/docs/utilities/useClipboard.md +2 -2
- package/dist/docs/utilities/useCookies.md +1 -1
- package/dist/docs/utilities/useCount.md +1 -1
- package/dist/docs/utilities/useDarkMode.md +1 -1
- package/dist/docs/utilities/useDebugInfo.md +3 -3
- package/dist/docs/utilities/useDraggableElement.md +1 -1
- package/dist/docs/utilities/useEffectOnce.md +1 -1
- package/dist/docs/utilities/useElapsedTime.md +1 -1
- package/dist/docs/utilities/useElementSize.md +1 -1
- package/dist/docs/utilities/useEsc.md +1 -1
- package/dist/docs/utilities/useEvent.md +1 -1
- package/dist/docs/utilities/useFocusTrap.md +1 -1
- package/dist/docs/utilities/useFullscreen.md +1 -1
- package/dist/docs/utilities/useHover.md +1 -1
- package/dist/docs/utilities/useIncomingPostMessages.md +1 -1
- package/dist/docs/utilities/useInterval.md +1 -1
- package/dist/docs/utilities/useIsFocusWithin.md +1 -1
- package/dist/docs/utilities/useKey.md +1 -1
- package/dist/docs/utilities/useLocalStorage.md +1 -1
- package/dist/docs/utilities/useLocationSuggestions.md +1 -1
- package/dist/docs/utilities/useMax.md +1 -1
- package/dist/docs/utilities/useMin.md +1 -1
- package/dist/docs/utilities/useMutationObserver.md +1 -1
- package/dist/docs/utilities/useOnScreen.md +1 -1
- package/dist/docs/utilities/useOnlineStatus.md +1 -1
- package/dist/docs/utilities/usePostMessage.md +1 -1
- package/dist/docs/utilities/usePostMessageSender.md +1 -1
- package/dist/docs/utilities/usePrevious.md +111 -1
- package/dist/docs/utilities/useResizeObserver.md +1 -1
- package/dist/docs/utilities/useRioCookieConsent.md +1 -1
- package/dist/docs/utilities/useScrollPosition.md +1 -1
- package/dist/docs/utilities/useSearch.md +1 -1
- package/dist/docs/utilities/useSearchHighlight.md +1 -1
- package/dist/docs/utilities/useSorting.md +1 -1
- package/dist/docs/utilities/useStateWithValidation.md +1 -1
- package/dist/docs/utilities/useSum.md +1 -1
- package/dist/docs/utilities/useTableExport.md +61 -61
- package/dist/docs/utilities/useTableSelection.md +72 -72
- package/dist/docs/utilities/useTimeout.md +1 -1
- package/dist/docs/utilities/useToggle.md +1 -1
- package/dist/docs/utilities/useUrlState.md +1 -1
- package/dist/docs/utilities/useWindowResize.md +1 -1
- package/dist/index.mjs +174 -70
- package/dist/search-synonyms.json +214 -76
- package/dist/version.json +2 -2
- package/package.json +8 -6
- package/dist/docs/components/mapRouteGenerator.md +0 -6
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* CSS Only
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/iconList
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:14:37.537Z
|
|
7
7
|
|
|
8
8
|
The timeline component is a pure CSS component.
|
|
9
9
|
|
|
@@ -68,13 +68,13 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget ma
|
|
|
68
68
|
</div>
|
|
69
69
|
<ul class="icon-list margin-bottom-0">
|
|
70
70
|
<li>
|
|
71
|
-
<span class="rioglyph rioglyph-
|
|
71
|
+
<span class="rioglyph rioglyph-driver margin-top--1">
|
|
72
72
|
</span>
|
|
73
73
|
<span>
|
|
74
74
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget massa efficitur aliquam condimentum in felis. Integer eget metus vel nunc efficitur iaculis.</span>
|
|
75
75
|
</li>
|
|
76
76
|
<li>
|
|
77
|
-
<span class="rioglyph rioglyph-
|
|
77
|
+
<span class="rioglyph rioglyph-businessman margin-top--1">
|
|
78
78
|
</span>
|
|
79
79
|
<span>
|
|
80
80
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget massa efficitur aliquam condimentum in felis. Integer eget metus vel nunc efficitur iaculis.</span>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Misc
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/imagePreloader
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:14:21.377Z
|
|
7
7
|
|
|
8
8
|
Use the preloader for controlling the various states when fetching the image. It allows to handle the failure case as well.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Content
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/labeledElement
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:14:02.548Z
|
|
7
7
|
|
|
8
8
|
A simple wrapper component that associates a label with any content, ensuring a unified label style. It simplifies the usage of labels for both form and non-form elements by using the FormLabelcomponent internally. For more flexibility, you can also use it directly when needed.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Misc
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/licensePlate
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:14:23.218Z
|
|
7
7
|
|
|
8
8
|
The LicensePlate component is designed to display license plate information with various customization options. It is built with container queries, which ensure that design elements are shown or hidden based on the available space.
|
|
9
9
|
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Charts
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/lineCharts
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:15:10.536Z
|
|
7
7
|
|
|
8
8
|
## LineChart
|
|
9
9
|
|
|
10
|
+
> Note: When using a chart in your application, do not get fancy and try to stick to the proposed examples or at least base your chart upon them. That will save time and money and, equally important, gives the user a coherent look and feel across the different services.
|
|
11
|
+
|
|
10
12
|
### Example: Example 1
|
|
11
13
|
|
|
12
14
|
Simple LineChart
|
|
@@ -124,7 +126,7 @@ const data: CustomData[] = [
|
|
|
124
126
|
<g tabindex="-1" class="recharts-zIndex-layer_400">
|
|
125
127
|
<g class="recharts-layer recharts-line">
|
|
126
128
|
<g class="recharts-layer recharts-shape">
|
|
127
|
-
<path stroke="#67abc5 " fill="none" stroke-width="1" id="recharts-line-:r0:" height="108" width="438" class="recharts-curve recharts-line-curve" stroke-dasharray="
|
|
129
|
+
<path stroke="#67abc5 " fill="none" stroke-width="1" id="recharts-line-:r0:" height="108" width="438" class="recharts-curve recharts-line-curve" stroke-dasharray="11.3402px 51.388816833496094px" d="M45,27C66,28,87,29,108,33C129,37,150,63,171,63C192,63,213,39.6,234,39.6C255,39.6,276,66.3,297,66.3C318,66.3,339,59.3,360,51.3C381,43.3,402,30.8,423,18.3">
|
|
128
130
|
</path>
|
|
129
131
|
</g>
|
|
130
132
|
</g>
|
|
@@ -447,7 +449,7 @@ const data: CustomData[] = [
|
|
|
447
449
|
<g tabindex="-1" class="recharts-zIndex-layer_400">
|
|
448
450
|
<g class="recharts-layer recharts-line">
|
|
449
451
|
<g class="recharts-layer recharts-shape">
|
|
450
|
-
<path stroke="#67abc5 " fill="none" stroke-width="1" id="recharts-line-:r1:" height="108" width="438" class="recharts-curve recharts-line-curve" stroke-dasharray="
|
|
452
|
+
<path stroke="#67abc5 " fill="none" stroke-width="1" id="recharts-line-:r1:" height="108" width="438" class="recharts-curve recharts-line-curve" stroke-dasharray="46.2336px 51.388816833496094px" d="M45,27C66,28,87,29,108,33C129,37,150,63,171,63C192,63,213,39.6,234,39.6C255,39.6,276,66.3,297,66.3C318,66.3,339,59.3,360,51.3C381,43.3,402,30.8,423,18.3">
|
|
451
453
|
</path>
|
|
452
454
|
</g>
|
|
453
455
|
</g>
|
|
@@ -1444,7 +1446,7 @@ const data: CustomData[] = [
|
|
|
1444
1446
|
<div class="recharts-responsive-container" style="width: 100%; height: 100%; min-width: 100px; min-height: 100px;">
|
|
1445
1447
|
<div style="width: 0px; height: 0px; overflow: visible;">
|
|
1446
1448
|
<div width="876" height="268" class="recharts-wrapper" style="position: relative; cursor: default; width: 876px; height: 268px;">
|
|
1447
|
-
<div xmlns="http://www.w3.org/1999/xhtml" tabindex="-1" class="recharts-tooltip-wrapper" style="visibility: hidden; pointer-events: none; position: absolute; top: 0px; left: 0px;">
|
|
1449
|
+
<div xmlns="http://www.w3.org/1999/xhtml" tabindex="-1" class="recharts-tooltip-wrapper recharts-tooltip-wrapper-right recharts-tooltip-wrapper-bottom" style="visibility: hidden; pointer-events: none; position: absolute; top: 0px; left: 0px; transform: translate(443.758px, 138px);">
|
|
1448
1450
|
<div class="recharts-default-tooltip" role="status" aria-live="assertive" style="margin: 0px; padding: 10px; background-color: rgb(255, 255, 255); border: 1px solid rgb(204, 204, 204); white-space: nowrap;">
|
|
1449
1451
|
<p class="recharts-tooltip-label" style="margin: 0px;">
|
|
1450
1452
|
</p>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Map
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/mapCluster
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:14:47.928Z
|
|
7
7
|
|
|
8
8
|
## Clusters
|
|
9
9
|
|
|
@@ -67,6 +67,7 @@ const ClustersExample = () => {
|
|
|
67
67
|
),
|
|
68
68
|
getClusterPresentation: (assets: Asset[]) => (
|
|
69
69
|
<ClusterMapMarker
|
|
70
|
+
iconName='truck'
|
|
70
71
|
count={assets.length}
|
|
71
72
|
warningCount={Math.floor((assets.length * 10) / 3)}
|
|
72
73
|
exceptionCount={Math.floor((assets.length * 10) / 5)}
|
|
@@ -221,6 +222,7 @@ const ClustersExample = () => {
|
|
|
221
222
|
),
|
|
222
223
|
getClusterPresentation: ({ length }: Asset[]) => (
|
|
223
224
|
<ClusterMapMarker
|
|
225
|
+
iconName='truck'
|
|
224
226
|
count={length}
|
|
225
227
|
warningCount={Math.floor((length * 10) / 3)}
|
|
226
228
|
exceptionCount={Math.floor((length * 10) / 5)}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Map
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/mapGettingStarted
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:14:37.871Z
|
|
7
7
|
|
|
8
8
|
HERE Maps credentials used in the UIKIT demo are not allowed to be used in any production environment!
|
|
9
9
|
|
|
@@ -13,6 +13,10 @@ HERE Maps credentials used in the UIKIT demo are not allowed to be used in any p
|
|
|
13
13
|
|
|
14
14
|
## HERE Maps credentials
|
|
15
15
|
|
|
16
|
+
Need HERE Maps credentials? Please follow the guide on Confluence:
|
|
17
|
+
|
|
18
|
+
Requesting HERE Maps credentials
|
|
19
|
+
|
|
16
20
|
Please note that the usage of HERE Maps is not free. If you have any questions regarding license costs, please contact us.
|
|
17
21
|
|
|
18
22
|
In case you want to use HERE Maps in production, please contact finance@rio.cloud.
|
|
@@ -36,4 +40,38 @@ As the UIKIT Map component relies on the map scripts from Here, we need to add t
|
|
|
36
40
|
<link rel="stylesheet" type="text/css" href="https://js.api.here.com/v3/3.1/mapsjs-ui.css" />
|
|
37
41
|
```
|
|
38
42
|
|
|
43
|
+
<script src="https://js.api.here.com/v3/3.1/mapsjs-core.js" type="text/javascript">
|
|
44
|
+
|
|
45
|
+
</script>
|
|
46
|
+
|
|
47
|
+
<script src="https://js.api.here.com/v3/3.1/mapsjs-core-legacy.js" type="text/javascript">
|
|
48
|
+
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<script src="https://js.api.here.com/v3/3.1/mapsjs-service.js" type="text/javascript">
|
|
52
|
+
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
<script src="https://js.api.here.com/v3/3.1/mapsjs-service-legacy.js" type="text/javascript">
|
|
56
|
+
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<script src="https://js.api.here.com/v3/3.1/mapsjs-mapevents.js" type="text/javascript">
|
|
60
|
+
|
|
61
|
+
</script>
|
|
62
|
+
|
|
63
|
+
<script src="https://js.api.here.com/v3/3.1/mapsjs-ui.js" type="text/javascript">
|
|
64
|
+
|
|
65
|
+
</script>
|
|
66
|
+
|
|
67
|
+
<script src="https://js.api.here.com/v3/3.1/mapsjs-harp.js" type="text/javascript">
|
|
68
|
+
|
|
69
|
+
</script>
|
|
70
|
+
|
|
71
|
+
<script src="https://js.api.here.com/v3/3.1/mapsjs-clustering.js" type="text/javascript">
|
|
72
|
+
|
|
73
|
+
</script>
|
|
74
|
+
|
|
75
|
+
<link rel="stylesheet" type="text/css" href="https://js.api.here.com/v3/3.1/mapsjs-ui.css" />
|
|
76
|
+
|
|
39
77
|
Map API VersionBy default, the map imports use the map version 3.1. However, this version is not a fixed version as it will be resolved to an internal version by Here. This means version 3.1 is treated as an evergreen version.If you encounter any instability or even bugs with the map itself, it is recommended to set the version fixed in the imports and check for a newer version on demand.More details can be found on the Here Developer PlatformFor example<script src="https://js.api.here.com/v3/3.1.11.2/mapsjs-core.js"></script>
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Map
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/mapMarker
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:14:45.960Z
|
|
7
7
|
|
|
8
8
|
Markers are used to render elements at specific locations on the map. They adapt their position as the user interacts with the map.
|
|
9
9
|
|
|
10
10
|
## Marker
|
|
11
11
|
|
|
12
|
+
> Note: The map zoom level does not affect the size of Markers.
|
|
13
|
+
|
|
12
14
|
**Sharing icon between Markers**
|
|
13
15
|
|
|
14
16
|
It's possible to share icon instances between different markers. This can be used to improve rendering performance of many markers on the map.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Map
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/mapPolygon
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:15:07.846Z
|
|
7
7
|
|
|
8
8
|
Polygons and isolines support click and hover interactions. A typical hover effect can be created by changing the outline via strokeColor and lineWidth in the hoverStyle.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Map
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/mapRoute
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:15:16.815Z
|
|
7
7
|
|
|
8
8
|
There are currently 3 different route styles built-in into the map component.
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Map
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/mapSettings
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:14:55.819Z
|
|
7
7
|
|
|
8
8
|
## Map settings
|
|
9
9
|
|
|
@@ -82,6 +82,7 @@ import MapLayerTrafficItem from '@rio-cloud/rio-uikit/MapLayerTrafficItem';
|
|
|
82
82
|
import MapBoundingBoxButton from '@rio-cloud/rio-uikit/MapBoundingBoxButton';
|
|
83
83
|
import MapCenterMarkerButton from '@rio-cloud/rio-uikit/MapCenterMarkerButton';
|
|
84
84
|
import MapLockMarkerButton from '@rio-cloud/rio-uikit/MapLockMarkerButton';
|
|
85
|
+
import MapPreviousViewportButton from '@rio-cloud/rio-uikit/MapPreviousViewportButton';
|
|
85
86
|
import Select, { type SelectOption } from '@rio-cloud/rio-uikit/Select';
|
|
86
87
|
import Multiselect from '@rio-cloud/rio-uikit/Multiselect';
|
|
87
88
|
import Checkbox from '@rio-cloud/rio-uikit/Checkbox';
|
|
@@ -138,7 +139,7 @@ const mapLayerOptions: SelectOption[] = [
|
|
|
138
139
|
];
|
|
139
140
|
|
|
140
141
|
const languageOptions: SelectOption[] = [
|
|
141
|
-
{ id: 'en', label: 'English' },
|
|
142
|
+
{ id: 'en-GB', label: 'English' },
|
|
142
143
|
{ id: 'de-DE', label: 'German' },
|
|
143
144
|
{ id: 'pl', label: 'Polish' },
|
|
144
145
|
];
|
|
@@ -154,7 +155,7 @@ const FullSettingsExample = () => {
|
|
|
154
155
|
const [center, setCenter] = useState(initialPosition);
|
|
155
156
|
const [enableWebGL, setEnableWebGL] = useState(true);
|
|
156
157
|
const [enableDevicePixelRatio, setEnableDevicePixelRatio] = useState(true);
|
|
157
|
-
const [language, setLanguage] = useState('en');
|
|
158
|
+
const [language, setLanguage] = useState('en-GB');
|
|
158
159
|
|
|
159
160
|
const [minZoom, setMinZoom] = useState(DEFAULT_MIN_ZOOM);
|
|
160
161
|
const [maxZoom, setMaxZoom] = useState(DEFAULT_MAX_ZOOM);
|
|
@@ -386,6 +387,10 @@ const FullSettingsExample = () => {
|
|
|
386
387
|
tooltip='Center current Marker'
|
|
387
388
|
/>,
|
|
388
389
|
<MapLockMarkerButton key='mapLockMarkerButton' />,
|
|
390
|
+
<MapPreviousViewportButton
|
|
391
|
+
key='mapPreviousViewportButton'
|
|
392
|
+
tooltip='Back to previous map position'
|
|
393
|
+
/>,
|
|
389
394
|
]}
|
|
390
395
|
/>
|
|
391
396
|
}
|
|
@@ -573,6 +578,7 @@ const FullSettingsExample = () => {
|
|
|
573
578
|
<IncidentsList
|
|
574
579
|
mapLayer={mapLayerOptionIds}
|
|
575
580
|
incidents={incidents}
|
|
581
|
+
language={language}
|
|
576
582
|
api={mapApiRef.current}
|
|
577
583
|
onIncidentSelect={(pos: MapPosition) => {
|
|
578
584
|
// at zoom level 16 the incident cluster is dissolved
|
|
@@ -597,7 +603,7 @@ type IncidentItemProps = {
|
|
|
597
603
|
|
|
598
604
|
const IncidentItem = (props: IncidentItemProps) => {
|
|
599
605
|
const { api, incident, onClick } = props;
|
|
600
|
-
const { id, description, position, tooltipContent } = incident;
|
|
606
|
+
const { id, comment, description, position, summary, tooltipContent } = incident;
|
|
601
607
|
|
|
602
608
|
const [showInfo, setShowInfo] = useState(false);
|
|
603
609
|
|
|
@@ -611,8 +617,23 @@ const IncidentItem = (props: IncidentItemProps) => {
|
|
|
611
617
|
onMouseEnter={() => setShowInfo(true)}
|
|
612
618
|
onMouseLeave={() => setShowInfo(false)}
|
|
613
619
|
>
|
|
614
|
-
<div className='line-height-125rel margin-bottom-5'>{description.value}</div>
|
|
615
|
-
<div className='
|
|
620
|
+
<div className='line-height-125rel margin-bottom-5 text-medium'>{description.value}</div>
|
|
621
|
+
<div className='display-flex flex-column gap-5 margin-bottom-5 text-size-12'>
|
|
622
|
+
<div>
|
|
623
|
+
<div className='text-color-dark text-medium'>Description</div>
|
|
624
|
+
<div className='text-color-darker'>{description.value}</div>
|
|
625
|
+
</div>
|
|
626
|
+
<div>
|
|
627
|
+
<div className='text-color-dark text-medium'>Summary</div>
|
|
628
|
+
<div className='text-color-darker'>{summary.value}</div>
|
|
629
|
+
</div>
|
|
630
|
+
{comment && (
|
|
631
|
+
<div>
|
|
632
|
+
<div className='text-color-dark text-medium'>Comment</div>
|
|
633
|
+
<div className='text-color-darker'>{comment}</div>
|
|
634
|
+
</div>
|
|
635
|
+
)}
|
|
636
|
+
</div>
|
|
616
637
|
{showInfo && (
|
|
617
638
|
<InfoBubble api={api} position={position} content={tooltipContent} markerOffset={{ x: 0, y: -31 }} />
|
|
618
639
|
)}
|
|
@@ -623,13 +644,14 @@ const IncidentItem = (props: IncidentItemProps) => {
|
|
|
623
644
|
type IncidentsListProps = {
|
|
624
645
|
mapLayer: string[];
|
|
625
646
|
incidents?: MapIncidents | undefined;
|
|
647
|
+
language: string;
|
|
626
648
|
api?: MapApi;
|
|
627
649
|
onIncidentSelect: (position: MapPosition) => void;
|
|
628
650
|
onPositionChange: (position: MapPosition, zoom: number) => void;
|
|
629
651
|
};
|
|
630
652
|
|
|
631
653
|
const IncidentsList = (props: IncidentsListProps) => {
|
|
632
|
-
const { mapLayer, incidents, api, onIncidentSelect, onPositionChange } = props;
|
|
654
|
+
const { mapLayer, incidents, language, api, onIncidentSelect, onPositionChange } = props;
|
|
633
655
|
|
|
634
656
|
const [previousPosition, setPreviousPosition] = useState<MapPosition | undefined>();
|
|
635
657
|
const [previousZoom, setPreviousZoom] = useState<number | undefined>();
|
|
@@ -652,9 +674,14 @@ const IncidentsList = (props: IncidentsListProps) => {
|
|
|
652
674
|
};
|
|
653
675
|
|
|
654
676
|
return (
|
|
655
|
-
<div className='max-width-
|
|
677
|
+
<div className='max-width-400-lg min-width-400-lg'>
|
|
656
678
|
<div className='display-flex justify-content-between align-items-end'>
|
|
657
|
-
<label>
|
|
679
|
+
<label>
|
|
680
|
+
Incidents
|
|
681
|
+
<span className='text-normal text-size-12 text-color-dark margin-left-5'>
|
|
682
|
+
HERE lang: {language}
|
|
683
|
+
</span>
|
|
684
|
+
</label>
|
|
658
685
|
{previousPosition ? (
|
|
659
686
|
<div className='btn btn-link btn-link-inline margin-bottom-5' onClick={handleGoBack}>
|
|
660
687
|
<span className='rioglyph rioglyph-arrow-left' />
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Map
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#/components/mapUtils
|
|
6
|
-
*Captured:* 2026-
|
|
6
|
+
*Captured:* 2026-05-06T12:15:03.957Z
|
|
7
7
|
|
|
8
8
|
## Map utils
|
|
9
9
|
|
|
@@ -24,4 +24,67 @@ return (
|
|
|
24
24
|
mapApiRef . current = api ; // if needed, render cluster or marker layer here or return null return null ; } }
|
|
25
25
|
</ Map >
|
|
26
26
|
);
|
|
27
|
-
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
#### Code (text)
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
import { useRef, useState } from 'react';
|
|
33
|
+
import { isEqual } from 'es-toolkit/compat';
|
|
34
|
+
|
|
35
|
+
import Map from '@rio-cloud/rio-uikit/Map';
|
|
36
|
+
import EventUtils from '@rio-cloud/rio-uikit/EventUtils';
|
|
37
|
+
import type { MapApi, MapEvent, Position } from '@rio-cloud/rio-uikit/mapTypes';
|
|
38
|
+
import { UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT } from '../uikit_demo_credentials';
|
|
39
|
+
|
|
40
|
+
export default () => {
|
|
41
|
+
const [zoom, setZoom] = useState(10);
|
|
42
|
+
const [center, setCenter] = useState<Position>({ lat: 48.5, lng: 12.1 });
|
|
43
|
+
const mapApiRef = useRef<MapApi>();
|
|
44
|
+
|
|
45
|
+
const eventListenerMap = {
|
|
46
|
+
[EventUtils.MAP_VIEW_CHANGE_END]: (event: MapEvent) => {
|
|
47
|
+
// Access the Map ViewModel to retrieve its' LookAtData
|
|
48
|
+
// The View model contains all relevant map data like zoom, position or bounding box.
|
|
49
|
+
// Note: Working with the ViewModel directly requires to round zoom values or to exclude
|
|
50
|
+
// other props from position object. Better, use map utils instead.
|
|
51
|
+
const target = event.currentTarget as H.Map;
|
|
52
|
+
const lookAtData = target.getViewModel().getLookAtData();
|
|
53
|
+
|
|
54
|
+
console.log({ lookAtData });
|
|
55
|
+
|
|
56
|
+
// Accessing map utils to retrieve map position, zoom and bounding box.
|
|
57
|
+
// This way, you don't have to deal with here map internals or round zoom values etc.
|
|
58
|
+
const api = mapApiRef.current;
|
|
59
|
+
const mapCenter = api?.utils?.getCenter();
|
|
60
|
+
const mapZoom = api?.utils?.getZoom();
|
|
61
|
+
const mapBoundingBox = api?.utils?.getBounds();
|
|
62
|
+
|
|
63
|
+
console.log({ mapCenter, mapZoom, mapBoundingBox });
|
|
64
|
+
|
|
65
|
+
// Check for changed values to update local state or to perform other actions
|
|
66
|
+
const isEqualZoom = isEqual(zoom, mapZoom);
|
|
67
|
+
const isEqualPosition = isEqual(center.lat, mapCenter?.lat) && isEqual(center.lng, mapCenter?.lng);
|
|
68
|
+
|
|
69
|
+
if (!(isEqualPosition && isEqualZoom)) {
|
|
70
|
+
// ... perform some actions
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<Map
|
|
77
|
+
eventListenerMap={eventListenerMap}
|
|
78
|
+
credentials={UIKIT_DEMO_CREDENTIALS_ARE_NOT_ALLOWED_IN_PROD_ENVIRONMENT}
|
|
79
|
+
// ... other map properties
|
|
80
|
+
>
|
|
81
|
+
{api => {
|
|
82
|
+
mapApiRef.current = api;
|
|
83
|
+
|
|
84
|
+
// if needed, render cluster or marker layer here or return null
|
|
85
|
+
return null;
|
|
86
|
+
}}
|
|
87
|
+
</Map>
|
|
88
|
+
);
|
|
89
|
+
};
|
|
90
|
+
```
|