@mapgis/mapbox-gl 16.0.1 → 16.2.0

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 (434) hide show
  1. package/dist/mapbox-gl.js +3 -3
  2. package/dist/mapbox-gl.js.map +1 -1
  3. package/package.json +1 -1
  4. package/.flowconfig +0 -61
  5. package/LICENSE.txt +0 -84
  6. package/README.md +0 -34
  7. package/build/banner.js +0 -4
  8. package/build/check-bundle-size.js +0 -140
  9. package/build/generate-access-token-script.js +0 -11
  10. package/build/generate-flow-typed-style-spec.js +0 -188
  11. package/build/generate-release-list.js +0 -21
  12. package/build/generate-struct-arrays.js +0 -237
  13. package/build/generate-style-code.js +0 -159
  14. package/build/mapbox-gl.js.flow +0 -3
  15. package/build/print-release-url.js +0 -6
  16. package/build/rollup_plugin_minify_style_spec.js +0 -20
  17. package/build/rollup_plugins.js +0 -80
  18. package/build/run-node +0 -3
  19. package/build/run-tap +0 -8
  20. package/build/test/build-tape.js +0 -19
  21. package/flow-typed/gl.js +0 -5
  22. package/flow-typed/jsdom.js +0 -18
  23. package/flow-typed/mapbox-gl-supported.js +0 -9
  24. package/flow-typed/mapbox-unitbezier.js +0 -14
  25. package/flow-typed/offscreen-canvas.js +0 -9
  26. package/flow-typed/pbf.js +0 -25
  27. package/flow-typed/point-geometry.js +0 -44
  28. package/flow-typed/potpack.js +0 -12
  29. package/flow-typed/sinon.js +0 -28
  30. package/flow-typed/vector-tile.js +0 -41
  31. package/src/css/mapbox-gl.css +0 -798
  32. package/src/css/svg/mapboxgl-ctrl-attrib.svg +0 -3
  33. package/src/css/svg/mapboxgl-ctrl-compass.svg +0 -4
  34. package/src/css/svg/mapboxgl-ctrl-fullscreen.svg +0 -3
  35. package/src/css/svg/mapboxgl-ctrl-geolocate.svg +0 -5
  36. package/src/css/svg/mapboxgl-ctrl-logo.svg +0 -20
  37. package/src/css/svg/mapboxgl-ctrl-shrink.svg +0 -3
  38. package/src/css/svg/mapboxgl-ctrl-zoom-in.svg +0 -3
  39. package/src/css/svg/mapboxgl-ctrl-zoom-out.svg +0 -3
  40. package/src/data/array_types.js +0 -1095
  41. package/src/data/bucket/circle_attributes.js +0 -9
  42. package/src/data/bucket/circle_bucket.js +0 -204
  43. package/src/data/bucket/fill_attributes.js +0 -9
  44. package/src/data/bucket/fill_bucket.js +0 -233
  45. package/src/data/bucket/fill_extrusion_attributes.js +0 -10
  46. package/src/data/bucket/fill_extrusion_bucket.js +0 -289
  47. package/src/data/bucket/heatmap_bucket.js +0 -17
  48. package/src/data/bucket/line_attributes.js +0 -10
  49. package/src/data/bucket/line_bucket.js +0 -556
  50. package/src/data/bucket/pattern_attributes.js +0 -10
  51. package/src/data/bucket/pattern_bucket_features.js +0 -60
  52. package/src/data/bucket/symbol_attributes.js +0 -117
  53. package/src/data/bucket/symbol_bucket.js +0 -972
  54. package/src/data/bucket.js +0 -123
  55. package/src/data/dem_data.js +0 -125
  56. package/src/data/extent.js +0 -18
  57. package/src/data/feature_index.js +0 -321
  58. package/src/data/feature_position_map.js +0 -125
  59. package/src/data/index_array_type.js +0 -16
  60. package/src/data/load_geometry.js +0 -48
  61. package/src/data/pos_attributes.js +0 -6
  62. package/src/data/program_configuration.js +0 -687
  63. package/src/data/raster_bounds_attributes.js +0 -7
  64. package/src/data/segment.js +0 -76
  65. package/src/geo/edge_insets.js +0 -102
  66. package/src/geo/lng_lat.js +0 -165
  67. package/src/geo/lng_lat_bounds.js +0 -267
  68. package/src/geo/mercator_coordinate.js +0 -153
  69. package/src/geo/transform.js +0 -864
  70. package/src/gl/color_mode.js +0 -34
  71. package/src/gl/context.js +0 -298
  72. package/src/gl/cull_face_mode.js +0 -26
  73. package/src/gl/depth_mode.js +0 -29
  74. package/src/gl/framebuffer.js +0 -44
  75. package/src/gl/index_buffer.js +0 -55
  76. package/src/gl/stencil_mode.js +0 -30
  77. package/src/gl/types.js +0 -84
  78. package/src/gl/value.js +0 -520
  79. package/src/gl/vertex_buffer.js +0 -119
  80. package/src/index.js +0 -201
  81. package/src/render/draw_background.js +0 -57
  82. package/src/render/draw_circle.js +0 -113
  83. package/src/render/draw_collision_debug.js +0 -49
  84. package/src/render/draw_custom.js +0 -49
  85. package/src/render/draw_debug.js +0 -127
  86. package/src/render/draw_fill.js +0 -126
  87. package/src/render/draw_fill_extrusion.js +0 -96
  88. package/src/render/draw_heatmap.js +0 -140
  89. package/src/render/draw_hillshade.js +0 -108
  90. package/src/render/draw_line.js +0 -98
  91. package/src/render/draw_raster.js +0 -125
  92. package/src/render/draw_symbol.js +0 -394
  93. package/src/render/glyph_atlas.js +0 -71
  94. package/src/render/glyph_manager.js +0 -182
  95. package/src/render/image_atlas.js +0 -149
  96. package/src/render/image_manager.js +0 -306
  97. package/src/render/line_atlas.js +0 -210
  98. package/src/render/painter.js +0 -653
  99. package/src/render/program/background_program.js +0 -103
  100. package/src/render/program/circle_program.js +0 -69
  101. package/src/render/program/clipping_mask_program.js +0 -20
  102. package/src/render/program/collision_program.js +0 -49
  103. package/src/render/program/debug_program.js +0 -35
  104. package/src/render/program/fill_extrusion_program.js +0 -122
  105. package/src/render/program/fill_program.js +0 -126
  106. package/src/render/program/heatmap_program.js +0 -83
  107. package/src/render/program/hillshade_program.js +0 -122
  108. package/src/render/program/line_program.js +0 -207
  109. package/src/render/program/pattern.js +0 -102
  110. package/src/render/program/program_uniforms.js +0 -42
  111. package/src/render/program/raster_program.js +0 -92
  112. package/src/render/program/symbol_program.js +0 -224
  113. package/src/render/program.js +0 -168
  114. package/src/render/texture.js +0 -122
  115. package/src/render/uniform_binding.js +0 -147
  116. package/src/render/vertex_array_object.js +0 -163
  117. package/src/shaders/README.md +0 -42
  118. package/src/shaders/_prelude.fragment.glsl +0 -17
  119. package/src/shaders/_prelude.vertex.glsl +0 -73
  120. package/src/shaders/background.fragment.glsl +0 -10
  121. package/src/shaders/background.vertex.glsl +0 -7
  122. package/src/shaders/background_pattern.fragment.glsl +0 -28
  123. package/src/shaders/background_pattern.vertex.glsl +0 -20
  124. package/src/shaders/circle.fragment.glsl +0 -39
  125. package/src/shaders/circle.vertex.glsl +0 -64
  126. package/src/shaders/clipping_mask.fragment.glsl +0 -3
  127. package/src/shaders/clipping_mask.vertex.glsl +0 -7
  128. package/src/shaders/collision_box.fragment.glsl +0 -21
  129. package/src/shaders/collision_box.vertex.glsl +0 -27
  130. package/src/shaders/collision_circle.fragment.glsl +0 -34
  131. package/src/shaders/collision_circle.vertex.glsl +0 -36
  132. package/src/shaders/debug.fragment.glsl +0 -9
  133. package/src/shaders/debug.vertex.glsl +0 -12
  134. package/src/shaders/encode_attribute.js +0 -17
  135. package/src/shaders/fill.fragment.glsl +0 -13
  136. package/src/shaders/fill.vertex.glsl +0 -13
  137. package/src/shaders/fill_extrusion.fragment.glsl +0 -9
  138. package/src/shaders/fill_extrusion.vertex.glsl +0 -66
  139. package/src/shaders/fill_extrusion_pattern.fragment.glsl +0 -45
  140. package/src/shaders/fill_extrusion_pattern.vertex.glsl +0 -79
  141. package/src/shaders/fill_outline.fragment.glsl +0 -17
  142. package/src/shaders/fill_outline.vertex.glsl +0 -17
  143. package/src/shaders/fill_outline_pattern.fragment.glsl +0 -43
  144. package/src/shaders/fill_outline_pattern.vertex.glsl +0 -44
  145. package/src/shaders/fill_pattern.fragment.glsl +0 -36
  146. package/src/shaders/fill_pattern.vertex.glsl +0 -39
  147. package/src/shaders/heatmap.fragment.glsl +0 -22
  148. package/src/shaders/heatmap.vertex.glsl +0 -54
  149. package/src/shaders/heatmap_texture.fragment.glsl +0 -14
  150. package/src/shaders/heatmap_texture.vertex.glsl +0 -11
  151. package/src/shaders/hillshade.fragment.glsl +0 -52
  152. package/src/shaders/hillshade.vertex.glsl +0 -11
  153. package/src/shaders/hillshade_prepare.fragment.glsl +0 -74
  154. package/src/shaders/hillshade_prepare.vertex.glsl +0 -15
  155. package/src/shaders/index.js +0 -20
  156. package/src/shaders/line.fragment.glsl +0 -30
  157. package/src/shaders/line.vertex.glsl +0 -85
  158. package/src/shaders/line_gradient.fragment.glsl +0 -34
  159. package/src/shaders/line_gradient.vertex.glsl +0 -87
  160. package/src/shaders/line_pattern.fragment.glsl +0 -74
  161. package/src/shaders/line_pattern.vertex.glsl +0 -99
  162. package/src/shaders/line_sdf.fragment.glsl +0 -45
  163. package/src/shaders/line_sdf.vertex.glsl +0 -98
  164. package/src/shaders/raster.fragment.glsl +0 -52
  165. package/src/shaders/raster.vertex.glsl +0 -21
  166. package/src/shaders/shaders.js +0 -180
  167. package/src/shaders/symbol_icon.fragment.glsl +0 -17
  168. package/src/shaders/symbol_icon.vertex.glsl +0 -94
  169. package/src/shaders/symbol_sdf.fragment.glsl +0 -52
  170. package/src/shaders/symbol_sdf.vertex.glsl +0 -115
  171. package/src/shaders/symbol_text_and_icon.fragment.glsl +0 -68
  172. package/src/shaders/symbol_text_and_icon.vertex.glsl +0 -116
  173. package/src/source/canvas_source.js +0 -238
  174. package/src/source/geojson_helper.js +0 -92
  175. package/src/source/geojson_source.js +0 -374
  176. package/src/source/geojson_worker_source.js +0 -357
  177. package/src/source/geojson_wrapper.js +0 -94
  178. package/src/source/image_source.js +0 -307
  179. package/src/source/load_tilejson.js +0 -39
  180. package/src/source/mbtiles_source.js +0 -115
  181. package/src/source/offline_database.js +0 -61
  182. package/src/source/offline_database_root.js +0 -62
  183. package/src/source/pixels_to_tile_units.js +0 -21
  184. package/src/source/query_features.js +0 -208
  185. package/src/source/raster_dem_tile_source.js +0 -138
  186. package/src/source/raster_dem_tile_worker_source.js +0 -62
  187. package/src/source/raster_tile_offline_source.js +0 -136
  188. package/src/source/raster_tile_source.js +0 -177
  189. package/src/source/rtl_text_plugin.js +0 -138
  190. package/src/source/source.js +0 -137
  191. package/src/source/source_cache.js +0 -957
  192. package/src/source/source_state.js +0 -159
  193. package/src/source/tile.js +0 -465
  194. package/src/source/tile_bounds.js +0 -38
  195. package/src/source/tile_cache.js +0 -212
  196. package/src/source/tile_id.js +0 -402
  197. package/src/source/vector_tile_source.js +0 -192
  198. package/src/source/vector_tile_worker_source.js +0 -216
  199. package/src/source/video_source.js +0 -203
  200. package/src/source/worker.js +0 -237
  201. package/src/source/worker_source.js +0 -106
  202. package/src/source/worker_tile.js +0 -224
  203. package/src/style/create_style_layer.js +0 -36
  204. package/src/style/evaluation_parameters.js +0 -62
  205. package/src/style/light.js +0 -130
  206. package/src/style/load_glyph_range.js +0 -38
  207. package/src/style/load_sprite.js +0 -67
  208. package/src/style/parse_glyph_pbf.js +0 -44
  209. package/src/style/pauseable_placement.js +0 -132
  210. package/src/style/properties.js +0 -753
  211. package/src/style/query_utils.js +0 -43
  212. package/src/style/style.js +0 -1361
  213. package/src/style/style_glyph.js +0 -17
  214. package/src/style/style_image.js +0 -137
  215. package/src/style/style_layer/background_style_layer.js +0 -21
  216. package/src/style/style_layer/background_style_layer_properties.js +0 -40
  217. package/src/style/style_layer/circle_style_layer.js +0 -98
  218. package/src/style/style_layer/circle_style_layer_properties.js +0 -63
  219. package/src/style/style_layer/custom_style_layer.js +0 -223
  220. package/src/style/style_layer/fill_extrusion_style_layer.js +0 -224
  221. package/src/style/style_layer/fill_extrusion_style_layer_properties.js +0 -50
  222. package/src/style/style_layer/fill_style_layer.js +0 -67
  223. package/src/style/style_layer/fill_style_layer_properties.js +0 -55
  224. package/src/style/style_layer/heatmap_style_layer.js +0 -69
  225. package/src/style/style_layer/heatmap_style_layer_properties.js +0 -44
  226. package/src/style/style_layer/hillshade_style_layer.js +0 -25
  227. package/src/style/style_layer/hillshade_style_layer_properties.js +0 -46
  228. package/src/style/style_layer/layer_properties.js.ejs +0 -69
  229. package/src/style/style_layer/line_style_layer.js +0 -151
  230. package/src/style/style_layer/line_style_layer_properties.js +0 -71
  231. package/src/style/style_layer/raster_style_layer.js +0 -21
  232. package/src/style/style_layer/raster_style_layer_properties.js +0 -50
  233. package/src/style/style_layer/symbol_style_layer.js +0 -190
  234. package/src/style/style_layer/symbol_style_layer_properties.js +0 -153
  235. package/src/style/style_layer/typed_style_layer.js +0 -17
  236. package/src/style/style_layer.js +0 -281
  237. package/src/style/style_layer_index.js +0 -80
  238. package/src/style/validate_style.js +0 -42
  239. package/src/style/zoom_history.js +0 -44
  240. package/src/style-spec/.eslintrc +0 -5
  241. package/src/style-spec/CHANGELOG.md +0 -438
  242. package/src/style-spec/README.md +0 -59
  243. package/src/style-spec/bin/gl-style-composite +0 -9
  244. package/src/style-spec/bin/gl-style-format +0 -22
  245. package/src/style-spec/bin/gl-style-migrate +0 -9
  246. package/src/style-spec/bin/gl-style-validate +0 -50
  247. package/src/style-spec/composite.js +0 -50
  248. package/src/style-spec/declass.js +0 -42
  249. package/src/style-spec/deref.js +0 -52
  250. package/src/style-spec/diff.js +0 -393
  251. package/src/style-spec/dist/.gitkeep +0 -0
  252. package/src/style-spec/empty.js +0 -29
  253. package/src/style-spec/error/parsing_error.js +0 -16
  254. package/src/style-spec/error/validation_error.js +0 -18
  255. package/src/style-spec/expression/compound_expression.js +0 -162
  256. package/src/style-spec/expression/definitions/assertion.js +0 -130
  257. package/src/style-spec/expression/definitions/at.js +0 -70
  258. package/src/style-spec/expression/definitions/case.js +0 -85
  259. package/src/style-spec/expression/definitions/coalesce.js +0 -93
  260. package/src/style-spec/expression/definitions/coercion.js +0 -133
  261. package/src/style-spec/expression/definitions/collator.js +0 -78
  262. package/src/style-spec/expression/definitions/comparison.js +0 -184
  263. package/src/style-spec/expression/definitions/format.js +0 -144
  264. package/src/style-spec/expression/definitions/format_section_override.js +0 -54
  265. package/src/style-spec/expression/definitions/image.js +0 -52
  266. package/src/style-spec/expression/definitions/in.js +0 -92
  267. package/src/style-spec/expression/definitions/index.js +0 -561
  268. package/src/style-spec/expression/definitions/interpolate.js +0 -267
  269. package/src/style-spec/expression/definitions/length.js +0 -61
  270. package/src/style-spec/expression/definitions/let.js +0 -72
  271. package/src/style-spec/expression/definitions/literal.js +0 -77
  272. package/src/style-spec/expression/definitions/match.js +0 -158
  273. package/src/style-spec/expression/definitions/number_format.js +0 -142
  274. package/src/style-spec/expression/definitions/step.js +0 -120
  275. package/src/style-spec/expression/definitions/var.js +0 -46
  276. package/src/style-spec/expression/definitions/within.js +0 -333
  277. package/src/style-spec/expression/evaluation_context.js +0 -59
  278. package/src/style-spec/expression/expression.js +0 -27
  279. package/src/style-spec/expression/index.js +0 -392
  280. package/src/style-spec/expression/is_constant.js +0 -59
  281. package/src/style-spec/expression/parsing_context.js +0 -233
  282. package/src/style-spec/expression/parsing_error.js +0 -13
  283. package/src/style-spec/expression/runtime_error.js +0 -17
  284. package/src/style-spec/expression/scope.js +0 -36
  285. package/src/style-spec/expression/stops.js +0 -39
  286. package/src/style-spec/expression/types/collator.js +0 -61
  287. package/src/style-spec/expression/types/formatted.js +0 -73
  288. package/src/style-spec/expression/types/resolved_image.js +0 -29
  289. package/src/style-spec/expression/types.js +0 -106
  290. package/src/style-spec/expression/values.js +0 -123
  291. package/src/style-spec/feature_filter/README.md +0 -55
  292. package/src/style-spec/feature_filter/convert.js +0 -208
  293. package/src/style-spec/feature_filter/index.js +0 -165
  294. package/src/style-spec/format.js +0 -51
  295. package/src/style-spec/function/convert.js +0 -254
  296. package/src/style-spec/function/index.js +0 -262
  297. package/src/style-spec/group_by_layout.js +0 -75
  298. package/src/style-spec/migrate/expressions.js +0 -39
  299. package/src/style-spec/migrate/v8.js +0 -203
  300. package/src/style-spec/migrate/v9.js +0 -26
  301. package/src/style-spec/migrate.js +0 -36
  302. package/src/style-spec/package.json +0 -41
  303. package/src/style-spec/read_style.js +0 -14
  304. package/src/style-spec/reference/latest.js +0 -3
  305. package/src/style-spec/reference/v8.json +0 -5808
  306. package/src/style-spec/rollup.config.js +0 -45
  307. package/src/style-spec/style-spec.js +0 -122
  308. package/src/style-spec/types.js +0 -438
  309. package/src/style-spec/util/color.js +0 -95
  310. package/src/style-spec/util/color_spaces.js +0 -139
  311. package/src/style-spec/util/deep_equal.js +0 -28
  312. package/src/style-spec/util/extend.js +0 -10
  313. package/src/style-spec/util/get_type.js +0 -17
  314. package/src/style-spec/util/interpolate.js +0 -22
  315. package/src/style-spec/util/properties.js +0 -15
  316. package/src/style-spec/util/ref_properties.js +0 -2
  317. package/src/style-spec/util/result.js +0 -19
  318. package/src/style-spec/util/unbundle_jsonlint.js +0 -24
  319. package/src/style-spec/validate/latest.js +0 -11
  320. package/src/style-spec/validate/validate.js +0 -75
  321. package/src/style-spec/validate/validate_array.js +0 -52
  322. package/src/style-spec/validate/validate_boolean.js +0 -15
  323. package/src/style-spec/validate/validate_color.js +0 -20
  324. package/src/style-spec/validate/validate_constants.js +0 -13
  325. package/src/style-spec/validate/validate_enum.js +0 -21
  326. package/src/style-spec/validate/validate_expression.js +0 -43
  327. package/src/style-spec/validate/validate_filter.js +0 -111
  328. package/src/style-spec/validate/validate_formatted.js +0 -11
  329. package/src/style-spec/validate/validate_function.js +0 -207
  330. package/src/style-spec/validate/validate_glyphs_url.js +0 -21
  331. package/src/style-spec/validate/validate_image.js +0 -11
  332. package/src/style-spec/validate/validate_layer.js +0 -134
  333. package/src/style-spec/validate/validate_layout_property.js +0 -6
  334. package/src/style-spec/validate/validate_light.js +0 -47
  335. package/src/style-spec/validate/validate_number.js +0 -29
  336. package/src/style-spec/validate/validate_object.js +0 -61
  337. package/src/style-spec/validate/validate_paint_property.js +0 -6
  338. package/src/style-spec/validate/validate_property.js +0 -64
  339. package/src/style-spec/validate/validate_source.js +0 -111
  340. package/src/style-spec/validate/validate_string.js +0 -15
  341. package/src/style-spec/validate_mapbox_api_supported.js +0 -171
  342. package/src/style-spec/validate_style.js +0 -39
  343. package/src/style-spec/validate_style.min.js +0 -78
  344. package/src/style-spec/visit.js +0 -77
  345. package/src/symbol/anchor.js +0 -26
  346. package/src/symbol/check_max_angle.js +0 -81
  347. package/src/symbol/clip_line.js +0 -71
  348. package/src/symbol/collision_feature.js +0 -217
  349. package/src/symbol/collision_index.js +0 -372
  350. package/src/symbol/cross_tile_symbol_index.js +0 -301
  351. package/src/symbol/get_anchors.js +0 -167
  352. package/src/symbol/grid_index.js +0 -335
  353. package/src/symbol/mergelines.js +0 -82
  354. package/src/symbol/one_em.js +0 -4
  355. package/src/symbol/opacity_state.js +0 -27
  356. package/src/symbol/placement.js +0 -1062
  357. package/src/symbol/projection.js +0 -450
  358. package/src/symbol/quads.js +0 -334
  359. package/src/symbol/shaping.js +0 -816
  360. package/src/symbol/symbol_layout.js +0 -772
  361. package/src/symbol/symbol_size.js +0 -113
  362. package/src/symbol/transform_text.js +0 -29
  363. package/src/types/callback.js +0 -17
  364. package/src/types/cancelable.js +0 -3
  365. package/src/types/tilejson.js +0 -17
  366. package/src/types/transferable.js +0 -3
  367. package/src/types/window.js +0 -172
  368. package/src/ui/anchor.js +0 -32
  369. package/src/ui/bind_handlers.js +0 -202
  370. package/src/ui/camera.js +0 -1152
  371. package/src/ui/control/attribution_control.js +0 -189
  372. package/src/ui/control/fps_control.js +0 -185
  373. package/src/ui/control/fullscreen_control.js +0 -147
  374. package/src/ui/control/geolocate_control.js +0 -594
  375. package/src/ui/control/logo_control.js +0 -92
  376. package/src/ui/control/navigation_control.js +0 -148
  377. package/src/ui/control/scale_control.js +0 -142
  378. package/src/ui/crs.js +0 -64
  379. package/src/ui/default_locale.js +0 -20
  380. package/src/ui/events.js +0 -806
  381. package/src/ui/handler/box_zoom.js +0 -175
  382. package/src/ui/handler/dblclick_zoom.js +0 -139
  383. package/src/ui/handler/drag_pan.js +0 -416
  384. package/src/ui/handler/drag_rotate.js +0 -378
  385. package/src/ui/handler/keyboard.js +0 -161
  386. package/src/ui/handler/scroll_zoom.js +0 -333
  387. package/src/ui/handler/touch_zoom_rotate.js +0 -293
  388. package/src/ui/hash.js +0 -147
  389. package/src/ui/map.js +0 -2883
  390. package/src/ui/marker.js +0 -607
  391. package/src/ui/offline_map.js +0 -91
  392. package/src/ui/popup.js +0 -530
  393. package/src/util/actor.js +0 -212
  394. package/src/util/ajax.js +0 -371
  395. package/src/util/browser/web_worker.js +0 -10
  396. package/src/util/browser/window.js +0 -5
  397. package/src/util/browser.js +0 -70
  398. package/src/util/classify_rings.js +0 -52
  399. package/src/util/color_ramp.js +0 -28
  400. package/src/util/config.js +0 -30
  401. package/src/util/debug.js +0 -12
  402. package/src/util/dictionary_coder.js +0 -30
  403. package/src/util/dispatcher.js +0 -70
  404. package/src/util/dom.js +0 -144
  405. package/src/util/evented.js +0 -174
  406. package/src/util/find_pole_of_inaccessibility.js +0 -129
  407. package/src/util/global_worker_pool.js +0 -17
  408. package/src/util/image.js +0 -142
  409. package/src/util/intersection_tests.js +0 -208
  410. package/src/util/is_char_in_unicode_block.js +0 -311
  411. package/src/util/mapbox.js +0 -486
  412. package/src/util/offscreen_canvas_supported.js +0 -14
  413. package/src/util/performance.js +0 -112
  414. package/src/util/primitives.js +0 -145
  415. package/src/util/resolve_tokens.js +0 -16
  416. package/src/util/script_detection.js +0 -328
  417. package/src/util/sku_token.js +0 -42
  418. package/src/util/smart_wrap.js +0 -55
  419. package/src/util/struct_array.js +0 -243
  420. package/src/util/struct_array.js.ejs +0 -112
  421. package/src/util/struct_array_layout.js.ejs +0 -98
  422. package/src/util/task_queue.js +0 -68
  423. package/src/util/throttle.js +0 -28
  424. package/src/util/throttled_invoker.js +0 -46
  425. package/src/util/tile_cover.js +0 -101
  426. package/src/util/tile_request_cache.js +0 -172
  427. package/src/util/util.js +0 -504
  428. package/src/util/vectortile_to_geojson.js +0 -54
  429. package/src/util/verticalize_punctuation.js +0 -114
  430. package/src/util/web_worker.js +0 -91
  431. package/src/util/web_worker_transfer.js +0 -266
  432. package/src/util/webp_supported.js +0 -69
  433. package/src/util/window.js +0 -102
  434. package/src/util/worker_pool.js +0 -47
@@ -1,145 +0,0 @@
1
- // @flow
2
-
3
- import {vec3, vec4} from 'gl-matrix';
4
- import assert from 'assert';
5
-
6
- class Frustum {
7
- points: Array<Array<number>>;
8
- planes: Array<Array<number>>;
9
-
10
- constructor(points_: Array<Array<number>>, planes_: Array<Array<number>>) {
11
- this.points = points_;
12
- this.planes = planes_;
13
- }
14
-
15
- static fromInvProjectionMatrix(invProj: Float64Array, worldSize: number, zoom: number): Frustum {
16
- const clipSpaceCorners = [
17
- [-1, 1, -1, 1],
18
- [ 1, 1, -1, 1],
19
- [ 1, -1, -1, 1],
20
- [-1, -1, -1, 1],
21
- [-1, 1, 1, 1],
22
- [ 1, 1, 1, 1],
23
- [ 1, -1, 1, 1],
24
- [-1, -1, 1, 1]
25
- ];
26
-
27
- const scale = Math.pow(2, zoom);
28
-
29
- // Transform frustum corner points from clip space to tile space
30
- const frustumCoords = clipSpaceCorners
31
- .map(v => vec4.transformMat4([], v, invProj))
32
- .map(v => vec4.scale([], v, 1.0 / v[3] / worldSize * scale));
33
-
34
- const frustumPlanePointIndices = [
35
- [0, 1, 2], // near
36
- [6, 5, 4], // far
37
- [0, 3, 7], // left
38
- [2, 1, 5], // right
39
- [3, 2, 6], // bottom
40
- [0, 4, 5] // top
41
- ];
42
-
43
- const frustumPlanes = frustumPlanePointIndices.map((p: Array<number>) => {
44
- const a = vec3.sub([], frustumCoords[p[0]], frustumCoords[p[1]]);
45
- const b = vec3.sub([], frustumCoords[p[2]], frustumCoords[p[1]]);
46
- const n = vec3.normalize([], vec3.cross([], a, b));
47
- const d = -vec3.dot(n, frustumCoords[p[1]]);
48
- return n.concat(d);
49
- });
50
-
51
- return new Frustum(frustumCoords, frustumPlanes);
52
- }
53
- }
54
-
55
- class Aabb {
56
- min: vec3;
57
- max: vec3;
58
- center: vec3;
59
-
60
- constructor(min_: vec3, max_: vec3) {
61
- this.min = min_;
62
- this.max = max_;
63
- this.center = vec3.scale([], vec3.add([], this.min, this.max), 0.5);
64
- }
65
-
66
- quadrant(index: number): Aabb {
67
- const split = [(index % 2) === 0, index < 2];
68
- const qMin = vec3.clone(this.min);
69
- const qMax = vec3.clone(this.max);
70
- for (let axis = 0; axis < split.length; axis++) {
71
- qMin[axis] = split[axis] ? this.min[axis] : this.center[axis];
72
- qMax[axis] = split[axis] ? this.center[axis] : this.max[axis];
73
- }
74
- // Elevation is always constant, hence quadrant.max.z = this.max.z
75
- qMax[2] = this.max[2];
76
- return new Aabb(qMin, qMax);
77
- }
78
-
79
- distanceX(point: Array<number>): number {
80
- const pointOnAabb = Math.max(Math.min(this.max[0], point[0]), this.min[0]);
81
- return pointOnAabb - point[0];
82
- }
83
-
84
- distanceY(point: Array<number>): number {
85
- const pointOnAabb = Math.max(Math.min(this.max[1], point[1]), this.min[1]);
86
- return pointOnAabb - point[1];
87
- }
88
-
89
- // Performs a frustum-aabb intersection test. Returns 0 if there's no intersection,
90
- // 1 if shapes are intersecting and 2 if the aabb if fully inside the frustum.
91
- intersects(frustum: Frustum): number {
92
- // Execute separating axis test between two convex objects to find intersections
93
- // Each frustum plane together with 3 major axes define the separating axes
94
- // Note: test only 4 points as both min and max points have equal elevation
95
- assert(this.min[2] === 0 && this.max[2] === 0);
96
-
97
- const aabbPoints = [
98
- [this.min[0], this.min[1], 0.0, 1],
99
- [this.max[0], this.min[1], 0.0, 1],
100
- [this.max[0], this.max[1], 0.0, 1],
101
- [this.min[0], this.max[1], 0.0, 1]
102
- ];
103
-
104
- let fullyInside = true;
105
-
106
- for (let p = 0; p < frustum.planes.length; p++) {
107
- const plane = frustum.planes[p];
108
- let pointsInside = 0;
109
-
110
- for (let i = 0; i < aabbPoints.length; i++) {
111
- pointsInside += vec4.dot(plane, aabbPoints[i]) >= 0;
112
- }
113
-
114
- if (pointsInside === 0)
115
- return 0;
116
-
117
- if (pointsInside !== aabbPoints.length)
118
- fullyInside = false;
119
- }
120
-
121
- if (fullyInside)
122
- return 2;
123
-
124
- for (let axis = 0; axis < 3; axis++) {
125
- let projMin = Number.MAX_VALUE;
126
- let projMax = -Number.MAX_VALUE;
127
-
128
- for (let p = 0; p < frustum.points.length; p++) {
129
- const projectedPoint = frustum.points[p][axis] - this.min[axis];
130
-
131
- projMin = Math.min(projMin, projectedPoint);
132
- projMax = Math.max(projMax, projectedPoint);
133
- }
134
-
135
- if (projMax < 0 || projMin > this.max[axis] - this.min[axis])
136
- return 0;
137
- }
138
-
139
- return 1;
140
- }
141
- }
142
- export {
143
- Aabb,
144
- Frustum
145
- };
@@ -1,16 +0,0 @@
1
- // @flow
2
- export default resolveTokens;
3
-
4
- /**
5
- * Replace tokens in a string template with values in an object
6
- *
7
- * @param properties a key/value relationship between tokens and replacements
8
- * @param text the template string
9
- * @returns the template with tokens replaced
10
- * @private
11
- */
12
- function resolveTokens(properties: {+[string]: mixed}, text: string): string {
13
- return text.replace(/{([^{}]+)}/g, (match, key: string) => {
14
- return key in properties ? String(properties[key]) : '';
15
- });
16
- }
@@ -1,328 +0,0 @@
1
- // @flow
2
-
3
- /* eslint-disable new-cap */
4
-
5
- import isChar from './is_char_in_unicode_block';
6
-
7
- export function allowsIdeographicBreaking(chars: string) {
8
- for (const char of chars) {
9
- if (!charAllowsIdeographicBreaking(char.charCodeAt(0))) return false;
10
- }
11
- return true;
12
- }
13
-
14
- export function allowsVerticalWritingMode(chars: string) {
15
- for (const char of chars) {
16
- if (charHasUprightVerticalOrientation(char.charCodeAt(0))) return true;
17
- }
18
- return false;
19
- }
20
-
21
- export function allowsLetterSpacing(chars: string) {
22
- for (const char of chars) {
23
- if (!charAllowsLetterSpacing(char.charCodeAt(0))) return false;
24
- }
25
- return true;
26
- }
27
-
28
- export function charAllowsLetterSpacing(char: number) {
29
- if (isChar['Arabic'](char)) return false;
30
- if (isChar['Arabic Supplement'](char)) return false;
31
- if (isChar['Arabic Extended-A'](char)) return false;
32
- if (isChar['Arabic Presentation Forms-A'](char)) return false;
33
- if (isChar['Arabic Presentation Forms-B'](char)) return false;
34
-
35
- return true;
36
- }
37
-
38
- export function charAllowsIdeographicBreaking(char: number) {
39
- // Return early for characters outside all ideographic ranges.
40
- if (char < 0x2E80) return false;
41
-
42
- if (isChar['Bopomofo Extended'](char)) return true;
43
- if (isChar['Bopomofo'](char)) return true;
44
- if (isChar['CJK Compatibility Forms'](char)) return true;
45
- if (isChar['CJK Compatibility Ideographs'](char)) return true;
46
- if (isChar['CJK Compatibility'](char)) return true;
47
- if (isChar['CJK Radicals Supplement'](char)) return true;
48
- if (isChar['CJK Strokes'](char)) return true;
49
- if (isChar['CJK Symbols and Punctuation'](char)) return true;
50
- if (isChar['CJK Unified Ideographs Extension A'](char)) return true;
51
- if (isChar['CJK Unified Ideographs'](char)) return true;
52
- if (isChar['Enclosed CJK Letters and Months'](char)) return true;
53
- if (isChar['Halfwidth and Fullwidth Forms'](char)) return true;
54
- if (isChar['Hiragana'](char)) return true;
55
- if (isChar['Ideographic Description Characters'](char)) return true;
56
- if (isChar['Kangxi Radicals'](char)) return true;
57
- if (isChar['Katakana Phonetic Extensions'](char)) return true;
58
- if (isChar['Katakana'](char)) return true;
59
- if (isChar['Vertical Forms'](char)) return true;
60
- if (isChar['Yi Radicals'](char)) return true;
61
- if (isChar['Yi Syllables'](char)) return true;
62
-
63
- return false;
64
- }
65
-
66
- // The following logic comes from
67
- // <http://www.unicode.org/Public/12.0.0/ucd/VerticalOrientation.txt>.
68
- // Keep it synchronized with
69
- // <http://www.unicode.org/Public/UCD/latest/ucd/VerticalOrientation.txt>.
70
- // The data file denotes with “U” or “Tu” any codepoint that may be drawn
71
- // upright in vertical text but does not distinguish between upright and
72
- // “neutral” characters.
73
-
74
- // Blocks in the Unicode supplementary planes are excluded from this module due
75
- // to <https://github.com/mapbox/mapbox-gl/issues/29>.
76
-
77
- /**
78
- * Returns true if the given Unicode codepoint identifies a character with
79
- * upright orientation.
80
- *
81
- * A character has upright orientation if it is drawn upright (unrotated)
82
- * whether the line is oriented horizontally or vertically, even if both
83
- * adjacent characters can be rotated. For example, a Chinese character is
84
- * always drawn upright. An uprightly oriented character causes an adjacent
85
- * “neutral” character to be drawn upright as well.
86
- * @private
87
- */
88
- export function charHasUprightVerticalOrientation(char: number) {
89
- if (char === 0x02EA /* modifier letter yin departing tone mark */ ||
90
- char === 0x02EB /* modifier letter yang departing tone mark */) {
91
- return true;
92
- }
93
-
94
- // Return early for characters outside all ranges whose characters remain
95
- // upright in vertical writing mode.
96
- if (char < 0x1100) return false;
97
-
98
- if (isChar['Bopomofo Extended'](char)) return true;
99
- if (isChar['Bopomofo'](char)) return true;
100
- if (isChar['CJK Compatibility Forms'](char)) {
101
- if (!((char >= 0xFE49 /* dashed overline */ && char <= 0xFE4F) /* wavy low line */)) {
102
- return true;
103
- }
104
- }
105
- if (isChar['CJK Compatibility Ideographs'](char)) return true;
106
- if (isChar['CJK Compatibility'](char)) return true;
107
- if (isChar['CJK Radicals Supplement'](char)) return true;
108
- if (isChar['CJK Strokes'](char)) return true;
109
- if (isChar['CJK Symbols and Punctuation'](char)) {
110
- if (!((char >= 0x3008 /* left angle bracket */ && char <= 0x3011) /* right black lenticular bracket */) &&
111
- !((char >= 0x3014 /* left tortoise shell bracket */ && char <= 0x301F) /* low double prime quotation mark */) &&
112
- char !== 0x3030 /* wavy dash */) {
113
- return true;
114
- }
115
- }
116
- if (isChar['CJK Unified Ideographs Extension A'](char)) return true;
117
- if (isChar['CJK Unified Ideographs'](char)) return true;
118
- if (isChar['Enclosed CJK Letters and Months'](char)) return true;
119
- if (isChar['Hangul Compatibility Jamo'](char)) return true;
120
- if (isChar['Hangul Jamo Extended-A'](char)) return true;
121
- if (isChar['Hangul Jamo Extended-B'](char)) return true;
122
- if (isChar['Hangul Jamo'](char)) return true;
123
- if (isChar['Hangul Syllables'](char)) return true;
124
- if (isChar['Hiragana'](char)) return true;
125
- if (isChar['Ideographic Description Characters'](char)) return true;
126
- if (isChar['Kanbun'](char)) return true;
127
- if (isChar['Kangxi Radicals'](char)) return true;
128
- if (isChar['Katakana Phonetic Extensions'](char)) return true;
129
- if (isChar['Katakana'](char)) {
130
- if (char !== 0x30FC /* katakana-hiragana prolonged sound mark */) {
131
- return true;
132
- }
133
- }
134
- if (isChar['Halfwidth and Fullwidth Forms'](char)) {
135
- if (char !== 0xFF08 /* fullwidth left parenthesis */ &&
136
- char !== 0xFF09 /* fullwidth right parenthesis */ &&
137
- char !== 0xFF0D /* fullwidth hyphen-minus */ &&
138
- !((char >= 0xFF1A /* fullwidth colon */ && char <= 0xFF1E) /* fullwidth greater-than sign */) &&
139
- char !== 0xFF3B /* fullwidth left square bracket */ &&
140
- char !== 0xFF3D /* fullwidth right square bracket */ &&
141
- char !== 0xFF3F /* fullwidth low line */ &&
142
- !(char >= 0xFF5B /* fullwidth left curly bracket */ && char <= 0xFFDF) &&
143
- char !== 0xFFE3 /* fullwidth macron */ &&
144
- !(char >= 0xFFE8 /* halfwidth forms light vertical */ && char <= 0xFFEF)) {
145
- return true;
146
- }
147
- }
148
- if (isChar['Small Form Variants'](char)) {
149
- if (!((char >= 0xFE58 /* small em dash */ && char <= 0xFE5E) /* small right tortoise shell bracket */) &&
150
- !((char >= 0xFE63 /* small hyphen-minus */ && char <= 0xFE66) /* small equals sign */)) {
151
- return true;
152
- }
153
- }
154
- if (isChar['Unified Canadian Aboriginal Syllabics'](char)) return true;
155
- if (isChar['Unified Canadian Aboriginal Syllabics Extended'](char)) return true;
156
- if (isChar['Vertical Forms'](char)) return true;
157
- if (isChar['Yijing Hexagram Symbols'](char)) return true;
158
- if (isChar['Yi Syllables'](char)) return true;
159
- if (isChar['Yi Radicals'](char)) return true;
160
-
161
- return false;
162
- }
163
-
164
- /**
165
- * Returns true if the given Unicode codepoint identifies a character with
166
- * neutral orientation.
167
- *
168
- * A character has neutral orientation if it may be drawn rotated or unrotated
169
- * when the line is oriented vertically, depending on the orientation of the
170
- * adjacent characters. For example, along a verticlly oriented line, the vulgar
171
- * fraction ½ is drawn upright among Chinese characters but rotated among Latin
172
- * letters. A neutrally oriented character does not influence whether an
173
- * adjacent character is drawn upright or rotated.
174
- * @private
175
- */
176
- export function charHasNeutralVerticalOrientation(char: number) {
177
- if (isChar['Latin-1 Supplement'](char)) {
178
- if (char === 0x00A7 /* section sign */ ||
179
- char === 0x00A9 /* copyright sign */ ||
180
- char === 0x00AE /* registered sign */ ||
181
- char === 0x00B1 /* plus-minus sign */ ||
182
- char === 0x00BC /* vulgar fraction one quarter */ ||
183
- char === 0x00BD /* vulgar fraction one half */ ||
184
- char === 0x00BE /* vulgar fraction three quarters */ ||
185
- char === 0x00D7 /* multiplication sign */ ||
186
- char === 0x00F7 /* division sign */) {
187
- return true;
188
- }
189
- }
190
- if (isChar['General Punctuation'](char)) {
191
- if (char === 0x2016 /* double vertical line */ ||
192
- char === 0x2020 /* dagger */ ||
193
- char === 0x2021 /* double dagger */ ||
194
- char === 0x2030 /* per mille sign */ ||
195
- char === 0x2031 /* per ten thousand sign */ ||
196
- char === 0x203B /* reference mark */ ||
197
- char === 0x203C /* double exclamation mark */ ||
198
- char === 0x2042 /* asterism */ ||
199
- char === 0x2047 /* double question mark */ ||
200
- char === 0x2048 /* question exclamation mark */ ||
201
- char === 0x2049 /* exclamation question mark */ ||
202
- char === 0x2051 /* two asterisks aligned vertically */) {
203
- return true;
204
- }
205
- }
206
- if (isChar['Letterlike Symbols'](char)) return true;
207
- if (isChar['Number Forms'](char)) return true;
208
- if (isChar['Miscellaneous Technical'](char)) {
209
- if ((char >= 0x2300 /* diameter sign */ && char <= 0x2307 /* wavy line */) ||
210
- (char >= 0x230C /* bottom right crop */ && char <= 0x231F /* bottom right corner */) ||
211
- (char >= 0x2324 /* up arrowhead between two horizontal bars */ && char <= 0x2328 /* keyboard */) ||
212
- char === 0x232B /* erase to the left */ ||
213
- (char >= 0x237D /* shouldered open box */ && char <= 0x239A /* clear screen symbol */) ||
214
- (char >= 0x23BE /* dentistry symbol light vertical and top right */ && char <= 0x23CD /* square foot */) ||
215
- char === 0x23CF /* eject symbol */ ||
216
- (char >= 0x23D1 /* metrical breve */ && char <= 0x23DB /* fuse */) ||
217
- (char >= 0x23E2 /* white trapezium */ && char <= 0x23FF)) {
218
- return true;
219
- }
220
- }
221
- if (isChar['Control Pictures'](char) && char !== 0x2423 /* open box */) return true;
222
- if (isChar['Optical Character Recognition'](char)) return true;
223
- if (isChar['Enclosed Alphanumerics'](char)) return true;
224
- if (isChar['Geometric Shapes'](char)) return true;
225
- if (isChar['Miscellaneous Symbols'](char)) {
226
- if (!((char >= 0x261A /* black left pointing index */ && char <= 0x261F) /* white down pointing index */)) {
227
- return true;
228
- }
229
- }
230
- if (isChar['Miscellaneous Symbols and Arrows'](char)) {
231
- if ((char >= 0x2B12 /* square with top half black */ && char <= 0x2B2F /* white vertical ellipse */) ||
232
- (char >= 0x2B50 /* white medium star */ && char <= 0x2B59 /* heavy circled saltire */) ||
233
- (char >= 0x2BB8 /* upwards white arrow from bar with horizontal bar */ && char <= 0x2BEB)) {
234
- return true;
235
- }
236
- }
237
- if (isChar['CJK Symbols and Punctuation'](char)) return true;
238
- if (isChar['Katakana'](char)) return true;
239
- if (isChar['Private Use Area'](char)) return true;
240
- if (isChar['CJK Compatibility Forms'](char)) return true;
241
- if (isChar['Small Form Variants'](char)) return true;
242
- if (isChar['Halfwidth and Fullwidth Forms'](char)) return true;
243
-
244
- if (char === 0x221E /* infinity */ ||
245
- char === 0x2234 /* therefore */ ||
246
- char === 0x2235 /* because */ ||
247
- (char >= 0x2700 /* black safety scissors */ && char <= 0x2767 /* rotated floral heart bullet */) ||
248
- (char >= 0x2776 /* dingbat negative circled digit one */ && char <= 0x2793 /* dingbat negative circled sans-serif number ten */) ||
249
- char === 0xFFFC /* object replacement character */ ||
250
- char === 0xFFFD /* replacement character */) {
251
- return true;
252
- }
253
-
254
- return false;
255
- }
256
-
257
- /**
258
- * Returns true if the given Unicode codepoint identifies a character with
259
- * rotated orientation.
260
- *
261
- * A character has rotated orientation if it is drawn rotated when the line is
262
- * oriented vertically, even if both adjacent characters are upright. For
263
- * example, a Latin letter is drawn rotated along a vertical line. A rotated
264
- * character causes an adjacent “neutral” character to be drawn rotated as well.
265
- * @private
266
- */
267
- export function charHasRotatedVerticalOrientation(char: number) {
268
- return !(charHasUprightVerticalOrientation(char) ||
269
- charHasNeutralVerticalOrientation(char));
270
- }
271
-
272
- export function charInComplexShapingScript(char: number) {
273
- return isChar['Arabic'](char) ||
274
- isChar['Arabic Supplement'](char) ||
275
- isChar['Arabic Extended-A'](char) ||
276
- isChar['Arabic Presentation Forms-A'](char) ||
277
- isChar['Arabic Presentation Forms-B'](char);
278
- }
279
-
280
- export function charInRTLScript(char: number) {
281
- // Main blocks for Hebrew, Arabic, Thaana and other RTL scripts
282
- return (char >= 0x0590 && char <= 0x08FF) ||
283
- isChar['Arabic Presentation Forms-A'](char) ||
284
- isChar['Arabic Presentation Forms-B'](char);
285
- }
286
-
287
- export function charInSupportedScript(char: number, canRenderRTL: boolean) {
288
- // This is a rough heuristic: whether we "can render" a script
289
- // actually depends on the properties of the font being used
290
- // and whether differences from the ideal rendering are considered
291
- // semantically significant.
292
-
293
- // Even in Latin script, we "can't render" combinations such as the fi
294
- // ligature, but we don't consider that semantically significant.
295
- if (!canRenderRTL && charInRTLScript(char)) {
296
- return false;
297
- }
298
- if ((char >= 0x0900 && char <= 0x0DFF) ||
299
- // Main blocks for Indic scripts and Sinhala
300
- (char >= 0x0F00 && char <= 0x109F) ||
301
- // Main blocks for Tibetan and Myanmar
302
- isChar['Khmer'](char)) {
303
- // These blocks cover common scripts that require
304
- // complex text shaping, based on unicode script metadata:
305
- // http://www.unicode.org/repos/cldr/trunk/common/properties/scriptMetadata.txt
306
- // where "Web Rank <= 32" "Shaping Required = YES"
307
- return false;
308
- }
309
- return true;
310
- }
311
-
312
- export function stringContainsRTLText(chars: string): boolean {
313
- for (const char of chars) {
314
- if (charInRTLScript(char.charCodeAt(0))) {
315
- return true;
316
- }
317
- }
318
- return false;
319
- }
320
-
321
- export function isStringInSupportedScript(chars: string, canRenderRTL: boolean) {
322
- for (const char of chars) {
323
- if (!charInSupportedScript(char.charCodeAt(0), canRenderRTL)) {
324
- return false;
325
- }
326
- }
327
- return true;
328
- }
@@ -1,42 +0,0 @@
1
- // @flow
2
-
3
- /***** START WARNING - IF YOU USE THIS CODE WITH MAPBOX MAPPING APIS, REMOVAL OR
4
- * MODIFICATION OF THE FOLLOWING CODE VIOLATES THE MAPBOX TERMS OF SERVICE ******
5
- * The following code is used to access Mapbox's Mapping APIs. Removal or modification
6
- * of this code when used with Mapbox's Mapping APIs can result in higher fees and/or
7
- * termination of your account with Mapbox.
8
- *
9
- * Under the Mapbox Terms of Service, you may not use this code to access Mapbox
10
- * Mapping APIs other than through Mapbox SDKs.
11
- *
12
- * The Mapping APIs documentation is available at https://docs.mapbox.com/api/maps/#maps
13
- * and the Mapbox Terms of Service are available at https://www.mapbox.com/tos/
14
- ******************************************************************************/
15
-
16
- type SkuTokenObject = {|
17
- token: string,
18
- tokenExpiresAt: number
19
- |};
20
-
21
- const SKU_ID = '01';
22
-
23
- function createSkuToken(): SkuTokenObject {
24
- // SKU_ID and TOKEN_VERSION are specified by an internal schema and should not change
25
- const TOKEN_VERSION = '1';
26
- const base62chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
27
- // sessionRandomizer is a randomized 10-digit base-62 number
28
- let sessionRandomizer = '';
29
- for (let i = 0; i < 10; i++) {
30
- sessionRandomizer += base62chars[Math.floor(Math.random() * 62)];
31
- }
32
- const expiration = 12 * 60 * 60 * 1000; // 12 hours
33
- const token = [TOKEN_VERSION, SKU_ID, sessionRandomizer].join('');
34
- const tokenExpiresAt = Date.now() + expiration;
35
-
36
- return {token, tokenExpiresAt};
37
- }
38
-
39
- export {createSkuToken, SKU_ID};
40
-
41
- /***** END WARNING - REMOVAL OR MODIFICATION OF THE
42
- PRECEDING CODE VIOLATES THE MAPBOX TERMS OF SERVICE ******/
@@ -1,55 +0,0 @@
1
- // @flow
2
-
3
- import LngLat from '../geo/lng_lat';
4
-
5
- import type Point from '@mapbox/point-geometry';
6
- import type Transform from '../geo/transform';
7
-
8
- /**
9
- * Given a LngLat, prior projected position, and a transform, return a new LngLat shifted
10
- * n × 360° east or west for some n ≥ 0 such that:
11
- *
12
- * * the projected location of the result is on screen, if possible, and secondarily:
13
- * * the difference between the projected location of the result and the prior position
14
- * is minimized.
15
- *
16
- * The object is to preserve perceived object constancy for Popups and Markers as much as
17
- * possible; they should avoid shifting large distances across the screen, even when the
18
- * map center changes by ±360° due to automatic wrapping, and when about to go off screen,
19
- * should wrap just enough to avoid doing so.
20
- *
21
- * @private
22
- */
23
- export default function(lngLat: LngLat, priorPos: ?Point, transform: Transform): LngLat {
24
- lngLat = new LngLat(lngLat.lng, lngLat.lat);
25
-
26
- // First, try shifting one world in either direction, and see if either is closer to the
27
- // prior position. This preserves object constancy when the map center is auto-wrapped
28
- // during animations.
29
- if (priorPos) {
30
- const left = new LngLat(lngLat.lng - 360, lngLat.lat);
31
- const right = new LngLat(lngLat.lng + 360, lngLat.lat);
32
- const delta = transform.locationPoint(lngLat).distSqr(priorPos);
33
- if (transform.locationPoint(left).distSqr(priorPos) < delta) {
34
- lngLat = left;
35
- } else if (transform.locationPoint(right).distSqr(priorPos) < delta) {
36
- lngLat = right;
37
- }
38
- }
39
-
40
- // Second, wrap toward the center until the new position is on screen, or we can't get
41
- // any closer.
42
- while (Math.abs(lngLat.lng - transform.center.lng) > 180) {
43
- const pos = transform.locationPoint(lngLat);
44
- if (pos.x >= 0 && pos.y >= 0 && pos.x <= transform.width && pos.y <= transform.height) {
45
- break;
46
- }
47
- if (lngLat.lng > transform.center.lng) {
48
- lngLat.lng -= 360;
49
- } else {
50
- lngLat.lng += 360;
51
- }
52
- }
53
-
54
- return lngLat;
55
- }