@panoramax/web-viewer 4.4.0-develop-3839b5a4 → 4.4.0-develop-f91f6758

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}/utils/API.js +33 -33
  81. package/{src → build}/utils/InitParameters.js +11 -9
  82. package/{src → build}/utils/MapStyleComposer.js +39 -37
  83. package/{src → build}/utils/PhotoAdapter.js +1 -0
  84. package/{src → build}/utils/PresetsManager.js +4 -4
  85. package/{src → build}/utils/SemanticsMapProtocol.js +3 -4
  86. package/{src → build}/utils/URLHandler.js +16 -14
  87. package/{src → build}/utils/geocoder.js +5 -5
  88. package/{src → build}/utils/i18n.js +21 -20
  89. package/build/utils/index.js +17 -0
  90. package/build/utils/index_photoviewer.js +14 -0
  91. package/{src → build}/utils/indoor.js +9 -5
  92. package/{src → build}/utils/map.js +15 -11
  93. package/{src → build}/utils/picture.js +22 -17
  94. package/{src → build}/utils/semantics.js +9 -5
  95. package/{src → build}/utils/utils.js +8 -4
  96. package/{src → build}/utils/widgets.js +2 -2
  97. package/build/viewer.html +120 -35
  98. package/build/viewer_indoor.html +90 -8
  99. package/build/widgets.html +410 -1
  100. package/package.json +81 -204
  101. package/.dockerignore +0 -7
  102. package/.gitlab-ci.yml +0 -78
  103. package/CHANGELOG.md +0 -853
  104. package/CODE_OF_CONDUCT.md +0 -134
  105. package/Dockerfile +0 -14
  106. package/build/index.css +0 -36
  107. package/build/index.css.map +0 -1
  108. package/build/index.js.map +0 -1
  109. package/build/photoviewer.css +0 -36
  110. package/build/photoviewer.css.map +0 -1
  111. package/build/photoviewer.js +0 -86
  112. package/build/photoviewer.js.map +0 -1
  113. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff +0 -0
  114. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff2 +0 -0
  115. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff +0 -0
  116. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff2 +0 -0
  117. package/config/env.js +0 -104
  118. package/config/getHttpsConfig.js +0 -69
  119. package/config/getPackageJson.js +0 -25
  120. package/config/jest/babelTransform.js +0 -29
  121. package/config/jest/cssTransform.js +0 -14
  122. package/config/jest/fileTransform.js +0 -40
  123. package/config/jest/mocks.js +0 -230
  124. package/config/modules.js +0 -134
  125. package/config/paths.js +0 -76
  126. package/config/pnpTs.js +0 -35
  127. package/config/webpack/persistentCache/createEnvironmentHash.js +0 -9
  128. package/config/webpack.config.js +0 -825
  129. package/config/webpackDevServer.config.js +0 -131
  130. package/docs/03_URL_settings.md +0 -218
  131. package/docs/05_Compatibility.md +0 -83
  132. package/docs/09_Develop.md +0 -141
  133. package/docs/90_Releases.md +0 -27
  134. package/docs/images/class_diagram.drawio +0 -144
  135. package/docs/images/class_diagram.jpg +0 -0
  136. package/docs/images/comparative_3drender.jpg +0 -0
  137. package/docs/images/indoor_level.png +0 -0
  138. package/docs/images/screenshot.jpg +0 -0
  139. package/docs/index.md +0 -159
  140. package/docs/reference/components/core/Basic.md +0 -211
  141. package/docs/reference/components/core/CoverageMap.md +0 -220
  142. package/docs/reference/components/core/Editor.md +0 -252
  143. package/docs/reference/components/core/PhotoViewer.md +0 -320
  144. package/docs/reference/components/core/Viewer.md +0 -398
  145. package/docs/reference/components/layout/BottomDrawer.md +0 -35
  146. package/docs/reference/components/layout/CorneredGrid.md +0 -29
  147. package/docs/reference/components/layout/Mini.md +0 -45
  148. package/docs/reference/components/layout/Tabs.md +0 -46
  149. package/docs/reference/components/menus/LocationPrecisionDoc.md +0 -15
  150. package/docs/reference/components/menus/MapBackground.md +0 -32
  151. package/docs/reference/components/menus/MapFilters.md +0 -37
  152. package/docs/reference/components/menus/MapLayers.md +0 -15
  153. package/docs/reference/components/menus/MapLegend.md +0 -32
  154. package/docs/reference/components/menus/MiniPictureLegend.md +0 -15
  155. package/docs/reference/components/menus/PictureLegend.md +0 -45
  156. package/docs/reference/components/menus/PictureMetadata.md +0 -32
  157. package/docs/reference/components/menus/PlayerOptions.md +0 -15
  158. package/docs/reference/components/menus/QualityScoreDoc.md +0 -15
  159. package/docs/reference/components/menus/ReportForm.md +0 -15
  160. package/docs/reference/components/menus/SemanticsDoc.md +0 -15
  161. package/docs/reference/components/menus/SemanticsDownload.md +0 -15
  162. package/docs/reference/components/menus/SemanticsFilters.md +0 -33
  163. package/docs/reference/components/menus/SemanticsList.md +0 -97
  164. package/docs/reference/components/menus/SemanticsMetadata.md +0 -15
  165. package/docs/reference/components/menus/ShareMenu.md +0 -32
  166. package/docs/reference/components/ui/AnnotationsSwitch.md +0 -32
  167. package/docs/reference/components/ui/Button.md +0 -40
  168. package/docs/reference/components/ui/ButtonGroup.md +0 -36
  169. package/docs/reference/components/ui/CopyButton.md +0 -41
  170. package/docs/reference/components/ui/Grade.md +0 -32
  171. package/docs/reference/components/ui/GradeFilter.md +0 -42
  172. package/docs/reference/components/ui/IconSwitch.md +0 -53
  173. package/docs/reference/components/ui/LinkButton.md +0 -45
  174. package/docs/reference/components/ui/ListGroup.md +0 -22
  175. package/docs/reference/components/ui/ListItem.md +0 -39
  176. package/docs/reference/components/ui/Loader.md +0 -56
  177. package/docs/reference/components/ui/Map.md +0 -150
  178. package/docs/reference/components/ui/MapMore.md +0 -150
  179. package/docs/reference/components/ui/Photo.md +0 -495
  180. package/docs/reference/components/ui/Popup.md +0 -56
  181. package/docs/reference/components/ui/ProgressBar.md +0 -32
  182. package/docs/reference/components/ui/QualityScore.md +0 -45
  183. package/docs/reference/components/ui/SearchBar.md +0 -63
  184. package/docs/reference/components/ui/SemanticsEditor.md +0 -113
  185. package/docs/reference/components/ui/SemanticsTable.md +0 -32
  186. package/docs/reference/components/ui/Switch.md +0 -49
  187. package/docs/reference/components/ui/TogglableGroup.md +0 -39
  188. package/docs/reference/components/ui/widgets/CopyCoordinates.md +0 -32
  189. package/docs/reference/components/ui/widgets/GeoSearch.md +0 -36
  190. package/docs/reference/components/ui/widgets/Legend.md +0 -58
  191. package/docs/reference/components/ui/widgets/LevelSelect.md +0 -16
  192. package/docs/reference/components/ui/widgets/MapFiltersButton.md +0 -37
  193. package/docs/reference/components/ui/widgets/MapLayersButton.md +0 -15
  194. package/docs/reference/components/ui/widgets/OSMEditors.md +0 -15
  195. package/docs/reference/components/ui/widgets/PictureLegendActions.md +0 -32
  196. package/docs/reference/components/ui/widgets/Player.md +0 -34
  197. package/docs/reference/components/ui/widgets/SemanticsFiltersButton.md +0 -15
  198. package/docs/reference/components/ui/widgets/Zoom.md +0 -15
  199. package/docs/reference/utils/API.md +0 -389
  200. package/docs/reference/utils/InitParameters.md +0 -68
  201. package/docs/reference/utils/MapStyleComposer.md +0 -408
  202. package/docs/reference/utils/PanoraMapProtocol.md +0 -28
  203. package/docs/reference/utils/PresetsManager.md +0 -43
  204. package/docs/reference/utils/SemanticsMapProtocol.md +0 -43
  205. package/docs/reference/utils/URLHandler.md +0 -114
  206. package/docs/reference.md +0 -99
  207. package/docs/shortcuts.md +0 -11
  208. package/docs/tutorials/aerial_imagery.md +0 -21
  209. package/docs/tutorials/authentication.md +0 -10
  210. package/docs/tutorials/custom_widgets.md +0 -59
  211. package/docs/tutorials/indoor_maps.md +0 -50
  212. package/docs/tutorials/map_style.md +0 -83
  213. package/docs/tutorials/migrate_v4.md +0 -153
  214. package/docs/tutorials/migrate_v5.md +0 -103
  215. package/docs/tutorials/semantics_overlays.md +0 -74
  216. package/docs/tutorials/synced_coverage.md +0 -43
  217. package/mkdocs.yml +0 -131
  218. package/public/editor.html +0 -53
  219. package/public/index.html +0 -70
  220. package/public/map.html +0 -55
  221. package/public/photo.html +0 -43
  222. package/public/servers.js +0 -15
  223. package/public/viewer.html +0 -79
  224. package/public/viewer_indoor.html +0 -48
  225. package/public/widgets.html +0 -366
  226. package/scripts/build.js +0 -217
  227. package/scripts/doc.js +0 -79
  228. package/scripts/start.js +0 -172
  229. package/scripts/test.js +0 -52
  230. package/src/components/core/index.js +0 -12
  231. package/src/components/index.js +0 -13
  232. package/src/components/index_photoviewer.js +0 -8
  233. package/src/components/layout/index.js +0 -9
  234. package/src/components/menus/index.js +0 -22
  235. package/src/components/menus/index_photoviewer.js +0 -13
  236. package/src/components/ui/index.js +0 -29
  237. package/src/components/ui/index_photoviewer.js +0 -23
  238. package/src/components/ui/widgets/index.js +0 -16
  239. package/src/components/ui/widgets/index_photoviewer.js +0 -9
  240. package/src/index.js +0 -8
  241. package/src/index_photoviewer.js +0 -6
  242. package/src/utils/index.js +0 -17
  243. package/src/utils/index_photoviewer.js +0 -16
  244. package/tests/components/core/Basic.test.js +0 -168
  245. package/tests/components/core/BasicMock.js +0 -25
  246. package/tests/components/core/CoverageMap.test.js +0 -20
  247. package/tests/components/core/Editor.test.js +0 -20
  248. package/tests/components/core/PhotoViewer.test.js +0 -57
  249. package/tests/components/core/Viewer.test.js +0 -85
  250. package/tests/components/core/__snapshots__/PhotoViewer.test.js.snap +0 -96
  251. package/tests/components/core/__snapshots__/Viewer.test.js.snap +0 -188
  252. package/tests/components/ui/CopyButton.test.js +0 -52
  253. package/tests/components/ui/Loader.test.js +0 -55
  254. package/tests/components/ui/Map.test.js +0 -145
  255. package/tests/components/ui/Photo.test.js +0 -437
  256. package/tests/components/ui/Popup.test.js +0 -26
  257. package/tests/components/ui/QualityScore.test.js +0 -18
  258. package/tests/components/ui/SearchBar.test.js +0 -110
  259. package/tests/components/ui/__snapshots__/CopyButton.test.js.snap +0 -33
  260. package/tests/components/ui/__snapshots__/Loader.test.js.snap +0 -56
  261. package/tests/components/ui/__snapshots__/Map.test.js.snap +0 -16
  262. package/tests/components/ui/__snapshots__/Photo.test.js.snap +0 -263
  263. package/tests/components/ui/__snapshots__/Popup.test.js.snap +0 -29
  264. package/tests/components/ui/__snapshots__/QualityScore.test.js.snap +0 -11
  265. package/tests/components/ui/__snapshots__/SearchBar.test.js.snap +0 -65
  266. package/tests/data/Map_geocoder_ban.json +0 -36
  267. package/tests/data/Map_geocoder_nominatim.json +0 -41
  268. package/tests/data/Viewer_pictures_1.json +0 -148
  269. package/tests/setupTests.js +0 -5
  270. package/tests/utils/API.test.js +0 -752
  271. package/tests/utils/InitParameters.test.js +0 -599
  272. package/tests/utils/MapStyleComposer.test.js +0 -697
  273. package/tests/utils/PresetsManager.test.js +0 -123
  274. package/tests/utils/URLHandler.test.js +0 -587
  275. package/tests/utils/__snapshots__/API.test.js.snap +0 -40
  276. package/tests/utils/__snapshots__/MapStyleComposer.test.js.snap +0 -767
  277. package/tests/utils/__snapshots__/URLHandler.test.js.snap +0 -21
  278. package/tests/utils/__snapshots__/geocoder.test.js.snap +0 -37
  279. package/tests/utils/__snapshots__/map.test.js.snap +0 -1249
  280. package/tests/utils/__snapshots__/picture.test.js.snap +0 -327
  281. package/tests/utils/__snapshots__/widgets.test.js.snap +0 -19
  282. package/tests/utils/geocoder.test.js +0 -37
  283. package/tests/utils/i18n.test.js +0 -111
  284. package/tests/utils/map.test.js +0 -200
  285. package/tests/utils/picture.test.js +0 -745
  286. package/tests/utils/semantics.test.js +0 -174
  287. package/tests/utils/utils.test.js +0 -358
  288. package/tests/utils/widgets.test.js +0 -31
  289. /package/{src → build}/components/core/Basic.css +0 -0
  290. /package/{src → build}/components/core/CoverageMap.css +0 -0
  291. /package/{src → build}/components/core/Editor.css +0 -0
  292. /package/{src → build}/components/core/PhotoViewer.css +0 -0
  293. /package/{src → build}/components/core/Viewer.css +0 -0
  294. /package/{src → build}/components/ui/ButtonGroup.css +0 -0
  295. /package/{src → build}/components/ui/Map.css +0 -0
  296. /package/{src → build}/components/ui/Photo.css +0 -0
  297. /package/{src → build}/components/ui/ProgressBar.js +0 -0
  298. /package/{src → build}/components/ui/widgets/GeoSearch.css +0 -0
  299. /package/{src → build}/components/ui/widgets/LevelSelect.css +0 -0
  300. /package/{src → build}/components/ui/widgets/Player.css +0 -0
  301. /package/{public → build}/favicon.ico +0 -0
  302. /package/{src → build}/img/arrow_360.svg +0 -0
  303. /package/{src → build}/img/arrow_flat.svg +0 -0
  304. /package/{src → build}/img/bg_aerial.jpg +0 -0
  305. /package/{src → build}/img/bg_streets.jpg +0 -0
  306. /package/{src → build}/img/loader_base.jpg +0 -0
  307. /package/{src → build}/img/logo_dead.svg +0 -0
  308. /package/{src → build}/img/marker.svg +0 -0
  309. /package/{src → build}/img/marker_blue.svg +0 -0
  310. /package/{src → build}/img/osm.svg +0 -0
  311. /package/{src → build}/img/panoramax.svg +0 -0
  312. /package/{src → build}/img/switch_big.svg +0 -0
  313. /package/{src → build}/img/switch_mini.svg +0 -0
  314. /package/{src → build}/img/wd.svg +0 -0
  315. /package/{src → build}/translations/ar.json +0 -0
  316. /package/{src → build}/translations/be.json +0 -0
  317. /package/{src → build}/translations/br.json +0 -0
  318. /package/{src → build}/translations/cy.json +0 -0
  319. /package/{src → build}/translations/da.json +0 -0
  320. /package/{src → build}/translations/de.json +0 -0
  321. /package/{src → build}/translations/en.json +0 -0
  322. /package/{src → build}/translations/eo.json +0 -0
  323. /package/{src → build}/translations/es.json +0 -0
  324. /package/{src → build}/translations/fi.json +0 -0
  325. /package/{src → build}/translations/fr.json +0 -0
  326. /package/{src → build}/translations/hu.json +0 -0
  327. /package/{src → build}/translations/it.json +0 -0
  328. /package/{src → build}/translations/ja.json +0 -0
  329. /package/{src → build}/translations/ko.json +0 -0
  330. /package/{src → build}/translations/nl.json +0 -0
  331. /package/{src → build}/translations/nn.json +0 -0
  332. /package/{src → build}/translations/pl.json +0 -0
  333. /package/{src → build}/translations/pt.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"