@panoramax/web-viewer 4.4.0-develop-746bcb00 → 4.4.0-develop-d8b38e70

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 (341) hide show
  1. package/{src → build}/components/core/Basic.js +22 -16
  2. package/{src → build}/components/core/CoverageMap.js +19 -14
  3. package/{src → build}/components/core/Editor.js +16 -16
  4. package/{src → build}/components/core/PhotoViewer.js +30 -29
  5. package/{src → build}/components/core/Viewer.js +21 -20
  6. package/build/components/core/index.js +10 -0
  7. package/build/components/index.js +11 -0
  8. package/build/components/index_photoviewer.js +6 -0
  9. package/{src → build}/components/layout/BottomDrawer.js +4 -4
  10. package/{src → build}/components/layout/CorneredGrid.js +1 -1
  11. package/{src → build}/components/layout/Mini.js +5 -4
  12. package/{src → build}/components/layout/Tabs.js +1 -1
  13. package/build/components/layout/index.js +9 -0
  14. package/{src → build}/components/menus/LocationPrecisionDoc.js +4 -6
  15. package/{src → build}/components/menus/MapBackground.js +4 -6
  16. package/{src → build}/components/menus/MapFilters.js +16 -21
  17. package/{src → build}/components/menus/MapLayers.js +20 -24
  18. package/{src → build}/components/menus/MapLegend.js +3 -4
  19. package/{src → build}/components/menus/MiniPictureLegend.js +3 -4
  20. package/{src → build}/components/menus/PictureLegend.js +10 -15
  21. package/{src → build}/components/menus/PictureMetadata.js +12 -19
  22. package/{src → build}/components/menus/PlayerOptions.js +5 -7
  23. package/{src → build}/components/menus/QualityScoreDoc.js +3 -4
  24. package/{src → build}/components/menus/ReportForm.js +8 -9
  25. package/{src → build}/components/menus/SemanticsDoc.js +3 -4
  26. package/{src → build}/components/menus/SemanticsDownload.js +3 -3
  27. package/{src → build}/components/menus/SemanticsFilters.js +7 -8
  28. package/{src → build}/components/menus/SemanticsList.js +11 -18
  29. package/{src → build}/components/menus/SemanticsMetadata.js +8 -11
  30. package/{src → build}/components/menus/Share.js +6 -7
  31. package/build/components/menus/index.js +22 -0
  32. package/build/components/menus/index_photoviewer.js +11 -0
  33. package/{src → build}/components/styles.js +0 -2
  34. package/{src → build}/components/ui/AnnotationsSwitch.js +6 -8
  35. package/{src → build}/components/ui/Button.js +1 -1
  36. package/{src → build}/components/ui/ButtonGroup.js +2 -1
  37. package/{src → build}/components/ui/CopyButton.js +4 -6
  38. package/{src → build}/components/ui/Grade.js +5 -5
  39. package/{src → build}/components/ui/GradeFilter.js +3 -3
  40. package/{src → build}/components/ui/IconSwitch.js +1 -1
  41. package/{src → build}/components/ui/LinkButton.js +1 -1
  42. package/{src → build}/components/ui/ListGroup.js +3 -3
  43. package/{src → build}/components/ui/ListItem.js +1 -1
  44. package/{src → build}/components/ui/Loader.js +8 -7
  45. package/{src → build}/components/ui/Map.js +38 -26
  46. package/{src → build}/components/ui/MapMore.js +7 -7
  47. package/{src → build}/components/ui/Photo.js +29 -27
  48. package/{src → build}/components/ui/Popup.js +4 -4
  49. package/{src → build}/components/ui/QualityScore.js +4 -4
  50. package/{src → build}/components/ui/SearchBar.js +6 -7
  51. package/{src → build}/components/ui/SemanticsEditor.js +14 -15
  52. package/{src → build}/components/ui/SemanticsTable.js +4 -5
  53. package/{src → build}/components/ui/Switch.js +1 -1
  54. package/{src → build}/components/ui/TogglableGroup.js +4 -4
  55. package/build/components/ui/index.js +29 -0
  56. package/build/components/ui/index_photoviewer.js +21 -0
  57. package/{src → build}/components/ui/widgets/CopyCoordinates.js +5 -5
  58. package/{src → build}/components/ui/widgets/GeoSearch.js +10 -10
  59. package/{src → build}/components/ui/widgets/Legend.js +9 -8
  60. package/{src → build}/components/ui/widgets/LevelSelect.js +9 -7
  61. package/{src → build}/components/ui/widgets/MapFiltersButton.js +5 -5
  62. package/{src → build}/components/ui/widgets/MapLayersButton.js +5 -5
  63. package/{src → build}/components/ui/widgets/OSMEditors.js +8 -8
  64. package/{src → build}/components/ui/widgets/PictureLegendActions.js +4 -4
  65. package/{src → build}/components/ui/widgets/Player.js +6 -7
  66. package/{src → build}/components/ui/widgets/SemanticsFiltersButton.js +6 -7
  67. package/{src → build}/components/ui/widgets/Zoom.js +6 -6
  68. package/build/components/ui/widgets/index.js +16 -0
  69. package/build/components/ui/widgets/index_photoviewer.js +7 -0
  70. package/build/editor.html +94 -10
  71. package/{src → build}/img/arrow_triangle.svg +0 -1
  72. package/{src → build}/img/arrow_turn.svg +0 -1
  73. package/build/index.html +111 -1
  74. package/build/index.js +6 -95
  75. package/build/index_photoviewer.js +4 -0
  76. package/build/map.html +97 -1
  77. package/build/package.json +141 -0
  78. package/build/photo.html +85 -1
  79. package/build/servers.js +3 -4
  80. package/{src → build}/translations/pt.json +7 -2
  81. package/{src → build}/utils/API.js +33 -33
  82. package/{src → build}/utils/InitParameters.js +11 -9
  83. package/{src → build}/utils/MapStyleComposer.js +39 -37
  84. package/{src → build}/utils/PhotoAdapter.js +1 -0
  85. package/{src → build}/utils/PresetsManager.js +4 -4
  86. package/{src → build}/utils/SemanticsMapProtocol.js +3 -4
  87. package/{src → build}/utils/URLHandler.js +16 -14
  88. package/{src → build}/utils/geocoder.js +5 -5
  89. package/{src → build}/utils/i18n.js +21 -20
  90. package/build/utils/index.js +17 -0
  91. package/build/utils/index_photoviewer.js +14 -0
  92. package/{src → build}/utils/indoor.js +9 -5
  93. package/{src → build}/utils/map.js +15 -11
  94. package/{src → build}/utils/picture.js +22 -17
  95. package/{src → build}/utils/semantics.js +9 -5
  96. package/{src → build}/utils/utils.js +8 -4
  97. package/{src → build}/utils/widgets.js +2 -2
  98. package/build/viewer.html +120 -35
  99. package/build/viewer_indoor.html +90 -8
  100. package/build/widgets.html +410 -1
  101. package/package.json +81 -204
  102. package/.dockerignore +0 -7
  103. package/.gitlab-ci.yml +0 -78
  104. package/CHANGELOG.md +0 -853
  105. package/CODE_OF_CONDUCT.md +0 -134
  106. package/Dockerfile +0 -14
  107. package/build/index.css +0 -36
  108. package/build/index.css.map +0 -1
  109. package/build/index.js.map +0 -1
  110. package/build/photoviewer.css +0 -36
  111. package/build/photoviewer.css.map +0 -1
  112. package/build/photoviewer.js +0 -86
  113. package/build/photoviewer.js.map +0 -1
  114. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff +0 -0
  115. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff2 +0 -0
  116. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff +0 -0
  117. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff2 +0 -0
  118. package/config/env.js +0 -104
  119. package/config/getHttpsConfig.js +0 -69
  120. package/config/getPackageJson.js +0 -25
  121. package/config/jest/babelTransform.js +0 -29
  122. package/config/jest/cssTransform.js +0 -14
  123. package/config/jest/fileTransform.js +0 -40
  124. package/config/jest/mocks.js +0 -230
  125. package/config/modules.js +0 -134
  126. package/config/paths.js +0 -76
  127. package/config/pnpTs.js +0 -35
  128. package/config/webpack/persistentCache/createEnvironmentHash.js +0 -9
  129. package/config/webpack.config.js +0 -825
  130. package/config/webpackDevServer.config.js +0 -131
  131. package/docs/03_URL_settings.md +0 -218
  132. package/docs/05_Compatibility.md +0 -83
  133. package/docs/09_Develop.md +0 -141
  134. package/docs/90_Releases.md +0 -27
  135. package/docs/images/class_diagram.drawio +0 -144
  136. package/docs/images/class_diagram.jpg +0 -0
  137. package/docs/images/comparative_3drender.jpg +0 -0
  138. package/docs/images/indoor_level.png +0 -0
  139. package/docs/images/screenshot.jpg +0 -0
  140. package/docs/index.md +0 -159
  141. package/docs/reference/components/core/Basic.md +0 -211
  142. package/docs/reference/components/core/CoverageMap.md +0 -220
  143. package/docs/reference/components/core/Editor.md +0 -252
  144. package/docs/reference/components/core/PhotoViewer.md +0 -320
  145. package/docs/reference/components/core/Viewer.md +0 -398
  146. package/docs/reference/components/layout/BottomDrawer.md +0 -35
  147. package/docs/reference/components/layout/CorneredGrid.md +0 -29
  148. package/docs/reference/components/layout/Mini.md +0 -45
  149. package/docs/reference/components/layout/Tabs.md +0 -46
  150. package/docs/reference/components/menus/LocationPrecisionDoc.md +0 -15
  151. package/docs/reference/components/menus/MapBackground.md +0 -32
  152. package/docs/reference/components/menus/MapFilters.md +0 -37
  153. package/docs/reference/components/menus/MapLayers.md +0 -15
  154. package/docs/reference/components/menus/MapLegend.md +0 -32
  155. package/docs/reference/components/menus/MiniPictureLegend.md +0 -15
  156. package/docs/reference/components/menus/PictureLegend.md +0 -45
  157. package/docs/reference/components/menus/PictureMetadata.md +0 -32
  158. package/docs/reference/components/menus/PlayerOptions.md +0 -15
  159. package/docs/reference/components/menus/QualityScoreDoc.md +0 -15
  160. package/docs/reference/components/menus/ReportForm.md +0 -15
  161. package/docs/reference/components/menus/SemanticsDoc.md +0 -15
  162. package/docs/reference/components/menus/SemanticsDownload.md +0 -15
  163. package/docs/reference/components/menus/SemanticsFilters.md +0 -33
  164. package/docs/reference/components/menus/SemanticsList.md +0 -97
  165. package/docs/reference/components/menus/SemanticsMetadata.md +0 -15
  166. package/docs/reference/components/menus/ShareMenu.md +0 -32
  167. package/docs/reference/components/ui/AnnotationsSwitch.md +0 -32
  168. package/docs/reference/components/ui/Button.md +0 -40
  169. package/docs/reference/components/ui/ButtonGroup.md +0 -36
  170. package/docs/reference/components/ui/CopyButton.md +0 -41
  171. package/docs/reference/components/ui/Grade.md +0 -32
  172. package/docs/reference/components/ui/GradeFilter.md +0 -42
  173. package/docs/reference/components/ui/IconSwitch.md +0 -53
  174. package/docs/reference/components/ui/LinkButton.md +0 -45
  175. package/docs/reference/components/ui/ListGroup.md +0 -22
  176. package/docs/reference/components/ui/ListItem.md +0 -39
  177. package/docs/reference/components/ui/Loader.md +0 -56
  178. package/docs/reference/components/ui/Map.md +0 -150
  179. package/docs/reference/components/ui/MapMore.md +0 -150
  180. package/docs/reference/components/ui/Photo.md +0 -495
  181. package/docs/reference/components/ui/Popup.md +0 -56
  182. package/docs/reference/components/ui/ProgressBar.md +0 -32
  183. package/docs/reference/components/ui/QualityScore.md +0 -45
  184. package/docs/reference/components/ui/SearchBar.md +0 -63
  185. package/docs/reference/components/ui/SemanticsEditor.md +0 -113
  186. package/docs/reference/components/ui/SemanticsTable.md +0 -32
  187. package/docs/reference/components/ui/Switch.md +0 -49
  188. package/docs/reference/components/ui/TogglableGroup.md +0 -39
  189. package/docs/reference/components/ui/widgets/CopyCoordinates.md +0 -32
  190. package/docs/reference/components/ui/widgets/GeoSearch.md +0 -36
  191. package/docs/reference/components/ui/widgets/Legend.md +0 -58
  192. package/docs/reference/components/ui/widgets/LevelSelect.md +0 -16
  193. package/docs/reference/components/ui/widgets/MapFiltersButton.md +0 -37
  194. package/docs/reference/components/ui/widgets/MapLayersButton.md +0 -15
  195. package/docs/reference/components/ui/widgets/OSMEditors.md +0 -15
  196. package/docs/reference/components/ui/widgets/PictureLegendActions.md +0 -32
  197. package/docs/reference/components/ui/widgets/Player.md +0 -34
  198. package/docs/reference/components/ui/widgets/SemanticsFiltersButton.md +0 -15
  199. package/docs/reference/components/ui/widgets/Zoom.md +0 -15
  200. package/docs/reference/utils/API.md +0 -389
  201. package/docs/reference/utils/InitParameters.md +0 -68
  202. package/docs/reference/utils/MapStyleComposer.md +0 -408
  203. package/docs/reference/utils/PanoraMapProtocol.md +0 -28
  204. package/docs/reference/utils/PresetsManager.md +0 -43
  205. package/docs/reference/utils/SemanticsMapProtocol.md +0 -43
  206. package/docs/reference/utils/URLHandler.md +0 -114
  207. package/docs/reference.md +0 -99
  208. package/docs/shortcuts.md +0 -11
  209. package/docs/tutorials/aerial_imagery.md +0 -21
  210. package/docs/tutorials/authentication.md +0 -10
  211. package/docs/tutorials/custom_widgets.md +0 -59
  212. package/docs/tutorials/indoor_maps.md +0 -50
  213. package/docs/tutorials/map_style.md +0 -83
  214. package/docs/tutorials/migrate_v4.md +0 -153
  215. package/docs/tutorials/migrate_v5.md +0 -103
  216. package/docs/tutorials/semantics_overlays.md +0 -74
  217. package/docs/tutorials/synced_coverage.md +0 -43
  218. package/mkdocs.yml +0 -131
  219. package/public/editor.html +0 -53
  220. package/public/index.html +0 -70
  221. package/public/map.html +0 -55
  222. package/public/photo.html +0 -43
  223. package/public/servers.js +0 -15
  224. package/public/viewer.html +0 -79
  225. package/public/viewer_indoor.html +0 -48
  226. package/public/widgets.html +0 -366
  227. package/scripts/build.js +0 -217
  228. package/scripts/doc.js +0 -79
  229. package/scripts/start.js +0 -172
  230. package/scripts/test.js +0 -52
  231. package/src/components/core/index.js +0 -12
  232. package/src/components/index.js +0 -13
  233. package/src/components/index_photoviewer.js +0 -8
  234. package/src/components/layout/index.js +0 -9
  235. package/src/components/menus/index.js +0 -22
  236. package/src/components/menus/index_photoviewer.js +0 -13
  237. package/src/components/ui/index.js +0 -29
  238. package/src/components/ui/index_photoviewer.js +0 -23
  239. package/src/components/ui/widgets/index.js +0 -16
  240. package/src/components/ui/widgets/index_photoviewer.js +0 -9
  241. package/src/index.js +0 -8
  242. package/src/index_photoviewer.js +0 -6
  243. package/src/utils/index.js +0 -17
  244. package/src/utils/index_photoviewer.js +0 -16
  245. package/tests/components/core/Basic.test.js +0 -168
  246. package/tests/components/core/BasicMock.js +0 -25
  247. package/tests/components/core/CoverageMap.test.js +0 -20
  248. package/tests/components/core/Editor.test.js +0 -20
  249. package/tests/components/core/PhotoViewer.test.js +0 -57
  250. package/tests/components/core/Viewer.test.js +0 -85
  251. package/tests/components/core/__snapshots__/PhotoViewer.test.js.snap +0 -96
  252. package/tests/components/core/__snapshots__/Viewer.test.js.snap +0 -188
  253. package/tests/components/ui/CopyButton.test.js +0 -52
  254. package/tests/components/ui/Loader.test.js +0 -55
  255. package/tests/components/ui/Map.test.js +0 -145
  256. package/tests/components/ui/Photo.test.js +0 -437
  257. package/tests/components/ui/Popup.test.js +0 -26
  258. package/tests/components/ui/QualityScore.test.js +0 -18
  259. package/tests/components/ui/SearchBar.test.js +0 -110
  260. package/tests/components/ui/__snapshots__/CopyButton.test.js.snap +0 -33
  261. package/tests/components/ui/__snapshots__/Loader.test.js.snap +0 -56
  262. package/tests/components/ui/__snapshots__/Map.test.js.snap +0 -16
  263. package/tests/components/ui/__snapshots__/Photo.test.js.snap +0 -263
  264. package/tests/components/ui/__snapshots__/Popup.test.js.snap +0 -29
  265. package/tests/components/ui/__snapshots__/QualityScore.test.js.snap +0 -11
  266. package/tests/components/ui/__snapshots__/SearchBar.test.js.snap +0 -65
  267. package/tests/data/Map_geocoder_ban.json +0 -36
  268. package/tests/data/Map_geocoder_nominatim.json +0 -41
  269. package/tests/data/Viewer_pictures_1.json +0 -148
  270. package/tests/setupTests.js +0 -5
  271. package/tests/utils/API.test.js +0 -752
  272. package/tests/utils/InitParameters.test.js +0 -599
  273. package/tests/utils/MapStyleComposer.test.js +0 -697
  274. package/tests/utils/PresetsManager.test.js +0 -123
  275. package/tests/utils/URLHandler.test.js +0 -587
  276. package/tests/utils/__snapshots__/API.test.js.snap +0 -40
  277. package/tests/utils/__snapshots__/MapStyleComposer.test.js.snap +0 -767
  278. package/tests/utils/__snapshots__/URLHandler.test.js.snap +0 -21
  279. package/tests/utils/__snapshots__/geocoder.test.js.snap +0 -37
  280. package/tests/utils/__snapshots__/map.test.js.snap +0 -1249
  281. package/tests/utils/__snapshots__/picture.test.js.snap +0 -327
  282. package/tests/utils/__snapshots__/widgets.test.js.snap +0 -19
  283. package/tests/utils/geocoder.test.js +0 -37
  284. package/tests/utils/i18n.test.js +0 -111
  285. package/tests/utils/map.test.js +0 -200
  286. package/tests/utils/picture.test.js +0 -745
  287. package/tests/utils/semantics.test.js +0 -174
  288. package/tests/utils/utils.test.js +0 -358
  289. package/tests/utils/widgets.test.js +0 -31
  290. /package/{src → build}/components/core/Basic.css +0 -0
  291. /package/{src → build}/components/core/CoverageMap.css +0 -0
  292. /package/{src → build}/components/core/Editor.css +0 -0
  293. /package/{src → build}/components/core/PhotoViewer.css +0 -0
  294. /package/{src → build}/components/core/Viewer.css +0 -0
  295. /package/{src → build}/components/ui/ButtonGroup.css +0 -0
  296. /package/{src → build}/components/ui/Map.css +0 -0
  297. /package/{src → build}/components/ui/Photo.css +0 -0
  298. /package/{src → build}/components/ui/ProgressBar.js +0 -0
  299. /package/{src → build}/components/ui/widgets/GeoSearch.css +0 -0
  300. /package/{src → build}/components/ui/widgets/LevelSelect.css +0 -0
  301. /package/{src → build}/components/ui/widgets/Player.css +0 -0
  302. /package/{public → build}/favicon.ico +0 -0
  303. /package/{src → build}/img/arrow_360.svg +0 -0
  304. /package/{src → build}/img/arrow_flat.svg +0 -0
  305. /package/{src → build}/img/bg_aerial.jpg +0 -0
  306. /package/{src → build}/img/bg_streets.jpg +0 -0
  307. /package/{src → build}/img/loader_base.jpg +0 -0
  308. /package/{src → build}/img/logo_dead.svg +0 -0
  309. /package/{src → build}/img/marker.svg +0 -0
  310. /package/{src → build}/img/marker_blue.svg +0 -0
  311. /package/{src → build}/img/osm.svg +0 -0
  312. /package/{src → build}/img/panoramax.svg +0 -0
  313. /package/{src → build}/img/switch_big.svg +0 -0
  314. /package/{src → build}/img/switch_mini.svg +0 -0
  315. /package/{src → build}/img/wd.svg +0 -0
  316. /package/{src → build}/translations/ar.json +0 -0
  317. /package/{src → build}/translations/be.json +0 -0
  318. /package/{src → build}/translations/br.json +0 -0
  319. /package/{src → build}/translations/cy.json +0 -0
  320. /package/{src → build}/translations/da.json +0 -0
  321. /package/{src → build}/translations/de.json +0 -0
  322. /package/{src → build}/translations/en.json +0 -0
  323. /package/{src → build}/translations/eo.json +0 -0
  324. /package/{src → build}/translations/es.json +0 -0
  325. /package/{src → build}/translations/fi.json +0 -0
  326. /package/{src → build}/translations/fr.json +0 -0
  327. /package/{src → build}/translations/hu.json +0 -0
  328. /package/{src → build}/translations/it.json +0 -0
  329. /package/{src → build}/translations/ja.json +0 -0
  330. /package/{src → build}/translations/ko.json +0 -0
  331. /package/{src → build}/translations/nl.json +0 -0
  332. /package/{src → build}/translations/nn.json +0 -0
  333. /package/{src → build}/translations/pl.json +0 -0
  334. /package/{src → build}/translations/pt_BR.json +0 -0
  335. /package/{src → build}/translations/sv.json +0 -0
  336. /package/{src → build}/translations/ti.json +0 -0
  337. /package/{src → build}/translations/tr.json +0 -0
  338. /package/{src → build}/translations/uk.json +0 -0
  339. /package/{src → build}/translations/zh_Hant.json +0 -0
  340. /package/{src → build}/utils/PanoraMapProtocol.js +0 -0
  341. /package/{src → build}/utils/services.js +0 -0
@@ -1,14 +1,14 @@
1
- import { LitElement, html, css } from "lit";
2
- import Basic from "../core/Basic";
3
- import { parseSemanticsString, computeDiffTags, semanticsToString } from "../../utils/semantics";
4
- import { textarea } from "../styles";
1
+ import { LitElement, css, html } from "lit";
2
+ import Basic from "../core/Basic.js";
3
+ import { computeDiffTags, parseSemanticsString, semanticsToString } from "../../utils/semantics.js";
4
+ import { textarea } from "../styles.js";
5
5
  import JSON5 from "json5";
6
6
 
7
7
  /**
8
8
  * Semantics Editor offer an easy-to-use input for adding or editing semantics tags.
9
- *
9
+ *
10
10
  * It manipulates list of `{key: "mypanokey", value: "myvalue"}` entries through `semantics` attribute.
11
- *
11
+ *
12
12
  * @class Panoramax.components.ui.SemanticsEditor
13
13
  * @element pnx-semantics-editor
14
14
  * @extends [lit.LitElement](https://lit.dev/docs/api/LitElement/)
@@ -22,13 +22,13 @@ import JSON5 from "json5";
22
22
  * ._t=${viewer._t}
23
23
  * onchange=${e => console.log(e.detail.semantics)}
24
24
  * />
25
- *
25
+ *
26
26
  * <!-- You can access editor and check its validity through native web browser functions -->
27
27
  * <script>
28
28
  * const editor = document.getElementById("editor");
29
29
  * console.log(editor.checkValidity()); // True if input is valid
30
30
  * </script>
31
- *
31
+ *
32
32
  * <!-- You can change specifically style of textarea -->
33
33
  * <style>
34
34
  * pnx-semantics-editor::part(text) {
@@ -82,7 +82,7 @@ export default class SemanticsEditor extends LitElement {
82
82
  getDiff() {
83
83
  return computeDiffTags(this._firstSemantics || [], this.semantics);
84
84
  }
85
-
85
+
86
86
  /**
87
87
  * Check if input is having a valid value.
88
88
  * @memberof Panoramax.components.ui.SemanticsEditor#
@@ -112,7 +112,7 @@ export default class SemanticsEditor extends LitElement {
112
112
  const txt = this.renderRoot.querySelector("textarea");
113
113
  txt?.setCustomValidity("");
114
114
  txt?.reportValidity();
115
-
115
+
116
116
  this._firstSemantics = baseSemantics;
117
117
  this.semantics = baseSemantics;
118
118
  }
@@ -126,7 +126,7 @@ export default class SemanticsEditor extends LitElement {
126
126
  this._onInput({ target });
127
127
  this._onBlur({ target });
128
128
  }
129
-
129
+
130
130
  /** @private */
131
131
  _onInput(e) {
132
132
  const tarea = e.target;
@@ -138,7 +138,7 @@ export default class SemanticsEditor extends LitElement {
138
138
  this._valid = false;
139
139
  }
140
140
  }
141
-
141
+
142
142
  /** @private */
143
143
  _onBlur(e) {
144
144
  const prevValidity = e.target.checkValidity();
@@ -148,7 +148,7 @@ export default class SemanticsEditor extends LitElement {
148
148
 
149
149
  /**
150
150
  * Event for value change.
151
- *
151
+ *
152
152
  * Note that this event is launched only on valid input.
153
153
  *
154
154
  * @event Panoramax.components.ui.SemanticsEditor#change
@@ -168,10 +168,9 @@ export default class SemanticsEditor extends LitElement {
168
168
  e.target.reportValidity();
169
169
  }
170
170
  }
171
-
171
+
172
172
  /** @private */
173
173
  render() {
174
- /* eslint-disable indent */
175
174
  return html`
176
175
  <textarea
177
176
  part="text"
@@ -1,10 +1,10 @@
1
- import { LitElement, html, css, nothing } from "lit";
2
- import { table } from "../styles";
3
- import { groupByPrefix } from "../../utils/semantics";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { table } from "../styles.js";
3
+ import { groupByPrefix } from "../../utils/semantics.js";
4
4
 
5
5
  /**
6
6
  * Semantics Tables display all semantics tags from either a picture or an annotation.
7
- *
7
+ *
8
8
  * @class Panoramax.components.ui.SemanticsTable
9
9
  * @element pnx-semantics-table
10
10
  * @extends [lit.LitElement](https://lit.dev/docs/api/LitElement/)
@@ -49,7 +49,6 @@ export default class SemanticsTable extends LitElement {
49
49
  };
50
50
 
51
51
  render() {
52
- /* eslint-disable indent */
53
52
  if(!this.source) { return nothing; }
54
53
 
55
54
  const groups = groupByPrefix(this.source.semantics);
@@ -1,4 +1,4 @@
1
- import { LitElement, html, css } from "lit";
1
+ import { LitElement, css, html } from "lit";
2
2
 
3
3
  /**
4
4
  * Switch button, based on a native checkbox.
@@ -1,6 +1,6 @@
1
- import { LitElement, html, css } from "lit";
2
- import { panel } from "../styles";
3
- import { listenForMenuClosure } from "../../utils/widgets";
1
+ import { LitElement, css, html } from "lit";
2
+ import { panel } from "../styles.js";
3
+ import { listenForMenuClosure } from "../../utils/widgets.js";
4
4
  import { classMap } from "lit/directives/class-map.js";
5
5
 
6
6
  /**
@@ -114,7 +114,7 @@ export default class TogglableGroup extends LitElement {
114
114
  else if(!fitsWidth && !fitsHeight) {
115
115
  menu.style.right = `${window.innerWidth - btnRect.left + btnMenuMargin}px`;
116
116
  menu.style.bottom = `${window.innerHeight - btnRect.bottom}px`;
117
-
117
+
118
118
  // Check if it doesn't overflow on top
119
119
  menuRect = menu.getBoundingClientRect();
120
120
  if(menuRect.top - borderMargin < 0) {
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Smaller UI pieces components
3
+ * @module Panoramax:components:ui
4
+ */
5
+
6
+ export {default as AnnotationsSwitch} from "./AnnotationsSwitch.js";
7
+ export {default as ButtonGroup} from "./ButtonGroup.js";
8
+ export {default as Button} from "./Button.js";
9
+ export {default as CopyButton} from "./CopyButton.js";
10
+ export {default as Grade} from "./Grade.js";
11
+ export {default as GradeFilter} from "./GradeFilter.js";
12
+ export {default as IconSwitch} from "./IconSwitch.js";
13
+ export {default as LinkButton} from "./LinkButton.js";
14
+ export {default as ListGroup} from "./ListGroup.js";
15
+ export {default as ListItem} from "./ListItem.js";
16
+ export {default as Loader} from "./Loader.js";
17
+ export {default as Map} from "./Map.js";
18
+ export {default as MapMore} from "./MapMore.js";
19
+ export {default as Photo} from "./Photo.js";
20
+ export {default as Popup} from "./Popup.js";
21
+ export {default as ProgressBar} from "./ProgressBar.js";
22
+ export {default as QualityScore} from "./QualityScore.js";
23
+ export {default as SearchBar} from "./SearchBar.js";
24
+ export {default as SemanticsEditor} from "./SemanticsEditor.js";
25
+ export {default as SemanticsTable} from "./SemanticsTable.js";
26
+ export {default as Switch} from "./Switch.js";
27
+ export {default as TogglableGroup} from "./TogglableGroup.js";
28
+ import * as widgets from "./widgets/index.js";
29
+ export {widgets};
@@ -0,0 +1,21 @@
1
+ // Lightweight export for PhotoViewer
2
+ export {default as ButtonGroup} from "./ButtonGroup.js";
3
+ export {default as Button} from "./Button.js";
4
+ export {default as CopyButton} from "./CopyButton.js";
5
+ export {default as Grade} from "./Grade.js";
6
+ export {default as AnnotationsSwitch} from "./AnnotationsSwitch.js";
7
+ export {default as LinkButton} from "./LinkButton.js";
8
+ export {default as ListGroup} from "./ListGroup.js";
9
+ export {default as ListItem} from "./ListItem.js";
10
+ export {default as Loader} from "./Loader.js";
11
+ export {default as Photo} from "./Photo.js";
12
+ export {default as Popup} from "./Popup.js";
13
+ export {default as ProgressBar} from "./ProgressBar.js";
14
+ export {default as QualityScore} from "./QualityScore.js";
15
+ export {default as SearchBar} from "./SearchBar.js";
16
+ export {default as SemanticsEditor} from "./SemanticsEditor.js";
17
+ export {default as SemanticsTable} from "./SemanticsTable.js";
18
+ export {default as Switch} from "./Switch.js";
19
+ export {default as TogglableGroup} from "./TogglableGroup.js";
20
+ import * as widgets from "./widgets/index_photoviewer.js";
21
+ export {widgets};
@@ -1,8 +1,8 @@
1
- import { LitElement, html, css } from "lit";
2
- import { degToDms } from "../../../utils/utils";
3
- import { fa } from "../../../utils/widgets";
4
- import { faChevronDown } from "@fortawesome/free-solid-svg-icons/faChevronDown";
5
- import { btngroup } from "../../styles";
1
+ import { LitElement, css, html } from "lit";
2
+ import { degToDms } from "../../../utils/utils.js";
3
+ import { fa } from "../../../utils/widgets.js";
4
+ import { faChevronDown } from "@fortawesome/free-solid-svg-icons";
5
+ import { btngroup } from "../../styles.js";
6
6
 
7
7
  /**
8
8
  * Copy Coordinates button allows easy copy of several format of map coordinates.
@@ -1,10 +1,9 @@
1
- // DO NOT REMOVE THE "!": bundled builds breaks otherwise !!!
2
- import maplibregl from "!maplibre-gl";
3
-
1
+ import "maplibre-gl";
4
2
  import { LitElement, html } from "lit";
5
- import { forwardGeocodingBAN, forwardGeocodingStandard, forwardGeocodingNominatim } from "../../../utils/geocoder";
6
- import { onceParentAvailable } from "../../../utils/widgets";
7
- import "./GeoSearch.css";
3
+ import { forwardGeocodingBAN, forwardGeocodingNominatim, forwardGeocodingStandard } from "../../../utils/geocoder.js";
4
+ import { onceParentAvailable } from "../../../utils/widgets.js";
5
+ import GeoSearchStyles from "./GeoSearch.css" with { type: "css" };
6
+ document.adoptedStyleSheets.push(GeoSearchStyles);
8
7
 
9
8
  const GEOCODER_ENGINES = {
10
9
  "ban": forwardGeocodingBAN,
@@ -21,7 +20,7 @@ const GEOCODER_ENGINES = {
21
20
  * ```html
22
21
  * <!-- Default geocoder -->
23
22
  * <pnx-widget-geosearch _parent=${viewer} />
24
- *
23
+ *
25
24
  * <!-- Custom-URL geocoder -->
26
25
  * <pnx-widget-geosearch geocoder="https://photon.komoot.io/api" _parent=${viewer} />
27
26
  * ```
@@ -41,7 +40,8 @@ export default class GeoSearch extends LitElement {
41
40
  constructor() {
42
41
  super();
43
42
  this.geocoder = "nominatim";
44
-
43
+
44
+ // eslint-disable-next-line no-undef
45
45
  this._geolocateCtrl = new maplibregl.GeolocateControl({
46
46
  positionOptions: {
47
47
  enableHighAccuracy: true,
@@ -78,7 +78,7 @@ export default class GeoSearch extends LitElement {
78
78
  const coordsMatch = query.match(rgxCoords);
79
79
  const rgxUuid = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/;
80
80
  const uuidMatch = query.match(rgxUuid);
81
-
81
+
82
82
  if(coordsMatch) {
83
83
  const lat = parseFloat(coordsMatch[1]);
84
84
  const lon = parseFloat(coordsMatch[2]);
@@ -96,7 +96,7 @@ export default class GeoSearch extends LitElement {
96
96
  return this._geocoderEngine({
97
97
  query,
98
98
  limit: 5,
99
- //bbox: this._parent.map.getBounds().toArray().map(d => d.join(",")).join(","),
99
+ //Bbox: this._parent.map.getBounds().toArray().map(d => d.join(",")).join(","),
100
100
  proximity: this._parent.map.getCenter().lat+","+this._parent.map.getCenter().lng,
101
101
  }).then(data => {
102
102
  data = data.features.map(f => ({
@@ -1,10 +1,11 @@
1
- import { LitElement, html, css, nothing } from "lit";
2
- import { panel } from "../../styles";
3
- import { fa, onceParentAvailable } from "../../../utils/widgets";
4
- import { faInfoCircle } from "@fortawesome/free-solid-svg-icons/faInfoCircle";
5
- import PanoramaxImg from "../../../img/panoramax.svg";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { panel } from "../../styles.js";
3
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
4
+ import { faInfoCircle } from "@fortawesome/free-solid-svg-icons";
6
5
  import { classMap } from "lit/directives/class-map.js";
7
- import { PanoramaxWebsiteURL } from "../../../utils/services";
6
+ import { PanoramaxWebsiteURL } from "../../../utils/services.js";
7
+
8
+ const PanoramaxImg = new URL("../../../img/panoramax.svg", import.meta.url).href;
8
9
 
9
10
  /**
10
11
  * Legend widget, handling switch between map and photo components.
@@ -21,7 +22,7 @@ import { PanoramaxWebsiteURL } from "../../../utils/services";
21
22
  * focus="map"
22
23
  * picture="PICTURE-ID-IF-ANY"
23
24
  * ></pnx-widget-legend>
24
- *
25
+ *
25
26
  * <!-- With custom editor links -->
26
27
  * <pnx-widget-legend
27
28
  * _parent=${viewer}
@@ -30,7 +31,7 @@ import { PanoramaxWebsiteURL } from "../../../utils/services";
30
31
  * >
31
32
  * <div slot="editors"><a href="http://my.own.tool">Edit in my own tool</a></div>
32
33
  * </pnx-widget-legend>
33
- *
34
+ *
34
35
  * <!-- Lighter version -->
35
36
  * <pnx-widget-legend
36
37
  * _parent=${viewer}
@@ -1,11 +1,13 @@
1
1
  import { LitElement, html, nothing } from "lit";
2
- import { fa, onceParentAvailable } from "../../../utils/widgets";
3
- import { DISABLED_LEVEL } from "../../../utils/indoor";
4
- import { faCaretUp } from "@fortawesome/free-solid-svg-icons/faCaretUp";
5
- import { faCaretDown } from "@fortawesome/free-solid-svg-icons/faCaretDown";
6
- import { faTimes } from "@fortawesome/free-solid-svg-icons/faTimes";
7
- import "../ButtonGroup.css";
8
- import "./LevelSelect.css";
2
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
3
+ import { DISABLED_LEVEL } from "../../../utils/indoor.js";
4
+ import {
5
+ faCaretDown, faCaretUp, faTimes
6
+ } from "@fortawesome/free-solid-svg-icons";
7
+ import LevelSelectStyles from "./LevelSelect.css" with { type: "css" };
8
+ import ButtonGroupStyles from "../ButtonGroup.css" with { type: "css" };
9
+ document.adoptedStyleSheets.push(LevelSelectStyles);
10
+ document.adoptedStyleSheets.push(ButtonGroupStyles);
9
11
 
10
12
  /**
11
13
  * Widget for indoor level selecting over map.
@@ -1,9 +1,9 @@
1
1
  import { LitElement, html, nothing } from "lit";
2
- import { fa, onceParentAvailable } from "../../../utils/widgets";
3
- import { faSliders } from "@fortawesome/free-solid-svg-icons/faSliders";
4
- import { faChevronDown } from "@fortawesome/free-solid-svg-icons/faChevronDown";
5
- import { faXmark } from "@fortawesome/free-solid-svg-icons/faXmark";
6
- import { activeIcon } from "../../styles";
2
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
3
+ import {
4
+ faChevronDown, faSliders, faXmark
5
+ } from "@fortawesome/free-solid-svg-icons";
6
+ import { activeIcon } from "../../styles.js";
7
7
 
8
8
  /**
9
9
  * Collapsible button showing off map filters menus.
@@ -1,9 +1,9 @@
1
1
  import { LitElement, html, nothing } from "lit";
2
- import { fa, onceParentAvailable } from "../../../utils/widgets";
3
- import { faLayerGroup } from "@fortawesome/free-solid-svg-icons/faLayerGroup";
4
- import { faChevronDown } from "@fortawesome/free-solid-svg-icons/faChevronDown";
5
- import { faXmark } from "@fortawesome/free-solid-svg-icons/faXmark";
6
- import { activeIcon } from "../../styles";
2
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
3
+ import {
4
+ faChevronDown, faLayerGroup, faXmark
5
+ } from "@fortawesome/free-solid-svg-icons";
6
+ import { activeIcon } from "../../styles.js";
7
7
 
8
8
  /**
9
9
  * Collapsible button showing off map filters menus.
@@ -1,10 +1,10 @@
1
- import { LitElement, html, nothing, css } from "lit";
2
- import { fa, onceParentAvailable } from "../../../utils/widgets";
3
- import { josmBboxParameters } from "../../../utils/utils";
4
- import { IdEditorURL } from "../../../utils/services";
5
- import { faLocationDot } from "@fortawesome/free-solid-svg-icons/faLocationDot";
6
- import { faSatelliteDish } from "@fortawesome/free-solid-svg-icons/faSatelliteDish";
7
- import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons/faExternalLinkAlt";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
3
+ import { josmBboxParameters } from "../../../utils/utils.js";
4
+ import { IdEditorURL } from "../../../utils/services.js";
5
+ import {
6
+ faExternalLinkAlt, faLocationDot, faSatelliteDish
7
+ } from "@fortawesome/free-solid-svg-icons";
8
8
 
9
9
  const JOSM_REMOTE_URL = "http://127.0.0.1:8111";
10
10
 
@@ -78,7 +78,7 @@ export default class OSMEditors extends LitElement {
78
78
  if(p2) {
79
79
  // Next loadings : just zoom
80
80
  // This avoids desktop focus to go on JOSM instead of
81
- // staying on web browser
81
+ // Staying on web browser
82
82
  const url = `${JOSM_REMOTE_URL}/zoom?${p2}`;
83
83
  fetch(url).catch(e => {
84
84
  console.warn(e);
@@ -1,7 +1,7 @@
1
- import { LitElement, html, nothing, css } from "lit";
2
- import { fa, onceParentAvailable } from "../../../utils/widgets";
3
- import { faEllipsisV } from "@fortawesome/free-solid-svg-icons/faEllipsisV";
4
- import { noprint } from "../../styles";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
3
+ import { faEllipsisV } from "@fortawesome/free-solid-svg-icons";
4
+ import { noprint } from "../../styles.js";
5
5
 
6
6
  /**
7
7
  * Picture Legend Actions is a menu showing up complementary actions for picture legend.
@@ -1,11 +1,10 @@
1
1
  import { LitElement, html, nothing } from "lit";
2
- import { fa, onceParentAvailable } from "../../../utils/widgets";
3
- import { faBackward } from "@fortawesome/free-solid-svg-icons/faBackward";
4
- import { faPlay } from "@fortawesome/free-solid-svg-icons/faPlay";
5
- import { faPause } from "@fortawesome/free-solid-svg-icons/faPause";
6
- import { faForward } from "@fortawesome/free-solid-svg-icons/faForward";
7
- import { faEllipsisVertical } from "@fortawesome/free-solid-svg-icons/faEllipsisVertical";
8
- import "./Player.css";
2
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
3
+ import {
4
+ faBackward, faEllipsisVertical, faForward, faPause, faPlay
5
+ } from "@fortawesome/free-solid-svg-icons";
6
+ import PlayerStyles from "./Player.css" with { type: "css" };
7
+ document.adoptedStyleSheets.push(PlayerStyles);
9
8
 
10
9
  /**
11
10
  * Player widget shows prev/play/pause/next/more buttons in a unified toolbar.
@@ -1,10 +1,9 @@
1
1
  import { LitElement, html, nothing } from "lit";
2
- import { fa } from "../../../utils/widgets";
3
- import { faChevronDown } from "@fortawesome/free-solid-svg-icons/faChevronDown";
4
- import { faXmark } from "@fortawesome/free-solid-svg-icons/faXmark";
5
- import { faTags } from "@fortawesome/free-solid-svg-icons/faTags";
6
- import { activeIcon } from "../../styles";
7
- import { onceParentAvailable } from "../../../utils/widgets";
2
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
3
+ import {
4
+ faChevronDown, faTags, faXmark
5
+ } from "@fortawesome/free-solid-svg-icons";
6
+ import { activeIcon } from "../../styles.js";
8
7
 
9
8
  /**
10
9
  * Collapsible button showing off tags filters menus.
@@ -32,7 +31,7 @@ export default class SemanticsFiltersButton extends LitElement {
32
31
  render() {
33
32
  const o = this._parent.map?.getSemanticOverlays?.();
34
33
  if(!o || o.length === 0) { return; }
35
-
34
+
36
35
  const active = o.filter(l => l.metadata && this._parent.mapStyleComposer.dataOverlays.has(l.source)).length > 0;
37
36
  const isSmall = this._parent?.isWidthSmall() || this._parent?.isWidthMedium();
38
37
  const resetIcon = fa(faXmark, {styles: {"pointer-events": "auto"}});
@@ -1,10 +1,10 @@
1
1
  import { LitElement, html } from "lit";
2
- import { PSV_DEFAULT_ZOOM, PSV_ANIM_DURATION } from "../Photo";
3
- import { PSV_ZOOM_DELTA } from "../../core/PhotoViewer";
4
- import { fa, onceParentAvailable } from "../../../utils/widgets";
5
- import { faPlus } from "@fortawesome/free-solid-svg-icons/faPlus";
6
- import { faMinus } from "@fortawesome/free-solid-svg-icons/faMinus";
7
- import "../ButtonGroup.css";
2
+ import { PSV_ANIM_DURATION, PSV_DEFAULT_ZOOM } from "../Photo.js";
3
+ import { PSV_ZOOM_DELTA } from "../../core/PhotoViewer.js";
4
+ import { fa, onceParentAvailable } from "../../../utils/widgets.js";
5
+ import { faMinus, faPlus } from "@fortawesome/free-solid-svg-icons";
6
+ import ButtonGroupStyles from "../ButtonGroup.css" with { type: "css" };
7
+ document.adoptedStyleSheets.push(ButtonGroupStyles);
8
8
 
9
9
  /**
10
10
  * Widget for +/- zoom on PSV or Map.
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Pre-assembled UI pieces components
3
+ * @module Panoramax:components:ui:widgets
4
+ */
5
+
6
+ export {default as CopyCoordinates} from "./CopyCoordinates.js";
7
+ export {default as GeoSearch} from "./GeoSearch.js";
8
+ export {default as Legend} from "./Legend.js";
9
+ export {default as LevelSelect} from "./LevelSelect.js";
10
+ export {default as MapFiltersButton} from "./MapFiltersButton.js";
11
+ export {default as MapLayersButton} from "./MapLayersButton.js";
12
+ export {default as OSMEditors} from "./OSMEditors.js";
13
+ export {default as PictureLegendActions} from "./PictureLegendActions.js";
14
+ export {default as Player} from "./Player.js";
15
+ export {default as SemanticsFiltersButton} from "./SemanticsFiltersButton.js";
16
+ export {default as Zoom} from "./Zoom.js";
@@ -0,0 +1,7 @@
1
+ // Lightweight export for PhotoViewer
2
+ export {default as CopyCoordinates} from "./CopyCoordinates.js";
3
+ export {default as Legend} from "./Legend.js";
4
+ export {default as OSMEditors} from "./OSMEditors.js";
5
+ export {default as PictureLegendActions} from "./PictureLegendActions.js";
6
+ export {default as Player} from "./Player.js";
7
+ export {default as Zoom} from "./Zoom.js";
package/build/editor.html CHANGED
@@ -1,10 +1,94 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><title>Panoramax Editor</title><style>#editor{position:relative;width:95%;margin:2.5%;height:400px}#editor.fullpage{position:fixed;inset:0;height:unset;width:unset;margin:0}</style><script defer="defer" src="index.js"></script><link href="index.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><pnx-editor id="editor" class="fullpage" sequence="ecfe4b2c-0acd-4d3a-a10d-c3e6818755c8" picture="329af5c6-4761-4a6d-9c1e-674fd6daa8b6" background="aerial" raster='{
2
- type: "raster",
3
- tiles: [
4
- "https://data.geopf.fr/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&STYLE=normal&FORMAT=image/jpeg&TILEMATRIXSET=PM_0_19&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
5
- ],
6
- minzoom: 0,
7
- maxzoom: 19,
8
- attribution: "&copy; IGN",
9
- tileSize: 256
10
- }'></pnx-editor><script src="./servers.js"></script><script>var editor=document.getElementById("editor");editor.setAttribute("endpoint",server)</script></body></html>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
+ <title>Panoramax Editor</title>
7
+ <style>
8
+ #editor {
9
+ position: relative;
10
+ width: 95%;
11
+ margin: 2.5%;
12
+ height: 400px;
13
+ }
14
+ #editor.fullpage {
15
+ position: fixed;
16
+ inset: 0;
17
+ height: unset;
18
+ width: unset;
19
+ margin: 0;
20
+ }
21
+ </style>
22
+
23
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/maplibre-gl@5.21.1/dist/maplibre-gl.css" />
24
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/core@5.14.1/index.css" />
25
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/virtual-tour-plugin@5.14.1/index.css" />
26
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/gallery-plugin@5.14.1/index.css" />
27
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/markers-plugin@5.14.1/index.css" />
28
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource/atkinson-hyperlegible-next/index.css" />
29
+ </head>
30
+ <body>
31
+ <script type="importmap">
32
+ {
33
+ "imports": {
34
+ "@fortawesome/fontawesome-svg-core": "https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-svg-core@6.7.2/index.mjs",
35
+ "@fortawesome/free-regular-svg-icons": "https://cdn.jsdelivr.net/npm/@fortawesome/free-regular-svg-icons@6.7.2/index.mjs",
36
+ "@fortawesome/free-solid-svg-icons": "https://cdn.jsdelivr.net/npm/@fortawesome/free-solid-svg-icons@6.7.2/index.mjs",
37
+ "@maplibre/vt-pbf": "https://cdn.jsdelivr.net/npm/@maplibre/vt-pbf@4.3.0/dist/index.es.js",
38
+ "@mapbox/vector-tile": "https://cdn.jsdelivr.net/npm/@mapbox/vector-tile@2.0.4/index.js",
39
+ "@photo-sphere-viewer/core": "https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/core@5.14.1/index.module.js",
40
+ "@photo-sphere-viewer/equirectangular-tiles-adapter": "https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/equirectangular-tiles-adapter@5.14.1/index.module.js",
41
+ "@photo-sphere-viewer/gallery-plugin": "https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/gallery-plugin@5.14.1/index.module.js",
42
+ "@photo-sphere-viewer/markers-plugin": "https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/markers-plugin@5.14.1/index.module.js",
43
+ "@photo-sphere-viewer/compass-plugin": "https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/compass-plugin@5.14.1/index.module.js",
44
+ "@photo-sphere-viewer/virtual-tour-plugin": "https://cdn.jsdelivr.net/npm/@photo-sphere-viewer/virtual-tour-plugin@5.14.1/index.module.js",
45
+ "geojson-vt": "https://cdn.jsdelivr.net/npm/geojson-vt@4.0.2/src/index.js",
46
+ "iconify-icon": "https://cdn.jsdelivr.net/npm/iconify-icon@3.0.2/dist/iconify-icon.mjs",
47
+ "json5": "https://cdn.jsdelivr.net/npm/json5@2.2.3/dist/index.min.mjs",
48
+ "lit": "https://cdn.jsdelivr.net/npm/lit@3.3.2/index.js",
49
+ "lit/": "https://cdn.jsdelivr.net/npm/lit@3.3.2/",
50
+ "lit-html": "https://cdn.jsdelivr.net/npm/lit-html@3.3.2/lit-html.js",
51
+ "lit-html/": "https://cdn.jsdelivr.net/npm/lit-html@3.3.2/",
52
+ "lit-element/": "https://cdn.jsdelivr.net/npm/lit-element@4.2.2/",
53
+ "maplibre-gl": "https://cdn.jsdelivr.net/npm/maplibre-gl@5.21.1/dist/maplibre-gl.js",
54
+ "pmtiles": "https://cdn.jsdelivr.net/npm/pmtiles@4.4.0/dist/esm/index.js",
55
+ "query-selector-shadow-dom": "https://cdn.jsdelivr.net/npm/query-selector-shadow-dom@1.0.0/dist/querySelectorShadowDom.js",
56
+ "@panoramax/web-viewer": "./src/index.js",
57
+ "@lit/reactive-element": "https://cdn.jsdelivr.net/npm/@lit/reactive-element@2.1.2/reactive-element.js",
58
+ "@mapbox/point-geometry": "https://cdn.jsdelivr.net/npm/@mapbox/point-geometry@1.1.0/index.js",
59
+ "fflate": "https://cdn.jsdelivr.net/npm/fflate@0.8.2/esm/browser.js",
60
+ "pbf": "https://cdn.jsdelivr.net/npm/pbf@4.0.1/index.js",
61
+ "three": "https://cdn.jsdelivr.net/npm/three@0.179.1/build/three.module.js"
62
+ }
63
+ }
64
+ </script>
65
+ <noscript>
66
+ You need to enable JavaScript to run this app.
67
+ </noscript>
68
+
69
+ <pnx-editor
70
+ id="editor"
71
+ class="fullpage"
72
+ sequence="ecfe4b2c-0acd-4d3a-a10d-c3e6818755c8"
73
+ picture="329af5c6-4761-4a6d-9c1e-674fd6daa8b6"
74
+ background="aerial"
75
+ raster='{
76
+ type: "raster",
77
+ tiles: [
78
+ "https://data.geopf.fr/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&STYLE=normal&FORMAT=image/jpeg&TILEMATRIXSET=PM_0_19&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
79
+ ],
80
+ minzoom: 0,
81
+ maxzoom: 19,
82
+ attribution: "&copy; IGN",
83
+ tileSize: 256
84
+ }'
85
+ ></pnx-editor>
86
+
87
+ <script type="module" src="./index.js"></script>
88
+ <script src="./servers.js"></script>
89
+ <script>
90
+ var editor = document.getElementById("editor");
91
+ editor.setAttribute("endpoint", server);
92
+ </script>
93
+ </body>
94
+ </html>
@@ -1,4 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
1
  <svg
3
2
  viewBox="0 0 64 64"
4
3
  width="64" height="64"
@@ -1,4 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
1
  <svg viewBox="0 0 64 192" width="64" height="192" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
3
2
  <circle
4
3
  cx="32"