mobility-toolbox-js 2.3.9-beta.1 → 2.3.10

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 (471) hide show
  1. package/.esdoc.js +18 -0
  2. package/.eslintignore +1 -0
  3. package/.eslintrc.js +25 -0
  4. package/.fixpackrc +20 -0
  5. package/.github/workflows/build.yml +16 -0
  6. package/.github/workflows/conventional-pr-title.yml +16 -0
  7. package/.github/workflows/cypress.yml +101 -0
  8. package/.github/workflows/test.yml +17 -0
  9. package/.husky/commit-msg +4 -0
  10. package/.husky/post-checkout +4 -0
  11. package/.husky/post-merge +4 -0
  12. package/.husky/post-rebase +4 -0
  13. package/.husky/pre-commit +4 -0
  14. package/.lintstagedrc.js +10 -0
  15. package/.nvmrc +1 -0
  16. package/.prettierrc.js +5 -0
  17. package/.stylelintrc.js +4 -0
  18. package/CHANGELOG.md +132 -0
  19. package/LICENSE +21 -0
  20. package/MIGRATION-V2.md +248 -0
  21. package/README.md +42 -0
  22. package/__mocks__/mapbox-gl.js +81 -0
  23. package/__mocks__/maplibre-gl.js +81 -0
  24. package/babel.config.js +9 -0
  25. package/commitlint.config.js +1 -0
  26. package/cypress/e2e/examples/api.cy.js +7 -0
  27. package/cypress/e2e/examples/examples.cy.js +7 -0
  28. package/cypress/e2e/examples/navigation.cy.js +29 -0
  29. package/cypress/fixtures/example.json +5 -0
  30. package/cypress/plugins/index.js +21 -0
  31. package/cypress/support/commands.js +25 -0
  32. package/cypress/support/e2e.js +20 -0
  33. package/cypress.config.ts +15 -0
  34. package/data/fetchRoute.json +292 -0
  35. package/data/fetchTrajectories.json +18 -0
  36. package/data/fetchTrajectoryById.json +3 -0
  37. package/data/fetchTrajectoryStations.json +18 -0
  38. package/data/stopsSearch.json +15 -0
  39. package/dependabot.yml +15 -0
  40. package/doc/.eslintrc.json +1 -0
  41. package/doc/README.md +34 -0
  42. package/doc/next.config.js +16 -0
  43. package/doc/package.json +41 -0
  44. package/doc/pages/404.js +5 -0
  45. package/doc/pages/_app.js +61 -0
  46. package/doc/pages/_document.js +64 -0
  47. package/doc/pages/doc/[...slug].js +23 -0
  48. package/doc/pages/doc.js +23 -0
  49. package/doc/pages/example/[example].js +52 -0
  50. package/doc/pages/examples.js +34 -0
  51. package/doc/pages/index.js +25 -0
  52. package/doc/public/README.md +15 -0
  53. package/doc/public/favicon.ico +0 -0
  54. package/doc/public/static/assets/Lato-Black.ttf +0 -0
  55. package/doc/public/static/assets/Lato-BlackItalic.ttf +0 -0
  56. package/doc/public/static/assets/Lato-Bold.ttf +0 -0
  57. package/doc/public/static/assets/Lato-BoldItalic.ttf +0 -0
  58. package/doc/public/static/assets/Lato-Italic.ttf +0 -0
  59. package/doc/public/static/assets/Lato-Light.ttf +0 -0
  60. package/doc/public/static/assets/Lato-LightItalic.ttf +0 -0
  61. package/doc/public/static/assets/Lato-Regular.ttf +0 -0
  62. package/doc/public/static/assets/Lato-Thin.ttf +0 -0
  63. package/doc/public/static/assets/Lato-ThinItalic.ttf +0 -0
  64. package/doc/public/static/assets/OFL.txt +93 -0
  65. package/doc/public/static/examples/assets/tralis-live-map/index.js +11 -0
  66. package/doc/public/static/examples/assets/tralis-live-map/s1kreis.svg +105 -0
  67. package/doc/public/static/examples/assets/tralis-live-map/s20kreis.svg +101 -0
  68. package/doc/public/static/examples/assets/tralis-live-map/s2kreis.svg +95 -0
  69. package/doc/public/static/examples/assets/tralis-live-map/s3kreis.svg +95 -0
  70. package/doc/public/static/examples/assets/tralis-live-map/s4kreis.svg +95 -0
  71. package/doc/public/static/examples/assets/tralis-live-map/s6kreis.svg +95 -0
  72. package/doc/public/static/examples/assets/tralis-live-map/s7kreis.svg +95 -0
  73. package/doc/public/static/examples/assets/tralis-live-map/s8kreis.svg +93 -0
  74. package/doc/public/static/examples/assets/tralis-live-map/unknown.svg +107 -0
  75. package/doc/public/static/examples/layers.html +11 -0
  76. package/doc/public/static/examples/layers.js +97 -0
  77. package/doc/public/static/examples/mb-copyright.html +26 -0
  78. package/doc/public/static/examples/mb-copyright.js +37 -0
  79. package/doc/public/static/examples/mb-tracker.html +1 -0
  80. package/doc/public/static/examples/mb-tracker.js +40 -0
  81. package/doc/public/static/examples/mb-tracker.md +1 -0
  82. package/doc/public/static/examples/mb-tralis.html +1 -0
  83. package/doc/public/static/examples/mb-tralis.js +34 -0
  84. package/doc/public/static/examples/ol-copyright.html +26 -0
  85. package/doc/public/static/examples/ol-copyright.js +43 -0
  86. package/doc/public/static/examples/ol-mapbox-layer.html +1 -0
  87. package/doc/public/static/examples/ol-mapbox-layer.js +28 -0
  88. package/doc/public/static/examples/ol-mapbox-style-layer.html +12 -0
  89. package/doc/public/static/examples/ol-mapbox-style-layer.js +48 -0
  90. package/doc/public/static/examples/ol-query.html +32 -0
  91. package/doc/public/static/examples/ol-query.js +83 -0
  92. package/doc/public/static/examples/ol-routing.html +26 -0
  93. package/doc/public/static/examples/ol-routing.js +65 -0
  94. package/doc/public/static/examples/ol-routing.md +1 -0
  95. package/doc/public/static/examples/ol-stop-finder.html +15 -0
  96. package/doc/public/static/examples/ol-stop-finder.js +35 -0
  97. package/doc/public/static/examples/ol-stop-finder.md +1 -0
  98. package/doc/public/static/examples/ol-tracker.html +1 -0
  99. package/doc/public/static/examples/ol-tracker.js +41 -0
  100. package/doc/public/static/examples/ol-tracker.md +1 -0
  101. package/doc/public/static/examples/ol-tralis.html +5 -0
  102. package/doc/public/static/examples/ol-tralis.js +62 -0
  103. package/doc/public/static/examples/tralis-live-map.html +1 -0
  104. package/doc/public/static/examples/tralis-live-map.js +67 -0
  105. package/doc/public/static/examples/tralis-live-map.md +3 -0
  106. package/doc/public/static/img/live_tracker_mb.jpg +0 -0
  107. package/doc/public/static/img/live_tracker_munich.jpg +0 -0
  108. package/doc/public/static/img/live_tracker_ol.jpg +0 -0
  109. package/doc/public/static/img/mapbox.jpg +0 -0
  110. package/doc/public/static/img/mapbox_style.jpg +0 -0
  111. package/doc/public/static/img/ol-copyright.png +0 -0
  112. package/doc/public/static/img/query_objects.jpg +0 -0
  113. package/doc/public/static/img/routing.jpg +0 -0
  114. package/doc/public/static/img/simple_map.jpg +0 -0
  115. package/doc/public/static/img/stops.jpg +0 -0
  116. package/doc/public/vercel.svg +4 -0
  117. package/doc/src/components/CodeSandboxButton.js +102 -0
  118. package/doc/src/components/Documentation.js +42 -0
  119. package/doc/src/components/Esdoc/Anchor.js +57 -0
  120. package/doc/src/components/Esdoc/ClassDoc.js +272 -0
  121. package/doc/src/components/Esdoc/DeprecatedHTML.js +16 -0
  122. package/doc/src/components/Esdoc/DetailDocs.js +279 -0
  123. package/doc/src/components/Esdoc/DetailHTML.js +33 -0
  124. package/doc/src/components/Esdoc/DirectSubclassHTML.js +30 -0
  125. package/doc/src/components/Esdoc/DocBuilderUtils.js +697 -0
  126. package/doc/src/components/Esdoc/DocLinkHTML.js +63 -0
  127. package/doc/src/components/Esdoc/DocsLinkHTML.js +38 -0
  128. package/doc/src/components/Esdoc/Esdoc.js +63 -0
  129. package/doc/src/components/Esdoc/EsdocContent.js +56 -0
  130. package/doc/src/components/Esdoc/EsdocNavigation.js +13 -0
  131. package/doc/src/components/Esdoc/EsdocSearch.js +78 -0
  132. package/doc/src/components/Esdoc/ExperimentalHTML.js +17 -0
  133. package/doc/src/components/Esdoc/ExtendsChainHTML.js +32 -0
  134. package/doc/src/components/Esdoc/FileDocLinkHTML.js +62 -0
  135. package/doc/src/components/Esdoc/IdentifiersDoc.js +113 -0
  136. package/doc/src/components/Esdoc/IndirectSubclassHTML.js +30 -0
  137. package/doc/src/components/Esdoc/InheritedSummaryDoc.js +70 -0
  138. package/doc/src/components/Esdoc/InheritedSummaryHTML.js +38 -0
  139. package/doc/src/components/Esdoc/MixinClassesHTML.js +29 -0
  140. package/doc/src/components/Esdoc/NavDoc.js +112 -0
  141. package/doc/src/components/Esdoc/OverrideMethod.js +44 -0
  142. package/doc/src/components/Esdoc/OverrideMethodDescription.js +35 -0
  143. package/doc/src/components/Esdoc/Properties.js +89 -0
  144. package/doc/src/components/Esdoc/README.md +45 -0
  145. package/doc/src/components/Esdoc/SignatureHTML.js +123 -0
  146. package/doc/src/components/Esdoc/SingleDoc.js +31 -0
  147. package/doc/src/components/Esdoc/SummaryDoc.js +160 -0
  148. package/doc/src/components/Esdoc/SummaryHTML.js +96 -0
  149. package/doc/src/components/Esdoc/TypeDocLinkHTML.js +251 -0
  150. package/doc/src/components/Esdoc/index.js +7 -0
  151. package/doc/src/components/Esdoc/taffydb.js +2070 -0
  152. package/doc/src/components/Example.js +200 -0
  153. package/doc/src/components/ExampleCard.js +126 -0
  154. package/doc/src/components/Examples.js +78 -0
  155. package/doc/src/components/Home.js +121 -0
  156. package/doc/src/components/TrackerExample.js +39 -0
  157. package/doc/src/examples.js +117 -0
  158. package/doc/styles/App.scss +53 -0
  159. package/doc/styles/identifiers.css +38 -0
  160. package/doc/styles/search.css +76 -0
  161. package/doc/styles/style.css +603 -0
  162. package/esdoc/README.md +27 -0
  163. package/esdoc/plugins/MyPlugin.js +69 -0
  164. package/esdoc/plugins/dynamic-property-plugin/Plugin.js +50 -0
  165. package/esdoc/plugins/externals-plugin/Plugin.js +45 -0
  166. package/esdoc/plugins/externals-plugin/externals.js +93 -0
  167. package/esdoc/plugins/optional-chaining-plugin/Plugin.js +8 -0
  168. package/global-setup.js +3 -0
  169. package/jest.config.js +24 -0
  170. package/package.json +19 -19
  171. package/pull_request_template.md +17 -0
  172. package/scripts/read-pkg-json.js +22 -0
  173. package/src/api/RealtimeAPI.test.js +144 -0
  174. package/src/api/RealtimeAPI.ts +712 -0
  175. package/src/api/RoutingAPI.test.js +41 -0
  176. package/src/api/RoutingAPI.ts +47 -0
  177. package/src/api/StopsAPI.test.js +34 -0
  178. package/src/api/StopsAPI.ts +45 -0
  179. package/{api → src/api}/typedefs.js +11 -1
  180. package/src/common/api/HttpAPI.test.js +68 -0
  181. package/src/common/api/HttpAPI.ts +77 -0
  182. package/src/common/api/WebSocketAPI.test.js +421 -0
  183. package/src/common/api/WebSocketAPI.ts +515 -0
  184. package/src/common/controls/ControlCommon.test.js +106 -0
  185. package/src/common/controls/ControlCommon.ts +194 -0
  186. package/src/common/controls/CopyrightControlCommon.ts +41 -0
  187. package/src/common/controls/StopFinderControlCommon.ts +192 -0
  188. package/src/common/layers/LayerCommon.test.js +158 -0
  189. package/src/common/layers/LayerCommon.ts +321 -0
  190. package/src/common/mixins/RealtimeLayerMixin.ts +1168 -0
  191. package/src/common/mixins/UserInteractionsLayerMixin.test.js +227 -0
  192. package/src/common/mixins/UserInteractionsLayerMixin.ts +352 -0
  193. package/src/common/styles/realtimeDefaultStyle.ts +436 -0
  194. package/src/common/styles/realtimeDelayStyle.ts +27 -0
  195. package/src/common/styles/realtimeHeadingStyle.ts +138 -0
  196. package/src/common/styles/realtimeSimpleStyle.ts +25 -0
  197. package/{common → src/common}/typedefs.js +1 -1
  198. package/src/common/utils/compareDepartures.ts +46 -0
  199. package/src/common/utils/createCanvas.ts +33 -0
  200. package/src/common/utils/createRealtimeFilters.test.js +100 -0
  201. package/src/common/utils/createRealtimeFilters.ts +96 -0
  202. package/src/common/utils/debounceDeparturesMessages.ts +52 -0
  203. package/src/common/utils/debounceWebsocketMessages.ts +47 -0
  204. package/src/common/utils/getLayersAsFlatArray.ts +17 -0
  205. package/src/common/utils/getMapboxMapCopyrights.test.js +47 -0
  206. package/src/common/utils/getMapboxMapCopyrights.ts +52 -0
  207. package/src/common/utils/getMapboxRender.ts +104 -0
  208. package/src/common/utils/getMaplibreRender.ts +54 -0
  209. package/{common/utils/getRealtimeModeSuffix.d.ts → src/common/utils/getRealtimeModeSuffix.ts} +4 -2
  210. package/src/common/utils/getUrlWithParams.ts +21 -0
  211. package/src/common/utils/getVehiclePosition.ts +92 -0
  212. package/{common → src/common}/utils/index.js +1 -2
  213. package/src/common/utils/realtimeConfig.test.js +57 -0
  214. package/src/common/utils/realtimeConfig.ts +228 -0
  215. package/src/common/utils/removeDuplicate.test.js +22 -0
  216. package/src/common/utils/removeDuplicate.ts +22 -0
  217. package/src/common/utils/renderTrajectories.ts +194 -0
  218. package/src/common/utils/sortAndFilterDepartures.ts +78 -0
  219. package/src/common/utils/sortByDelay.ts +29 -0
  220. package/src/common/utils/timeUtils.test.js +16 -0
  221. package/src/common/utils/timeUtils.ts +45 -0
  222. package/{iife.js → src/iife.js} +3 -1
  223. package/src/index.js +10 -0
  224. package/{mapbox/controls/CopyrightControl.js → src/mapbox/controls/CopyrightControl.ts} +26 -21
  225. package/src/mapbox/layers/Layer.test.js +217 -0
  226. package/src/mapbox/layers/Layer.ts +144 -0
  227. package/src/mapbox/layers/RealtimeLayer.test.js +13 -0
  228. package/src/mapbox/layers/RealtimeLayer.ts +350 -0
  229. package/src/mapbox/utils/getMercatorResolution.ts +21 -0
  230. package/src/mapbox/utils/getSourceCoordinates.ts +34 -0
  231. package/src/ol/README.md +0 -0
  232. package/src/ol/controls/CopyrightControl.test.js +211 -0
  233. package/src/ol/controls/CopyrightControl.ts +82 -0
  234. package/src/ol/controls/RoutingControl.test.js +205 -0
  235. package/src/ol/controls/RoutingControl.ts +869 -0
  236. package/src/ol/controls/StopFinderControl.test.js +59 -0
  237. package/{ol/controls/StopFinderControl.js → src/ol/controls/StopFinderControl.ts} +10 -7
  238. package/src/ol/controls/snapshots/RoutingControlRouteGen10.json +58 -0
  239. package/src/ol/controls/snapshots/RoutingControlRouteGen100.json +292 -0
  240. package/src/ol/controls/snapshots/RoutingControlRouteGen30.json +69 -0
  241. package/src/ol/controls/snapshots/RoutingControlRouteGen5.json +58 -0
  242. package/src/ol/controls/snapshots/RoutingControlRouteOSM.json +759 -0
  243. package/src/ol/controls/snapshots/RoutingControlStation1.json +60 -0
  244. package/src/ol/controls/snapshots/RoutingControlStation2.json +49 -0
  245. package/src/ol/layers/Layer.test.js +212 -0
  246. package/src/ol/layers/Layer.ts +252 -0
  247. package/src/ol/layers/MapGlLayer.ts +294 -0
  248. package/src/ol/layers/MapboxLayer.test.js +190 -0
  249. package/src/ol/layers/MapboxLayer.ts +136 -0
  250. package/src/ol/layers/MapboxStyleLayer.test.js +258 -0
  251. package/src/ol/layers/MapboxStyleLayer.ts +466 -0
  252. package/{ol/layers/MaplibreLayer.d.ts → src/ol/layers/MaplibreLayer.ts} +21 -10
  253. package/src/ol/layers/RealtimeLayer.test.js +84 -0
  254. package/src/ol/layers/RealtimeLayer.ts +465 -0
  255. package/src/ol/layers/RoutingLayer.test.js +48 -0
  256. package/src/ol/layers/RoutingLayer.ts +113 -0
  257. package/src/ol/layers/VectorLayer.test.js +87 -0
  258. package/src/ol/layers/VectorLayer.ts +48 -0
  259. package/src/ol/layers/WMSLayer.test.js +65 -0
  260. package/src/ol/layers/WMSLayer.ts +114 -0
  261. package/src/ol/styles/fullTrajectoryDelayStyle.ts +37 -0
  262. package/src/ol/styles/fullTrajectoryStyle.ts +56 -0
  263. package/{setupTests.js → src/setupTests.js} +12 -7
  264. package/tsconfig.json +23 -0
  265. package/api/RealtimeAPI.d.ts +0 -290
  266. package/api/RealtimeAPI.d.ts.map +0 -1
  267. package/api/RealtimeAPI.js +0 -483
  268. package/api/RoutingAPI.d.ts +0 -37
  269. package/api/RoutingAPI.d.ts.map +0 -1
  270. package/api/RoutingAPI.js +0 -35
  271. package/api/StopsAPI.d.ts +0 -38
  272. package/api/StopsAPI.d.ts.map +0 -1
  273. package/api/StopsAPI.js +0 -36
  274. package/api/index.d.ts +0 -4
  275. package/api/index.d.ts.map +0 -1
  276. package/api/typedefs.d.ts +0 -179
  277. package/api/typedefs.d.ts.map +0 -1
  278. package/common/api/HttpAPI.d.ts +0 -31
  279. package/common/api/HttpAPI.d.ts.map +0 -1
  280. package/common/api/HttpAPI.js +0 -57
  281. package/common/api/WebSocketAPI.d.ts +0 -153
  282. package/common/api/WebSocketAPI.d.ts.map +0 -1
  283. package/common/api/WebSocketAPI.js +0 -341
  284. package/common/controls/ControlCommon.d.ts +0 -76
  285. package/common/controls/ControlCommon.d.ts.map +0 -1
  286. package/common/controls/ControlCommon.js +0 -150
  287. package/common/controls/CopyrightControlCommon.d.ts +0 -13
  288. package/common/controls/CopyrightControlCommon.d.ts.map +0 -1
  289. package/common/controls/CopyrightControlCommon.js +0 -34
  290. package/common/controls/StopFinderControlCommon.d.ts +0 -55
  291. package/common/controls/StopFinderControlCommon.d.ts.map +0 -1
  292. package/common/controls/StopFinderControlCommon.js +0 -144
  293. package/common/index.d.ts +0 -3
  294. package/common/index.d.ts.map +0 -1
  295. package/common/layers/LayerCommon.d.ts +0 -94
  296. package/common/layers/LayerCommon.d.ts.map +0 -1
  297. package/common/layers/LayerCommon.js +0 -244
  298. package/common/mixins/RealtimeLayerMixin.d.ts +0 -288
  299. package/common/mixins/RealtimeLayerMixin.d.ts.map +0 -1
  300. package/common/mixins/RealtimeLayerMixin.js +0 -778
  301. package/common/mixins/UserInteractionsLayerMixin.d.ts +0 -60
  302. package/common/mixins/UserInteractionsLayerMixin.d.ts.map +0 -1
  303. package/common/mixins/UserInteractionsLayerMixin.js +0 -241
  304. package/common/styles/index.d.ts +0 -5
  305. package/common/styles/index.d.ts.map +0 -1
  306. package/common/styles/realtimeDefaultStyle.d.ts +0 -36
  307. package/common/styles/realtimeDefaultStyle.d.ts.map +0 -1
  308. package/common/styles/realtimeDefaultStyle.js +0 -276
  309. package/common/styles/realtimeDelayStyle.d.ts +0 -12
  310. package/common/styles/realtimeDelayStyle.d.ts.map +0 -1
  311. package/common/styles/realtimeDelayStyle.js +0 -13
  312. package/common/styles/realtimeHeadingStyle.d.ts +0 -12
  313. package/common/styles/realtimeHeadingStyle.d.ts.map +0 -1
  314. package/common/styles/realtimeHeadingStyle.js +0 -87
  315. package/common/styles/realtimeSimpleStyle.d.ts +0 -4
  316. package/common/styles/realtimeSimpleStyle.d.ts.map +0 -1
  317. package/common/styles/realtimeSimpleStyle.js +0 -23
  318. package/common/typedefs.d.ts +0 -183
  319. package/common/typedefs.d.ts.map +0 -1
  320. package/common/utils/compareDepartures.d.ts +0 -11
  321. package/common/utils/compareDepartures.d.ts.map +0 -1
  322. package/common/utils/compareDepartures.js +0 -35
  323. package/common/utils/createCanvas.d.ts +0 -11
  324. package/common/utils/createCanvas.d.ts.map +0 -1
  325. package/common/utils/createCanvas.js +0 -28
  326. package/common/utils/createRealtimeFilters.d.ts +0 -13
  327. package/common/utils/createRealtimeFilters.d.ts.map +0 -1
  328. package/common/utils/createRealtimeFilters.js +0 -74
  329. package/common/utils/debounceDeparturesMessages.d.ts +0 -13
  330. package/common/utils/debounceDeparturesMessages.d.ts.map +0 -1
  331. package/common/utils/debounceDeparturesMessages.js +0 -28
  332. package/common/utils/debounceWebsocketMessages.d.ts +0 -12
  333. package/common/utils/debounceWebsocketMessages.d.ts.map +0 -1
  334. package/common/utils/debounceWebsocketMessages.js +0 -30
  335. package/common/utils/getLayersAsFlatArray.d.ts +0 -4
  336. package/common/utils/getLayersAsFlatArray.d.ts.map +0 -1
  337. package/common/utils/getLayersAsFlatArray.js +0 -16
  338. package/common/utils/getMapboxMapCopyrights.d.ts +0 -18
  339. package/common/utils/getMapboxMapCopyrights.d.ts.map +0 -1
  340. package/common/utils/getMapboxMapCopyrights.js +0 -30
  341. package/common/utils/getMapboxRender.d.ts +0 -8
  342. package/common/utils/getMapboxRender.d.ts.map +0 -1
  343. package/common/utils/getMapboxRender.js +0 -88
  344. package/common/utils/getMaplibreRender.d.ts +0 -9
  345. package/common/utils/getMaplibreRender.d.ts.map +0 -1
  346. package/common/utils/getMaplibreRender.js +0 -40
  347. package/common/utils/getRealtimeModeSuffix.d.ts.map +0 -1
  348. package/common/utils/getRealtimeModeSuffix.js +0 -7
  349. package/common/utils/getUrlWithParams.d.ts +0 -9
  350. package/common/utils/getUrlWithParams.d.ts.map +0 -1
  351. package/common/utils/getUrlWithParams.js +0 -18
  352. package/common/utils/getVehiclePosition.d.ts +0 -16
  353. package/common/utils/getVehiclePosition.d.ts.map +0 -1
  354. package/common/utils/getVehiclePosition.js +0 -72
  355. package/common/utils/index.d.ts +0 -18
  356. package/common/utils/index.d.ts.map +0 -1
  357. package/common/utils/realtimeConfig.d.ts +0 -53
  358. package/common/utils/realtimeConfig.d.ts.map +0 -1
  359. package/common/utils/realtimeConfig.js +0 -202
  360. package/common/utils/removeDuplicate.d.ts +0 -10
  361. package/common/utils/removeDuplicate.d.ts.map +0 -1
  362. package/common/utils/removeDuplicate.js +0 -15
  363. package/common/utils/renderTrajectories.d.ts +0 -17
  364. package/common/utils/renderTrajectories.d.ts.map +0 -1
  365. package/common/utils/renderTrajectories.js +0 -110
  366. package/common/utils/sortAndFilterDepartures.d.ts +0 -16
  367. package/common/utils/sortAndFilterDepartures.d.ts.map +0 -1
  368. package/common/utils/sortAndFilterDepartures.js +0 -58
  369. package/common/utils/sortByDelay.d.ts +0 -4
  370. package/common/utils/sortByDelay.d.ts.map +0 -1
  371. package/common/utils/sortByDelay.js +0 -21
  372. package/common/utils/timeUtils.d.ts +0 -24
  373. package/common/utils/timeUtils.d.ts.map +0 -1
  374. package/common/utils/timeUtils.js +0 -39
  375. package/iife.d.ts +0 -3
  376. package/iife.d.ts.map +0 -1
  377. package/index.d.ts +0 -10
  378. package/index.d.ts.map +0 -1
  379. package/index.js +0 -10
  380. package/mapbox/controls/CopyrightControl.d.ts +0 -29
  381. package/mapbox/controls/CopyrightControl.d.ts.map +0 -1
  382. package/mapbox/controls/index.d.ts +0 -2
  383. package/mapbox/controls/index.d.ts.map +0 -1
  384. package/mapbox/index.d.ts +0 -6
  385. package/mapbox/index.d.ts.map +0 -1
  386. package/mapbox/layers/Layer.d.ts +0 -59
  387. package/mapbox/layers/Layer.d.ts.map +0 -1
  388. package/mapbox/layers/Layer.js +0 -101
  389. package/mapbox/layers/RealtimeLayer.d.ts +0 -180
  390. package/mapbox/layers/RealtimeLayer.d.ts.map +0 -1
  391. package/mapbox/layers/RealtimeLayer.js +0 -270
  392. package/mapbox/layers/index.d.ts +0 -3
  393. package/mapbox/layers/index.d.ts.map +0 -1
  394. package/mapbox/utils/getMercatorResolution.d.ts +0 -9
  395. package/mapbox/utils/getMercatorResolution.d.ts.map +0 -1
  396. package/mapbox/utils/getMercatorResolution.js +0 -18
  397. package/mapbox/utils/getSourceCoordinates.d.ts +0 -9
  398. package/mapbox/utils/getSourceCoordinates.d.ts.map +0 -1
  399. package/mapbox/utils/getSourceCoordinates.js +0 -27
  400. package/mapbox/utils/index.d.ts +0 -3
  401. package/mapbox/utils/index.d.ts.map +0 -1
  402. package/mbt.js +0 -64703
  403. package/mbt.js.map +0 -7
  404. package/mbt.min.js +0 -1090
  405. package/mbt.min.js.map +0 -7
  406. package/ol/controls/CopyrightControl.d.ts +0 -31
  407. package/ol/controls/CopyrightControl.d.ts.map +0 -1
  408. package/ol/controls/CopyrightControl.js +0 -68
  409. package/ol/controls/RoutingControl.d.ts +0 -193
  410. package/ol/controls/RoutingControl.d.ts.map +0 -1
  411. package/ol/controls/RoutingControl.js +0 -631
  412. package/ol/controls/StopFinderControl.d.ts +0 -30
  413. package/ol/controls/StopFinderControl.d.ts.map +0 -1
  414. package/ol/controls/index.d.ts +0 -4
  415. package/ol/controls/index.d.ts.map +0 -1
  416. package/ol/index.d.ts +0 -6
  417. package/ol/index.d.ts.map +0 -1
  418. package/ol/layers/Layer.d.ts +0 -86
  419. package/ol/layers/Layer.d.ts.map +0 -1
  420. package/ol/layers/Layer.js +0 -174
  421. package/ol/layers/MapGlLayer.d.ts +0 -67
  422. package/ol/layers/MapGlLayer.d.ts.map +0 -1
  423. package/ol/layers/MapGlLayer.js +0 -218
  424. package/ol/layers/MapboxLayer.d.ts +0 -50
  425. package/ol/layers/MapboxLayer.d.ts.map +0 -1
  426. package/ol/layers/MapboxLayer.js +0 -109
  427. package/ol/layers/MapboxStyleLayer.d.ts +0 -130
  428. package/ol/layers/MapboxStyleLayer.d.ts.map +0 -1
  429. package/ol/layers/MapboxStyleLayer.js +0 -378
  430. package/ol/layers/MaplibreLayer.d.ts.map +0 -1
  431. package/ol/layers/MaplibreLayer.js +0 -34
  432. package/ol/layers/RealtimeLayer.d.ts +0 -202
  433. package/ol/layers/RealtimeLayer.d.ts.map +0 -1
  434. package/ol/layers/RealtimeLayer.js +0 -336
  435. package/ol/layers/RoutingLayer.d.ts +0 -35
  436. package/ol/layers/RoutingLayer.d.ts.map +0 -1
  437. package/ol/layers/RoutingLayer.js +0 -85
  438. package/ol/layers/VectorLayer.d.ts +0 -25
  439. package/ol/layers/VectorLayer.d.ts.map +0 -1
  440. package/ol/layers/VectorLayer.js +0 -38
  441. package/ol/layers/WMSLayer.d.ts +0 -42
  442. package/ol/layers/WMSLayer.d.ts.map +0 -1
  443. package/ol/layers/WMSLayer.js +0 -88
  444. package/ol/layers/index.d.ts +0 -9
  445. package/ol/layers/index.d.ts.map +0 -1
  446. package/ol/styles/fullTrajectoryDelayStyle.d.ts +0 -4
  447. package/ol/styles/fullTrajectoryDelayStyle.d.ts.map +0 -1
  448. package/ol/styles/fullTrajectoryDelayStyle.js +0 -33
  449. package/ol/styles/fullTrajectoryStyle.d.ts +0 -5
  450. package/ol/styles/fullTrajectoryStyle.d.ts.map +0 -1
  451. package/ol/styles/fullTrajectoryStyle.js +0 -44
  452. package/ol/styles/index.d.ts +0 -3
  453. package/ol/styles/index.d.ts.map +0 -1
  454. package/setupTests.d.ts +0 -2
  455. package/setupTests.d.ts.map +0 -1
  456. /package/{api → src/api}/index.js +0 -0
  457. /package/{common → src/common}/index.js +0 -0
  458. /package/{common → src/common}/styles/index.js +0 -0
  459. /package/{mapbox → src/mapbox}/controls/index.js +0 -0
  460. /package/{mapbox → src/mapbox}/index.js +0 -0
  461. /package/{mapbox → src/mapbox}/layers/index.js +0 -0
  462. /package/{mapbox → src/mapbox}/utils/index.js +0 -0
  463. /package/{ol → src/ol}/controls/index.js +0 -0
  464. /package/{ol → src/ol}/index.js +0 -0
  465. /package/{ol → src/ol}/layers/index.js +0 -0
  466. /package/{ol → src/ol}/styles/index.js +0 -0
  467. /package/{types → src/types}/common.d.ts +0 -0
  468. /package/{types → src/types}/index.d.ts +0 -0
  469. /package/{types → src/types}/realtime.d.ts +0 -0
  470. /package/{types → src/types}/routing.d.ts +0 -0
  471. /package/{types → src/types}/stops.d.ts +0 -0
@@ -0,0 +1,42 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import makeStyles from '@mui/styles/makeStyles';
3
+ import { useRouter } from 'next/router';
4
+ import Esdoc from './Esdoc/Esdoc';
5
+
6
+ const useStyles = makeStyles({
7
+ root: {
8
+ display: 'flex',
9
+ flexGrow: 1,
10
+ justifyContent: 'center',
11
+ height: '100%',
12
+ },
13
+ iframe: {
14
+ flexGrow: 1,
15
+ border: 0,
16
+ overflow: 'hidden',
17
+ },
18
+ });
19
+
20
+ function Documentation() {
21
+ const classes = useStyles();
22
+ const {
23
+ query: { slug },
24
+ } = useRouter();
25
+ // const params = useParams();
26
+ // const { hash } = useLocation();
27
+ const [path, setPath] = useState('identifiers%20html');
28
+
29
+ useEffect(() => {
30
+ if (slug?.length) {
31
+ setPath(slug.join('/').replace(/ /g, '.'));
32
+ }
33
+ }, [slug]);
34
+
35
+ return (
36
+ <div className={classes.root}>
37
+ <Esdoc path={path} />
38
+ </div>
39
+ );
40
+ }
41
+
42
+ export default React.memo(Documentation);
@@ -0,0 +1,57 @@
1
+ /* eslint-disable react/prop-types */
2
+ /* eslint-disable no-underscore-dangle */
3
+ import React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { Scrollchor } from 'react-scrollchor';
6
+
7
+ const propTypes = {
8
+ /**
9
+ * Path to the link, can include an anchor #
10
+ */
11
+ path: PropTypes.string.isRequired,
12
+
13
+ /**
14
+ * Children content of the link.
15
+ */
16
+ children: PropTypes.node.isRequired,
17
+ };
18
+
19
+ /**
20
+ * Anchor which returns a Scrollchor element
21
+ * if the path contains an anchor (#), otherwise it returns a <a> element.
22
+ * @param {string} options.path Path to the link, can include an anchor #
23
+ * @param {node} options.children Children content of the link.
24
+ * @return {node} Scrollchor or <a> element
25
+ * @private
26
+ */
27
+ function Anchor({ path, children, ...other }) {
28
+ const pathElements = path.split('#');
29
+ if (pathElements[0] === window.location.pathname) {
30
+ const anchor = pathElements[1];
31
+ const to = anchor ? `#${anchor}` : '';
32
+
33
+ return (
34
+ <Scrollchor
35
+ to={to}
36
+ // eslint-disable-next-line react/jsx-props-no-spreading
37
+ {...other}
38
+ >
39
+ {children}
40
+ </Scrollchor>
41
+ );
42
+ }
43
+
44
+ return (
45
+ <a
46
+ href={path}
47
+ // eslint-disable-next-line react/jsx-props-no-spreading
48
+ {...other}
49
+ >
50
+ {children}
51
+ </a>
52
+ );
53
+ }
54
+
55
+ Anchor.propTypes = propTypes;
56
+
57
+ export default Anchor;
@@ -0,0 +1,272 @@
1
+ /* eslint-disable no-underscore-dangle */
2
+ /* eslint-disable react/prop-types */
3
+ import React from 'react';
4
+ import makeStyles from '@mui/styles/makeStyles';
5
+ import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
6
+ import Markdown from 'react-markdown';
7
+ import FileDocLinkHTML from './FileDocLinkHTML';
8
+ import MixinClassesHTML from './MixinClassesHTML';
9
+ import ExtendsChainHTML from './ExtendsChainHTML';
10
+ import DirectSubclassHTML from './DirectSubclassHTML';
11
+ import IndirectSubclassHTML from './IndirectSubclassHTML';
12
+ import DocsLinkHTML from './DocsLinkHTML';
13
+ import SummaryHTML from './SummaryHTML';
14
+ import DetailHTML from './DetailHTML';
15
+ import ExperimentalHTML from './ExperimentalHTML';
16
+ import DeprecatedHTML from './DeprecatedHTML';
17
+ import { parseExample } from './DocBuilderUtils';
18
+
19
+ const useStyles = makeStyles({
20
+ root: {
21
+ height: '100%',
22
+ width: '100%',
23
+ },
24
+ });
25
+
26
+ /**
27
+ * build class output.
28
+ * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/ClassDocBuilder.js#L30
29
+ * @param {DocObject} doc - class doc object.
30
+ * @returns {IceCap} built output.
31
+ * @private
32
+ */
33
+ function ClassDoc({ doc }) {
34
+ const classes = useStyles();
35
+ if (!doc) {
36
+ return null;
37
+ }
38
+ const { name, access, version, since } = doc;
39
+
40
+ return (
41
+ <div className={classes.root}>
42
+ <div className="header-notice">
43
+ {/*
44
+ doc.export && importPath && importStyle && (
45
+ <div data-ice="importPath" className="import-path">
46
+ <SyntaxHighlighter language="js">
47
+ {`import ${importStyle} from '${importPath}';`}
48
+ </SyntaxHighlighter>
49
+ </div>
50
+ )
51
+ */}
52
+ <span>{access}</span>
53
+ <span>{doc.interface ? ' interface' : ' class'}</span>
54
+ {/* TODO
55
+ <span data-ice="variation"> | variation </span> */}
56
+ {version && <span> | {version}</span>}
57
+ {since && <span> | {since}</span>}
58
+ <span>
59
+ | <FileDocLinkHTML doc={doc} text="source" />
60
+ </span>
61
+ </div>
62
+
63
+ <div className="self-detail detail">
64
+ <h1>{name}</h1>
65
+ {/* TODO
66
+ <div data-ice="instanceDocs" className="instance-docs">
67
+ <span>You can directly use an instance of this class.</span>
68
+ <span data-ice="instanceDoc" />
69
+ </div> */}
70
+ {/* TODO
71
+ <div className="expression-extends" data-ice="expressionExtends">
72
+ <h4>Expression Extends:</h4>
73
+ <pre className="prettyprint">
74
+ <code data-ice="expressionExtendsCode" />
75
+ </pre>
76
+ </div> */}
77
+ <MixinClassesHTML doc={doc} />
78
+ <ExtendsChainHTML doc={doc} />
79
+ <DirectSubclassHTML doc={doc} />
80
+ <IndirectSubclassHTML doc={doc} />
81
+ {doc.implements && doc.implements.length && (
82
+ <div className="flat-list" data-ice="implements">
83
+ <h4>Implements:</h4>
84
+ <DocsLinkHTML
85
+ longnames={doc.implements}
86
+ text={null}
87
+ inner={false}
88
+ separator=", "
89
+ />
90
+ </div>
91
+ )}
92
+ {doc._custom_indirect_implements &&
93
+ doc._custom_indirect_implements.length && (
94
+ <div className="flat-list" data-ice="indirectImplements">
95
+ <h4>Indirect Implements:</h4>
96
+ <DocsLinkHTML
97
+ longnames={doc._custom_indirect_implements}
98
+ text={null}
99
+ inner={false}
100
+ separator=", "
101
+ />
102
+ </div>
103
+ )}
104
+ {doc._custom_direct_implemented &&
105
+ doc._custom_direct_implemented.length && (
106
+ <div className="flat-list" data-ice="directImplemented">
107
+ <h4>Direct Implemented:</h4>
108
+ <DocsLinkHTML
109
+ longnames={doc._custom_direct_implemented}
110
+ text={null}
111
+ inner={false}
112
+ separator=", "
113
+ />
114
+ </div>
115
+ )}
116
+ {doc._custom_indirect_implemented &&
117
+ doc._custom_indirect_implemented.length && (
118
+ <div className="flat-list" data-ice="indirectImplemented">
119
+ <h4>Indirect Implemented:</h4>
120
+ <DocsLinkHTML
121
+ longnames={doc._custom_indirect_implemented}
122
+ text={null}
123
+ inner={false}
124
+ separator=", "
125
+ />
126
+ </div>
127
+ )}
128
+ <div className="deprecated" data-ice="deprecated">
129
+ <DeprecatedHTML doc={doc} />
130
+ </div>
131
+ <div className="experimental" data-ice="experimental">
132
+ <ExperimentalHTML doc={doc} />
133
+ </div>
134
+ <div className="description">
135
+ <Markdown>{doc.description}</Markdown>
136
+ </div>
137
+ {/* TODO
138
+ <div className="decorator" data-ice="decorator">
139
+ <h4>Decorators:</h4>
140
+ </div> */}
141
+ {doc.see && doc.see.length && (
142
+ <div data-ice="see">
143
+ <h4>See:</h4>
144
+ <DocsLinkHTML longnames={doc.see} />
145
+ </div>
146
+ )}
147
+ {doc.examples && doc.examples.length && (
148
+ <div data-ice="exampleDocs">
149
+ <h4>Example:</h4>
150
+
151
+ <div className="example-doc" data-ice="exampleDoc">
152
+ {doc.examples.map((example) => {
153
+ const parsed = parseExample(example);
154
+ return (
155
+ <React.Fragment key={example}>
156
+ {parsed.caption && (
157
+ <div
158
+ className="example-caption"
159
+ data-ice="exampleCaption"
160
+ >
161
+ {parsed.caption}
162
+ </div>
163
+ )}
164
+ {/* <pre className="prettyprint source-code"> */}
165
+ {parsed.body ? (
166
+ <SyntaxHighlighter language="js">
167
+ {parsed.body}
168
+ </SyntaxHighlighter>
169
+ ) : null}
170
+ {/* </pre> */}
171
+ </React.Fragment>
172
+ );
173
+ })}
174
+ </div>
175
+ </div>
176
+ )}
177
+ {/* TODO
178
+ <div data-ice="tests">
179
+ <h4>Test:</h4>
180
+ <ul>
181
+ <li data-ice="test" />
182
+ </ul>
183
+ </div> */}
184
+ {doc.todo && doc.todo.length && (
185
+ <div data-ice="todo">
186
+ <h4>TODO:</h4>
187
+ <DocsLinkHTML longnames={doc.todo} />
188
+ </div>
189
+ )}
190
+ </div>
191
+
192
+ <div data-ice="staticMemberSummary" className="hide-no-content">
193
+ <h2>Static Member Summary</h2>
194
+ <SummaryHTML doc={doc} kind="member" title="Members" isStatic />
195
+ </div>
196
+ <div data-ice="staticMethodSummary" className="hide-no-content">
197
+ <h2>Static Method Summary</h2>
198
+ <SummaryHTML doc={doc} kind="method" title="Methods" isStatic />
199
+ </div>
200
+ <div data-ice="constructorSummary" className="hide-no-content">
201
+ <h2>Constructor Summary</h2>
202
+ <SummaryHTML
203
+ doc={doc}
204
+ kind="constructor"
205
+ title="Constructor"
206
+ isStatic={false}
207
+ />
208
+ </div>
209
+ <div data-ice="memberSummary" className="hide-no-content">
210
+ <h2>Member Summary</h2>
211
+ <SummaryHTML
212
+ doc={doc}
213
+ kind="member"
214
+ title="Members"
215
+ isStatic={false}
216
+ inherited
217
+ />
218
+ {/*
219
+ <div
220
+ className="inherited-summary hide-no-content"
221
+ data-ice="inheritedSummary"
222
+ >
223
+ <h2>Inherited Member Summary</h2>
224
+ <InheritedSummaryHTML doc={doc} kind="member" />
225
+ </div>
226
+ */}
227
+ </div>
228
+ <div data-ice="methodSummary" className="hide-no-content">
229
+ <h2>Method Summary</h2>
230
+ <SummaryHTML
231
+ doc={doc}
232
+ kind="method"
233
+ title="Methods"
234
+ isStatic={false}
235
+ inherited
236
+ />
237
+ {/*
238
+ <div
239
+ className="inherited-summary hide-no-content"
240
+ data-ice="inheritedSummary"
241
+ >
242
+ <h2>Inherited Member Summary</h2>
243
+ <InheritedSummaryHTML doc={doc} kind="method" />
244
+ </div>
245
+ */}
246
+ </div>
247
+
248
+ <div data-ice="staticMemberDetails">
249
+ <DetailHTML doc={doc} kind="member" title="Members" isStatic />
250
+ </div>
251
+ <div data-ice="staticMethodDetails">
252
+ <DetailHTML doc={doc} kind="method" title="Methods" isStatic />
253
+ </div>
254
+ <div data-ice="constructorDetails">
255
+ <DetailHTML
256
+ doc={doc}
257
+ kind="constructor"
258
+ title="Constructors"
259
+ isStatic={false}
260
+ />
261
+ </div>
262
+ <div data-ice="memberDetails">
263
+ <DetailHTML doc={doc} kind="member" title="Members" isStatic={false} />
264
+ </div>
265
+ <div data-ice="methodDetails">
266
+ <DetailHTML doc={doc} kind="method" title="Methods" isStatic={false} />
267
+ </div>
268
+ </div>
269
+ );
270
+ }
271
+
272
+ export default React.memo(ClassDoc);
@@ -0,0 +1,16 @@
1
+ /**
2
+ * build deprecated html.
3
+ * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L920
4
+ * @param {DocObject} doc - target doc object.
5
+ * @returns {string} if doc is not deprecated, returns empty.
6
+ * @private
7
+ */
8
+ const DeprecatedHTML = (doc) => {
9
+ if (doc.deprecated) {
10
+ const deprecated = [`this ${doc.kind} was deprecated.`];
11
+ if (typeof doc.deprecated === 'string') deprecated.push(doc.deprecated);
12
+ return deprecated.join(' ');
13
+ }
14
+ return '';
15
+ };
16
+ export default DeprecatedHTML;
@@ -0,0 +1,279 @@
1
+ /* eslint-disable react/no-unescaped-entities */
2
+ /* eslint-disable react/prop-types */
3
+ /* eslint-disable no-continue */
4
+ /* eslint-disable no-restricted-syntax */
5
+ /* eslint-disable react/no-array-index-key */
6
+ /* eslint-disable no-underscore-dangle */
7
+ import React from 'react';
8
+ import SyntaxHighlighter from 'react-syntax-highlighter';
9
+ import Markdown from 'react-markdown';
10
+ import { parseExample } from './DocBuilderUtils';
11
+ import SignatureHTML from './SignatureHTML';
12
+ import OverrideMethodDescription from './OverrideMethodDescription';
13
+ import FileDocLinkHTML from './FileDocLinkHTML';
14
+ import OverrideMethod from './OverrideMethod';
15
+ import Properties from './Properties';
16
+ import TypeDocLinkHTML from './TypeDocLinkHTML';
17
+ import DocLinkHTML from './DocLinkHTML';
18
+ import DocsLinkHTML from './DocsLinkHTML';
19
+ import ExperimentalHTML from './ExperimentalHTML';
20
+ import DeprecatedHTML from './DeprecatedHTML';
21
+
22
+ /**
23
+ * build detail output html by docs.
24
+ * https://github.com/esdoc/esdoc-plugins/blob/2de5022baa569785a189056a99acd1d7ca8284b7/esdoc-publish-html-plugin/src/Builder/DocBuilder.js#L373
25
+ * @param {DocObject[]} docs - target docs.
26
+ * @param {string} title - detail title.
27
+ * @return {IceCap} detail output.
28
+ * @private
29
+ */
30
+ function DetailDocs({ docs, title }) {
31
+ return <>
32
+ <h2 data-ice="title">{title}</h2>
33
+ {docs.map((doc) => {
34
+ const scope = doc.static ? 'static' : 'instance';
35
+ let isFunction = false;
36
+ if (['method', 'constructor', 'function'].indexOf(doc.kind) !== -1)
37
+ isFunction = true;
38
+ if (
39
+ doc.kind === 'typedef' &&
40
+ doc.params &&
41
+ doc.type.types[0] === 'function'
42
+ )
43
+ isFunction = true;
44
+
45
+ return (
46
+ <div
47
+ className="detail"
48
+ data-ice="detail"
49
+ key={`${scope}-${doc.kind}-${doc.name}`}
50
+ id={`${scope}-${doc.kind}-${doc.name}`}
51
+ >
52
+ <span
53
+ className="anchor-offset"
54
+ id={`${scope}-${doc.kind}-${doc.name}-offset-anchor`}
55
+ />
56
+ <h3 data-ice="anchor">
57
+ {doc.access !== 'public' && (
58
+ <span className="access" data-ice="access">
59
+ {doc.access}{' '}
60
+ </span>
61
+ )}
62
+ {['member', 'method', 'get', 'set'].includes(doc.kind) && (
63
+ <span data-ice="static">{doc.static ? 'static ' : ''}</span>
64
+ )}
65
+ {['get', 'set'].includes(doc.kind) && (
66
+ <span className="kind" data-ice="kind">
67
+ {doc.kind}
68
+ </span>
69
+ )}
70
+ <span className="abstract" data-ice="abstract">
71
+ {doc.abstract ? 'abstract ' : ''}
72
+ </span>
73
+ <span data-ice="async">{doc.async ? 'async ' : ''}</span>
74
+ <span data-ice="generator">{doc.generator ? '* ' : ''}</span>
75
+ <span className="code" data-ice="name">
76
+ {doc.kind === 'constructor'
77
+ ? `new ${doc.longname.match(/~([^)]+)#constructor/)[1]}`
78
+ : doc.name}
79
+ </span>
80
+ <span className="code" data-ice="signature">
81
+ <SignatureHTML doc={doc} />
82
+ </span>
83
+ <span className="right-info">
84
+ {doc.version && (
85
+ <span className="version" data-ice="version">
86
+ version {doc.version}
87
+ </span>
88
+ )}
89
+ {doc.since && (
90
+ <span className="since" data-ice="since">
91
+ since {doc.since}
92
+ </span>
93
+ )}
94
+ <span data-ice="source">
95
+ <FileDocLinkHTML doc={doc} text="source" />
96
+ </span>
97
+ </span>
98
+ </h3>
99
+ {/* {doc.export && doc.importPath && doc.importStyle && (
100
+ <div data-ice="importPath" className="import-path">
101
+ <SyntaxHighlighter language="js">
102
+ {`import ${doc.importStyle} from '${doc.importPath}';`}
103
+ </SyntaxHighlighter>
104
+ </div>
105
+ )} */}
106
+ <div className="deprecated" data-ice="deprecated">
107
+ <DeprecatedHTML doc={doc} />
108
+ </div>
109
+ <div className="experimental" data-ice="experimental">
110
+ <ExperimentalHTML doc={doc} />
111
+ </div>
112
+ <div data-ice="description">
113
+ {doc.description || <OverrideMethodDescription doc={doc} />}
114
+ </div>
115
+ <div data-ice="override" className="hide-no-content">
116
+ <h4>Override:</h4>
117
+ <OverrideMethod doc={doc} />
118
+ </div>
119
+ <div data-ice="properties">
120
+ {isFunction && doc.params && !!doc.params.length && (
121
+ <Properties properties={doc.params} title="Params:" />
122
+ )}
123
+ {!isFunction && doc.properties && !!doc.properties.length && (
124
+ <Properties properties={doc.properties} title="Properties:" />
125
+ )}
126
+ </div>
127
+ {doc.return && (
128
+ <div className="return-params" data-ice="returnParams">
129
+ <h4>Return:</h4>
130
+ <table>
131
+ <tbody>
132
+ <tr>
133
+ <td className="return-type code" data-ice="returnType">
134
+ {doc.return.types.map((typeName, idx) => {
135
+ return (
136
+ <React.Fragment key={idx}>
137
+ <TypeDocLinkHTML typeName={typeName} />
138
+ {idx !== doc.return.types.length - 1 ? ' | ' : ''}
139
+ </React.Fragment>
140
+ );
141
+ })}
142
+ {typeof doc.return.nullable === 'boolean' &&
143
+ `(nullable: ${doc.return.nullable})`}
144
+ </td>
145
+ <td className="return-desc" data-ice="returnDescription">
146
+ <Markdown>{doc.return.description}</Markdown>
147
+ </td>
148
+ </tr>
149
+ </tbody>
150
+ </table>
151
+ {doc.properties && (
152
+ <div data-ice="returnProperties">
153
+ <Properties
154
+ properties={doc.properties}
155
+ title="Return Properties:"
156
+ />
157
+ </div>
158
+ )}
159
+ </div>
160
+ )}
161
+ {doc.emits && (
162
+ <div data-ice="emitWrap">
163
+ <h4>Emit:</h4>
164
+ <table>
165
+ <tbody>
166
+ {doc.emits.map((emitDoc, idx) => {
167
+ return (
168
+ <tr key={idx} className="emit" data-ice="emit">
169
+ <td>
170
+ <p data-ice="emitName">
171
+ <DocLinkHTML longname={emitDoc.types[0]} />
172
+ </p>
173
+ </td>
174
+ <td data-ice="emitDesc">
175
+ <Markdown>{emitDoc.description}</Markdown>
176
+ </td>
177
+ </tr>
178
+ );
179
+ })}
180
+ </tbody>
181
+ </table>
182
+ </div>
183
+ )}
184
+ {doc.listens && (
185
+ <div data-ice="listenWrap">
186
+ <h4>Listen:</h4>
187
+ <table>
188
+ <tbody>
189
+ {doc.listens.map((listenDoc, idx) => {
190
+ return (
191
+ <tr key={idx} className="listen" data-ice="listen">
192
+ <td>
193
+ <p data-ice="listenName">
194
+ <DocLinkHTML longname={listenDoc.types[0]} />
195
+ </p>
196
+ </td>
197
+ <td data-ice="listenDesc">
198
+ <Markdown>{listenDoc.description}</Markdown>
199
+ </td>
200
+ </tr>
201
+ );
202
+ })}
203
+ </tbody>
204
+ </table>
205
+ </div>
206
+ )}
207
+ {doc.throws && (
208
+ <div data-ice="throwWrap">
209
+ <h4>Throw:</h4>
210
+ <table>
211
+ <tbody>
212
+ {doc.throws.map((exceptionDoc, idx) => {
213
+ return (
214
+ <tr key={idx} className="throw" data-ice="throw">
215
+ <td>
216
+ <p data-ice="throwName">
217
+ <DocLinkHTML longname={exceptionDoc.types[0]} />
218
+ </p>
219
+ </td>
220
+ <td data-ice="throwDesc">
221
+ <Markdown>{exceptionDoc.description}</Markdown>
222
+ </td>
223
+ </tr>
224
+ );
225
+ })}
226
+ </tbody>
227
+ </table>
228
+ </div>
229
+ )}
230
+ {/* TODO
231
+ <div data-ice="decorator">
232
+ <h4>Decorators:</h4>
233
+ </div> */}
234
+ {doc.examples && doc.examples.length && (
235
+ <div data-ice="example">
236
+ <h4>Example:</h4>
237
+ <div className="example-doc" data-ice="exampleDoc">
238
+ {doc.examples.map((example) => {
239
+ const parsed = parseExample(example);
240
+ return (
241
+ <React.Fragment key={example}>
242
+ {parsed.caption && (
243
+ <div
244
+ className="example-caption"
245
+ data-ice="exampleCaption"
246
+ >
247
+ {parsed.caption}
248
+ </div>
249
+ )}
250
+ <SyntaxHighlighter language="js">
251
+ {parsed.body}
252
+ </SyntaxHighlighter>
253
+ </React.Fragment>
254
+ );
255
+ })}
256
+ </div>
257
+ </div>
258
+ )}
259
+ {/* TODO
260
+ <div data-ice="tests">
261
+ <h4>Test:</h4>
262
+ <ul>
263
+ <li data-ice="test" />
264
+ </ul>
265
+ </div> */}
266
+ <div data-ice="see" className="hide-no-content">
267
+ <h4>See:</h4>
268
+ <DocsLinkHTML longnames={doc.see} />
269
+ </div>
270
+ {/* TODO
271
+ <div data-ice="todo">
272
+ <h4>TODO:</h4>
273
+ </div> */}
274
+ </div>
275
+ );
276
+ })}
277
+ </>;
278
+ }
279
+ export default React.memo(DetailDocs);