@panoramax/web-viewer 5.0.0-develop-d7206514 → 5.0.0-develop-d26305dd

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 (152) hide show
  1. package/build/bundle.cjs +3399 -0
  2. package/build/bundle.cjs.map +1 -0
  3. package/build/bundle_photoviewer.cjs +2510 -0
  4. package/build/bundle_photoviewer.cjs.map +1 -0
  5. package/build/cjs/index.js +1 -1
  6. package/build/cjs/index_photoviewer.js +1 -1
  7. package/build/components/core/Basic.css +56 -0
  8. package/build/components/core/Basic.js +378 -0
  9. package/build/components/core/CoverageMap.css +10 -0
  10. package/build/components/core/CoverageMap.js +169 -0
  11. package/build/components/core/Editor.css +33 -0
  12. package/build/components/core/Editor.js +398 -0
  13. package/build/components/core/PhotoViewer.css +70 -0
  14. package/build/components/core/PhotoViewer.js +650 -0
  15. package/build/components/core/Viewer.css +130 -0
  16. package/build/components/core/Viewer.js +711 -0
  17. package/build/components/core/index.js +10 -0
  18. package/build/components/index.js +11 -0
  19. package/build/components/index_photoviewer.js +6 -0
  20. package/build/components/layout/BottomDrawer.js +258 -0
  21. package/build/components/layout/CorneredGrid.js +143 -0
  22. package/build/components/layout/Mini.js +121 -0
  23. package/build/components/layout/Tabs.js +140 -0
  24. package/build/components/layout/index.js +9 -0
  25. package/build/components/menus/LocationPrecisionDoc.js +42 -0
  26. package/build/components/menus/MapBackground.js +110 -0
  27. package/build/components/menus/MapFilters.js +567 -0
  28. package/build/components/menus/MapLayers.js +238 -0
  29. package/build/components/menus/MapLegend.js +68 -0
  30. package/build/components/menus/MiniPictureLegend.js +73 -0
  31. package/build/components/menus/PictureLegend.js +379 -0
  32. package/build/components/menus/PictureMetadata.js +380 -0
  33. package/build/components/menus/PlayerOptions.js +93 -0
  34. package/build/components/menus/QualityScoreDoc.js +42 -0
  35. package/build/components/menus/ReportForm.js +132 -0
  36. package/build/components/menus/SemanticsDoc.js +38 -0
  37. package/build/components/menus/SemanticsDownload.js +33 -0
  38. package/build/components/menus/SemanticsFilters.js +153 -0
  39. package/build/components/menus/SemanticsList.js +413 -0
  40. package/build/components/menus/SemanticsMetadata.js +368 -0
  41. package/build/components/menus/Share.js +105 -0
  42. package/build/components/menus/index.js +22 -0
  43. package/build/components/menus/index_photoviewer.js +11 -0
  44. package/build/components/styles.js +557 -0
  45. package/build/components/ui/AnnotationsSwitch.js +159 -0
  46. package/build/components/ui/Button.js +77 -0
  47. package/build/components/ui/ButtonGroup.css +59 -0
  48. package/build/components/ui/ButtonGroup.js +69 -0
  49. package/build/components/ui/CopyButton.js +110 -0
  50. package/build/components/ui/Grade.js +54 -0
  51. package/build/components/ui/GradeFilter.js +122 -0
  52. package/build/components/ui/IconSwitch.js +193 -0
  53. package/build/components/ui/LinkButton.js +67 -0
  54. package/build/components/ui/ListGroup.js +66 -0
  55. package/build/components/ui/ListItem.js +90 -0
  56. package/build/components/ui/Loader.js +203 -0
  57. package/build/components/ui/Map.css +63 -0
  58. package/build/components/ui/Map.js +853 -0
  59. package/build/components/ui/MapMore.js +175 -0
  60. package/build/components/ui/Photo.css +50 -0
  61. package/build/components/ui/Photo.js +1502 -0
  62. package/build/components/ui/Popup.js +145 -0
  63. package/build/components/ui/ProgressBar.js +104 -0
  64. package/build/components/ui/QualityScore.js +147 -0
  65. package/build/components/ui/SearchBar.js +374 -0
  66. package/build/components/ui/SemanticsEditor.js +191 -0
  67. package/build/components/ui/SemanticsTable.js +88 -0
  68. package/build/components/ui/Switch.js +139 -0
  69. package/build/components/ui/TogglableGroup.js +157 -0
  70. package/build/components/ui/index.js +29 -0
  71. package/build/components/ui/index_photoviewer.js +21 -0
  72. package/build/components/ui/widgets/CopyCoordinates.js +75 -0
  73. package/build/components/ui/widgets/GeoSearch.css +21 -0
  74. package/build/components/ui/widgets/GeoSearch.js +150 -0
  75. package/build/components/ui/widgets/Legend.js +190 -0
  76. package/build/components/ui/widgets/LevelSelect.css +51 -0
  77. package/build/components/ui/widgets/LevelSelect.js +143 -0
  78. package/build/components/ui/widgets/MapFiltersButton.js +114 -0
  79. package/build/components/ui/widgets/MapLayersButton.js +79 -0
  80. package/build/components/ui/widgets/OSMEditors.js +155 -0
  81. package/build/components/ui/widgets/PictureLegendActions.js +99 -0
  82. package/build/components/ui/widgets/Player.css +7 -0
  83. package/build/components/ui/widgets/Player.js +154 -0
  84. package/build/components/ui/widgets/SemanticsFiltersButton.js +65 -0
  85. package/build/components/ui/widgets/Zoom.js +84 -0
  86. package/build/components/ui/widgets/index.js +16 -0
  87. package/build/components/ui/widgets/index_photoviewer.js +7 -0
  88. package/build/esm/components/core/Basic.js +1 -1
  89. package/build/img/arrow_360.svg +14 -0
  90. package/build/img/arrow_flat.svg +11 -0
  91. package/build/img/arrow_triangle.svg +9 -0
  92. package/build/img/arrow_turn.svg +8 -0
  93. package/build/img/bg_aerial.jpg +0 -0
  94. package/build/img/bg_streets.jpg +0 -0
  95. package/build/img/loader_base.jpg +0 -0
  96. package/build/img/logo_dead.svg +91 -0
  97. package/build/img/marker.svg +17 -0
  98. package/build/img/marker_blue.svg +20 -0
  99. package/build/img/osm.svg +49 -0
  100. package/build/img/panoramax.svg +13 -0
  101. package/build/img/switch_big.svg +54 -0
  102. package/build/img/switch_mini.svg +48 -0
  103. package/build/img/wd.svg +1 -0
  104. package/build/index_photoviewer.js +4 -0
  105. package/build/package.json +148 -0
  106. package/build/servers.js +14 -0
  107. package/build/translations/ar.json +1 -0
  108. package/build/translations/be.json +257 -0
  109. package/build/translations/br.json +81 -0
  110. package/build/translations/cy.json +117 -0
  111. package/build/translations/da.json +300 -0
  112. package/build/translations/de.json +309 -0
  113. package/build/translations/en.json +294 -0
  114. package/build/translations/eo.json +235 -0
  115. package/build/translations/es.json +292 -0
  116. package/build/translations/fi.json +1 -0
  117. package/build/translations/fr.json +294 -0
  118. package/build/translations/hr.json +294 -0
  119. package/build/translations/hu.json +294 -0
  120. package/build/translations/it.json +306 -0
  121. package/build/translations/ja.json +182 -0
  122. package/build/translations/ko.json +1 -0
  123. package/build/translations/nl.json +305 -0
  124. package/build/translations/nn.json +1 -0
  125. package/build/translations/pl.json +169 -0
  126. package/build/translations/pt.json +296 -0
  127. package/build/translations/pt_BR.json +304 -0
  128. package/build/translations/sv.json +182 -0
  129. package/build/translations/ti.json +9 -0
  130. package/build/translations/tr.json +297 -0
  131. package/build/translations/uk.json +268 -0
  132. package/build/translations/zh_Hant.json +309 -0
  133. package/build/utils/API.js +928 -0
  134. package/build/utils/InitParameters.js +521 -0
  135. package/build/utils/MapStyleComposer.js +889 -0
  136. package/build/utils/PanoraMapProtocol.js +49 -0
  137. package/build/utils/PhotoAdapter.js +49 -0
  138. package/build/utils/PresetsManager.js +148 -0
  139. package/build/utils/SemanticsMapProtocol.js +144 -0
  140. package/build/utils/URLHandler.js +426 -0
  141. package/build/utils/geocoder.js +203 -0
  142. package/build/utils/i18n.js +128 -0
  143. package/build/utils/index.js +17 -0
  144. package/build/utils/index_photoviewer.js +14 -0
  145. package/build/utils/indoor.js +200 -0
  146. package/build/utils/map.js +788 -0
  147. package/build/utils/picture.js +507 -0
  148. package/build/utils/semantics.js +321 -0
  149. package/build/utils/services.js +148 -0
  150. package/build/utils/utils.js +433 -0
  151. package/build/utils/widgets.js +110 -0
  152. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ import { LitElement, html } from "lit";
2
+ import { docPopup, faSvg, titles } from "../styles.js";
3
+ import { fa } from "../../utils/widgets.js";
4
+ import { faExternalLinkAlt, faMapMarkerAlt } from "@fortawesome/free-solid-svg-icons";
5
+ import { QUALITYSCORE_GPS_VALUES } from "../../utils/utils.js";
6
+
7
+ /**
8
+ * Location Precision Doc displays a synthetic summary of how Location Precision filter and map theme works.
9
+ * @class Panoramax.components.menus.LocationPrecisionDoc
10
+ * @element pnx-location-precision-doc
11
+ * @extends [lit.LitElement](https://lit.dev/docs/api/LitElement/)
12
+ * @example
13
+ * ```html
14
+ * <pnx-location-precision-doc ._t=${viewer._t} />
15
+ * ```
16
+ */
17
+ export default class LocationPrecisionDoc extends LitElement {
18
+ static styles = [ titles, faSvg, docPopup ];
19
+
20
+ render() {
21
+ return html`
22
+ <h4>${fa(faMapMarkerAlt)} ${this._t?.pnx.filter_gps_precision}</h4>
23
+ <p>${this._t?.pnx.filter_gps_precision_help_1}</p>
24
+ <p>${this._t?.pnx.filter_gps_precision_help_2}</p>
25
+ <pnx-grade-filter grade=""></pnx-grade-filter>
26
+ <p>${this._t?.pnx.filter_gps_precision_help_3
27
+ .replace("{p5}", QUALITYSCORE_GPS_VALUES[1])
28
+ .replace("{p1}", QUALITYSCORE_GPS_VALUES[7])
29
+ .replace(/\.01/g, "")
30
+ }</p>
31
+ <p>${this._t?.pnx.filter_gps_precision_help_4}</p>
32
+ <pnx-link-button
33
+ href="https://docs.panoramax.fr/pictures-metadata/quality_score/#gps-position-accuracy"
34
+ target="_blank"
35
+ kind="outline"
36
+ style="width: 100%"
37
+ >${fa(faExternalLinkAlt)} ${this._t?.pnx.popup_details_link}</pnx-link-button>
38
+ `;
39
+ }
40
+ }
41
+
42
+ customElements.define("pnx-location-precision-doc", LocationPrecisionDoc);
@@ -0,0 +1,110 @@
1
+ import { LitElement, css, html } from "lit";
2
+ import { onceParentAvailable } from "../../utils/widgets.js";
3
+ const BgStreets = new URL("../../img/bg_streets.jpg", import.meta.url).href;
4
+ const BgAerial = new URL("../../img/bg_aerial.jpg", import.meta.url).href;
5
+
6
+ /**
7
+ * Map Background menu allows user to select background.
8
+ * @class Panoramax.components.menus.MapBackground
9
+ * @element pnx-map-background
10
+ * @extends [lit.LitElement](https://lit.dev/docs/api/LitElement/)
11
+ * @example
12
+ * ```html
13
+ * <pnx-map-background size="sm" _parent=${viewer} />
14
+ * ```
15
+ */
16
+ export default class MapBackground extends LitElement {
17
+ /** @private */
18
+ static styles = [ css`
19
+ :host {
20
+ justify-content: space-evenly;
21
+ box-sizing: border-box;
22
+ display: flex;
23
+ gap: 10px;
24
+ }
25
+ input { display: none; }
26
+ label { cursor: pointer; }
27
+
28
+ img {
29
+ width: 40px;
30
+ border-radius: 5px;
31
+ vertical-align: middle;
32
+ margin-right: 5px;
33
+ border: 2px solid var(--widget-bg);
34
+ }
35
+
36
+ img.sm {
37
+ width: 32px;
38
+ }
39
+
40
+ input:checked + label img {
41
+ outline: 3px solid var(--widget-border-btn);
42
+ }
43
+ ` ];
44
+
45
+ /**
46
+ * Component properties.
47
+ * @memberof Panoramax.components.menus.MapBackground#
48
+ * @type {Object}
49
+ * @property {string} [size=md] The size of the button (sm, md)
50
+ */
51
+ static properties = {
52
+ bg: {state: true},
53
+ size: {type: String},
54
+ };
55
+
56
+ constructor() {
57
+ super();
58
+ this.size = "md";
59
+ }
60
+
61
+ /** @private */
62
+ connectedCallback() {
63
+ super.connectedCallback();
64
+
65
+ onceParentAvailable(this).then(() => {
66
+ this._parent.mapStyleComposer?.addEventListener("basemap-changed", e => {
67
+ this.bg = e.detail.basemap;
68
+ });
69
+ this.bg = this._parent.mapStyleComposer?.basemap;
70
+ });
71
+ }
72
+
73
+ /** @private */
74
+ _onBgSelect(e) {
75
+ this.bg = e.target.value;
76
+ this._parent?.mapStyleComposer?.switchBasemap(this.bg);
77
+ }
78
+
79
+ /** @private */
80
+ render() {
81
+ return html`
82
+ <input
83
+ type="radio"
84
+ id="bg-streets"
85
+ name="bg"
86
+ value="streets"
87
+ @change=${this._onBgSelect}
88
+ .checked=${this.bg === "streets"}
89
+ />
90
+ <label for="bg-streets">
91
+ <img src=${BgStreets} class=${this.size} alt="" />
92
+ ${this._parent?._t.pnx.map_background_streets}
93
+ </label>
94
+ <input
95
+ type="radio"
96
+ id="bg-aerial"
97
+ name="bg"
98
+ value="aerial"
99
+ @change=${this._onBgSelect}
100
+ .checked=${this.bg === "aerial"}
101
+ />
102
+ <label for="bg-aerial">
103
+ <img src=${BgAerial} class=${this.size} alt="" />
104
+ ${this._parent?._t.pnx.map_background_aerial}
105
+ </label>
106
+ `;
107
+ }
108
+ }
109
+
110
+ customElements.define("pnx-map-background", MapBackground);