@rosettadash/web-components 0.1.0 → 0.1.3
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/browser/media.js +461 -39
- package/browser/media.js.map +3 -3
- package/package.json +332 -36
- package/src/domain/i18n/app-language-select/index.d.ts +3 -0
- package/src/domain/i18n/app-language-select/index.js +3 -0
- package/src/domain/i18n/app-language-select/index.js.map +1 -0
- package/src/domain/i18n/app-language-select/parse-locale-options.d.ts +7 -0
- package/src/domain/i18n/app-language-select/parse-locale-options.js +39 -0
- package/src/domain/i18n/app-language-select/parse-locale-options.js.map +1 -0
- package/src/domain/i18n/app-language-select/rd-app-language-select.d.ts +38 -0
- package/src/domain/i18n/app-language-select/rd-app-language-select.js +138 -0
- package/src/domain/i18n/app-language-select/rd-app-language-select.js.map +1 -0
- package/src/domain/i18n/index.d.ts +2 -0
- package/src/domain/i18n/index.js +6 -0
- package/src/domain/i18n/index.js.map +1 -0
- package/src/domain/index.d.ts +6 -0
- package/src/domain/index.js +18 -0
- package/src/domain/index.js.map +1 -0
- package/src/domain/person-invite/index.d.ts +2 -0
- package/src/domain/person-invite/index.js +2 -0
- package/src/domain/person-invite/index.js.map +1 -0
- package/src/domain/person-invite/rd-person-invite.d.ts +17 -0
- package/src/domain/person-invite/rd-person-invite.js +33 -0
- package/src/domain/person-invite/rd-person-invite.js.map +1 -0
- package/src/domain/role-assign/index.d.ts +2 -0
- package/src/domain/role-assign/index.js +2 -0
- package/src/domain/role-assign/index.js.map +1 -0
- package/src/domain/role-assign/rd-role-assign.d.ts +21 -0
- package/src/domain/role-assign/rd-role-assign.js +36 -0
- package/src/domain/role-assign/rd-role-assign.js.map +1 -0
- package/src/domain/role-gate/index.d.ts +2 -0
- package/src/domain/role-gate/index.js +2 -0
- package/src/domain/role-gate/index.js.map +1 -0
- package/src/domain/role-gate/rd-role-gate.d.ts +19 -0
- package/src/domain/role-gate/rd-role-gate.js +31 -0
- package/src/domain/role-gate/rd-role-gate.js.map +1 -0
- package/src/domain/time-preset/index.d.ts +2 -0
- package/src/domain/time-preset/index.js +2 -0
- package/src/domain/time-preset/index.js.map +1 -0
- package/src/domain/time-preset/rd-time-preset.d.ts +23 -0
- package/src/domain/time-preset/rd-time-preset.js +34 -0
- package/src/domain/time-preset/rd-time-preset.js.map +1 -0
- package/src/index.d.ts +5 -5
- package/src/index.js +13 -13
- package/src/index.js.map +1 -1
- package/src/layout/collapsible/index.d.ts +2 -0
- package/src/layout/collapsible/index.js +2 -0
- package/src/layout/collapsible/index.js.map +1 -0
- package/src/layout/collapsible/rd-collapsible.d.ts +21 -0
- package/src/layout/collapsible/rd-collapsible.js +50 -0
- package/src/layout/collapsible/rd-collapsible.js.map +1 -0
- package/src/layout/flex/index.d.ts +2 -0
- package/src/layout/flex/index.js +2 -0
- package/src/layout/flex/index.js.map +1 -0
- package/src/layout/flex/rd-flex-layout.d.ts +17 -0
- package/src/layout/flex/rd-flex-layout.js +24 -0
- package/src/layout/flex/rd-flex-layout.js.map +1 -0
- package/src/layout/grid/index.d.ts +2 -0
- package/src/layout/grid/index.js +2 -0
- package/src/layout/grid/index.js.map +1 -0
- package/src/layout/grid/rd-grid-layout.d.ts +17 -0
- package/src/layout/grid/rd-grid-layout.js +24 -0
- package/src/layout/grid/rd-grid-layout.js.map +1 -0
- package/src/layout/index.d.ts +9 -0
- package/src/layout/index.js +27 -0
- package/src/layout/index.js.map +1 -0
- package/src/layout/modal/index.d.ts +2 -0
- package/src/layout/modal/index.js +2 -0
- package/src/layout/modal/index.js.map +1 -0
- package/src/layout/modal/rd-modal-layout.d.ts +20 -0
- package/src/layout/modal/rd-modal-layout.js +40 -0
- package/src/layout/modal/rd-modal-layout.js.map +1 -0
- package/src/layout/scroll-region/index.d.ts +2 -0
- package/src/layout/scroll-region/index.js +2 -0
- package/src/layout/scroll-region/index.js.map +1 -0
- package/src/layout/scroll-region/rd-scroll-region.d.ts +17 -0
- package/src/layout/scroll-region/rd-scroll-region.js +26 -0
- package/src/layout/scroll-region/rd-scroll-region.js.map +1 -0
- package/src/layout/tabs/index.d.ts +2 -0
- package/src/layout/tabs/index.js +2 -0
- package/src/layout/tabs/index.js.map +1 -0
- package/src/layout/tabs/rd-tabs-layout.d.ts +23 -0
- package/src/layout/tabs/rd-tabs-layout.js +34 -0
- package/src/layout/tabs/rd-tabs-layout.js.map +1 -0
- package/src/lib/element-utils.js +3 -0
- package/src/lib/element-utils.js.map +1 -1
- package/src/lib/rosetta-atom-element.d.ts +23 -0
- package/src/lib/rosetta-atom-element.js +104 -0
- package/src/lib/rosetta-atom-element.js.map +1 -0
- package/src/lib/shadow-base.js +3 -0
- package/src/lib/shadow-base.js.map +1 -1
- package/src/lib/shadow-resources.js +7 -2
- package/src/lib/shadow-resources.js.map +1 -1
- package/src/logic/index.d.ts +2 -0
- package/src/logic/index.js +6 -0
- package/src/logic/index.js.map +1 -0
- package/src/logic/timer/index.d.ts +2 -0
- package/src/logic/timer/index.js +2 -0
- package/src/logic/timer/index.js.map +1 -0
- package/src/logic/timer/rd-timer.d.ts +18 -0
- package/src/logic/timer/rd-timer.js +24 -0
- package/src/logic/timer/rd-timer.js.map +1 -0
- package/src/visual/chart/bar/index.d.ts +2 -0
- package/src/visual/chart/bar/index.js +2 -0
- package/src/visual/chart/bar/index.js.map +1 -0
- package/src/visual/chart/bar/rd-bar-chart.d.ts +21 -0
- package/src/visual/chart/bar/rd-bar-chart.js +83 -0
- package/src/visual/chart/bar/rd-bar-chart.js.map +1 -0
- package/src/visual/chart/line/index.d.ts +2 -0
- package/src/visual/chart/line/index.js +2 -0
- package/src/visual/chart/line/index.js.map +1 -0
- package/src/visual/chart/line/rd-line-chart.d.ts +22 -0
- package/src/visual/chart/line/rd-line-chart.js +105 -0
- package/src/visual/chart/line/rd-line-chart.js.map +1 -0
- package/src/visual/chart/pie/index.d.ts +2 -0
- package/src/visual/chart/pie/index.js +2 -0
- package/src/visual/chart/pie/index.js.map +1 -0
- package/src/visual/chart/pie/rd-pie-chart.d.ts +15 -0
- package/src/visual/chart/pie/rd-pie-chart.js +23 -0
- package/src/visual/chart/pie/rd-pie-chart.js.map +1 -0
- package/src/visual/detail/index.d.ts +2 -0
- package/src/visual/detail/index.js +2 -0
- package/src/visual/detail/index.js.map +1 -0
- package/src/visual/detail/rd-detail-panel.d.ts +16 -0
- package/src/visual/detail/rd-detail-panel.js +24 -0
- package/src/visual/detail/rd-detail-panel.js.map +1 -0
- package/src/visual/display/3d-bar-chart/index.d.ts +2 -0
- package/src/visual/display/3d-bar-chart/index.js +2 -0
- package/src/visual/display/3d-bar-chart/index.js.map +1 -0
- package/src/visual/display/3d-bar-chart/rd-three-bar-chart.d.ts +16 -0
- package/src/visual/display/3d-bar-chart/rd-three-bar-chart.js +24 -0
- package/src/visual/display/3d-bar-chart/rd-three-bar-chart.js.map +1 -0
- package/src/visual/display/3d-geo-globe/globe-view.d.ts +86 -0
- package/src/visual/display/3d-geo-globe/globe-view.js +235 -0
- package/src/visual/display/3d-geo-globe/globe-view.js.map +1 -0
- package/src/visual/display/3d-geo-globe/index.d.ts +3 -0
- package/src/visual/display/3d-geo-globe/index.js +3 -0
- package/src/visual/display/3d-geo-globe/index.js.map +1 -0
- package/src/visual/display/3d-geo-globe/rd-three-geo-globe.d.ts +36 -0
- package/src/visual/display/3d-geo-globe/rd-three-geo-globe.js +330 -0
- package/src/visual/display/3d-geo-globe/rd-three-geo-globe.js.map +1 -0
- package/src/visual/display/3d-gltf-model/index.d.ts +2 -0
- package/src/visual/display/3d-gltf-model/index.js +2 -0
- package/src/visual/display/3d-gltf-model/index.js.map +1 -0
- package/src/visual/display/3d-gltf-model/rd-three-gltf-model.d.ts +16 -0
- package/src/visual/display/3d-gltf-model/rd-three-gltf-model.js +24 -0
- package/src/visual/display/3d-gltf-model/rd-three-gltf-model.js.map +1 -0
- package/src/visual/display/3d-scatter/index.d.ts +2 -0
- package/src/visual/display/3d-scatter/index.js +2 -0
- package/src/visual/display/3d-scatter/index.js.map +1 -0
- package/src/visual/display/3d-scatter/rd-three-scatter-plot.d.ts +16 -0
- package/src/visual/display/3d-scatter/rd-three-scatter-plot.js +24 -0
- package/src/visual/display/3d-scatter/rd-three-scatter-plot.js.map +1 -0
- package/src/visual/display/3d-scene/index.d.ts +2 -0
- package/src/visual/display/3d-scene/index.js +2 -0
- package/src/visual/display/3d-scene/index.js.map +1 -0
- package/src/visual/display/3d-scene/rd-three-scene-point-cloud.d.ts +16 -0
- package/src/visual/display/3d-scene/rd-three-scene-point-cloud.js +24 -0
- package/src/visual/display/3d-scene/rd-three-scene-point-cloud.js.map +1 -0
- package/src/visual/display/geo-map/geo-map-types.d.ts +32 -0
- package/src/visual/display/geo-map/geo-map-types.js +10 -0
- package/src/visual/display/geo-map/geo-map-types.js.map +1 -0
- package/src/visual/display/geo-map/index.d.ts +5 -0
- package/src/visual/display/geo-map/index.js +5 -0
- package/src/visual/display/geo-map/index.js.map +1 -0
- package/src/visual/display/geo-map/parse-center.d.ts +5 -0
- package/src/visual/display/geo-map/parse-center.js +28 -0
- package/src/visual/display/geo-map/parse-center.js.map +1 -0
- package/src/visual/display/geo-map/parse-markers.d.ts +2 -0
- package/src/visual/display/geo-map/parse-markers.js +32 -0
- package/src/visual/display/geo-map/parse-markers.js.map +1 -0
- package/src/visual/display/geo-map/providers/create-adapter.d.ts +2 -0
- package/src/visual/display/geo-map/providers/create-adapter.js +11 -0
- package/src/visual/display/geo-map/providers/create-adapter.js.map +1 -0
- package/src/visual/display/geo-map/providers/google-maps-adapter.d.ts +2 -0
- package/src/visual/display/geo-map/providers/google-maps-adapter.js +63 -0
- package/src/visual/display/geo-map/providers/google-maps-adapter.js.map +1 -0
- package/src/visual/display/geo-map/providers/leaflet-adapter.d.ts +2 -0
- package/src/visual/display/geo-map/providers/leaflet-adapter.js +78 -0
- package/src/visual/display/geo-map/providers/leaflet-adapter.js.map +1 -0
- package/src/visual/display/geo-map/providers/maplibre-adapter.d.ts +2 -0
- package/src/visual/display/geo-map/providers/maplibre-adapter.js +71 -0
- package/src/visual/display/geo-map/providers/maplibre-adapter.js.map +1 -0
- package/src/visual/display/geo-map/providers/provider-utils.d.ts +8 -0
- package/src/visual/display/geo-map/providers/provider-utils.js +28 -0
- package/src/visual/display/geo-map/providers/provider-utils.js.map +1 -0
- package/src/visual/display/geo-map/rd-geo-map.d.ts +48 -0
- package/src/visual/display/geo-map/rd-geo-map.js +219 -0
- package/src/visual/display/geo-map/rd-geo-map.js.map +1 -0
- package/src/visual/display/index.d.ts +7 -0
- package/src/visual/display/index.js +21 -0
- package/src/visual/display/index.js.map +1 -0
- package/src/visual/index.d.ts +34 -0
- package/src/visual/index.js +102 -0
- package/src/visual/index.js.map +1 -0
- package/src/visual/input/checkbox/index.d.ts +2 -0
- package/src/visual/input/checkbox/index.js +2 -0
- package/src/visual/input/checkbox/index.js.map +1 -0
- package/src/visual/input/checkbox/rd-checkbox-input.d.ts +19 -0
- package/src/visual/input/checkbox/rd-checkbox-input.js +32 -0
- package/src/visual/input/checkbox/rd-checkbox-input.js.map +1 -0
- package/src/visual/input/date-range/index.d.ts +2 -0
- package/src/visual/input/date-range/index.js +2 -0
- package/src/visual/input/date-range/index.js.map +1 -0
- package/src/visual/input/date-range/rd-date-range-filter.d.ts +24 -0
- package/src/visual/input/date-range/rd-date-range-filter.js +42 -0
- package/src/visual/input/date-range/rd-date-range-filter.js.map +1 -0
- package/src/visual/input/number/index.d.ts +2 -0
- package/src/visual/input/number/index.js +2 -0
- package/src/visual/input/number/index.js.map +1 -0
- package/src/visual/input/number/rd-number-input.d.ts +22 -0
- package/src/visual/input/number/rd-number-input.js +36 -0
- package/src/visual/input/number/rd-number-input.js.map +1 -0
- package/src/visual/input/select/index.d.ts +2 -0
- package/src/visual/input/select/index.js +2 -0
- package/src/visual/input/select/index.js.map +1 -0
- package/src/visual/input/select/rd-select-input.d.ts +24 -0
- package/src/visual/input/select/rd-select-input.js +37 -0
- package/src/visual/input/select/rd-select-input.js.map +1 -0
- package/src/visual/input/text/index.d.ts +2 -0
- package/src/visual/input/text/index.js +2 -0
- package/src/visual/input/text/index.js.map +1 -0
- package/src/visual/input/text/rd-text-input.d.ts +21 -0
- package/src/visual/input/text/rd-text-input.js +35 -0
- package/src/visual/input/text/rd-text-input.js.map +1 -0
- package/src/visual/input/textarea/index.d.ts +2 -0
- package/src/visual/input/textarea/index.js +2 -0
- package/src/visual/input/textarea/index.js.map +1 -0
- package/src/visual/input/textarea/rd-textarea-input.d.ts +20 -0
- package/src/visual/input/textarea/rd-textarea-input.js +34 -0
- package/src/visual/input/textarea/rd-textarea-input.js.map +1 -0
- package/src/visual/kpi/index.d.ts +2 -0
- package/src/visual/kpi/index.js +2 -0
- package/src/visual/kpi/index.js.map +1 -0
- package/src/visual/kpi/rd-kpi-card.d.ts +18 -0
- package/src/visual/kpi/rd-kpi-card.js +26 -0
- package/src/visual/kpi/rd-kpi-card.js.map +1 -0
- package/src/visual/media/index.d.ts +2 -0
- package/src/visual/media/index.js +6 -0
- package/src/visual/media/index.js.map +1 -1
- package/src/visual/media/live-capture/index.d.ts +2 -0
- package/src/visual/media/live-capture/index.js +2 -0
- package/src/visual/media/live-capture/index.js.map +1 -0
- package/src/visual/media/live-capture/rd-live-capture.d.ts +16 -0
- package/src/visual/media/live-capture/rd-live-capture.js +23 -0
- package/src/visual/media/live-capture/rd-live-capture.js.map +1 -0
- package/src/visual/media/video-source/rd-video-source.d.ts +5 -0
- package/src/visual/media/video-source/rd-video-source.js +101 -18
- package/src/visual/media/video-source/rd-video-source.js.map +1 -1
- package/src/visual/media/youtube-embed/index.d.ts +3 -0
- package/src/visual/media/youtube-embed/index.js +3 -0
- package/src/visual/media/youtube-embed/index.js.map +1 -0
- package/src/visual/media/youtube-embed/parse-youtube-id.d.ts +10 -0
- package/src/visual/media/youtube-embed/parse-youtube-id.js +56 -0
- package/src/visual/media/youtube-embed/parse-youtube-id.js.map +1 -0
- package/src/visual/media/youtube-embed/rd-youtube-embed.d.ts +35 -0
- package/src/visual/media/youtube-embed/rd-youtube-embed.js +121 -0
- package/src/visual/media/youtube-embed/rd-youtube-embed.js.map +1 -0
- package/src/visual/news/article-detail/index.d.ts +2 -0
- package/src/visual/news/article-detail/index.js +2 -0
- package/src/visual/news/article-detail/index.js.map +1 -0
- package/src/visual/news/article-detail/rd-news-article-detail.d.ts +16 -0
- package/src/visual/news/article-detail/rd-news-article-detail.js +24 -0
- package/src/visual/news/article-detail/rd-news-article-detail.js.map +1 -0
- package/src/visual/news/language-select/index.d.ts +2 -0
- package/src/visual/news/language-select/index.js +2 -0
- package/src/visual/news/language-select/index.js.map +1 -0
- package/src/visual/news/language-select/rd-news-language-select.d.ts +23 -0
- package/src/visual/news/language-select/rd-news-language-select.js +37 -0
- package/src/visual/news/language-select/rd-news-language-select.js.map +1 -0
- package/src/visual/news/region-select/index.d.ts +2 -0
- package/src/visual/news/region-select/index.js +2 -0
- package/src/visual/news/region-select/index.js.map +1 -0
- package/src/visual/news/region-select/rd-news-region-select.d.ts +23 -0
- package/src/visual/news/region-select/rd-news-region-select.js +37 -0
- package/src/visual/news/region-select/rd-news-region-select.js.map +1 -0
- package/src/visual/news/results-table/index.d.ts +2 -0
- package/src/visual/news/results-table/index.js +2 -0
- package/src/visual/news/results-table/index.js.map +1 -0
- package/src/visual/news/results-table/rd-news-results-table.d.ts +16 -0
- package/src/visual/news/results-table/rd-news-results-table.js +33 -0
- package/src/visual/news/results-table/rd-news-results-table.js.map +1 -0
- package/src/visual/news/search-box/index.d.ts +2 -0
- package/src/visual/news/search-box/index.js +2 -0
- package/src/visual/news/search-box/index.js.map +1 -0
- package/src/visual/news/search-box/rd-news-search-box.d.ts +19 -0
- package/src/visual/news/search-box/rd-news-search-box.js +42 -0
- package/src/visual/news/search-box/rd-news-search-box.js.map +1 -0
- package/src/visual/news/type-select/index.d.ts +2 -0
- package/src/visual/news/type-select/index.js +2 -0
- package/src/visual/news/type-select/index.js.map +1 -0
- package/src/visual/news/type-select/rd-news-type-select.d.ts +23 -0
- package/src/visual/news/type-select/rd-news-type-select.js +37 -0
- package/src/visual/news/type-select/rd-news-type-select.js.map +1 -0
- package/src/visual/plugin/metric-chip/index.d.ts +2 -0
- package/src/visual/plugin/metric-chip/index.js +2 -0
- package/src/visual/plugin/metric-chip/index.js.map +1 -0
- package/src/visual/plugin/metric-chip/rd-metric-chip.d.ts +16 -0
- package/src/visual/plugin/metric-chip/rd-metric-chip.js +23 -0
- package/src/visual/plugin/metric-chip/rd-metric-chip.js.map +1 -0
- package/src/visual/plugin/status-badge/index.d.ts +2 -0
- package/src/visual/plugin/status-badge/index.js +2 -0
- package/src/visual/plugin/status-badge/index.js.map +1 -0
- package/src/visual/plugin/status-badge/rd-status-badge.d.ts +16 -0
- package/src/visual/plugin/status-badge/rd-status-badge.js +19 -0
- package/src/visual/plugin/status-badge/rd-status-badge.js.map +1 -0
- package/src/visual/skeleton/index.d.ts +2 -0
- package/src/visual/skeleton/index.js +2 -0
- package/src/visual/skeleton/index.js.map +1 -0
- package/src/visual/skeleton/rd-loading-skeleton.d.ts +15 -0
- package/src/visual/skeleton/rd-loading-skeleton.js +20 -0
- package/src/visual/skeleton/rd-loading-skeleton.js.map +1 -0
- package/src/visual/svg/icon/index.d.ts +2 -0
- package/src/visual/svg/icon/index.js +2 -0
- package/src/visual/svg/icon/index.js.map +1 -0
- package/src/visual/svg/icon/rd-svg-icon.d.ts +18 -0
- package/src/visual/svg/icon/rd-svg-icon.js +20 -0
- package/src/visual/svg/icon/rd-svg-icon.js.map +1 -0
- package/src/visual/svg/inline/index.d.ts +2 -0
- package/src/visual/svg/inline/index.js +2 -0
- package/src/visual/svg/inline/index.js.map +1 -0
- package/src/visual/svg/inline/rd-svg-inline.d.ts +17 -0
- package/src/visual/svg/inline/rd-svg-inline.js +20 -0
- package/src/visual/svg/inline/rd-svg-inline.js.map +1 -0
- package/src/visual/table/index.d.ts +2 -0
- package/src/visual/table/index.js +2 -0
- package/src/visual/table/index.js.map +1 -0
- package/src/visual/table/rd-data-table.d.ts +26 -0
- package/src/visual/table/rd-data-table.js +46 -0
- package/src/visual/table/rd-data-table.js.map +1 -0
- package/src/visual/wasm/media/index.d.ts +1 -0
- package/src/visual/wasm/media/index.js +2 -0
- package/src/visual/wasm/media/index.js.map +1 -0
- package/src/visual/wasm/module/index.d.ts +2 -0
- package/src/visual/wasm/module/index.js +2 -0
- package/src/visual/wasm/module/index.js.map +1 -0
- package/src/visual/wasm/module/rd-wasm-module.d.ts +16 -0
- package/src/visual/wasm/module/rd-wasm-module.js +24 -0
- package/src/visual/wasm/module/rd-wasm-module.js.map +1 -0
- package/src/visual/wasm/worker-host/index.d.ts +2 -0
- package/src/visual/wasm/worker-host/index.js +2 -0
- package/src/visual/wasm/worker-host/index.js.map +1 -0
- package/src/visual/wasm/worker-host/rd-wasm-worker-host.d.ts +16 -0
- package/src/visual/wasm/worker-host/rd-wasm-worker-host.js +24 -0
- package/src/visual/wasm/worker-host/rd-wasm-worker-host.js.map +1 -0
- package/src/wasm/wasm-media/rd-wasm-media.d.ts +10 -0
- package/src/wasm/wasm-media/rd-wasm-media.js +182 -41
- package/src/wasm/wasm-media/rd-wasm-media.js.map +1 -1
- package/styles/runtime.css +1609 -0
- package/styles/styles.css +1 -0
- package/styles/tokens.css +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-center.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/display/geo-map/parse-center.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAAC,GAAkB,EAAE,WAAuB,oBAAoB;IAI/F,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAiC,CAAC;YACjD,OAAO;gBACL,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;gBAC5C,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;aAC7C,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;gBACvC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;aACxC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { readNumber, readString } from '../../../lib/element-utils.js';
|
|
2
|
+
export function parseGeoMapMarkers(raw) {
|
|
3
|
+
if (!raw) {
|
|
4
|
+
return [];
|
|
5
|
+
}
|
|
6
|
+
try {
|
|
7
|
+
const parsed = JSON.parse(raw);
|
|
8
|
+
if (!Array.isArray(parsed)) {
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
return parsed
|
|
12
|
+
.map((entry) => {
|
|
13
|
+
if (!entry || typeof entry !== 'object') {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const record = entry;
|
|
17
|
+
const id = readString(record['id'], '');
|
|
18
|
+
const lat = readNumber(record['lat'], Number.NaN);
|
|
19
|
+
const lng = readNumber(record['lng'], Number.NaN);
|
|
20
|
+
if (!id || !Number.isFinite(lat) || !Number.isFinite(lng)) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
const label = readString(record['label'], '');
|
|
24
|
+
return label ? { id, lat, lng, label } : { id, lat, lng };
|
|
25
|
+
})
|
|
26
|
+
.filter((item) => item !== null);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=parse-markers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-markers.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/display/geo-map/parse-markers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGvE,MAAM,UAAU,kBAAkB,CAAC,GAAkB;IACnD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,KAAK,EAAuB,EAAE;YAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAAG,KAAgC,CAAC;YAChD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC5D,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAwB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export async function createGeoMapAdapter(options) {
|
|
2
|
+
switch (options.provider) {
|
|
3
|
+
case 'leaflet':
|
|
4
|
+
return (await import('./leaflet-adapter.js')).createLeafletAdapter(options);
|
|
5
|
+
case 'google-maps':
|
|
6
|
+
return (await import('./google-maps-adapter.js')).createGoogleMapsAdapter(options);
|
|
7
|
+
default:
|
|
8
|
+
return (await import('./maplibre-adapter.js')).createMaplibreAdapter(options);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=create-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-adapter.js","sourceRoot":"","sources":["../../../../../../../../packages/web-components/src/visual/display/geo-map/providers/create-adapter.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA6B;IAE7B,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9E,KAAK,aAAa;YAChB,OAAO,CAAC,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrF;YACE,OAAO,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { createNoopAdapter } from './provider-utils.js';
|
|
2
|
+
export async function createGoogleMapsAdapter(options) {
|
|
3
|
+
if (!options.apiKey) {
|
|
4
|
+
options.onError('Google Maps requires an api-key attribute.');
|
|
5
|
+
return createNoopAdapter();
|
|
6
|
+
}
|
|
7
|
+
let mapsLibrary;
|
|
8
|
+
let markerLibrary;
|
|
9
|
+
try {
|
|
10
|
+
const { importLibrary, setOptions } = await import('@googlemaps/js-api-loader');
|
|
11
|
+
setOptions({ key: options.apiKey, v: 'weekly' });
|
|
12
|
+
mapsLibrary = (await importLibrary('maps'));
|
|
13
|
+
markerLibrary = (await importLibrary('marker'));
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
options.onError('@googlemaps/js-api-loader is not installed or failed to load. Add it as a dependency in your app.');
|
|
17
|
+
return createNoopAdapter();
|
|
18
|
+
}
|
|
19
|
+
const map = new mapsLibrary.Map(options.container, {
|
|
20
|
+
center: { lat: options.view.lat, lng: options.view.lng },
|
|
21
|
+
zoom: options.view.zoom,
|
|
22
|
+
mapTypeControl: false,
|
|
23
|
+
streetViewControl: false,
|
|
24
|
+
fullscreenControl: true,
|
|
25
|
+
});
|
|
26
|
+
const markerHandles = [];
|
|
27
|
+
let markerData = options.markers;
|
|
28
|
+
let selectedId = options.selectedId;
|
|
29
|
+
const renderMarkers = () => {
|
|
30
|
+
for (const handle of markerHandles.splice(0)) {
|
|
31
|
+
handle.map = null;
|
|
32
|
+
}
|
|
33
|
+
for (const marker of markerData) {
|
|
34
|
+
const handle = new markerLibrary.Marker({
|
|
35
|
+
map,
|
|
36
|
+
position: { lat: marker.lat, lng: marker.lng },
|
|
37
|
+
title: marker.label ?? marker.id,
|
|
38
|
+
label: marker.id === selectedId ? '★' : undefined,
|
|
39
|
+
});
|
|
40
|
+
handle.addListener('click', () => options.onMarkerSelect(marker));
|
|
41
|
+
markerHandles.push(handle);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
renderMarkers();
|
|
45
|
+
return {
|
|
46
|
+
destroy() {
|
|
47
|
+
for (const handle of markerHandles) {
|
|
48
|
+
handle.map = null;
|
|
49
|
+
}
|
|
50
|
+
options.container.replaceChildren();
|
|
51
|
+
},
|
|
52
|
+
setMarkers(markers, nextSelectedId) {
|
|
53
|
+
markerData = markers;
|
|
54
|
+
selectedId = nextSelectedId;
|
|
55
|
+
renderMarkers();
|
|
56
|
+
},
|
|
57
|
+
setView(view) {
|
|
58
|
+
map.setCenter({ lat: view.lat, lng: view.lng });
|
|
59
|
+
map.setZoom(view.zoom);
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=google-maps-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-maps-adapter.js","sourceRoot":"","sources":["../../../../../../../../packages/web-components/src/visual/display/geo-map/providers/google-maps-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { DEFAULT_LEAFLET_TILE_URL } from '../geo-map-types.js';
|
|
2
|
+
import { createNoopAdapter, injectStylesheet, PROVIDER_STYLESHEETS } from './provider-utils.js';
|
|
3
|
+
export async function createLeafletAdapter(options) {
|
|
4
|
+
const shadowRoot = options.container.getRootNode();
|
|
5
|
+
if (!(shadowRoot instanceof ShadowRoot)) {
|
|
6
|
+
options.onError('Geo map container must live inside a shadow root.');
|
|
7
|
+
return createNoopAdapter();
|
|
8
|
+
}
|
|
9
|
+
let L;
|
|
10
|
+
try {
|
|
11
|
+
L = (await import('leaflet')).default;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
options.onError('leaflet is not installed. Add it as a dependency in your app.');
|
|
15
|
+
return createNoopAdapter();
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
await injectStylesheet(shadowRoot, 'rd-geo-map-leaflet-css', PROVIDER_STYLESHEETS.leaflet);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
options.onError('Failed to load Leaflet stylesheet.');
|
|
22
|
+
return createNoopAdapter();
|
|
23
|
+
}
|
|
24
|
+
const container = options.container;
|
|
25
|
+
if (container._leaflet_id != null) {
|
|
26
|
+
container.replaceChildren();
|
|
27
|
+
delete container._leaflet_id;
|
|
28
|
+
}
|
|
29
|
+
const map = L.map(container, {
|
|
30
|
+
zoomControl: true,
|
|
31
|
+
attributionControl: true,
|
|
32
|
+
}).setView([options.view.lat, options.view.lng], options.view.zoom);
|
|
33
|
+
const tileLayer = L.tileLayer(options.tileUrl || DEFAULT_LEAFLET_TILE_URL, {
|
|
34
|
+
maxZoom: 19,
|
|
35
|
+
attribution: '© OpenStreetMap contributors',
|
|
36
|
+
});
|
|
37
|
+
tileLayer.addTo(map);
|
|
38
|
+
const markerLayers = [];
|
|
39
|
+
let markerData = options.markers;
|
|
40
|
+
let selectedId = options.selectedId;
|
|
41
|
+
const renderMarkers = () => {
|
|
42
|
+
for (const layer of markerLayers.splice(0)) {
|
|
43
|
+
layer.remove();
|
|
44
|
+
}
|
|
45
|
+
for (const marker of markerData) {
|
|
46
|
+
const layer = L.circleMarker([marker.lat, marker.lng], {
|
|
47
|
+
radius: marker.id === selectedId ? 10 : 8,
|
|
48
|
+
color: marker.id === selectedId ? '#2563eb' : '#dc2626',
|
|
49
|
+
fillColor: marker.id === selectedId ? '#2563eb' : '#dc2626',
|
|
50
|
+
fillOpacity: 0.85,
|
|
51
|
+
weight: 2,
|
|
52
|
+
});
|
|
53
|
+
layer.on('click', () => options.onMarkerSelect(marker));
|
|
54
|
+
layer.addTo(map);
|
|
55
|
+
markerLayers.push(layer);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
renderMarkers();
|
|
59
|
+
requestAnimationFrame(() => map.invalidateSize());
|
|
60
|
+
return {
|
|
61
|
+
destroy() {
|
|
62
|
+
for (const layer of markerLayers) {
|
|
63
|
+
layer.remove();
|
|
64
|
+
}
|
|
65
|
+
map.remove();
|
|
66
|
+
delete container._leaflet_id;
|
|
67
|
+
},
|
|
68
|
+
setMarkers(markers, nextSelectedId) {
|
|
69
|
+
markerData = markers;
|
|
70
|
+
selectedId = nextSelectedId;
|
|
71
|
+
renderMarkers();
|
|
72
|
+
},
|
|
73
|
+
setView(view) {
|
|
74
|
+
map.setView([view.lat, view.lng], view.zoom);
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=leaflet-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leaflet-adapter.js","sourceRoot":"","sources":["../../../../../../../../packages/web-components/src/visual/display/geo-map/providers/leaflet-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { DEFAULT_MAPLIBRE_STYLE } from '../geo-map-types.js';
|
|
2
|
+
import { createNoopAdapter, injectStylesheet, PROVIDER_STYLESHEETS } from './provider-utils.js';
|
|
3
|
+
export async function createMaplibreAdapter(options) {
|
|
4
|
+
const shadowRoot = options.container.getRootNode();
|
|
5
|
+
if (!(shadowRoot instanceof ShadowRoot)) {
|
|
6
|
+
options.onError('Geo map container must live inside a shadow root.');
|
|
7
|
+
return createNoopAdapter();
|
|
8
|
+
}
|
|
9
|
+
let maplibregl;
|
|
10
|
+
try {
|
|
11
|
+
const module = await import('maplibre-gl');
|
|
12
|
+
maplibregl = module;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
options.onError('maplibre-gl is not installed. Add it as a dependency in your app.');
|
|
16
|
+
return createNoopAdapter();
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
await injectStylesheet(shadowRoot, 'rd-geo-map-maplibre-css', PROVIDER_STYLESHEETS.maplibre);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
options.onError('Failed to load MapLibre stylesheet.');
|
|
23
|
+
return createNoopAdapter();
|
|
24
|
+
}
|
|
25
|
+
const map = new maplibregl.Map({
|
|
26
|
+
container: options.container,
|
|
27
|
+
style: options.tileUrl || DEFAULT_MAPLIBRE_STYLE,
|
|
28
|
+
center: [options.view.lng, options.view.lat],
|
|
29
|
+
zoom: options.view.zoom,
|
|
30
|
+
attributionControl: true,
|
|
31
|
+
});
|
|
32
|
+
const markerHandles = [];
|
|
33
|
+
let markerData = options.markers;
|
|
34
|
+
let selectedId = options.selectedId;
|
|
35
|
+
const renderMarkers = () => {
|
|
36
|
+
for (const handle of markerHandles.splice(0)) {
|
|
37
|
+
handle.remove();
|
|
38
|
+
}
|
|
39
|
+
for (const marker of markerData) {
|
|
40
|
+
const handle = new maplibregl.Marker({
|
|
41
|
+
color: marker.id === selectedId ? '#2563eb' : '#dc2626',
|
|
42
|
+
})
|
|
43
|
+
.setLngLat([marker.lng, marker.lat])
|
|
44
|
+
.addTo(map);
|
|
45
|
+
handle.getElement().title = marker.label ?? marker.id;
|
|
46
|
+
handle.getElement().addEventListener('click', (event) => {
|
|
47
|
+
event.stopPropagation();
|
|
48
|
+
options.onMarkerSelect(marker);
|
|
49
|
+
});
|
|
50
|
+
markerHandles.push(handle);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
map.on('load', () => renderMarkers());
|
|
54
|
+
return {
|
|
55
|
+
destroy() {
|
|
56
|
+
for (const handle of markerHandles) {
|
|
57
|
+
handle.remove();
|
|
58
|
+
}
|
|
59
|
+
map.remove();
|
|
60
|
+
},
|
|
61
|
+
setMarkers(markers, nextSelectedId) {
|
|
62
|
+
markerData = markers;
|
|
63
|
+
selectedId = nextSelectedId;
|
|
64
|
+
renderMarkers();
|
|
65
|
+
},
|
|
66
|
+
setView(view) {
|
|
67
|
+
map.flyTo({ center: [view.lng, view.lat], zoom: view.zoom });
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=maplibre-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maplibre-adapter.js","sourceRoot":"","sources":["../../../../../../../../packages/web-components/src/visual/display/geo-map/providers/maplibre-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GeoMapAdapter } from '../geo-map-types.js';
|
|
2
|
+
/** Inject a provider stylesheet into the shadow root (once per id). */
|
|
3
|
+
export declare function injectStylesheet(root: ShadowRoot, id: string, href: string): Promise<void>;
|
|
4
|
+
export declare const PROVIDER_STYLESHEETS: {
|
|
5
|
+
readonly maplibre: "https://unpkg.com/maplibre-gl@6.3.0/dist/maplibre-gl.css";
|
|
6
|
+
readonly leaflet: "https://unpkg.com/leaflet@1.9.4/dist/leaflet.css";
|
|
7
|
+
};
|
|
8
|
+
export declare function createNoopAdapter(): GeoMapAdapter;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Inject a provider stylesheet into the shadow root (once per id). */
|
|
2
|
+
export async function injectStylesheet(root, id, href) {
|
|
3
|
+
if (root.querySelector(`#${id}`)) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
await new Promise((resolve, reject) => {
|
|
7
|
+
const link = document.createElement('link');
|
|
8
|
+
link.id = id;
|
|
9
|
+
link.rel = 'stylesheet';
|
|
10
|
+
link.href = href;
|
|
11
|
+
link.onload = () => resolve();
|
|
12
|
+
link.onerror = () => reject(new Error(`Failed to load stylesheet: ${href}`));
|
|
13
|
+
root.appendChild(link);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export const PROVIDER_STYLESHEETS = {
|
|
17
|
+
maplibre: 'https://unpkg.com/maplibre-gl@6.3.0/dist/maplibre-gl.css',
|
|
18
|
+
leaflet: 'https://unpkg.com/leaflet@1.9.4/dist/leaflet.css',
|
|
19
|
+
};
|
|
20
|
+
const NOOP_GEO_MAP_ADAPTER = {
|
|
21
|
+
destroy: () => undefined,
|
|
22
|
+
setMarkers: () => undefined,
|
|
23
|
+
setView: () => undefined,
|
|
24
|
+
};
|
|
25
|
+
export function createNoopAdapter() {
|
|
26
|
+
return NOOP_GEO_MAP_ADAPTER;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=provider-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-utils.js","sourceRoot":"","sources":["../../../../../../../../packages/web-components/src/visual/display/geo-map/providers/provider-utils.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAgB,EAChB,EAAU,EACV,IAAY;IAEZ,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,0DAA0D;IACpE,OAAO,EAAE,kDAAkD;CACnD,CAAC;AAEX,MAAM,oBAAoB,GAAkB;IAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;IACxB,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;IAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;CACzB,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type GeoMapMarker, type GeoMapProvider } from './geo-map-types.js';
|
|
2
|
+
export declare const DB_GEO_MAP_TAG = "rd-geo-map";
|
|
3
|
+
/** Public props contract for visual/display/geo-map (all runtimes share this shape). */
|
|
4
|
+
export interface GeoMapProps {
|
|
5
|
+
provider?: GeoMapProvider;
|
|
6
|
+
tileUrl?: string;
|
|
7
|
+
apiKey?: string;
|
|
8
|
+
center?: string;
|
|
9
|
+
zoom?: number;
|
|
10
|
+
markers?: GeoMapMarker[];
|
|
11
|
+
selectedId?: string;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export type { GeoMapMarker, GeoMapProvider };
|
|
15
|
+
export declare class RdGeoMapElement extends HTMLElement {
|
|
16
|
+
static readonly tagName = "rd-geo-map";
|
|
17
|
+
private adapter;
|
|
18
|
+
private markersValue;
|
|
19
|
+
private resourcesReady;
|
|
20
|
+
private mapInit;
|
|
21
|
+
static get observedAttributes(): string[];
|
|
22
|
+
connectedCallback(): void;
|
|
23
|
+
disconnectedCallback(): void;
|
|
24
|
+
attributeChangedCallback(name: string): void;
|
|
25
|
+
setProperty(name: string, value: unknown): void;
|
|
26
|
+
whenReady(): Promise<void>;
|
|
27
|
+
whenMapReady(): Promise<void>;
|
|
28
|
+
get provider(): GeoMapProvider;
|
|
29
|
+
set provider(value: GeoMapProvider);
|
|
30
|
+
get tileUrl(): string;
|
|
31
|
+
get apiKey(): string;
|
|
32
|
+
get center(): string;
|
|
33
|
+
get zoom(): number;
|
|
34
|
+
get markers(): GeoMapMarker[];
|
|
35
|
+
set markers(value: GeoMapMarker[]);
|
|
36
|
+
get selectedId(): string;
|
|
37
|
+
set selectedId(value: string);
|
|
38
|
+
private syncMarkersFromAttribute;
|
|
39
|
+
private resolveView;
|
|
40
|
+
private mountShadow;
|
|
41
|
+
private showError;
|
|
42
|
+
private clearError;
|
|
43
|
+
private handleMarkerSelect;
|
|
44
|
+
private ensureMap;
|
|
45
|
+
private initMap;
|
|
46
|
+
private syncMapState;
|
|
47
|
+
}
|
|
48
|
+
export declare function registerRdGeoMap(): void;
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { defineRosettaElement, readNumber, readString } from '../../../lib/element-utils.js';
|
|
2
|
+
import { applyShadowMount, ensureShadowBase, loadShadowPairForTag } from '../../../lib/shadow-base.js';
|
|
3
|
+
import { createGeoMapAdapter } from './providers/create-adapter.js';
|
|
4
|
+
import { parseGeoMapCenter } from './parse-center.js';
|
|
5
|
+
import { parseGeoMapMarkers } from './parse-markers.js';
|
|
6
|
+
import { DEFAULT_GEO_MAP_VIEW, normalizeGeoMapProvider, } from './geo-map-types.js';
|
|
7
|
+
export const DB_GEO_MAP_TAG = 'rd-geo-map';
|
|
8
|
+
export class RdGeoMapElement extends HTMLElement {
|
|
9
|
+
static tagName = DB_GEO_MAP_TAG;
|
|
10
|
+
adapter = null;
|
|
11
|
+
markersValue = [];
|
|
12
|
+
resourcesReady = null;
|
|
13
|
+
mapInit = null;
|
|
14
|
+
static get observedAttributes() {
|
|
15
|
+
return [
|
|
16
|
+
'provider',
|
|
17
|
+
'tile-url',
|
|
18
|
+
'api-key',
|
|
19
|
+
'center',
|
|
20
|
+
'zoom',
|
|
21
|
+
'markers',
|
|
22
|
+
'selected-id',
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
connectedCallback() {
|
|
26
|
+
if (!this.shadowRoot) {
|
|
27
|
+
this.attachShadow({ mode: 'open' });
|
|
28
|
+
}
|
|
29
|
+
this.syncMarkersFromAttribute();
|
|
30
|
+
this.resourcesReady = this.mountShadow();
|
|
31
|
+
void this.resourcesReady.then(() => this.ensureMap());
|
|
32
|
+
}
|
|
33
|
+
disconnectedCallback() {
|
|
34
|
+
this.adapter?.destroy();
|
|
35
|
+
this.adapter = null;
|
|
36
|
+
this.mapInit = null;
|
|
37
|
+
}
|
|
38
|
+
attributeChangedCallback(name) {
|
|
39
|
+
if (name === 'markers') {
|
|
40
|
+
this.syncMarkersFromAttribute();
|
|
41
|
+
}
|
|
42
|
+
if (this.shadowRoot && this.resourcesReady) {
|
|
43
|
+
void this.resourcesReady.then(() => this.syncMapState(name));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
setProperty(name, value) {
|
|
47
|
+
this[name] = value;
|
|
48
|
+
if (name === 'markers' && Array.isArray(value)) {
|
|
49
|
+
this.markersValue = value;
|
|
50
|
+
this.setAttribute('markers', JSON.stringify(this.markersValue));
|
|
51
|
+
}
|
|
52
|
+
if (this.resourcesReady) {
|
|
53
|
+
void this.resourcesReady.then(() => this.syncMapState(name));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
whenReady() {
|
|
57
|
+
return this.resourcesReady ?? Promise.resolve();
|
|
58
|
+
}
|
|
59
|
+
whenMapReady() {
|
|
60
|
+
if (this.mapInit) {
|
|
61
|
+
return this.mapInit;
|
|
62
|
+
}
|
|
63
|
+
if (this.resourcesReady) {
|
|
64
|
+
return this.resourcesReady.then(async () => {
|
|
65
|
+
await this.ensureMap();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return Promise.resolve();
|
|
69
|
+
}
|
|
70
|
+
get provider() {
|
|
71
|
+
return normalizeGeoMapProvider(this.getAttribute('provider'));
|
|
72
|
+
}
|
|
73
|
+
set provider(value) {
|
|
74
|
+
this.setAttribute('provider', value);
|
|
75
|
+
}
|
|
76
|
+
get tileUrl() {
|
|
77
|
+
return readString(this.getAttribute('tile-url'), '');
|
|
78
|
+
}
|
|
79
|
+
get apiKey() {
|
|
80
|
+
return readString(this.getAttribute('api-key'), '');
|
|
81
|
+
}
|
|
82
|
+
get center() {
|
|
83
|
+
return readString(this.getAttribute('center'), '');
|
|
84
|
+
}
|
|
85
|
+
get zoom() {
|
|
86
|
+
return readNumber(this.getAttribute('zoom'), DEFAULT_GEO_MAP_VIEW.zoom);
|
|
87
|
+
}
|
|
88
|
+
get markers() {
|
|
89
|
+
return this.markersValue;
|
|
90
|
+
}
|
|
91
|
+
set markers(value) {
|
|
92
|
+
this.markersValue = Array.isArray(value) ? value : [];
|
|
93
|
+
this.setAttribute('markers', JSON.stringify(this.markersValue));
|
|
94
|
+
}
|
|
95
|
+
get selectedId() {
|
|
96
|
+
return readString(this.getAttribute('selected-id'), '');
|
|
97
|
+
}
|
|
98
|
+
set selectedId(value) {
|
|
99
|
+
if (value) {
|
|
100
|
+
this.setAttribute('selected-id', value);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.removeAttribute('selected-id');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
syncMarkersFromAttribute() {
|
|
107
|
+
this.markersValue = parseGeoMapMarkers(this.getAttribute('markers'));
|
|
108
|
+
}
|
|
109
|
+
resolveView() {
|
|
110
|
+
const center = parseGeoMapCenter(this.center);
|
|
111
|
+
return {
|
|
112
|
+
lat: center.lat,
|
|
113
|
+
lng: center.lng,
|
|
114
|
+
zoom: this.zoom,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
async mountShadow() {
|
|
118
|
+
const root = this.shadowRoot;
|
|
119
|
+
if (!root || root.querySelector('[data-ref="canvas"]')) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const pair = await loadShadowPairForTag(DB_GEO_MAP_TAG, './rd-geo-map.html', './rd-geo-map.css');
|
|
123
|
+
applyShadowMount(root, pair);
|
|
124
|
+
}
|
|
125
|
+
showError(message) {
|
|
126
|
+
const root = this.shadowRoot;
|
|
127
|
+
if (!root) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const error = root.querySelector('[data-ref="error"]');
|
|
131
|
+
const canvas = root.querySelector('[data-ref="canvas"]');
|
|
132
|
+
if (!error || !canvas) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
error.textContent = message;
|
|
136
|
+
error.hidden = false;
|
|
137
|
+
canvas.hidden = true;
|
|
138
|
+
}
|
|
139
|
+
clearError() {
|
|
140
|
+
const root = this.shadowRoot;
|
|
141
|
+
if (!root) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const error = root.querySelector('[data-ref="error"]');
|
|
145
|
+
const canvas = root.querySelector('[data-ref="canvas"]');
|
|
146
|
+
if (!error || !canvas) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
error.textContent = '';
|
|
150
|
+
error.hidden = true;
|
|
151
|
+
canvas.hidden = false;
|
|
152
|
+
}
|
|
153
|
+
handleMarkerSelect(marker) {
|
|
154
|
+
this.selectedId = marker.id;
|
|
155
|
+
this.adapter?.setMarkers(this.markersValue, marker.id);
|
|
156
|
+
this.dispatchEvent(new CustomEvent('marker-select', {
|
|
157
|
+
detail: { id: marker.id, lat: marker.lat, lng: marker.lng },
|
|
158
|
+
bubbles: true,
|
|
159
|
+
composed: true,
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
async ensureMap(force = false) {
|
|
163
|
+
if (this.mapInit && !force) {
|
|
164
|
+
await this.mapInit;
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
this.mapInit = this.initMap(force);
|
|
168
|
+
await this.mapInit;
|
|
169
|
+
}
|
|
170
|
+
async initMap(force) {
|
|
171
|
+
const root = this.shadowRoot;
|
|
172
|
+
const canvas = root?.querySelector('[data-ref="canvas"]');
|
|
173
|
+
if (!canvas) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (force) {
|
|
177
|
+
this.adapter?.destroy();
|
|
178
|
+
this.adapter = null;
|
|
179
|
+
canvas.replaceChildren();
|
|
180
|
+
delete canvas._leaflet_id;
|
|
181
|
+
}
|
|
182
|
+
this.clearError();
|
|
183
|
+
this.adapter = await createGeoMapAdapter({
|
|
184
|
+
container: canvas,
|
|
185
|
+
provider: this.provider,
|
|
186
|
+
view: this.resolveView(),
|
|
187
|
+
markers: this.markersValue,
|
|
188
|
+
selectedId: this.selectedId || undefined,
|
|
189
|
+
tileUrl: this.tileUrl || undefined,
|
|
190
|
+
apiKey: this.apiKey || undefined,
|
|
191
|
+
onMarkerSelect: (marker) => this.handleMarkerSelect(marker),
|
|
192
|
+
onError: (message) => this.showError(message),
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
async syncMapState(changed) {
|
|
196
|
+
if (changed === 'provider') {
|
|
197
|
+
await this.ensureMap(true);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
if (!this.adapter) {
|
|
201
|
+
await this.ensureMap();
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
if (changed === 'markers' || changed === 'selected-id') {
|
|
205
|
+
this.adapter.setMarkers(this.markersValue, this.selectedId || undefined);
|
|
206
|
+
}
|
|
207
|
+
if (changed === 'center' || changed === 'zoom') {
|
|
208
|
+
this.adapter.setView(this.resolveView());
|
|
209
|
+
}
|
|
210
|
+
if (changed === 'tile-url' || changed === 'api-key') {
|
|
211
|
+
await this.ensureMap(true);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
export function registerRdGeoMap() {
|
|
216
|
+
ensureShadowBase(DB_GEO_MAP_TAG);
|
|
217
|
+
defineRosettaElement(DB_GEO_MAP_TAG, RdGeoMapElement);
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=rd-geo-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rd-geo-map.js","sourceRoot":"","sources":["../../../../../../../packages/web-components/src/visual/display/geo-map/rd-geo-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { RdGeoMapElement, DB_GEO_MAP_TAG, registerRdGeoMap, type GeoMapProps, type GeoMapMarker, type GeoMapProvider, } from './geo-map/index.js';
|
|
2
|
+
export * from './3d-bar-chart/index.js';
|
|
3
|
+
export * from './3d-scatter/index.js';
|
|
4
|
+
export * from './3d-scene/index.js';
|
|
5
|
+
export * from './3d-gltf-model/index.js';
|
|
6
|
+
export * from './3d-geo-globe/index.js';
|
|
7
|
+
export declare function registerRosettaDashDisplayElements(): void;
|