@carto/kepler.gl 0.1.0-alpha.0 → 0.1.0-next.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 (872) hide show
  1. package/dist/actions/action-wrapper.d.ts +115 -115
  2. package/dist/actions/action-wrapper.js +190 -0
  3. package/dist/actions/actions.d.ts +195 -195
  4. package/dist/actions/actions.js +194 -0
  5. package/dist/actions/identity-actions.d.ts +61 -61
  6. package/dist/actions/identity-actions.js +101 -0
  7. package/dist/actions/index.d.ts +9 -9
  8. package/dist/actions/index.js +144 -0
  9. package/dist/actions/map-state-actions.d.ts +69 -69
  10. package/dist/actions/map-state-actions.js +106 -0
  11. package/dist/actions/map-style-actions.d.ts +146 -146
  12. package/dist/actions/map-style-actions.js +176 -0
  13. package/dist/actions/provider-actions.d.ts +153 -153
  14. package/dist/actions/provider-actions.js +144 -0
  15. package/dist/actions/ui-state-actions.d.ts +300 -300
  16. package/dist/actions/ui-state-actions.js +356 -0
  17. package/dist/actions/vis-state-actions.d.ts +821 -821
  18. package/dist/actions/vis-state-actions.js +900 -0
  19. package/dist/cloud-providers/index.d.ts +2 -2
  20. package/dist/cloud-providers/index.js +22 -0
  21. package/dist/cloud-providers/provider.d.ts +176 -176
  22. package/dist/cloud-providers/provider.js +346 -0
  23. package/dist/components/bottom-widget.d.ts +47 -47
  24. package/dist/components/bottom-widget.js +217 -0
  25. package/dist/components/common/action-panel.d.ts +27 -27
  26. package/dist/components/common/action-panel.js +133 -0
  27. package/dist/components/common/animation-control/animation-control.d.ts +24 -24
  28. package/dist/components/common/animation-control/animation-control.js +129 -0
  29. package/dist/components/common/animation-control/animation-controller.d.ts +16 -16
  30. package/dist/components/common/animation-control/animation-controller.js +270 -0
  31. package/dist/components/common/animation-control/animation-speed-slider.d.ts +12 -12
  32. package/dist/components/common/animation-control/animation-speed-slider.js +88 -0
  33. package/dist/components/common/animation-control/floating-time-display.d.ts +9 -9
  34. package/dist/components/common/animation-control/floating-time-display.js +149 -0
  35. package/dist/components/common/animation-control/playback-controls.d.ts +72 -72
  36. package/dist/components/common/animation-control/playback-controls.js +261 -0
  37. package/dist/components/common/animation-control/speed-control.d.ts +13 -13
  38. package/dist/components/common/animation-control/speed-control.js +70 -0
  39. package/dist/components/common/checkbox.d.ts +35 -35
  40. package/dist/components/common/checkbox.js +117 -0
  41. package/dist/components/common/color-legend.d.ts +43 -43
  42. package/dist/components/common/color-legend.js +205 -0
  43. package/dist/components/common/data-table/button.d.ts +8 -8
  44. package/dist/components/common/data-table/button.js +53 -0
  45. package/dist/components/common/data-table/canvas.d.ts +2 -2
  46. package/dist/components/common/data-table/canvas.js +43 -0
  47. package/dist/components/common/data-table/cell-size.d.ts +36 -36
  48. package/dist/components/common/data-table/cell-size.js +170 -0
  49. package/dist/components/common/data-table/grid.d.ts +7 -7
  50. package/dist/components/common/data-table/grid.js +90 -0
  51. package/dist/components/common/data-table/index.d.ts +143 -143
  52. package/dist/components/common/data-table/index.js +469 -0
  53. package/dist/components/common/data-table/option-dropdown.d.ts +14 -14
  54. package/dist/components/common/data-table/option-dropdown.js +99 -0
  55. package/dist/components/common/dataset-label.d.ts +10 -10
  56. package/dist/components/common/dataset-label.js +44 -0
  57. package/dist/components/common/error-boundary.d.ts +16 -16
  58. package/dist/components/common/error-boundary.js +76 -0
  59. package/dist/components/common/field-selector.d.ts +47 -47
  60. package/dist/components/common/field-selector.js +214 -0
  61. package/dist/components/common/field-token.d.ts +45 -45
  62. package/dist/components/common/field-token.js +47 -0
  63. package/dist/components/common/file-uploader/file-drop.d.ts +54 -54
  64. package/dist/components/common/file-uploader/file-drop.js +213 -0
  65. package/dist/components/common/file-uploader/file-upload-progress.d.ts +8 -8
  66. package/dist/components/common/file-uploader/file-upload-progress.js +103 -0
  67. package/dist/components/common/file-uploader/file-upload.d.ts +27 -27
  68. package/dist/components/common/file-uploader/file-upload.js +263 -0
  69. package/dist/components/common/file-uploader/upload-button.d.ts +8 -8
  70. package/dist/components/common/file-uploader/upload-button.js +76 -0
  71. package/dist/components/common/histogram-plot.d.ts +3 -3
  72. package/dist/components/common/histogram-plot.js +112 -0
  73. package/dist/components/common/icons/add.d.ts +9 -9
  74. package/dist/components/common/icons/add.js +58 -0
  75. package/dist/components/common/icons/anchor_window.d.ts +11 -11
  76. package/dist/components/common/icons/anchor_window.js +51 -0
  77. package/dist/components/common/icons/arrow-down-alt.d.ts +9 -9
  78. package/dist/components/common/icons/arrow-down-alt.js +58 -0
  79. package/dist/components/common/icons/arrow-down-solid.d.ts +9 -9
  80. package/dist/components/common/icons/arrow-down-solid.js +58 -0
  81. package/dist/components/common/icons/arrow-down.d.ts +9 -9
  82. package/dist/components/common/icons/arrow-down.js +58 -0
  83. package/dist/components/common/icons/arrow-left.d.ts +9 -9
  84. package/dist/components/common/icons/arrow-left.js +61 -0
  85. package/dist/components/common/icons/arrow-right.d.ts +9 -9
  86. package/dist/components/common/icons/arrow-right.js +58 -0
  87. package/dist/components/common/icons/arrow-up-alt.d.ts +9 -9
  88. package/dist/components/common/icons/arrow-up-alt.js +59 -0
  89. package/dist/components/common/icons/arrow-up-solid.d.ts +9 -9
  90. package/dist/components/common/icons/arrow-up-solid.js +58 -0
  91. package/dist/components/common/icons/arrow-up.d.ts +9 -9
  92. package/dist/components/common/icons/arrow-up.js +58 -0
  93. package/dist/components/common/icons/base.d.ts +29 -29
  94. package/dist/components/common/icons/base.js +94 -0
  95. package/dist/components/common/icons/bug.d.ts +9 -9
  96. package/dist/components/common/icons/bug.js +60 -0
  97. package/dist/components/common/icons/cancel.d.ts +9 -9
  98. package/dist/components/common/icons/cancel.js +58 -0
  99. package/dist/components/common/icons/checkmark.d.ts +10 -10
  100. package/dist/components/common/icons/checkmark.js +64 -0
  101. package/dist/components/common/icons/chevron-right.js +68 -0
  102. package/dist/components/common/icons/clipboard.d.ts +9 -9
  103. package/dist/components/common/icons/clipboard.js +59 -0
  104. package/dist/components/common/icons/clock.d.ts +9 -9
  105. package/dist/components/common/icons/clock.js +60 -0
  106. package/dist/components/common/icons/close.d.ts +9 -9
  107. package/dist/components/common/icons/close.js +63 -0
  108. package/dist/components/common/icons/code-alt.d.ts +9 -9
  109. package/dist/components/common/icons/code-alt.js +61 -0
  110. package/dist/components/common/icons/copy.d.ts +9 -9
  111. package/dist/components/common/icons/copy.js +63 -0
  112. package/dist/components/common/icons/crosshairs.d.ts +9 -9
  113. package/dist/components/common/icons/crosshairs.js +61 -0
  114. package/dist/components/common/icons/cube-3d.d.ts +9 -9
  115. package/dist/components/common/icons/cube-3d.js +62 -0
  116. package/dist/components/common/icons/cursor-click.d.ts +9 -9
  117. package/dist/components/common/icons/cursor-click.js +62 -0
  118. package/dist/components/common/icons/data-table.d.ts +10 -10
  119. package/dist/components/common/icons/data-table.js +59 -0
  120. package/dist/components/common/icons/db.d.ts +10 -10
  121. package/dist/components/common/icons/db.js +59 -0
  122. package/dist/components/common/icons/delete.d.ts +9 -9
  123. package/dist/components/common/icons/delete.js +60 -0
  124. package/dist/components/common/icons/docs.d.ts +9 -9
  125. package/dist/components/common/icons/docs.js +74 -0
  126. package/dist/components/common/icons/drag-n-drop.d.ts +9 -9
  127. package/dist/components/common/icons/drag-n-drop.js +60 -0
  128. package/dist/components/common/icons/draw-polygon.d.ts +10 -10
  129. package/dist/components/common/icons/draw-polygon.js +78 -0
  130. package/dist/components/common/icons/email.d.ts +9 -9
  131. package/dist/components/common/icons/email.js +62 -0
  132. package/dist/components/common/icons/expand.d.ts +9 -9
  133. package/dist/components/common/icons/expand.js +60 -0
  134. package/dist/components/common/icons/eye-seen.d.ts +9 -9
  135. package/dist/components/common/icons/eye-seen.js +60 -0
  136. package/dist/components/common/icons/eye-unseen.d.ts +9 -9
  137. package/dist/components/common/icons/eye-unseen.js +60 -0
  138. package/dist/components/common/icons/file-type.d.ts +8 -8
  139. package/dist/components/common/icons/file-type.js +52 -0
  140. package/dist/components/common/icons/file.d.ts +9 -9
  141. package/dist/components/common/icons/file.js +58 -0
  142. package/dist/components/common/icons/files.d.ts +9 -9
  143. package/dist/components/common/icons/files.js +58 -0
  144. package/dist/components/common/icons/filter-funnel.d.ts +9 -9
  145. package/dist/components/common/icons/filter-funnel.js +58 -0
  146. package/dist/components/common/icons/free-window.d.ts +11 -11
  147. package/dist/components/common/icons/free-window.js +51 -0
  148. package/dist/components/common/icons/gear.d.ts +9 -9
  149. package/dist/components/common/icons/gear.js +60 -0
  150. package/dist/components/common/icons/hash.d.ts +9 -9
  151. package/dist/components/common/icons/hash.js +58 -0
  152. package/dist/components/common/icons/histogram.d.ts +9 -9
  153. package/dist/components/common/icons/histogram.js +58 -0
  154. package/dist/components/common/icons/index.d.ts +78 -78
  155. package/dist/components/common/icons/index.js +551 -0
  156. package/dist/components/common/icons/info.d.ts +12 -12
  157. package/dist/components/common/icons/info.js +71 -0
  158. package/dist/components/common/icons/layers.d.ts +9 -9
  159. package/dist/components/common/icons/layers.js +58 -0
  160. package/dist/components/common/icons/left-arrow.d.ts +9 -9
  161. package/dist/components/common/icons/left-arrow.js +61 -0
  162. package/dist/components/common/icons/legend.d.ts +9 -9
  163. package/dist/components/common/icons/legend.js +58 -0
  164. package/dist/components/common/icons/line-chart.d.ts +9 -9
  165. package/dist/components/common/icons/line-chart.js +58 -0
  166. package/dist/components/common/icons/login.d.ts +9 -9
  167. package/dist/components/common/icons/login.js +61 -0
  168. package/dist/components/common/icons/logout.d.ts +9 -9
  169. package/dist/components/common/icons/logout.js +60 -0
  170. package/dist/components/common/icons/map-icon.d.ts +11 -11
  171. package/dist/components/common/icons/map-icon.js +65 -0
  172. package/dist/components/common/icons/map.d.ts +11 -11
  173. package/dist/components/common/icons/map.js +65 -0
  174. package/dist/components/common/icons/messages.d.ts +9 -9
  175. package/dist/components/common/icons/messages.js +58 -0
  176. package/dist/components/common/icons/minus.d.ts +9 -9
  177. package/dist/components/common/icons/minus.js +58 -0
  178. package/dist/components/common/icons/order-by-dataset.d.ts +12 -12
  179. package/dist/components/common/icons/order-by-dataset.js +51 -0
  180. package/dist/components/common/icons/order-by-list.d.ts +12 -12
  181. package/dist/components/common/icons/order-by-list.js +43 -0
  182. package/dist/components/common/icons/pause.d.ts +9 -9
  183. package/dist/components/common/icons/pause.js +58 -0
  184. package/dist/components/common/icons/picture.d.ts +9 -9
  185. package/dist/components/common/icons/picture.js +58 -0
  186. package/dist/components/common/icons/pin.d.ts +9 -9
  187. package/dist/components/common/icons/pin.js +62 -0
  188. package/dist/components/common/icons/play.d.ts +9 -9
  189. package/dist/components/common/icons/play.js +58 -0
  190. package/dist/components/common/icons/polygon.d.ts +10 -10
  191. package/dist/components/common/icons/polygon.js +80 -0
  192. package/dist/components/common/icons/rectangle.d.ts +10 -10
  193. package/dist/components/common/icons/rectangle.js +81 -0
  194. package/dist/components/common/icons/reduce.d.ts +9 -9
  195. package/dist/components/common/icons/reduce.js +61 -0
  196. package/dist/components/common/icons/reset.d.ts +9 -9
  197. package/dist/components/common/icons/reset.js +58 -0
  198. package/dist/components/common/icons/rocket.d.ts +9 -9
  199. package/dist/components/common/icons/rocket.js +58 -0
  200. package/dist/components/common/icons/save.d.ts +9 -9
  201. package/dist/components/common/icons/save.js +60 -0
  202. package/dist/components/common/icons/save2.d.ts +9 -9
  203. package/dist/components/common/icons/save2.js +64 -0
  204. package/dist/components/common/icons/search.d.ts +9 -9
  205. package/dist/components/common/icons/search.js +60 -0
  206. package/dist/components/common/icons/settings.d.ts +9 -9
  207. package/dist/components/common/icons/settings.js +60 -0
  208. package/dist/components/common/icons/share.d.ts +9 -9
  209. package/dist/components/common/icons/share.js +58 -0
  210. package/dist/components/common/icons/split.d.ts +9 -9
  211. package/dist/components/common/icons/split.js +86 -0
  212. package/dist/components/common/icons/square-select.d.ts +9 -9
  213. package/dist/components/common/icons/square-select.js +60 -0
  214. package/dist/components/common/icons/swap-horizontal.js +66 -0
  215. package/dist/components/common/icons/table.d.ts +9 -9
  216. package/dist/components/common/icons/table.js +58 -0
  217. package/dist/components/common/icons/trash.d.ts +9 -9
  218. package/dist/components/common/icons/trash.js +60 -0
  219. package/dist/components/common/icons/upload.d.ts +9 -9
  220. package/dist/components/common/icons/upload.js +58 -0
  221. package/dist/components/common/icons/vert-dots.d.ts +9 -9
  222. package/dist/components/common/icons/vert-dots.js +96 -0
  223. package/dist/components/common/icons/vert-three-dots.d.ts +9 -9
  224. package/dist/components/common/icons/vert-three-dots.js +71 -0
  225. package/dist/components/common/icons/warning.d.ts +10 -10
  226. package/dist/components/common/icons/warning.js +72 -0
  227. package/dist/components/common/image-preview.d.ts +15 -15
  228. package/dist/components/common/image-preview.js +79 -0
  229. package/dist/components/common/info-helper.d.ts +11 -11
  230. package/dist/components/common/info-helper.js +79 -0
  231. package/dist/components/common/item-selector/accessor.d.ts +7 -7
  232. package/dist/components/common/item-selector/accessor.js +54 -0
  233. package/dist/components/common/item-selector/chickleted-input.d.ts +21 -21
  234. package/dist/components/common/item-selector/chickleted-input.js +96 -0
  235. package/dist/components/common/item-selector/dropdown-list.d.ts +68 -68
  236. package/dist/components/common/item-selector/dropdown-list.js +279 -0
  237. package/dist/components/common/item-selector/item-selector-submenu.js +88 -0
  238. package/dist/components/common/item-selector/item-selector.d.ts +91 -91
  239. package/dist/components/common/item-selector/item-selector.js +282 -0
  240. package/dist/components/common/item-selector/typeahead.d.ts +115 -115
  241. package/dist/components/common/item-selector/typeahead.js +425 -0
  242. package/dist/components/common/line-chart.d.ts +34 -34
  243. package/dist/components/common/line-chart.js +127 -0
  244. package/dist/components/common/loading-spinner.d.ts +9 -9
  245. package/dist/components/common/loading-spinner.js +64 -0
  246. package/dist/components/common/logo.d.ts +8 -8
  247. package/dist/components/common/logo.js +85 -0
  248. package/dist/components/common/map-layer-selector.d.ts +13 -13
  249. package/dist/components/common/map-layer-selector.js +56 -0
  250. package/dist/components/common/modal.d.ts +49 -49
  251. package/dist/components/common/modal.js +165 -0
  252. package/dist/components/common/portaled.d.ts +527 -527
  253. package/dist/components/common/portaled.js +277 -0
  254. package/dist/components/common/progress-bar.d.ts +12 -12
  255. package/dist/components/common/progress-bar.js +64 -0
  256. package/dist/components/common/range-brush.d.ts +19 -19
  257. package/dist/components/common/range-brush.js +277 -0
  258. package/dist/components/common/range-plot.d.ts +35 -35
  259. package/dist/components/common/range-plot.js +130 -0
  260. package/dist/components/common/range-slider.d.ts +32 -32
  261. package/dist/components/common/range-slider.js +305 -0
  262. package/dist/components/common/slider/mouse-event.d.ts +27 -27
  263. package/dist/components/common/slider/mouse-event.js +115 -0
  264. package/dist/components/common/slider/slider-bar-handle.d.ts +29 -29
  265. package/dist/components/common/slider/slider-bar-handle.js +105 -0
  266. package/dist/components/common/slider/slider-handle.d.ts +33 -33
  267. package/dist/components/common/slider/slider-handle.js +151 -0
  268. package/dist/components/common/slider/slider.d.ts +70 -70
  269. package/dist/components/common/slider/slider.js +221 -0
  270. package/dist/components/common/styled-components.d.ts +119 -119
  271. package/dist/components/common/styled-components.js +300 -0
  272. package/dist/components/common/switch.d.ts +16 -16
  273. package/dist/components/common/switch.js +38 -0
  274. package/dist/components/common/time-range-slider-time-title.d.ts +9 -9
  275. package/dist/components/common/time-range-slider-time-title.js +79 -0
  276. package/dist/components/common/time-range-slider.d.ts +32 -32
  277. package/dist/components/common/time-range-slider.js +116 -0
  278. package/dist/components/common/time-slider-marker.d.ts +21 -21
  279. package/dist/components/common/time-slider-marker.js +136 -0
  280. package/dist/components/common/tippy-tooltip.d.ts +4 -4
  281. package/dist/components/common/tippy-tooltip.js +115 -0
  282. package/dist/components/common/toolbar-item.d.ts +14 -14
  283. package/dist/components/common/toolbar-item.js +75 -0
  284. package/dist/components/common/toolbar.d.ts +5 -5
  285. package/dist/components/common/toolbar.js +44 -0
  286. package/dist/components/common/vertical-toolbar.d.ts +3 -3
  287. package/dist/components/common/vertical-toolbar.js +33 -0
  288. package/dist/components/container.d.ts +39 -39
  289. package/dist/components/container.js +203 -0
  290. package/dist/components/context.d.ts +7 -7
  291. package/dist/components/context.js +38 -0
  292. package/dist/components/editor/constants.d.ts +17 -17
  293. package/dist/components/editor/constants.js +45 -0
  294. package/dist/components/editor/editor.d.ts +29 -29
  295. package/dist/components/editor/editor.js +226 -0
  296. package/dist/components/editor/feature-action-panel.d.ts +27 -27
  297. package/dist/components/editor/feature-action-panel.js +141 -0
  298. package/dist/components/editor/feature-styles.d.ts +24 -24
  299. package/dist/components/editor/feature-styles.js +67 -0
  300. package/dist/components/editor/handle-style.d.ts +38 -38
  301. package/dist/components/editor/handle-style.js +78 -0
  302. package/dist/components/filters/components.d.ts +1 -3
  303. package/dist/components/filters/components.js +31 -0
  304. package/dist/components/filters/filter-panels/filter-panel-with-field-select.d.ts +10 -10
  305. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +96 -0
  306. package/dist/components/filters/filter-panels/multi-select-filter-panel.d.ts +9 -9
  307. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +66 -0
  308. package/dist/components/filters/filter-panels/new-filter-panel.d.ts +12 -12
  309. package/dist/components/filters/filter-panels/new-filter-panel.js +85 -0
  310. package/dist/components/filters/filter-panels/polygon-filter-panel.d.ts +9 -9
  311. package/dist/components/filters/filter-panels/polygon-filter-panel.js +85 -0
  312. package/dist/components/filters/filter-panels/range-filter-panel.d.ts +9 -9
  313. package/dist/components/filters/filter-panels/range-filter-panel.js +66 -0
  314. package/dist/components/filters/filter-panels/single-select-filter-panel.d.ts +9 -9
  315. package/dist/components/filters/filter-panels/single-select-filter-panel.js +66 -0
  316. package/dist/components/filters/filter-panels/time-range-filter-panel.d.ts +8 -8
  317. package/dist/components/filters/filter-panels/time-range-filter-panel.js +80 -0
  318. package/dist/components/filters/filter-panels/types.d.ts +36 -36
  319. package/dist/components/filters/filter-panels/types.js +6 -0
  320. package/dist/components/filters/index.d.ts +5 -5
  321. package/dist/components/filters/index.js +42 -0
  322. package/dist/components/filters/multi-select-filter.d.ts +3 -3
  323. package/dist/components/filters/multi-select-filter.js +48 -0
  324. package/dist/components/filters/polygon-filter.d.ts +4 -4
  325. package/dist/components/filters/polygon-filter.js +85 -0
  326. package/dist/components/filters/range-filter.d.ts +8 -8
  327. package/dist/components/filters/range-filter.js +48 -0
  328. package/dist/components/filters/single-select-filter.d.ts +3 -3
  329. package/dist/components/filters/single-select-filter.js +57 -0
  330. package/dist/components/filters/time-range-filter.d.ts +28 -28
  331. package/dist/components/filters/time-range-filter.js +75 -0
  332. package/dist/components/filters/time-widget.d.ts +14 -14
  333. package/dist/components/filters/time-widget.js +162 -0
  334. package/dist/components/filters/types.d.ts +53 -53
  335. package/dist/components/filters/types.js +6 -0
  336. package/dist/components/geocoder/geocoder.d.ts +33 -33
  337. package/dist/components/geocoder/geocoder.js +282 -0
  338. package/dist/components/geocoder-panel.d.ts +28 -28
  339. package/dist/components/geocoder-panel.js +192 -0
  340. package/dist/components/index.d.ts +165 -165
  341. package/dist/components/index.js +1474 -0
  342. package/dist/components/injector.d.ts +25 -25
  343. package/dist/components/injector.js +162 -0
  344. package/dist/components/kepler-gl.d.ts +302 -302
  345. package/dist/components/kepler-gl.js +487 -0
  346. package/dist/components/map/coordinate-info.d.ts +7 -7
  347. package/dist/components/map/coordinate-info.js +59 -0
  348. package/dist/components/map/layer-hover-info.d.ts +13 -13
  349. package/dist/components/map/layer-hover-info.js +167 -0
  350. package/dist/components/map/layer-selector-panel.d.ts +22 -22
  351. package/dist/components/map/layer-selector-panel.js +103 -0
  352. package/dist/components/map/locale-panel.d.ts +16 -16
  353. package/dist/components/map/locale-panel.js +103 -0
  354. package/dist/components/map/map-control-panel.d.ts +14 -14
  355. package/dist/components/map/map-control-panel.js +97 -0
  356. package/dist/components/map/map-control-toolbar.d.ts +2 -2
  357. package/dist/components/map/map-control-toolbar.js +35 -0
  358. package/dist/components/map/map-control-tooltip.d.ts +7 -7
  359. package/dist/components/map/map-control-tooltip.js +48 -0
  360. package/dist/components/map/map-control.d.ts +44 -44
  361. package/dist/components/map/map-control.js +79 -0
  362. package/dist/components/map/map-draw-panel.d.ts +21 -21
  363. package/dist/components/map/map-draw-panel.js +131 -0
  364. package/dist/components/map/map-legend-panel.d.ts +23 -23
  365. package/dist/components/map/map-legend-panel.js +152 -0
  366. package/dist/components/map/map-legend.d.ts +55 -55
  367. package/dist/components/map/map-legend.js +234 -0
  368. package/dist/components/map/map-popover.d.ts +37 -37
  369. package/dist/components/map/map-popover.js +191 -0
  370. package/dist/components/map/split-map-button.d.ts +19 -19
  371. package/dist/components/map/split-map-button.js +89 -0
  372. package/dist/components/map/toggle-3d-button.d.ts +16 -16
  373. package/dist/components/map/toggle-3d-button.js +79 -0
  374. package/dist/components/map-container.d.ts +58 -58
  375. package/dist/components/map-container.js +502 -0
  376. package/dist/components/maps-layout.d.ts +10 -10
  377. package/dist/components/maps-layout.js +57 -0
  378. package/dist/components/modal-container.d.ts +65 -65
  379. package/dist/components/modal-container.js +459 -0
  380. package/dist/components/modals/add-map-style-modal.d.ts +17 -17
  381. package/dist/components/modals/add-map-style-modal.js +250 -0
  382. package/dist/components/modals/cloud-tile.d.ts +15 -15
  383. package/dist/components/modals/cloud-tile.js +124 -0
  384. package/dist/components/modals/data-table-modal.d.ts +29 -29
  385. package/dist/components/modals/data-table-modal.js +223 -0
  386. package/dist/components/modals/delete-data-modal.d.ts +10 -10
  387. package/dist/components/modals/delete-data-modal.js +58 -0
  388. package/dist/components/modals/error-display.d.ts +6 -6
  389. package/dist/components/modals/error-display.js +44 -0
  390. package/dist/components/modals/export-data-modal.d.ts +25 -25
  391. package/dist/components/modals/export-data-modal.js +194 -0
  392. package/dist/components/modals/export-image-modal.d.ts +18 -18
  393. package/dist/components/modals/export-image-modal.js +139 -0
  394. package/dist/components/modals/export-map-modal/components.d.ts +8 -8
  395. package/dist/components/modals/export-map-modal/components.js +51 -0
  396. package/dist/components/modals/export-map-modal/export-html-map.d.ts +12 -12
  397. package/dist/components/modals/export-map-modal/export-html-map.js +140 -0
  398. package/dist/components/modals/export-map-modal/export-json-map.d.ts +9 -9
  399. package/dist/components/modals/export-map-modal/export-json-map.js +98 -0
  400. package/dist/components/modals/export-map-modal/export-map-modal.d.ts +27 -27
  401. package/dist/components/modals/export-map-modal/export-map-modal.js +101 -0
  402. package/dist/components/modals/image-modal-container.d.ts +18 -18
  403. package/dist/components/modals/image-modal-container.js +83 -0
  404. package/dist/components/modals/load-data-modal.d.ts +33 -33
  405. package/dist/components/modals/load-data-modal.js +93 -0
  406. package/dist/components/modals/load-storage-map.d.ts +26 -26
  407. package/dist/components/modals/load-storage-map.js +251 -0
  408. package/dist/components/modals/loading-dialog.d.ts +7 -7
  409. package/dist/components/modals/loading-dialog.js +54 -0
  410. package/dist/components/modals/modal-dialog.d.ts +2 -2
  411. package/dist/components/modals/modal-dialog.js +33 -0
  412. package/dist/components/modals/modal-tabs.d.ts +27 -27
  413. package/dist/components/modals/modal-tabs.js +99 -0
  414. package/dist/components/modals/overwrite-map-modal.d.ts +16 -16
  415. package/dist/components/modals/overwrite-map-modal.js +81 -0
  416. package/dist/components/modals/provider-modal-container.d.ts +23 -23
  417. package/dist/components/modals/provider-modal-container.js +79 -0
  418. package/dist/components/modals/save-map-modal.d.ts +29 -29
  419. package/dist/components/modals/save-map-modal.js +201 -0
  420. package/dist/components/modals/share-map-modal.d.ts +30 -30
  421. package/dist/components/modals/share-map-modal.js +188 -0
  422. package/dist/components/modals/status-panel.d.ts +13 -13
  423. package/dist/components/modals/status-panel.js +82 -0
  424. package/dist/components/modals/storage-map-viewer.d.ts +21 -21
  425. package/dist/components/modals/storage-map-viewer.js +115 -0
  426. package/dist/components/notification-panel/notification-item.d.ts +66 -66
  427. package/dist/components/notification-panel/notification-item.js +139 -0
  428. package/dist/components/notification-panel.d.ts +61 -61
  429. package/dist/components/notification-panel.js +74 -0
  430. package/dist/components/performance.d.ts +4 -4
  431. package/dist/components/performance.js +110 -0
  432. package/dist/components/plot-container.d.ts +24 -24
  433. package/dist/components/plot-container.js +240 -0
  434. package/dist/components/side-panel/cloud-storage-dropdown.d.ts +6 -6
  435. package/dist/components/side-panel/cloud-storage-dropdown.js +57 -0
  436. package/dist/components/side-panel/common/dataset-info.d.ts +3 -3
  437. package/dist/components/side-panel/common/dataset-info.js +50 -0
  438. package/dist/components/side-panel/common/dataset-tag.d.ts +3 -3
  439. package/dist/components/side-panel/common/dataset-tag.js +75 -0
  440. package/dist/components/side-panel/common/dataset-title.d.ts +8 -8
  441. package/dist/components/side-panel/common/dataset-title.js +185 -0
  442. package/dist/components/side-panel/common/source-data-catalog.d.ts +9 -9
  443. package/dist/components/side-panel/common/source-data-catalog.js +66 -0
  444. package/dist/components/side-panel/common/source-data-selector.d.ts +8 -8
  445. package/dist/components/side-panel/common/source-data-selector.js +119 -0
  446. package/dist/components/side-panel/common/types.d.ts +58 -58
  447. package/dist/components/side-panel/common/types.js +6 -0
  448. package/dist/components/side-panel/custom-panel.d.ts +9 -9
  449. package/dist/components/side-panel/custom-panel.js +56 -0
  450. package/dist/components/side-panel/filter-manager.d.ts +20 -20
  451. package/dist/components/side-panel/filter-manager.js +113 -0
  452. package/dist/components/side-panel/filter-panel/filter-panel-header.d.ts +21 -21
  453. package/dist/components/side-panel/filter-panel/filter-panel-header.js +67 -0
  454. package/dist/components/side-panel/filter-panel/filter-panel.d.ts +23 -23
  455. package/dist/components/side-panel/filter-panel/filter-panel.js +110 -0
  456. package/dist/components/side-panel/interaction-manager.d.ts +14 -14
  457. package/dist/components/side-panel/interaction-manager.js +51 -0
  458. package/dist/components/side-panel/interaction-panel/brush-config.d.ts +15 -15
  459. package/dist/components/side-panel/interaction-panel/brush-config.js +58 -0
  460. package/dist/components/side-panel/interaction-panel/interaction-panel.d.ts +19 -19
  461. package/dist/components/side-panel/interaction-panel/interaction-panel.js +137 -0
  462. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +28 -28
  463. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +204 -0
  464. package/dist/components/side-panel/interaction-panel/tooltip-config.d.ts +38 -38
  465. package/dist/components/side-panel/interaction-panel/tooltip-config.js +155 -0
  466. package/dist/components/side-panel/layer-manager.d.ts +46 -46
  467. package/dist/components/side-panel/layer-manager.js +185 -0
  468. package/dist/components/side-panel/layer-panel/add-layer-button.d.ts +10 -10
  469. package/dist/components/side-panel/layer-panel/add-layer-button.js +147 -0
  470. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.d.ts +8 -8
  471. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +38 -0
  472. package/dist/components/side-panel/layer-panel/color-palette.d.ts +13 -13
  473. package/dist/components/side-panel/layer-panel/color-palette.js +79 -0
  474. package/dist/components/side-panel/layer-panel/color-range-selector.d.ts +129 -129
  475. package/dist/components/side-panel/layer-panel/color-range-selector.js +329 -0
  476. package/dist/components/side-panel/layer-panel/color-selector.d.ts +101 -101
  477. package/dist/components/side-panel/layer-panel/color-selector.js +177 -0
  478. package/dist/components/side-panel/layer-panel/column-selector.d.ts +22 -22
  479. package/dist/components/side-panel/layer-panel/column-selector.js +66 -0
  480. package/dist/components/side-panel/layer-panel/custom-markers-config-group.d.ts +6 -6
  481. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +36 -0
  482. package/dist/components/side-panel/layer-panel/custom-palette.d.ts +38 -38
  483. package/dist/components/side-panel/layer-panel/custom-palette.js +278 -0
  484. package/dist/components/side-panel/layer-panel/custom-picker.d.ts +67 -67
  485. package/dist/components/side-panel/layer-panel/custom-picker.js +106 -0
  486. package/dist/components/side-panel/layer-panel/dataset-layer-group.d.ts +24 -24
  487. package/dist/components/side-panel/layer-panel/dataset-layer-group.js +81 -0
  488. package/dist/components/side-panel/layer-panel/dataset-layer-section.d.ts +25 -25
  489. package/dist/components/side-panel/layer-panel/dataset-layer-section.js +74 -0
  490. package/dist/components/side-panel/layer-panel/dataset-section.d.ts +26 -26
  491. package/dist/components/side-panel/layer-panel/dataset-section.js +91 -0
  492. package/dist/components/side-panel/layer-panel/dimension-scale-selector.d.ts +10 -10
  493. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +53 -0
  494. package/dist/components/side-panel/layer-panel/hex-column-config.d.ts +62 -62
  495. package/dist/components/side-panel/layer-panel/hex-column-config.js +74 -0
  496. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.d.ts +8 -8
  497. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +18 -0
  498. package/dist/components/side-panel/layer-panel/layer-column-config.d.ts +20 -20
  499. package/dist/components/side-panel/layer-panel/layer-column-config.js +86 -0
  500. package/dist/components/side-panel/layer-panel/layer-config-group.d.ts +37 -37
  501. package/dist/components/side-panel/layer-panel/layer-config-group.js +209 -0
  502. package/dist/components/side-panel/layer-panel/layer-configurator.d.ts +415 -415
  503. package/dist/components/side-panel/layer-panel/layer-configurator.js +977 -0
  504. package/dist/components/side-panel/layer-panel/layer-list.d.ts +20 -20
  505. package/dist/components/side-panel/layer-panel/layer-list.js +168 -0
  506. package/dist/components/side-panel/layer-panel/layer-panel-header.d.ts +43 -43
  507. package/dist/components/side-panel/layer-panel/layer-panel-header.js +194 -0
  508. package/dist/components/side-panel/layer-panel/layer-panel.d.ts +40 -40
  509. package/dist/components/side-panel/layer-panel/layer-panel.js +161 -0
  510. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.d.ts +17 -17
  511. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +95 -0
  512. package/dist/components/side-panel/layer-panel/layer-type-list-item.d.ts +11 -11
  513. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +75 -0
  514. package/dist/components/side-panel/layer-panel/layer-type-selector.d.ts +23 -23
  515. package/dist/components/side-panel/layer-panel/layer-type-selector.js +87 -0
  516. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.d.ts +23 -23
  517. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +106 -0
  518. package/dist/components/side-panel/layer-panel/panel-view-list-toggle.d.ts +36 -36
  519. package/dist/components/side-panel/layer-panel/panel-view-list-toggle.js +116 -0
  520. package/dist/components/side-panel/layer-panel/single-color-palette.d.ts +12 -12
  521. package/dist/components/side-panel/layer-panel/single-color-palette.js +68 -0
  522. package/dist/components/side-panel/layer-panel/text-label-panel.d.ts +18 -18
  523. package/dist/components/side-panel/layer-panel/text-label-panel.js +157 -0
  524. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.d.ts +35 -35
  525. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +148 -0
  526. package/dist/components/side-panel/layer-panel/vis-config-slider.d.ts +20 -20
  527. package/dist/components/side-panel/layer-panel/vis-config-slider.js +177 -0
  528. package/dist/components/side-panel/layer-panel/vis-config-switch.d.ts +16 -16
  529. package/dist/components/side-panel/layer-panel/vis-config-switch.js +73 -0
  530. package/dist/components/side-panel/map-manager.d.ts +21 -21
  531. package/dist/components/side-panel/map-manager.js +133 -0
  532. package/dist/components/side-panel/map-style-panel/map-layer-selector.d.ts +19 -19
  533. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +103 -0
  534. package/dist/components/side-panel/map-style-panel/map-style-selector.d.ts +16 -16
  535. package/dist/components/side-panel/map-style-panel/map-style-selector.js +80 -0
  536. package/dist/components/side-panel/panel-dropdown.d.ts +18 -18
  537. package/dist/components/side-panel/panel-dropdown.js +71 -0
  538. package/dist/components/side-panel/panel-header-action.d.ts +20 -20
  539. package/dist/components/side-panel/panel-header-action.js +103 -0
  540. package/dist/components/side-panel/panel-header.d.ts +78 -78
  541. package/dist/components/side-panel/panel-header.js +301 -0
  542. package/dist/components/side-panel/panel-tab.d.ts +20 -20
  543. package/dist/components/side-panel/panel-tab.js +72 -0
  544. package/dist/components/side-panel/panel-title.d.ts +4 -4
  545. package/dist/components/side-panel/panel-title.js +44 -0
  546. package/dist/components/side-panel/panel-toggle.d.ts +14 -14
  547. package/dist/components/side-panel/panel-toggle.js +65 -0
  548. package/dist/components/side-panel/side-bar.d.ts +76 -76
  549. package/dist/components/side-panel/side-bar.js +140 -0
  550. package/dist/components/side-panel.d.ts +134 -134
  551. package/dist/components/side-panel.js +235 -0
  552. package/dist/components/types.d.ts +44 -44
  553. package/dist/components/types.js +6 -0
  554. package/dist/connect/keplergl-connect.d.ts +5 -5
  555. package/dist/connect/keplergl-connect.js +59 -0
  556. package/dist/connect/with-local-selector.d.ts +6 -6
  557. package/dist/connect/with-local-selector.js +102 -0
  558. package/dist/constants/action-types.d.ts +111 -111
  559. package/dist/constants/action-types.js +184 -0
  560. package/dist/constants/color-palette.d.ts +491 -491
  561. package/dist/constants/color-palette.js +536 -0
  562. package/dist/constants/color-ranges.d.ts +24 -24
  563. package/dist/constants/color-ranges.js +83 -0
  564. package/dist/constants/custom-color-ranges.d.ts +37 -37
  565. package/dist/constants/custom-color-ranges.js +410 -0
  566. package/dist/constants/default-settings.d.ts +773 -773
  567. package/dist/constants/default-settings.js +832 -0
  568. package/dist/constants/index.d.ts +9 -9
  569. package/dist/constants/index.js +387 -0
  570. package/dist/constants/keyevent.d.ts +2 -2
  571. package/dist/constants/keyevent.js +43 -0
  572. package/dist/constants/tooltip.d.ts +165 -165
  573. package/dist/constants/tooltip.js +202 -0
  574. package/dist/constants/user-feedbacks.d.ts +5 -5
  575. package/dist/constants/user-feedbacks.js +32 -0
  576. package/dist/constants/user-guides.d.ts +9 -9
  577. package/dist/constants/user-guides.js +36 -0
  578. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.d.ts +13 -13
  579. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +92 -0
  580. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.d.ts +7 -7
  581. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +181 -0
  582. package/dist/deckgl-layers/3d-building-layer/types.d.ts +37 -0
  583. package/dist/deckgl-layers/3d-building-layer/types.js +6 -0
  584. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +312 -0
  585. package/dist/deckgl-layers/column-layer/enhanced-column-layer.d.ts +6 -6
  586. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +75 -0
  587. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.d.ts +13 -13
  588. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +96 -0
  589. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.d.ts +13 -13
  590. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +96 -0
  591. package/dist/deckgl-layers/layer-utils/cluster-utils.js +107 -0
  592. package/dist/deckgl-layers/layer-utils/cpu-aggregator.d.ts +91 -91
  593. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +585 -0
  594. package/dist/deckgl-layers/layer-utils/shader-utils.d.ts +1 -1
  595. package/dist/deckgl-layers/layer-utils/shader-utils.js +46 -0
  596. package/dist/deckgl-layers/line-layer/line-layer.d.ts +12 -12
  597. package/dist/deckgl-layers/line-layer/line-layer.js +106 -0
  598. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.d.ts +8 -8
  599. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +80 -0
  600. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.d.ts +18 -18
  601. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +123 -0
  602. package/dist/index.d.ts +11 -11
  603. package/dist/index.js +179 -0
  604. package/dist/layers/aggregation-layer.d.ts +70 -70
  605. package/dist/layers/aggregation-layer.js +392 -0
  606. package/dist/layers/arc-layer/arc-layer-icon.d.ts +16 -16
  607. package/dist/layers/arc-layer/arc-layer-icon.js +76 -0
  608. package/dist/layers/arc-layer/arc-layer.d.ts +143 -143
  609. package/dist/layers/arc-layer/arc-layer.js +252 -0
  610. package/dist/layers/base-layer.d.ts +436 -436
  611. package/dist/layers/base-layer.js +1703 -0
  612. package/dist/layers/cluster-layer/cluster-layer-icon.d.ts +16 -16
  613. package/dist/layers/cluster-layer/cluster-layer-icon.js +79 -0
  614. package/dist/layers/cluster-layer/cluster-layer.d.ts +39 -39
  615. package/dist/layers/cluster-layer/cluster-layer.js +139 -0
  616. package/dist/layers/default-layer-icon.d.ts +14 -14
  617. package/dist/layers/default-layer-icon.js +86 -0
  618. package/dist/layers/geojson-layer/geojson-layer-icon.d.ts +15 -15
  619. package/dist/layers/geojson-layer/geojson-layer-icon.js +90 -0
  620. package/dist/layers/geojson-layer/geojson-layer.d.ts +227 -230
  621. package/dist/layers/geojson-layer/geojson-layer.js +423 -0
  622. package/dist/layers/geojson-layer/geojson-utils.d.ts +44 -44
  623. package/dist/layers/geojson-layer/geojson-utils.js +184 -0
  624. package/dist/layers/grid-layer/grid-layer-icon.d.ts +15 -15
  625. package/dist/layers/grid-layer/grid-layer-icon.js +135 -0
  626. package/dist/layers/grid-layer/grid-layer.d.ts +74 -74
  627. package/dist/layers/grid-layer/grid-layer.js +104 -0
  628. package/dist/layers/grid-layer/grid-utils.d.ts +24 -24
  629. package/dist/layers/grid-layer/grid-utils.js +59 -0
  630. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.d.ts +16 -16
  631. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +70 -0
  632. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.d.ts +170 -170
  633. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +321 -0
  634. package/dist/layers/h3-hexagon-layer/h3-utils.d.ts +20 -20
  635. package/dist/layers/h3-hexagon-layer/h3-utils.js +86 -0
  636. package/dist/layers/heatmap-layer/heatmap-layer-icon.d.ts +15 -15
  637. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +87 -0
  638. package/dist/layers/heatmap-layer/heatmap-layer.d.ts +144 -144
  639. package/dist/layers/heatmap-layer/heatmap-layer.js +236 -0
  640. package/dist/layers/hexagon-layer/hexagon-layer-icon.d.ts +15 -15
  641. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +99 -0
  642. package/dist/layers/hexagon-layer/hexagon-layer.d.ts +78 -78
  643. package/dist/layers/hexagon-layer/hexagon-layer.js +108 -0
  644. package/dist/layers/hexagon-layer/hexagon-utils.d.ts +7 -7
  645. package/dist/layers/hexagon-layer/hexagon-utils.js +62 -0
  646. package/dist/layers/icon-layer/icon-info-modal.d.ts +3 -3
  647. package/dist/layers/icon-layer/icon-info-modal.js +115 -0
  648. package/dist/layers/icon-layer/icon-layer-icon.d.ts +15 -15
  649. package/dist/layers/icon-layer/icon-layer-icon.js +72 -0
  650. package/dist/layers/icon-layer/icon-layer.d.ts +119 -119
  651. package/dist/layers/icon-layer/icon-layer.js +366 -0
  652. package/dist/layers/index.d.ts +53 -53
  653. package/dist/layers/index.js +105 -0
  654. package/dist/layers/layer-factory.d.ts +150 -150
  655. package/dist/layers/layer-factory.js +517 -0
  656. package/dist/layers/layer-text-label.d.ts +7 -7
  657. package/dist/layers/layer-text-label.js +60 -0
  658. package/dist/layers/layer-update.d.ts +9 -9
  659. package/dist/layers/layer-update.js +73 -0
  660. package/dist/layers/line-layer/line-layer-icon.d.ts +15 -15
  661. package/dist/layers/line-layer/line-layer-icon.js +78 -0
  662. package/dist/layers/line-layer/line-layer.d.ts +136 -136
  663. package/dist/layers/line-layer/line-layer.js +191 -0
  664. package/dist/layers/mapbox-utils.d.ts +57 -57
  665. package/dist/layers/mapbox-utils.js +186 -0
  666. package/dist/layers/mapboxgl-layer.d.ts +87 -87
  667. package/dist/layers/mapboxgl-layer.js +201 -0
  668. package/dist/layers/point-layer/point-layer-icon.d.ts +15 -15
  669. package/dist/layers/point-layer/point-layer-icon.js +93 -0
  670. package/dist/layers/point-layer/point-layer.d.ts +272 -272
  671. package/dist/layers/point-layer/point-layer.js +457 -0
  672. package/dist/layers/s2-geometry-layer/s2-geometry-layer.d.ts +189 -189
  673. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +306 -0
  674. package/dist/layers/s2-geometry-layer/s2-layer-icon.d.ts +15 -15
  675. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +69 -0
  676. package/dist/layers/s2-geometry-layer/s2-utils.d.ts +7 -7
  677. package/dist/layers/s2-geometry-layer/s2-utils.js +51 -0
  678. package/dist/layers/scenegraph-layer/scenegraph-info-modal.d.ts +3 -3
  679. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +54 -0
  680. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.d.ts +15 -15
  681. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +150 -0
  682. package/dist/layers/scenegraph-layer/scenegraph-layer.d.ts +80 -80
  683. package/dist/layers/scenegraph-layer/scenegraph-layer.js +230 -0
  684. package/dist/layers/trip-layer/trip-info-modal.d.ts +3 -3
  685. package/dist/layers/trip-layer/trip-info-modal.js +59 -0
  686. package/dist/layers/trip-layer/trip-layer-icon.d.ts +15 -15
  687. package/dist/layers/trip-layer/trip-layer-icon.js +88 -0
  688. package/dist/layers/trip-layer/trip-layer.d.ts +157 -157
  689. package/dist/layers/trip-layer/trip-layer.js +369 -0
  690. package/dist/layers/trip-layer/trip-utils.d.ts +31 -31
  691. package/dist/layers/trip-layer/trip-utils.js +180 -0
  692. package/dist/layers/types.d.ts +15 -15
  693. package/dist/layers/types.js +44 -0
  694. package/dist/localization/formatted-message.d.ts +12 -12
  695. package/dist/localization/formatted-message.js +39 -0
  696. package/dist/localization/index.d.ts +5 -5
  697. package/dist/localization/index.js +54 -0
  698. package/dist/localization/locales.d.ts +27 -27
  699. package/dist/localization/locales.js +59 -0
  700. package/dist/localization/messages.d.ts +4 -4
  701. package/dist/localization/messages.js +37 -0
  702. package/dist/localization/translations/ca.d.ts +438 -438
  703. package/dist/localization/translations/ca.js +466 -0
  704. package/dist/localization/translations/cn.d.ts +441 -441
  705. package/dist/localization/translations/cn.js +469 -0
  706. package/dist/localization/translations/en.d.ts +466 -466
  707. package/dist/localization/translations/en.js +494 -0
  708. package/dist/localization/translations/es.d.ts +438 -438
  709. package/dist/localization/translations/es.js +466 -0
  710. package/dist/localization/translations/fi.d.ts +410 -410
  711. package/dist/localization/translations/fi.js +438 -0
  712. package/dist/localization/translations/ja.d.ts +439 -439
  713. package/dist/localization/translations/ja.js +467 -0
  714. package/dist/localization/translations/pt.d.ts +410 -410
  715. package/dist/localization/translations/pt.js +438 -0
  716. package/dist/localization/translations/ru.d.ts +447 -447
  717. package/dist/localization/translations/ru.js +475 -0
  718. package/dist/middleware/index.d.ts +8 -8
  719. package/dist/middleware/index.js +44 -0
  720. package/dist/processors/data-processor.d.ts +242 -242
  721. package/dist/processors/data-processor.js +721 -0
  722. package/dist/processors/file-handler.d.ts +28 -28
  723. package/dist/processors/file-handler.js +357 -0
  724. package/dist/processors/index.d.ts +3 -3
  725. package/dist/processors/index.js +39 -0
  726. package/dist/processors/types.d.ts +21 -21
  727. package/dist/processors/types.js +6 -0
  728. package/dist/reducers/combined-updaters.d.ts +52 -52
  729. package/dist/reducers/combined-updaters.js +180 -0
  730. package/dist/reducers/composer-helpers.d.ts +21 -21
  731. package/dist/reducers/composer-helpers.js +111 -0
  732. package/dist/reducers/composers.d.ts +12 -12
  733. package/dist/reducers/composers.js +40 -0
  734. package/dist/reducers/core.d.ts +65 -65
  735. package/dist/reducers/core.js +119 -0
  736. package/dist/reducers/index.d.ts +19 -19
  737. package/dist/reducers/index.js +137 -0
  738. package/dist/reducers/map-state-updaters.d.ts +96 -96
  739. package/dist/reducers/map-state-updaters.js +220 -0
  740. package/dist/reducers/map-state.d.ts +4 -4
  741. package/dist/reducers/map-state.js +52 -0
  742. package/dist/reducers/map-style-updaters.d.ts +204 -204
  743. package/dist/reducers/map-style-updaters.js +473 -0
  744. package/dist/reducers/map-style.d.ts +16 -16
  745. package/dist/reducers/map-style.js +51 -0
  746. package/dist/reducers/provider-state-updaters.d.ts +41 -41
  747. package/dist/reducers/provider-state-updaters.js +421 -0
  748. package/dist/reducers/provider-state.d.ts +4 -4
  749. package/dist/reducers/provider-state.js +53 -0
  750. package/dist/reducers/root.d.ts +24 -24
  751. package/dist/reducers/root.js +212 -0
  752. package/dist/reducers/types.d.ts +16 -16
  753. package/dist/reducers/types.js +6 -0
  754. package/dist/reducers/ui-state-updaters.d.ts +433 -433
  755. package/dist/reducers/ui-state-updaters.js +744 -0
  756. package/dist/reducers/ui-state.d.ts +3 -3
  757. package/dist/reducers/ui-state.js +54 -0
  758. package/dist/reducers/vis-state-merger.d.ts +110 -110
  759. package/dist/reducers/vis-state-merger.js +569 -0
  760. package/dist/reducers/vis-state-selectors.d.ts +10 -10
  761. package/dist/reducers/vis-state-selectors.js +47 -0
  762. package/dist/reducers/vis-state-updaters.d.ts +645 -645
  763. package/dist/reducers/vis-state-updaters.js +2102 -0
  764. package/dist/reducers/vis-state.d.ts +4 -4
  765. package/dist/reducers/vis-state.js +53 -0
  766. package/dist/schemas/dataset-schema.d.ts +17 -17
  767. package/dist/schemas/dataset-schema.js +166 -0
  768. package/dist/schemas/index.d.ts +8 -8
  769. package/dist/schemas/index.js +125 -0
  770. package/dist/schemas/map-state-schema.d.ts +23 -23
  771. package/dist/schemas/map-state-schema.js +53 -0
  772. package/dist/schemas/map-style-schema.d.ts +38 -38
  773. package/dist/schemas/map-style-schema.js +106 -0
  774. package/dist/schemas/schema-manager.d.ts +271 -271
  775. package/dist/schemas/schema-manager.js +246 -0
  776. package/dist/schemas/schema-utils.d.ts +11 -11
  777. package/dist/schemas/schema-utils.js +58 -0
  778. package/dist/schemas/schema.d.ts +37 -37
  779. package/dist/schemas/schema.js +119 -0
  780. package/dist/schemas/versions.d.ts +5 -5
  781. package/dist/schemas/versions.js +34 -0
  782. package/dist/schemas/vis-state-schema.d.ts +214 -214
  783. package/dist/schemas/vis-state-schema.js +886 -0
  784. package/dist/styles/base.d.ts +1530 -1530
  785. package/dist/styles/base.js +1301 -0
  786. package/dist/styles/index.d.ts +2 -2
  787. package/dist/styles/index.js +28 -0
  788. package/dist/styles/media-breakpoints.d.ts +13 -13
  789. package/dist/styles/media-breakpoints.js +70 -0
  790. package/dist/tasks/tasks.d.ts +15 -15
  791. package/dist/tasks/tasks.js +94 -0
  792. package/dist/templates/export-map-html.d.ts +9 -9
  793. package/dist/templates/export-map-html.js +42 -0
  794. package/dist/utils/aggregate-utils.d.ts +3 -3
  795. package/dist/utils/aggregate-utils.js +71 -0
  796. package/dist/utils/color-utils.d.ts +44 -44
  797. package/dist/utils/color-utils.js +144 -0
  798. package/dist/utils/custom-scales.js +22 -0
  799. package/dist/utils/data-scale-utils.d.ts +23 -23
  800. package/dist/utils/data-scale-utils.js +70 -0
  801. package/dist/utils/data-utils.d.ts +115 -115
  802. package/dist/utils/data-utils.js +441 -0
  803. package/dist/utils/dataset-utils.d.ts +38 -38
  804. package/dist/utils/dataset-utils.js +236 -0
  805. package/dist/utils/dom-to-image.d.ts +73 -73
  806. package/dist/utils/dom-to-image.js +479 -0
  807. package/dist/utils/dom-utils.d.ts +20 -20
  808. package/dist/utils/dom-utils.js +343 -0
  809. package/dist/utils/export-utils.d.ts +56 -56
  810. package/dist/utils/export-utils.js +266 -0
  811. package/dist/utils/filter-utils.d.ts +267 -267
  812. package/dist/utils/filter-utils.js +1081 -0
  813. package/dist/utils/gl-utils.d.ts +1 -1
  814. package/dist/utils/gl-utils.js +43 -0
  815. package/dist/utils/gpu-filter-utils.d.ts +28 -28
  816. package/dist/utils/gpu-filter-utils.js +241 -0
  817. package/dist/utils/index.d.ts +22 -22
  818. package/dist/utils/index.js +361 -0
  819. package/dist/utils/interaction-utils.d.ts +36 -36
  820. package/dist/utils/interaction-utils.js +170 -0
  821. package/dist/utils/layer-utils.d.ts +54 -54
  822. package/dist/utils/layer-utils.js +200 -0
  823. package/dist/utils/locale-utils.d.ts +2 -2
  824. package/dist/utils/locale-utils.js +56 -0
  825. package/dist/utils/map-info-utils.d.ts +1 -1
  826. package/dist/utils/map-info-utils.js +31 -0
  827. package/dist/utils/map-style-utils/mapbox-gl-style-editor.d.ts +64 -64
  828. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +213 -0
  829. package/dist/utils/map-style-utils/mapbox-utils.d.ts +3 -3
  830. package/dist/utils/map-style-utils/mapbox-utils.js +33 -0
  831. package/dist/utils/mapbox-utils.d.ts +7 -7
  832. package/dist/utils/mapbox-utils.js +36 -0
  833. package/dist/utils/notifications-utils.d.ts +54 -54
  834. package/dist/utils/notifications-utils.js +90 -0
  835. package/dist/utils/observe-dimensions.d.ts +15 -15
  836. package/dist/utils/observe-dimensions.js +142 -0
  837. package/dist/utils/projection-utils.d.ts +12 -12
  838. package/dist/utils/projection-utils.js +72 -0
  839. package/dist/utils/searcher-utils.d.ts +1 -1
  840. package/dist/utils/searcher-utils.js +42 -0
  841. package/dist/utils/split-map-utils.d.ts +29 -29
  842. package/dist/utils/split-map-utils.js +112 -0
  843. package/dist/utils/table-utils/data-container-interface.d.ts +115 -115
  844. package/dist/utils/table-utils/data-container-interface.js +6 -0
  845. package/dist/utils/table-utils/data-container-utils.d.ts +29 -29
  846. package/dist/utils/table-utils/data-container-utils.js +84 -0
  847. package/dist/utils/table-utils/data-row.d.ts +59 -59
  848. package/dist/utils/table-utils/data-row.js +124 -0
  849. package/dist/utils/table-utils/index.d.ts +1 -1
  850. package/dist/utils/table-utils/index.js +19 -0
  851. package/dist/utils/table-utils/indexed-data-container.d.ts +34 -34
  852. package/dist/utils/table-utils/indexed-data-container.js +228 -0
  853. package/dist/utils/table-utils/kepler-table.d.ts +168 -168
  854. package/dist/utils/table-utils/kepler-table.js +554 -0
  855. package/dist/utils/table-utils/row-data-container.d.ts +31 -31
  856. package/dist/utils/table-utils/row-data-container.js +220 -0
  857. package/dist/utils/utils.d.ts +98 -98
  858. package/dist/utils/utils.js +240 -0
  859. package/package.json +51 -33
  860. package/src/components/common/portaled.tsx +5 -9
  861. package/src/constants/action-types.ts +1 -1
  862. package/src/index.ts +1 -1
  863. package/src/middleware/index.ts +1 -1
  864. package/src/reducers/map-style-updaters.ts +1 -1
  865. package/src/reducers/provider-state-updaters.ts +1 -1
  866. package/src/reducers/root.ts +1 -1
  867. package/src/reducers/vis-state-updaters.ts +1 -1
  868. package/src/schemas/schema.ts +1 -1
  869. package/src/tasks/tasks.ts +1 -1
  870. package/dist/bundle.js +0 -54227
  871. package/dist/bundle.js.map +0 -1
  872. package/dist/deckgl-layers/layer-utils/cluster-utils.d.ts +0 -12
@@ -0,0 +1,479 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
+ var _window = _interopRequireDefault(require("global/window"));
10
+ var _document = _interopRequireDefault(require("global/document"));
11
+ var _console = _interopRequireDefault(require("global/console"));
12
+ var _miniSvgDataUri = _interopRequireDefault(require("mini-svg-data-uri"));
13
+ var _userFeedbacks = require("../constants/user-feedbacks");
14
+ var _domUtils = require("./dom-utils");
15
+ // Copyright (c) 2022 Uber Technologies, Inc.
16
+ //
17
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
18
+ // of this software and associated documentation files (the "Software"), to deal
19
+ // in the Software without restriction, including without limitation the rights
20
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
21
+ // copies of the Software, and to permit persons to whom the Software is
22
+ // furnished to do so, subject to the following conditions:
23
+ //
24
+ // The above copyright notice and this permission notice shall be included in
25
+ // all copies or substantial portions of the Software.
26
+ //
27
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
28
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
29
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
30
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
31
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
32
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
33
+ // THE SOFTWARE.
34
+
35
+ /**
36
+ * This file is copied from https://github.com/tsayen/dom-to-image
37
+ * Modified by heshan0131 to allow loading external stylesheets and inline webfonts
38
+ */
39
+
40
+ var inliner = newInliner();
41
+ var fontFaces = newFontFaces();
42
+ var images = newImages();
43
+ // Default impl options
44
+ var defaultOptions = {
45
+ // Default is to fail on error, no placeholder
46
+ imagePlaceholder: undefined,
47
+ // Default cache bust is false, it will use the cache
48
+ cacheBust: false
49
+ };
50
+ var domtoimage = {
51
+ toSvg: toSvg,
52
+ toPng: toPng,
53
+ toJpeg: toJpeg,
54
+ toBlob: toBlob,
55
+ toPixelData: toPixelData,
56
+ impl: {
57
+ fontFaces: fontFaces,
58
+ images: images,
59
+ inliner: inliner,
60
+ options: {}
61
+ }
62
+ };
63
+
64
+ /**
65
+ * @param {Node} node - The DOM Node object to render
66
+ * @param {Object} options - Rendering options
67
+ * @param {Function} [options.filter] - Should return true if passed node should be included in the output
68
+ * (excluding node means excluding it's children as well). Not called on the root node.
69
+ * @param {String} [options.bgcolor] - color for the background, any valid CSS color value.
70
+ * @param {Number} [options.width] - width to be applied to node before rendering.
71
+ * @param {Number} [options.height] - height to be applied to node before rendering.
72
+ * @param {Object} [options.style] - an object whose properties to be copied to node's style before rendering.
73
+ * @param {Number} [options.quality] - a Number between 0 and 1 indicating image quality (applicable to JPEG only),
74
+ defaults to 1.0.
75
+ * @param {String} [options.imagePlaceholder] - dataURL to use as a placeholder for failed images, default behaviour is to fail fast on images we can't fetch
76
+ * @param {Boolean} [options.cacheBust] - set to true to cache bust by appending the time to the request url
77
+ * @return {Promise} - A promise that is fulfilled with a SVG image data URL
78
+ * */
79
+ function toSvg(node, options) {
80
+ options = options || {};
81
+ copyOptions(options);
82
+ return Promise.resolve(node).then(function (nd) {
83
+ return cloneNode(nd, options.filter, true);
84
+ }).then(embedFonts).then(inlineImages).then(applyOptions).then(function (clone) {
85
+ return makeSvgDataUri(clone, options.width || (0, _domUtils.getWidth)(node), options.height || (0, _domUtils.getHeight)(node));
86
+ });
87
+ function applyOptions(clone) {
88
+ if (options.bgcolor) clone.style.backgroundColor = options.bgcolor;
89
+ if (options.width) clone.style.width = "".concat(options.width, "px");
90
+ if (options.height) clone.style.height = "".concat(options.height, "px");
91
+ if (options.style) Object.keys(options.style).forEach(function (property) {
92
+ clone.style[property] = options.style[property];
93
+ });
94
+ return clone;
95
+ }
96
+ }
97
+
98
+ /**
99
+ * @param {Node} node - The DOM Node object to render
100
+ * @param {Object} options - Rendering options
101
+ * @return {Promise} - A promise that is fulfilled with a Uint8Array containing RGBA pixel data.
102
+ * */
103
+ function toPixelData(node, options) {
104
+ return draw(node, options || {}).then(function (canvas) {
105
+ return canvas.getContext('2d').getImageData(0, 0, (0, _domUtils.getWidth)(node), (0, _domUtils.getHeight)(node)).data;
106
+ });
107
+ }
108
+
109
+ /**
110
+ * @param {Node} node - The DOM Node object to render
111
+ * @param {Object} options - Rendering options
112
+ * @return {Promise} - A promise that is fulfilled with a PNG image data URL
113
+ * */
114
+ function toPng(node, options) {
115
+ return draw(node, options || {}).then(function (canvas) {
116
+ return canvas.toDataURL();
117
+ });
118
+ }
119
+
120
+ /**
121
+ * @param {Node} node - The DOM Node object to render
122
+ * @param {Object} options - Rendering options
123
+ * @return {Promise} - A promise that is fulfilled with a JPEG image data URL
124
+ * */
125
+ function toJpeg(node, options) {
126
+ options = options || {};
127
+ return draw(node, options).then(function (canvas) {
128
+ return canvas.toDataURL('image/jpeg', options.quality || 1.0);
129
+ });
130
+ }
131
+
132
+ /**
133
+ * @param {Node} node - The DOM Node object to render
134
+ * @param {Object} options - Rendering options
135
+ * @return {Promise} - A promise that is fulfilled with a PNG image blob
136
+ * */
137
+ function toBlob(node, options) {
138
+ return draw(node, options || {}).then(_domUtils.canvasToBlob);
139
+ }
140
+ function copyOptions(options) {
141
+ // Copy options to impl options for use in impl
142
+ if (typeof options.imagePlaceholder === 'undefined') {
143
+ domtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder;
144
+ } else {
145
+ domtoimage.impl.options.imagePlaceholder = options.imagePlaceholder;
146
+ }
147
+ if (typeof options.cacheBust === 'undefined') {
148
+ domtoimage.impl.options.cacheBust = defaultOptions.cacheBust;
149
+ } else {
150
+ domtoimage.impl.options.cacheBust = options.cacheBust;
151
+ }
152
+ }
153
+ function draw(domNode, options) {
154
+ return toSvg(domNode, options).then(_domUtils.makeImage).then((0, _domUtils.delay)(100)).then(function (image) {
155
+ var canvas = newCanvas(domNode);
156
+ canvas.getContext('2d').drawImage(image, 0, 0);
157
+ return canvas;
158
+ });
159
+ function newCanvas(dNode) {
160
+ var canvas = _document["default"].createElement('canvas');
161
+ canvas.width = options.width || (0, _domUtils.getWidth)(dNode);
162
+ canvas.height = options.height || (0, _domUtils.getHeight)(dNode);
163
+ if (options.bgcolor) {
164
+ var ctx = canvas.getContext('2d');
165
+ ctx.fillStyle = options.bgcolor;
166
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
167
+ }
168
+ return canvas;
169
+ }
170
+ }
171
+ function cloneNode(node, filter, root) {
172
+ if (!root && filter && !filter(node)) {
173
+ return Promise.resolve();
174
+ }
175
+ return Promise.resolve(node).then(makeNodeCopy).then(function (clone) {
176
+ return cloneChildren(node, clone, filter);
177
+ }).then(function (clone) {
178
+ return (0, _domUtils.processClone)(node, clone);
179
+ });
180
+ function makeNodeCopy(nd) {
181
+ if (nd instanceof _window["default"].HTMLCanvasElement) {
182
+ return (0, _domUtils.makeImage)(nd.toDataURL());
183
+ }
184
+ return nd.cloneNode(false);
185
+ }
186
+ function cloneChildrenInOrder(parent, arrChildren, flt) {
187
+ var done = Promise.resolve();
188
+ arrChildren.forEach(function (child) {
189
+ done = done.then(function () {
190
+ return cloneNode(child, flt, null);
191
+ }).then(function (childClone) {
192
+ if (childClone) {
193
+ parent.appendChild(childClone);
194
+ }
195
+ });
196
+ });
197
+ return done;
198
+ }
199
+ function cloneChildren(original, clone, flt) {
200
+ var children = original.childNodes;
201
+ if (children.length === 0) {
202
+ return Promise.resolve(clone);
203
+ }
204
+ return cloneChildrenInOrder(clone, (0, _domUtils.asArray)(children), flt).then(function () {
205
+ return clone;
206
+ });
207
+ }
208
+ }
209
+ function embedFonts(node) {
210
+ return fontFaces.resolveAll().then(function (cssText) {
211
+ var styleNode = _document["default"].createElement('style');
212
+ node.appendChild(styleNode);
213
+ styleNode.appendChild(_document["default"].createTextNode(cssText));
214
+ return node;
215
+ });
216
+ }
217
+ function inlineImages(node) {
218
+ return images.inlineAll(node).then(function () {
219
+ return node;
220
+ });
221
+ }
222
+ function makeSvgDataUri(node, width, height) {
223
+ return Promise.resolve(node).then(function (nd) {
224
+ nd.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');
225
+ var serializedString = new _window["default"].XMLSerializer().serializeToString(nd);
226
+ var xhtml = (0, _domUtils.escapeXhtml)(serializedString);
227
+ var foreignObject = "<foreignObject x=\"0\" y=\"0\" width=\"100%\" height=\"100%\">".concat(xhtml, "</foreignObject>");
228
+ var svgStr = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"".concat(width, "\" height=\"").concat(height, "\">").concat(foreignObject, "</svg>");
229
+
230
+ // Optimizing SVGs in data URIs
231
+ // see https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
232
+ // the best way of encoding SVG in a data: URI is data:image/svg+xml,[actual data].
233
+ // We don’t need the ;charset=utf-8 parameter because the given SVG is ASCII.
234
+ return (0, _miniSvgDataUri["default"])(svgStr);
235
+ });
236
+ }
237
+ function newInliner() {
238
+ var URL_REGEX = /url\(['"]?([^'"]+?)['"]?\)/g;
239
+ return {
240
+ inlineAll: inlineAll,
241
+ shouldProcess: shouldProcess,
242
+ impl: {
243
+ readUrls: readUrls,
244
+ inline: inline
245
+ }
246
+ };
247
+ function shouldProcess(string) {
248
+ return string.search(URL_REGEX) !== -1;
249
+ }
250
+ function readUrls(string) {
251
+ var result = [];
252
+ var match;
253
+ while ((match = URL_REGEX.exec(string)) !== null) {
254
+ result.push(match[1]);
255
+ }
256
+ return result.filter(function (url) {
257
+ return !(0, _domUtils.isDataUrl)(url);
258
+ });
259
+ }
260
+ function urlAsRegex(url0) {
261
+ return new RegExp("(url\\(['\"]?)(".concat((0, _domUtils.escape)(url0), ")(['\"]?\\))"), 'g');
262
+ }
263
+ function inline(string, url, baseUrl, get) {
264
+ return Promise.resolve(url).then(function (ul) {
265
+ return baseUrl ? (0, _domUtils.resolveUrl)(ul, baseUrl) : ul;
266
+ }).then(function (ul) {
267
+ return typeof get === 'function' ? get(ul) : (0, _domUtils.getAndEncode)(ul, domtoimage.impl.options);
268
+ }).then(function (data) {
269
+ return (0, _domUtils.dataAsUrl)(data, (0, _domUtils.mimeType)(url));
270
+ }).then(function (dataUrl) {
271
+ return string.replace(urlAsRegex(url), "$1".concat(dataUrl, "$3"));
272
+ });
273
+ }
274
+ function inlineAll(string, baseUrl, get) {
275
+ if (!shouldProcess(string) || (0, _domUtils.isSrcAsDataUrl)(string)) {
276
+ return Promise.resolve(string);
277
+ }
278
+ return Promise.resolve(string).then(readUrls).then(function (urls) {
279
+ var done = Promise.resolve(string);
280
+ urls.forEach(function (url) {
281
+ done = done.then(function (str) {
282
+ return inline(str, url, baseUrl, get);
283
+ });
284
+ });
285
+ return done;
286
+ });
287
+ }
288
+ }
289
+ function newFontFaces() {
290
+ return {
291
+ resolveAll: resolveAll,
292
+ impl: {
293
+ readAll: readAll
294
+ }
295
+ };
296
+ function resolveAll() {
297
+ return readAll().then(function (webFonts) {
298
+ return Promise.all(webFonts.map(function (webFont) {
299
+ return webFont.resolve();
300
+ }));
301
+ }).then(function (cssStrings) {
302
+ return cssStrings.join('\n');
303
+ });
304
+ }
305
+ function readAll() {
306
+ return Promise.resolve((0, _domUtils.asArray)(_document["default"].styleSheets)).then(loadExternalStyleSheets).then(getCssRules).then(selectWebFontRules).then(function (rules) {
307
+ return rules.map(newWebFont);
308
+ });
309
+ function selectWebFontRules(cssRules) {
310
+ return cssRules.filter(function (rule) {
311
+ return rule.type === _window["default"].CSSRule.FONT_FACE_RULE;
312
+ }).filter(function (rule) {
313
+ return inliner.shouldProcess(rule.style.getPropertyValue('src'));
314
+ });
315
+ }
316
+ function loadExternalStyleSheets(styleSheets) {
317
+ return Promise.all(styleSheets.map(function (sheet) {
318
+ if (sheet.href) {
319
+ // cloudfont doesn't have allow origin header properly set
320
+ // error response will remain in cache
321
+ var cache = sheet.href.includes('uber-fonts') ? 'no-cache' : 'default';
322
+ return _window["default"].fetch(sheet.href, {
323
+ credentials: 'omit',
324
+ cache: cache
325
+ }).then(function (response) {
326
+ return response.text();
327
+ }).then(setBaseHref(sheet.href)).then(toStyleSheet)["catch"](function (err) {
328
+ // Handle any error that occurred in any of the previous
329
+ // promises in the chain. stylesheet failed to load should not stop
330
+ // the process, hence result in only a warning, instead of reject
331
+ _console["default"].warn(_userFeedbacks.IMAGE_EXPORT_ERRORS.styleSheet, sheet.href);
332
+ _console["default"].log(err);
333
+ return;
334
+ });
335
+ }
336
+ return Promise.resolve(sheet);
337
+ }));
338
+ function setBaseHref(base) {
339
+ base = base.split('/');
340
+ base.pop();
341
+ base = base.join('/');
342
+ function addBaseHrefToUrl(match, p1) {
343
+ var url = /^http/i.test(p1) ? p1 : concatAndResolveUrl(base, p1);
344
+ return "url('".concat(url, "')");
345
+ }
346
+
347
+ // Source: http://stackoverflow.com/a/2676231/3786856
348
+ function concatAndResolveUrl(url, concat) {
349
+ var url1 = url.split('/');
350
+ var url2 = concat.split('/');
351
+ var url3 = [];
352
+ for (var i = 0, l = url1.length; i < l; i++) {
353
+ if (url1[i] === '..') {
354
+ url3.pop();
355
+ } else if (url1[i] !== '.') {
356
+ url3.push(url1[i]);
357
+ }
358
+ }
359
+ for (var _i = 0, _l = url2.length; _i < _l; _i++) {
360
+ if (url2[_i] === '..') {
361
+ url3.pop();
362
+ } else if (url2[_i] !== '.') {
363
+ url3.push(url2[_i]);
364
+ }
365
+ }
366
+ return url3.join('/');
367
+ }
368
+ return function (text) {
369
+ return (0, _domUtils.isSrcAsDataUrl)(text) ? text : text.replace(/url\(['"]?([^'"]+?)['"]?\)/g, addBaseHrefToUrl);
370
+ };
371
+ }
372
+ function toStyleSheet(text) {
373
+ var doc = _document["default"].implementation.createHTMLDocument('');
374
+ var styleElement = _document["default"].createElement('style');
375
+ styleElement.textContent = text;
376
+ doc.body.appendChild(styleElement);
377
+ return styleElement.sheet;
378
+ }
379
+ }
380
+ function getCssRules(styleSheets) {
381
+ var cssRules = [];
382
+ styleSheets.forEach(function (sheet) {
383
+ // try...catch because browser may not able to enumerate rules for cross-domain sheets
384
+ if (!sheet) {
385
+ return;
386
+ }
387
+ var rules;
388
+ try {
389
+ rules = sheet.rules || sheet.cssRules;
390
+ } catch (e) {
391
+ _console["default"].log("'Can't read the css rules of: ".concat(sheet.href), e);
392
+ return;
393
+ }
394
+ if (rules && (0, _typeof2["default"])(rules) === 'object') {
395
+ try {
396
+ (0, _domUtils.asArray)(rules || []).forEach(cssRules.push.bind(cssRules));
397
+ } catch (e) {
398
+ _console["default"].log("Error while reading CSS rules from ".concat(sheet.href), e);
399
+ return;
400
+ }
401
+ } else {
402
+ _console["default"].log('getCssRules can not find cssRules');
403
+ return;
404
+ }
405
+ });
406
+ return cssRules;
407
+ }
408
+ function newWebFont(webFontRule) {
409
+ return {
410
+ resolve: function resolve() {
411
+ var baseUrl = (webFontRule.parentStyleSheet || {}).href;
412
+ return inliner.inlineAll(webFontRule.cssText, baseUrl, null);
413
+ },
414
+ src: function src() {
415
+ return webFontRule.style.getPropertyValue('src');
416
+ }
417
+ };
418
+ }
419
+ }
420
+ }
421
+ function newImages() {
422
+ return {
423
+ inlineAll: inlineAll,
424
+ impl: {
425
+ newImage: newImage
426
+ }
427
+ };
428
+ function newImage(element) {
429
+ function inline(get) {
430
+ if ((0, _domUtils.isDataUrl)(element.src)) {
431
+ return Promise.resolve();
432
+ }
433
+ return Promise.resolve(element.src).then(function (ul) {
434
+ return typeof get === 'function' ? get(ul) : (0, _domUtils.getAndEncode)(ul, domtoimage.impl.options);
435
+ }).then(function (data) {
436
+ return (0, _domUtils.dataAsUrl)(data, (0, _domUtils.mimeType)(element.src));
437
+ }).then(function (dataUrl) {
438
+ return new Promise(function (resolve, reject) {
439
+ element.onload = resolve;
440
+ element.onerror = reject;
441
+ element.src = dataUrl;
442
+ });
443
+ });
444
+ }
445
+ return {
446
+ inline: inline
447
+ };
448
+ }
449
+ function inlineAll(node) {
450
+ if (!(node instanceof Element)) {
451
+ return Promise.resolve(node);
452
+ }
453
+ return inlineBackground(node).then(function () {
454
+ if (node instanceof HTMLImageElement) {
455
+ return newImage(node).inline(null);
456
+ }
457
+ return Promise.all((0, _domUtils.asArray)(node.childNodes).map(function (child) {
458
+ return inlineAll(child);
459
+ }));
460
+ });
461
+ function inlineBackground(nd) {
462
+ var background = nd.style.getPropertyValue('background');
463
+ if (!background) {
464
+ return Promise.resolve(nd);
465
+ }
466
+ if (background.search(/url\("data:image\/svg\+xml[^"]*"\)/) !== -1) {
467
+ nd.style.removeProperty('background');
468
+ return Promise.resolve(nd);
469
+ }
470
+ return inliner.inlineAll(background, null, null).then(function (inlined) {
471
+ nd.style.setProperty('background', inlined, nd.style.getPropertyPriority('background'));
472
+ }).then(function () {
473
+ return nd;
474
+ });
475
+ }
476
+ }
477
+ }
478
+ var _default = exports["default"] = domtoimage;
479
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luZG93IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZG9jdW1lbnQiLCJfY29uc29sZSIsIl9taW5pU3ZnRGF0YVVyaSIsIl91c2VyRmVlZGJhY2tzIiwiX2RvbVV0aWxzIiwiaW5saW5lciIsIm5ld0lubGluZXIiLCJmb250RmFjZXMiLCJuZXdGb250RmFjZXMiLCJpbWFnZXMiLCJuZXdJbWFnZXMiLCJkZWZhdWx0T3B0aW9ucyIsImltYWdlUGxhY2Vob2xkZXIiLCJ1bmRlZmluZWQiLCJjYWNoZUJ1c3QiLCJkb210b2ltYWdlIiwidG9TdmciLCJ0b1BuZyIsInRvSnBlZyIsInRvQmxvYiIsInRvUGl4ZWxEYXRhIiwiaW1wbCIsIm9wdGlvbnMiLCJub2RlIiwiY29weU9wdGlvbnMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJuZCIsImNsb25lTm9kZSIsImZpbHRlciIsImVtYmVkRm9udHMiLCJpbmxpbmVJbWFnZXMiLCJhcHBseU9wdGlvbnMiLCJjbG9uZSIsIm1ha2VTdmdEYXRhVXJpIiwid2lkdGgiLCJnZXRXaWR0aCIsImhlaWdodCIsImdldEhlaWdodCIsImJnY29sb3IiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsImNvbmNhdCIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwicHJvcGVydHkiLCJkcmF3IiwiY2FudmFzIiwiZ2V0Q29udGV4dCIsImdldEltYWdlRGF0YSIsImRhdGEiLCJ0b0RhdGFVUkwiLCJxdWFsaXR5IiwiY2FudmFzVG9CbG9iIiwiZG9tTm9kZSIsIm1ha2VJbWFnZSIsImRlbGF5IiwiaW1hZ2UiLCJuZXdDYW52YXMiLCJkcmF3SW1hZ2UiLCJkTm9kZSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImN0eCIsImZpbGxTdHlsZSIsImZpbGxSZWN0Iiwicm9vdCIsIm1ha2VOb2RlQ29weSIsImNsb25lQ2hpbGRyZW4iLCJwcm9jZXNzQ2xvbmUiLCJ3aW5kb3ciLCJIVE1MQ2FudmFzRWxlbWVudCIsImNsb25lQ2hpbGRyZW5Jbk9yZGVyIiwicGFyZW50IiwiYXJyQ2hpbGRyZW4iLCJmbHQiLCJkb25lIiwiY2hpbGQiLCJjaGlsZENsb25lIiwiYXBwZW5kQ2hpbGQiLCJvcmlnaW5hbCIsImNoaWxkcmVuIiwiY2hpbGROb2RlcyIsImxlbmd0aCIsImFzQXJyYXkiLCJyZXNvbHZlQWxsIiwiY3NzVGV4dCIsInN0eWxlTm9kZSIsImNyZWF0ZVRleHROb2RlIiwiaW5saW5lQWxsIiwic2V0QXR0cmlidXRlIiwic2VyaWFsaXplZFN0cmluZyIsIlhNTFNlcmlhbGl6ZXIiLCJzZXJpYWxpemVUb1N0cmluZyIsInhodG1sIiwiZXNjYXBlWGh0bWwiLCJmb3JlaWduT2JqZWN0Iiwic3ZnU3RyIiwic3ZnVG9NaW5pRGF0YVVSSSIsIlVSTF9SRUdFWCIsInNob3VsZFByb2Nlc3MiLCJyZWFkVXJscyIsImlubGluZSIsInN0cmluZyIsInNlYXJjaCIsInJlc3VsdCIsIm1hdGNoIiwiZXhlYyIsInB1c2giLCJ1cmwiLCJpc0RhdGFVcmwiLCJ1cmxBc1JlZ2V4IiwidXJsMCIsIlJlZ0V4cCIsImVzY2FwZSIsImJhc2VVcmwiLCJnZXQiLCJ1bCIsInJlc29sdmVVcmwiLCJnZXRBbmRFbmNvZGUiLCJkYXRhQXNVcmwiLCJtaW1lVHlwZSIsImRhdGFVcmwiLCJyZXBsYWNlIiwiaXNTcmNBc0RhdGFVcmwiLCJ1cmxzIiwic3RyIiwicmVhZEFsbCIsIndlYkZvbnRzIiwiYWxsIiwibWFwIiwid2ViRm9udCIsImNzc1N0cmluZ3MiLCJqb2luIiwic3R5bGVTaGVldHMiLCJsb2FkRXh0ZXJuYWxTdHlsZVNoZWV0cyIsImdldENzc1J1bGVzIiwic2VsZWN0V2ViRm9udFJ1bGVzIiwicnVsZXMiLCJuZXdXZWJGb250IiwiY3NzUnVsZXMiLCJydWxlIiwidHlwZSIsIkNTU1J1bGUiLCJGT05UX0ZBQ0VfUlVMRSIsImdldFByb3BlcnR5VmFsdWUiLCJzaGVldCIsImhyZWYiLCJjYWNoZSIsImluY2x1ZGVzIiwiZmV0Y2giLCJjcmVkZW50aWFscyIsInJlc3BvbnNlIiwidGV4dCIsInNldEJhc2VIcmVmIiwidG9TdHlsZVNoZWV0IiwiZXJyIiwiY29uc29sZSIsIndhcm4iLCJJTUFHRV9FWFBPUlRfRVJST1JTIiwic3R5bGVTaGVldCIsImxvZyIsImJhc2UiLCJzcGxpdCIsInBvcCIsImFkZEJhc2VIcmVmVG9VcmwiLCJwMSIsInRlc3QiLCJjb25jYXRBbmRSZXNvbHZlVXJsIiwidXJsMSIsInVybDIiLCJ1cmwzIiwiaSIsImwiLCJkb2MiLCJpbXBsZW1lbnRhdGlvbiIsImNyZWF0ZUhUTUxEb2N1bWVudCIsInN0eWxlRWxlbWVudCIsInRleHRDb250ZW50IiwiYm9keSIsImUiLCJfdHlwZW9mMiIsImJpbmQiLCJ3ZWJGb250UnVsZSIsInBhcmVudFN0eWxlU2hlZXQiLCJzcmMiLCJuZXdJbWFnZSIsImVsZW1lbnQiLCJyZWplY3QiLCJvbmxvYWQiLCJvbmVycm9yIiwiRWxlbWVudCIsImlubGluZUJhY2tncm91bmQiLCJIVE1MSW1hZ2VFbGVtZW50IiwiYmFja2dyb3VuZCIsInJlbW92ZVByb3BlcnR5IiwiaW5saW5lZCIsInNldFByb3BlcnR5IiwiZ2V0UHJvcGVydHlQcmlvcml0eSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kb20tdG8taW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuLyoqXG4gKiBUaGlzIGZpbGUgaXMgY29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3RzYXllbi9kb20tdG8taW1hZ2VcbiAqIE1vZGlmaWVkIGJ5IGhlc2hhbjAxMzEgdG8gYWxsb3cgbG9hZGluZyBleHRlcm5hbCBzdHlsZXNoZWV0cyBhbmQgaW5saW5lIHdlYmZvbnRzXG4gKi9cblxuaW1wb3J0IHdpbmRvdyBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCBkb2N1bWVudCBmcm9tICdnbG9iYWwvZG9jdW1lbnQnO1xuaW1wb3J0IGNvbnNvbGUgZnJvbSAnZ2xvYmFsL2NvbnNvbGUnO1xuaW1wb3J0IHN2Z1RvTWluaURhdGFVUkkgZnJvbSAnbWluaS1zdmctZGF0YS11cmknO1xuaW1wb3J0IHtJTUFHRV9FWFBPUlRfRVJST1JTfSBmcm9tICdjb25zdGFudHMvdXNlci1mZWVkYmFja3MnO1xuaW1wb3J0IHtcbiAgY2FudmFzVG9CbG9iLFxuICBlc2NhcGUsXG4gIGVzY2FwZVhodG1sLFxuICBkZWxheSxcbiAgcHJvY2Vzc0Nsb25lLFxuICBhc0FycmF5LFxuICBtYWtlSW1hZ2UsXG4gIG1pbWVUeXBlLFxuICBkYXRhQXNVcmwsXG4gIGlzRGF0YVVybCxcbiAgaXNTcmNBc0RhdGFVcmwsXG4gIHJlc29sdmVVcmwsXG4gIGdldFdpZHRoLFxuICBnZXRIZWlnaHQsXG4gIGdldEFuZEVuY29kZVxufSBmcm9tICcuL2RvbS11dGlscyc7XG5cbmNvbnN0IGlubGluZXIgPSBuZXdJbmxpbmVyKCk7XG5jb25zdCBmb250RmFjZXMgPSBuZXdGb250RmFjZXMoKTtcbmNvbnN0IGltYWdlcyA9IG5ld0ltYWdlcygpO1xuLy8gRGVmYXVsdCBpbXBsIG9wdGlvbnNcbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICAvLyBEZWZhdWx0IGlzIHRvIGZhaWwgb24gZXJyb3IsIG5vIHBsYWNlaG9sZGVyXG4gIGltYWdlUGxhY2Vob2xkZXI6IHVuZGVmaW5lZCxcbiAgLy8gRGVmYXVsdCBjYWNoZSBidXN0IGlzIGZhbHNlLCBpdCB3aWxsIHVzZSB0aGUgY2FjaGVcbiAgY2FjaGVCdXN0OiBmYWxzZVxufTtcblxuY29uc3QgZG9tdG9pbWFnZSA9IHtcbiAgdG9TdmcsXG4gIHRvUG5nLFxuICB0b0pwZWcsXG4gIHRvQmxvYixcbiAgdG9QaXhlbERhdGEsXG4gIGltcGw6IHtcbiAgICBmb250RmFjZXMsXG4gICAgaW1hZ2VzLFxuICAgIGlubGluZXIsXG4gICAgb3B0aW9uczoge30gYXMgYW55XG4gIH1cbn07XG5cbi8qKlxuICAgKiBAcGFyYW0ge05vZGV9IG5vZGUgLSBUaGUgRE9NIE5vZGUgb2JqZWN0IHRvIHJlbmRlclxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFJlbmRlcmluZyBvcHRpb25zXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtvcHRpb25zLmZpbHRlcl0gLSBTaG91bGQgcmV0dXJuIHRydWUgaWYgcGFzc2VkIG5vZGUgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBvdXRwdXRcbiAgICogICAgICAgICAgKGV4Y2x1ZGluZyBub2RlIG1lYW5zIGV4Y2x1ZGluZyBpdCdzIGNoaWxkcmVuIGFzIHdlbGwpLiBOb3QgY2FsbGVkIG9uIHRoZSByb290IG5vZGUuXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBbb3B0aW9ucy5iZ2NvbG9yXSAtIGNvbG9yIGZvciB0aGUgYmFja2dyb3VuZCwgYW55IHZhbGlkIENTUyBjb2xvciB2YWx1ZS5cbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRpb25zLndpZHRoXSAtIHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gbm9kZSBiZWZvcmUgcmVuZGVyaW5nLlxuICAgKiBAcGFyYW0ge051bWJlcn0gW29wdGlvbnMuaGVpZ2h0XSAtIGhlaWdodCB0byBiZSBhcHBsaWVkIHRvIG5vZGUgYmVmb3JlIHJlbmRlcmluZy5cbiAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zLnN0eWxlXSAtIGFuIG9iamVjdCB3aG9zZSBwcm9wZXJ0aWVzIHRvIGJlIGNvcGllZCB0byBub2RlJ3Mgc3R5bGUgYmVmb3JlIHJlbmRlcmluZy5cbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRpb25zLnF1YWxpdHldIC0gYSBOdW1iZXIgYmV0d2VlbiAwIGFuZCAxIGluZGljYXRpbmcgaW1hZ2UgcXVhbGl0eSAoYXBwbGljYWJsZSB0byBKUEVHIG9ubHkpLFxuICAgICAgICAgICAgICBkZWZhdWx0cyB0byAxLjAuXG4gICAgKiBAcGFyYW0ge1N0cmluZ30gW29wdGlvbnMuaW1hZ2VQbGFjZWhvbGRlcl0gLSBkYXRhVVJMIHRvIHVzZSBhcyBhIHBsYWNlaG9sZGVyIGZvciBmYWlsZWQgaW1hZ2VzLCBkZWZhdWx0IGJlaGF2aW91ciBpcyB0byBmYWlsIGZhc3Qgb24gaW1hZ2VzIHdlIGNhbid0IGZldGNoXG4gICAgKiBAcGFyYW0ge0Jvb2xlYW59IFtvcHRpb25zLmNhY2hlQnVzdF0gLSBzZXQgdG8gdHJ1ZSB0byBjYWNoZSBidXN0IGJ5IGFwcGVuZGluZyB0aGUgdGltZSB0byB0aGUgcmVxdWVzdCB1cmxcbiAgICAqIEByZXR1cm4ge1Byb21pc2V9IC0gQSBwcm9taXNlIHRoYXQgaXMgZnVsZmlsbGVkIHdpdGggYSBTVkcgaW1hZ2UgZGF0YSBVUkxcbiAgICAqICovXG5mdW5jdGlvbiB0b1N2Zyhub2RlLCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBjb3B5T3B0aW9ucyhvcHRpb25zKTtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShub2RlKVxuICAgIC50aGVuKG5kID0+IGNsb25lTm9kZShuZCwgb3B0aW9ucy5maWx0ZXIsIHRydWUpKVxuICAgIC50aGVuKGVtYmVkRm9udHMpXG4gICAgLnRoZW4oaW5saW5lSW1hZ2VzKVxuICAgIC50aGVuKGFwcGx5T3B0aW9ucylcbiAgICAudGhlbihjbG9uZSA9PlxuICAgICAgbWFrZVN2Z0RhdGFVcmkoY2xvbmUsIG9wdGlvbnMud2lkdGggfHwgZ2V0V2lkdGgobm9kZSksIG9wdGlvbnMuaGVpZ2h0IHx8IGdldEhlaWdodChub2RlKSlcbiAgICApO1xuXG4gIGZ1bmN0aW9uIGFwcGx5T3B0aW9ucyhjbG9uZSkge1xuICAgIGlmIChvcHRpb25zLmJnY29sb3IpIGNsb25lLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IG9wdGlvbnMuYmdjb2xvcjtcblxuICAgIGlmIChvcHRpb25zLndpZHRoKSBjbG9uZS5zdHlsZS53aWR0aCA9IGAke29wdGlvbnMud2lkdGh9cHhgO1xuICAgIGlmIChvcHRpb25zLmhlaWdodCkgY2xvbmUuc3R5bGUuaGVpZ2h0ID0gYCR7b3B0aW9ucy5oZWlnaHR9cHhgO1xuXG4gICAgaWYgKG9wdGlvbnMuc3R5bGUpXG4gICAgICBPYmplY3Qua2V5cyhvcHRpb25zLnN0eWxlKS5mb3JFYWNoKHByb3BlcnR5ID0+IHtcbiAgICAgICAgY2xvbmUuc3R5bGVbcHJvcGVydHldID0gb3B0aW9ucy5zdHlsZVtwcm9wZXJ0eV07XG4gICAgICB9KTtcblxuICAgIHJldHVybiBjbG9uZTtcbiAgfVxufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZX0gbm9kZSAtIFRoZSBET00gTm9kZSBvYmplY3QgdG8gcmVuZGVyXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFJlbmRlcmluZyBvcHRpb25zXG4gKiBAcmV0dXJuIHtQcm9taXNlfSAtIEEgcHJvbWlzZSB0aGF0IGlzIGZ1bGZpbGxlZCB3aXRoIGEgVWludDhBcnJheSBjb250YWluaW5nIFJHQkEgcGl4ZWwgZGF0YS5cbiAqICovXG5mdW5jdGlvbiB0b1BpeGVsRGF0YShub2RlLCBvcHRpb25zKSB7XG4gIHJldHVybiBkcmF3KG5vZGUsIG9wdGlvbnMgfHwge30pLnRoZW4oXG4gICAgY2FudmFzID0+IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLmdldEltYWdlRGF0YSgwLCAwLCBnZXRXaWR0aChub2RlKSwgZ2V0SGVpZ2h0KG5vZGUpKS5kYXRhXG4gICk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSBub2RlIC0gVGhlIERPTSBOb2RlIG9iamVjdCB0byByZW5kZXJcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gUmVuZGVyaW5nIG9wdGlvbnNcbiAqIEByZXR1cm4ge1Byb21pc2V9IC0gQSBwcm9taXNlIHRoYXQgaXMgZnVsZmlsbGVkIHdpdGggYSBQTkcgaW1hZ2UgZGF0YSBVUkxcbiAqICovXG5mdW5jdGlvbiB0b1BuZyhub2RlLCBvcHRpb25zKSB7XG4gIHJldHVybiBkcmF3KG5vZGUsIG9wdGlvbnMgfHwge30pLnRoZW4oY2FudmFzID0+IGNhbnZhcy50b0RhdGFVUkwoKSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSBub2RlIC0gVGhlIERPTSBOb2RlIG9iamVjdCB0byByZW5kZXJcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gUmVuZGVyaW5nIG9wdGlvbnNcbiAqIEByZXR1cm4ge1Byb21pc2V9IC0gQSBwcm9taXNlIHRoYXQgaXMgZnVsZmlsbGVkIHdpdGggYSBKUEVHIGltYWdlIGRhdGEgVVJMXG4gKiAqL1xuZnVuY3Rpb24gdG9KcGVnKG5vZGUsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIHJldHVybiBkcmF3KG5vZGUsIG9wdGlvbnMpLnRoZW4oY2FudmFzID0+IGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL2pwZWcnLCBvcHRpb25zLnF1YWxpdHkgfHwgMS4wKSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSBub2RlIC0gVGhlIERPTSBOb2RlIG9iamVjdCB0byByZW5kZXJcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gUmVuZGVyaW5nIG9wdGlvbnNcbiAqIEByZXR1cm4ge1Byb21pc2V9IC0gQSBwcm9taXNlIHRoYXQgaXMgZnVsZmlsbGVkIHdpdGggYSBQTkcgaW1hZ2UgYmxvYlxuICogKi9cbmZ1bmN0aW9uIHRvQmxvYihub2RlLCBvcHRpb25zKSB7XG4gIHJldHVybiBkcmF3KG5vZGUsIG9wdGlvbnMgfHwge30pLnRoZW4oY2FudmFzVG9CbG9iKTtcbn1cblxuZnVuY3Rpb24gY29weU9wdGlvbnMob3B0aW9ucykge1xuICAvLyBDb3B5IG9wdGlvbnMgdG8gaW1wbCBvcHRpb25zIGZvciB1c2UgaW4gaW1wbFxuICBpZiAodHlwZW9mIG9wdGlvbnMuaW1hZ2VQbGFjZWhvbGRlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBkb210b2ltYWdlLmltcGwub3B0aW9ucy5pbWFnZVBsYWNlaG9sZGVyID0gZGVmYXVsdE9wdGlvbnMuaW1hZ2VQbGFjZWhvbGRlcjtcbiAgfSBlbHNlIHtcbiAgICBkb210b2ltYWdlLmltcGwub3B0aW9ucy5pbWFnZVBsYWNlaG9sZGVyID0gb3B0aW9ucy5pbWFnZVBsYWNlaG9sZGVyO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLmNhY2hlQnVzdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBkb210b2ltYWdlLmltcGwub3B0aW9ucy5jYWNoZUJ1c3QgPSBkZWZhdWx0T3B0aW9ucy5jYWNoZUJ1c3Q7XG4gIH0gZWxzZSB7XG4gICAgZG9tdG9pbWFnZS5pbXBsLm9wdGlvbnMuY2FjaGVCdXN0ID0gb3B0aW9ucy5jYWNoZUJ1c3Q7XG4gIH1cbn1cblxuZnVuY3Rpb24gZHJhdyhkb21Ob2RlLCBvcHRpb25zKSB7XG4gIHJldHVybiB0b1N2Zyhkb21Ob2RlLCBvcHRpb25zKVxuICAgIC50aGVuKG1ha2VJbWFnZSlcbiAgICAudGhlbihkZWxheSgxMDApKVxuICAgIC50aGVuKGltYWdlID0+IHtcbiAgICAgIGNvbnN0IGNhbnZhcyA9IG5ld0NhbnZhcyhkb21Ob2RlKTtcbiAgICAgIGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLmRyYXdJbWFnZShpbWFnZSwgMCwgMCk7XG4gICAgICByZXR1cm4gY2FudmFzO1xuICAgIH0pO1xuXG4gIGZ1bmN0aW9uIG5ld0NhbnZhcyhkTm9kZSkge1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNhbnZhcy53aWR0aCA9IG9wdGlvbnMud2lkdGggfHwgZ2V0V2lkdGgoZE5vZGUpO1xuICAgIGNhbnZhcy5oZWlnaHQgPSBvcHRpb25zLmhlaWdodCB8fCBnZXRIZWlnaHQoZE5vZGUpO1xuXG4gICAgaWYgKG9wdGlvbnMuYmdjb2xvcikge1xuICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICBjdHguZmlsbFN0eWxlID0gb3B0aW9ucy5iZ2NvbG9yO1xuICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhbnZhcztcbiAgfVxufVxuXG5mdW5jdGlvbiBjbG9uZU5vZGUobm9kZSwgZmlsdGVyLCByb290KSB7XG4gIGlmICghcm9vdCAmJiBmaWx0ZXIgJiYgIWZpbHRlcihub2RlKSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUobm9kZSlcbiAgICAudGhlbihtYWtlTm9kZUNvcHkpXG4gICAgLnRoZW4oY2xvbmUgPT4gY2xvbmVDaGlsZHJlbihub2RlLCBjbG9uZSwgZmlsdGVyKSlcbiAgICAudGhlbihjbG9uZSA9PiBwcm9jZXNzQ2xvbmUobm9kZSwgY2xvbmUpKTtcblxuICBmdW5jdGlvbiBtYWtlTm9kZUNvcHkobmQpIHtcbiAgICBpZiAobmQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICAgIHJldHVybiBtYWtlSW1hZ2UobmQudG9EYXRhVVJMKCkpO1xuICAgIH1cbiAgICByZXR1cm4gbmQuY2xvbmVOb2RlKGZhbHNlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsb25lQ2hpbGRyZW5Jbk9yZGVyKHBhcmVudCwgYXJyQ2hpbGRyZW4sIGZsdCkge1xuICAgIGxldCBkb25lID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgYXJyQ2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICBkb25lID0gZG9uZVxuICAgICAgICAudGhlbigoKSA9PiBjbG9uZU5vZGUoY2hpbGQsIGZsdCwgbnVsbCkpXG4gICAgICAgIC50aGVuKGNoaWxkQ2xvbmUgPT4ge1xuICAgICAgICAgIGlmIChjaGlsZENsb25lKSB7XG4gICAgICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGRDbG9uZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gZG9uZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsb25lQ2hpbGRyZW4ob3JpZ2luYWwsIGNsb25lLCBmbHQpIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IG9yaWdpbmFsLmNoaWxkTm9kZXM7XG4gICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjbG9uZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsb25lQ2hpbGRyZW5Jbk9yZGVyKGNsb25lLCBhc0FycmF5KGNoaWxkcmVuKSwgZmx0KS50aGVuKCgpID0+IGNsb25lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbWJlZEZvbnRzKG5vZGUpIHtcbiAgcmV0dXJuIGZvbnRGYWNlcy5yZXNvbHZlQWxsKCkudGhlbihjc3NUZXh0ID0+IHtcbiAgICBjb25zdCBzdHlsZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgIG5vZGUuYXBwZW5kQ2hpbGQoc3R5bGVOb2RlKTtcbiAgICBzdHlsZU5vZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzVGV4dCkpO1xuICAgIHJldHVybiBub2RlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaW5saW5lSW1hZ2VzKG5vZGUpIHtcbiAgcmV0dXJuIGltYWdlcy5pbmxpbmVBbGwobm9kZSkudGhlbigoKSA9PiBub2RlKTtcbn1cblxuZnVuY3Rpb24gbWFrZVN2Z0RhdGFVcmkobm9kZSwgd2lkdGgsIGhlaWdodCkge1xuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5vZGUpLnRoZW4obmQgPT4ge1xuICAgIG5kLnNldEF0dHJpYnV0ZSgneG1sbnMnLCAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRTdHJpbmcgPSBuZXcgd2luZG93LlhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyhuZCk7XG5cbiAgICBjb25zdCB4aHRtbCA9IGVzY2FwZVhodG1sKHNlcmlhbGl6ZWRTdHJpbmcpO1xuICAgIGNvbnN0IGZvcmVpZ25PYmplY3QgPSBgPGZvcmVpZ25PYmplY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIj4ke3hodG1sfTwvZm9yZWlnbk9iamVjdD5gO1xuICAgIGNvbnN0IHN2Z1N0ciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIiR7d2lkdGh9XCIgaGVpZ2h0PVwiJHtoZWlnaHR9XCI+JHtmb3JlaWduT2JqZWN0fTwvc3ZnPmA7XG5cbiAgICAvLyBPcHRpbWl6aW5nIFNWR3MgaW4gZGF0YSBVUklzXG4gICAgLy8gc2VlIGh0dHBzOi8vY29kZXBlbi5pby90aWd0L3Bvc3Qvb3B0aW1pemluZy1zdmdzLWluLWRhdGEtdXJpc1xuICAgIC8vIHRoZSBiZXN0IHdheSBvZiBlbmNvZGluZyBTVkcgaW4gYSBkYXRhOiBVUkkgaXMgZGF0YTppbWFnZS9zdmcreG1sLFthY3R1YWwgZGF0YV0uXG4gICAgLy8gV2UgZG9u4oCZdCBuZWVkIHRoZSA7Y2hhcnNldD11dGYtOCBwYXJhbWV0ZXIgYmVjYXVzZSB0aGUgZ2l2ZW4gU1ZHIGlzIEFTQ0lJLlxuICAgIHJldHVybiBzdmdUb01pbmlEYXRhVVJJKHN2Z1N0cik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBuZXdJbmxpbmVyKCkge1xuICBjb25zdCBVUkxfUkVHRVggPSAvdXJsXFwoWydcIl0/KFteJ1wiXSs/KVsnXCJdP1xcKS9nO1xuXG4gIHJldHVybiB7XG4gICAgaW5saW5lQWxsLFxuICAgIHNob3VsZFByb2Nlc3MsXG4gICAgaW1wbDoge1xuICAgICAgcmVhZFVybHMsXG4gICAgICBpbmxpbmVcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gc2hvdWxkUHJvY2VzcyhzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLnNlYXJjaChVUkxfUkVHRVgpICE9PSAtMTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlYWRVcmxzKHN0cmluZykge1xuICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgbWF0Y2g6IG51bGwgfCBSZWdFeHBFeGVjQXJyYXk7XG4gICAgd2hpbGUgKChtYXRjaCA9IFVSTF9SRUdFWC5leGVjKHN0cmluZykpICE9PSBudWxsKSB7XG4gICAgICByZXN1bHQucHVzaChtYXRjaFsxXSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQuZmlsdGVyKHVybCA9PiB7XG4gICAgICByZXR1cm4gIWlzRGF0YVVybCh1cmwpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gdXJsQXNSZWdleCh1cmwwKSB7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoYCh1cmxcXFxcKFtcXCdcIl0/KSgke2VzY2FwZSh1cmwwKX0pKFtcXCdcIl0/XFxcXCkpYCwgJ2cnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlubGluZShzdHJpbmcsIHVybCwgYmFzZVVybCwgZ2V0KSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh1cmwpXG4gICAgICAudGhlbih1bCA9PiAoYmFzZVVybCA/IHJlc29sdmVVcmwodWwsIGJhc2VVcmwpIDogdWwpKVxuICAgICAgLnRoZW4odWwgPT4gKHR5cGVvZiBnZXQgPT09ICdmdW5jdGlvbicgPyBnZXQodWwpIDogZ2V0QW5kRW5jb2RlKHVsLCBkb210b2ltYWdlLmltcGwub3B0aW9ucykpKVxuICAgICAgLnRoZW4oZGF0YSA9PiBkYXRhQXNVcmwoZGF0YSwgbWltZVR5cGUodXJsKSkpXG4gICAgICAudGhlbihkYXRhVXJsID0+IHN0cmluZy5yZXBsYWNlKHVybEFzUmVnZXgodXJsKSwgYCQxJHtkYXRhVXJsfSQzYCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5saW5lQWxsKHN0cmluZywgYmFzZVVybCwgZ2V0KSB7XG4gICAgaWYgKCFzaG91bGRQcm9jZXNzKHN0cmluZykgfHwgaXNTcmNBc0RhdGFVcmwoc3RyaW5nKSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN0cmluZylcbiAgICAgIC50aGVuKHJlYWRVcmxzKVxuICAgICAgLnRoZW4odXJscyA9PiB7XG4gICAgICAgIGxldCBkb25lID0gUHJvbWlzZS5yZXNvbHZlKHN0cmluZyk7XG4gICAgICAgIHVybHMuZm9yRWFjaCh1cmwgPT4ge1xuICAgICAgICAgIGRvbmUgPSBkb25lLnRoZW4oc3RyID0+IGlubGluZShzdHIsIHVybCwgYmFzZVVybCwgZ2V0KSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZG9uZTtcbiAgICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIG5ld0ZvbnRGYWNlcygpIHtcbiAgcmV0dXJuIHtcbiAgICByZXNvbHZlQWxsLFxuICAgIGltcGw6IHtyZWFkQWxsfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHJlc29sdmVBbGwoKSB7XG4gICAgcmV0dXJuIHJlYWRBbGwoKVxuICAgICAgLnRoZW4od2ViRm9udHMgPT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwod2ViRm9udHMubWFwKHdlYkZvbnQgPT4gd2ViRm9udC5yZXNvbHZlKCkpKTtcbiAgICAgIH0pXG4gICAgICAudGhlbihjc3NTdHJpbmdzID0+IGNzc1N0cmluZ3Muam9pbignXFxuJykpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVhZEFsbCgpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGFzQXJyYXkoZG9jdW1lbnQuc3R5bGVTaGVldHMpKVxuICAgICAgLnRoZW4obG9hZEV4dGVybmFsU3R5bGVTaGVldHMpXG4gICAgICAudGhlbihnZXRDc3NSdWxlcylcbiAgICAgIC50aGVuKHNlbGVjdFdlYkZvbnRSdWxlcylcbiAgICAgIC50aGVuKHJ1bGVzID0+IHJ1bGVzLm1hcChuZXdXZWJGb250KSk7XG5cbiAgICBmdW5jdGlvbiBzZWxlY3RXZWJGb250UnVsZXMoY3NzUnVsZXMpIHtcbiAgICAgIHJldHVybiBjc3NSdWxlc1xuICAgICAgICAuZmlsdGVyKHJ1bGUgPT4gcnVsZS50eXBlID09PSB3aW5kb3cuQ1NTUnVsZS5GT05UX0ZBQ0VfUlVMRSlcbiAgICAgICAgLmZpbHRlcihydWxlID0+IGlubGluZXIuc2hvdWxkUHJvY2VzcyhydWxlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3NyYycpKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbG9hZEV4dGVybmFsU3R5bGVTaGVldHMoc3R5bGVTaGVldHMpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgICAgc3R5bGVTaGVldHMubWFwKHNoZWV0ID0+IHtcbiAgICAgICAgICBpZiAoc2hlZXQuaHJlZikge1xuICAgICAgICAgICAgLy8gY2xvdWRmb250IGRvZXNuJ3QgaGF2ZSBhbGxvdyBvcmlnaW4gaGVhZGVyIHByb3Blcmx5IHNldFxuICAgICAgICAgICAgLy8gZXJyb3IgcmVzcG9uc2Ugd2lsbCByZW1haW4gaW4gY2FjaGVcbiAgICAgICAgICAgIGNvbnN0IGNhY2hlID0gc2hlZXQuaHJlZi5pbmNsdWRlcygndWJlci1mb250cycpID8gJ25vLWNhY2hlJyA6ICdkZWZhdWx0JztcbiAgICAgICAgICAgIHJldHVybiB3aW5kb3dcbiAgICAgICAgICAgICAgLmZldGNoKHNoZWV0LmhyZWYsIHtjcmVkZW50aWFsczogJ29taXQnLCBjYWNoZX0pXG4gICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLnRleHQoKSlcbiAgICAgICAgICAgICAgLnRoZW4oc2V0QmFzZUhyZWYoc2hlZXQuaHJlZikpXG4gICAgICAgICAgICAgIC50aGVuKHRvU3R5bGVTaGVldClcbiAgICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlIGFueSBlcnJvciB0aGF0IG9jY3VycmVkIGluIGFueSBvZiB0aGUgcHJldmlvdXNcbiAgICAgICAgICAgICAgICAvLyBwcm9taXNlcyBpbiB0aGUgY2hhaW4uIHN0eWxlc2hlZXQgZmFpbGVkIHRvIGxvYWQgc2hvdWxkIG5vdCBzdG9wXG4gICAgICAgICAgICAgICAgLy8gdGhlIHByb2Nlc3MsIGhlbmNlIHJlc3VsdCBpbiBvbmx5IGEgd2FybmluZywgaW5zdGVhZCBvZiByZWplY3RcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oSU1BR0VfRVhQT1JUX0VSUk9SUy5zdHlsZVNoZWV0LCBzaGVldC5ocmVmKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc2hlZXQpO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgZnVuY3Rpb24gc2V0QmFzZUhyZWYoYmFzZSkge1xuICAgICAgICBiYXNlID0gYmFzZS5zcGxpdCgnLycpO1xuICAgICAgICBiYXNlLnBvcCgpO1xuICAgICAgICBiYXNlID0gYmFzZS5qb2luKCcvJyk7XG5cbiAgICAgICAgZnVuY3Rpb24gYWRkQmFzZUhyZWZUb1VybChtYXRjaCwgcDEpIHtcbiAgICAgICAgICBjb25zdCB1cmwgPSAvXmh0dHAvaS50ZXN0KHAxKSA/IHAxIDogY29uY2F0QW5kUmVzb2x2ZVVybChiYXNlLCBwMSk7XG4gICAgICAgICAgcmV0dXJuIGB1cmwoJyR7dXJsfScpYDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNvdXJjZTogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjY3NjIzMS8zNzg2ODU2XG4gICAgICAgIGZ1bmN0aW9uIGNvbmNhdEFuZFJlc29sdmVVcmwodXJsLCBjb25jYXQpIHtcbiAgICAgICAgICBjb25zdCB1cmwxOiBzdHJpbmdbXSA9IHVybC5zcGxpdCgnLycpO1xuICAgICAgICAgIGNvbnN0IHVybDI6IHN0cmluZ1tdID0gY29uY2F0LnNwbGl0KCcvJyk7XG4gICAgICAgICAgY29uc3QgdXJsMzogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHVybDEubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodXJsMVtpXSA9PT0gJy4uJykge1xuICAgICAgICAgICAgICB1cmwzLnBvcCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh1cmwxW2ldICE9PSAnLicpIHtcbiAgICAgICAgICAgICAgdXJsMy5wdXNoKHVybDFbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHVybDIubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodXJsMltpXSA9PT0gJy4uJykge1xuICAgICAgICAgICAgICB1cmwzLnBvcCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh1cmwyW2ldICE9PSAnLicpIHtcbiAgICAgICAgICAgICAgdXJsMy5wdXNoKHVybDJbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdXJsMy5qb2luKCcvJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGV4dCA9PiB7XG4gICAgICAgICAgcmV0dXJuIGlzU3JjQXNEYXRhVXJsKHRleHQpXG4gICAgICAgICAgICA/IHRleHRcbiAgICAgICAgICAgIDogdGV4dC5yZXBsYWNlKC91cmxcXChbJ1wiXT8oW14nXCJdKz8pWydcIl0/XFwpL2csIGFkZEJhc2VIcmVmVG9VcmwpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB0b1N0eWxlU2hlZXQodGV4dCkge1xuICAgICAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJycpO1xuICAgICAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gICAgICAgIHN0eWxlRWxlbWVudC50ZXh0Q29udGVudCA9IHRleHQ7XG4gICAgICAgIGRvYy5ib2R5LmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCk7XG5cbiAgICAgICAgcmV0dXJuIHN0eWxlRWxlbWVudC5zaGVldDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRDc3NSdWxlcyhzdHlsZVNoZWV0cykge1xuICAgICAgY29uc3QgY3NzUnVsZXM6IGFueVtdID0gW107XG4gICAgICBzdHlsZVNoZWV0cy5mb3JFYWNoKHNoZWV0ID0+IHtcbiAgICAgICAgLy8gdHJ5Li4uY2F0Y2ggYmVjYXVzZSBicm93c2VyIG1heSBub3QgYWJsZSB0byBlbnVtZXJhdGUgcnVsZXMgZm9yIGNyb3NzLWRvbWFpbiBzaGVldHNcbiAgICAgICAgaWYgKCFzaGVldCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcnVsZXM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcnVsZXMgPSBzaGVldC5ydWxlcyB8fCBzaGVldC5jc3NSdWxlcztcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGAnQ2FuJ3QgcmVhZCB0aGUgY3NzIHJ1bGVzIG9mOiAke3NoZWV0LmhyZWZ9YCwgZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJ1bGVzICYmIHR5cGVvZiBydWxlcyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXNBcnJheShydWxlcyB8fCBbXSkuZm9yRWFjaChjc3NSdWxlcy5wdXNoLmJpbmQoY3NzUnVsZXMpKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRXJyb3Igd2hpbGUgcmVhZGluZyBDU1MgcnVsZXMgZnJvbSAke3NoZWV0LmhyZWZ9YCwgZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdnZXRDc3NSdWxlcyBjYW4gbm90IGZpbmQgY3NzUnVsZXMnKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gY3NzUnVsZXM7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gbmV3V2ViRm9udCh3ZWJGb250UnVsZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVzb2x2ZTogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGJhc2VVcmwgPSAod2ViRm9udFJ1bGUucGFyZW50U3R5bGVTaGVldCB8fCB7fSkuaHJlZjtcbiAgICAgICAgICByZXR1cm4gaW5saW5lci5pbmxpbmVBbGwod2ViRm9udFJ1bGUuY3NzVGV4dCwgYmFzZVVybCwgbnVsbCk7XG4gICAgICAgIH0sXG4gICAgICAgIHNyYzogKCkgPT4gd2ViRm9udFJ1bGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnc3JjJylcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIG5ld0ltYWdlcygpIHtcbiAgcmV0dXJuIHtcbiAgICBpbmxpbmVBbGwsXG4gICAgaW1wbDoge1xuICAgICAgbmV3SW1hZ2VcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gbmV3SW1hZ2UoZWxlbWVudCkge1xuICAgIGZ1bmN0aW9uIGlubGluZShnZXQpIHtcbiAgICAgIGlmIChpc0RhdGFVcmwoZWxlbWVudC5zcmMpKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZWxlbWVudC5zcmMpXG4gICAgICAgIC50aGVuKHVsID0+XG4gICAgICAgICAgdHlwZW9mIGdldCA9PT0gJ2Z1bmN0aW9uJyA/IGdldCh1bCkgOiBnZXRBbmRFbmNvZGUodWwsIGRvbXRvaW1hZ2UuaW1wbC5vcHRpb25zKVxuICAgICAgICApXG4gICAgICAgIC50aGVuKGRhdGEgPT4gZGF0YUFzVXJsKGRhdGEsIG1pbWVUeXBlKGVsZW1lbnQuc3JjKSkpXG4gICAgICAgIC50aGVuKFxuICAgICAgICAgIGRhdGFVcmwgPT5cbiAgICAgICAgICAgIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICAgZWxlbWVudC5vbmxvYWQgPSByZXNvbHZlO1xuICAgICAgICAgICAgICBlbGVtZW50Lm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICAgICAgICAgIGVsZW1lbnQuc3JjID0gZGF0YVVybDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlubGluZVxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBpbmxpbmVBbGwobm9kZSkge1xuICAgIGlmICghKG5vZGUgaW5zdGFuY2VvZiBFbGVtZW50KSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5saW5lQmFja2dyb3VuZChub2RlKS50aGVuKCgpID0+IHtcbiAgICAgIGlmIChub2RlIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gbmV3SW1hZ2Uobm9kZSkuaW5saW5lKG51bGwpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGFzQXJyYXkobm9kZS5jaGlsZE5vZGVzKS5tYXAoY2hpbGQgPT4gaW5saW5lQWxsKGNoaWxkKSkpO1xuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gaW5saW5lQmFja2dyb3VuZChuZCkge1xuICAgICAgY29uc3QgYmFja2dyb3VuZCA9IG5kLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQnKTtcblxuICAgICAgaWYgKCFiYWNrZ3JvdW5kKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobmQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoYmFja2dyb3VuZC5zZWFyY2goL3VybFxcKFwiZGF0YTppbWFnZVxcL3N2Z1xcK3htbFteXCJdKlwiXFwpLykgIT09IC0xKSB7XG4gICAgICAgIG5kLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdiYWNrZ3JvdW5kJyk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobmQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5saW5lclxuICAgICAgICAuaW5saW5lQWxsKGJhY2tncm91bmQsIG51bGwsIG51bGwpXG4gICAgICAgIC50aGVuKGlubGluZWQgPT4ge1xuICAgICAgICAgIG5kLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kJywgaW5saW5lZCwgbmQuc3R5bGUuZ2V0UHJvcGVydHlQcmlvcml0eSgnYmFja2dyb3VuZCcpKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oKCkgPT4gbmQpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBkb210b2ltYWdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQXlCQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxlQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUE5QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtB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
@@ -1,20 +1,20 @@
1
- export declare function processClone(original: any, clone: any): any;
2
- /****
3
- * UTILS
4
- ****/
5
- export declare function asArray(arrayLike: any): any[];
6
- export declare function fourRandomChars(): string;
7
- export declare function uid(): string;
8
- export declare function makeImage(uri: any): Promise<unknown>;
9
- export declare function isDataUrl(url: any): boolean;
10
- export declare function mimeType(url: any): any;
11
- export declare function dataAsUrl(content: any, type: any): string;
12
- export declare function escape(string: any): any;
13
- export declare function delay(ms: any): (arg: any) => Promise<unknown>;
14
- export declare function isSrcAsDataUrl(text: any): boolean;
15
- export declare function canvasToBlob(canvas: any): Promise<unknown>;
16
- export declare function escapeXhtml(string: any): any;
17
- export declare function getWidth(node: any): any;
18
- export declare function getHeight(node: any): any;
19
- export declare function resolveUrl(url: any, baseUrl: any): any;
20
- export declare function getAndEncode(url: any, options: any): Promise<unknown>;
1
+ export declare function processClone(original: any, clone: any): any;
2
+ /****
3
+ * UTILS
4
+ ****/
5
+ export declare function asArray(arrayLike: any): any[];
6
+ export declare function fourRandomChars(): string;
7
+ export declare function uid(): string;
8
+ export declare function makeImage(uri: any): Promise<unknown>;
9
+ export declare function isDataUrl(url: any): boolean;
10
+ export declare function mimeType(url: any): any;
11
+ export declare function dataAsUrl(content: any, type: any): string;
12
+ export declare function escape(string: any): any;
13
+ export declare function delay(ms: any): (arg: any) => Promise<unknown>;
14
+ export declare function isSrcAsDataUrl(text: any): boolean;
15
+ export declare function canvasToBlob(canvas: any): Promise<unknown>;
16
+ export declare function escapeXhtml(string: any): any;
17
+ export declare function getWidth(node: any): any;
18
+ export declare function getHeight(node: any): any;
19
+ export declare function resolveUrl(url: any, baseUrl: any): any;
20
+ export declare function getAndEncode(url: any, options: any): Promise<unknown>;