@kepler.gl/components 3.1.0-alpha.2 → 3.1.0-alpha.4

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 (203) hide show
  1. package/dist/bottom-widget.d.ts +7 -1
  2. package/dist/bottom-widget.js +2 -8
  3. package/dist/common/action-panel.d.ts +5 -6
  4. package/dist/common/action-panel.js +3 -5
  5. package/dist/common/animation-control/animation-control.d.ts +2 -1
  6. package/dist/common/animation-control/animation-control.js +4 -2
  7. package/dist/common/animation-control/animation-speed-slider.js +21 -7
  8. package/dist/common/animation-control/floating-time-display.js +1 -1
  9. package/dist/common/animation-control/play-control.js +11 -13
  10. package/dist/common/animation-control/playback-controls.d.ts +11 -20
  11. package/dist/common/animation-control/playback-controls.js +6 -4
  12. package/dist/common/animation-control/reset-control.js +11 -13
  13. package/dist/common/animation-control/speed-control.js +10 -12
  14. package/dist/common/color-legend.d.ts +4 -5
  15. package/dist/common/color-legend.js +16 -5
  16. package/dist/common/column-stats-chart.d.ts +9 -3
  17. package/dist/common/column-stats-chart.js +17 -63
  18. package/dist/common/data-table/canvas.d.ts +2 -1
  19. package/dist/common/data-table/index.d.ts +7 -7
  20. package/dist/common/data-table/index.js +4 -5
  21. package/dist/common/file-uploader/file-upload-progress.d.ts +4 -4
  22. package/dist/common/file-uploader/file-upload-progress.js +1 -2
  23. package/dist/common/file-uploader/file-upload.d.ts +1 -1
  24. package/dist/common/file-uploader/upload-button.js +2 -2
  25. package/dist/common/flex-container.d.ts +8 -3
  26. package/dist/common/histogram-plot.js +4 -2
  27. package/dist/common/icon-button.d.ts +7 -4
  28. package/dist/common/icons/draggable-dots.d.ts +14 -0
  29. package/dist/common/icons/draggable-dots.js +85 -0
  30. package/dist/common/icons/horizontal-resize-handle.d.ts +14 -0
  31. package/dist/common/icons/horizontal-resize-handle.js +59 -0
  32. package/dist/common/icons/index.d.ts +2 -0
  33. package/dist/common/icons/index.js +15 -1
  34. package/dist/common/icons/pin.js +1 -1
  35. package/dist/common/info-helper.js +2 -2
  36. package/dist/common/item-selector/chickleted-input.d.ts +21 -17
  37. package/dist/common/item-selector/chickleted-input.js +3 -3
  38. package/dist/common/item-selector/dropdown-list.d.ts +12 -12
  39. package/dist/common/item-selector/dropdown-list.js +1 -2
  40. package/dist/common/item-selector/dropdown-select.d.ts +8 -4
  41. package/dist/common/item-selector/dropdown-select.js +2 -2
  42. package/dist/common/item-selector/item-selector.d.ts +5 -9
  43. package/dist/common/item-selector/item-selector.js +1 -1
  44. package/dist/common/item-selector/typeahead.d.ts +20 -6
  45. package/dist/common/item-selector/typeahead.js +3 -3
  46. package/dist/common/loading-spinner.d.ts +8 -4
  47. package/dist/common/loading-spinner.js +1 -1
  48. package/dist/common/modal.d.ts +12 -12
  49. package/dist/common/modal.js +3 -3
  50. package/dist/common/portaled.d.ts +22 -486
  51. package/dist/common/portaled.js +6 -3
  52. package/dist/common/range-plot.d.ts +23 -28
  53. package/dist/common/range-plot.js +38 -29
  54. package/dist/common/range-slider-timeline.js +1 -2
  55. package/dist/common/slider/slider-bar-handle.d.ts +5 -0
  56. package/dist/common/slider/slider-bar-handle.js +2 -2
  57. package/dist/common/slider/slider-handle.d.ts +9 -0
  58. package/dist/common/slider/slider-handle.js +3 -3
  59. package/dist/common/slider/slider.d.ts +2 -2
  60. package/dist/common/styled-components.d.ts +444 -92
  61. package/dist/common/styled-components.js +15 -11
  62. package/dist/common/sync-timeline-control.js +2 -2
  63. package/dist/common/time-range-slider-time-title.d.ts +4 -0
  64. package/dist/common/time-range-slider-time-title.js +1 -1
  65. package/dist/common/time-range-slider.d.ts +7 -3
  66. package/dist/common/time-range-slider.js +1 -1
  67. package/dist/common/timeline-slider.d.ts +2 -0
  68. package/dist/common/timeline-slider.js +1 -1
  69. package/dist/common/toolbar-item.js +2 -2
  70. package/dist/common/toolbar.d.ts +5 -3
  71. package/dist/common/toolbar.js +1 -1
  72. package/dist/common/vertical-toolbar.d.ts +6 -1
  73. package/dist/container.js +2 -2
  74. package/dist/dnd-context.d.ts +1 -1
  75. package/dist/effects/compact-color-picker.d.ts +1 -1
  76. package/dist/effects/effect-configurator.d.ts +4 -4
  77. package/dist/effects/effect-manager.js +4 -2
  78. package/dist/effects/effect-panel-header.js +5 -5
  79. package/dist/effects/effect-time-configurator.js +2 -2
  80. package/dist/effects/effect-time-selector.d.ts +1 -6
  81. package/dist/effects/effect-time-selector.js +3 -3
  82. package/dist/effects/effect-type-dropdown-list.js +2 -2
  83. package/dist/effects/effect-type-list-item.d.ts +1 -10
  84. package/dist/effects/effect-type-list-item.js +2 -2
  85. package/dist/effects/effect-type-selector.d.ts +1 -12
  86. package/dist/effects/effect-type-selector.js +2 -2
  87. package/dist/effects/timezone-selector.d.ts +1 -9
  88. package/dist/effects/timezone-selector.js +1 -1
  89. package/dist/filters/components.d.ts +6 -3
  90. package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +3 -4
  91. package/dist/filters/time-widget-top.js +2 -2
  92. package/dist/filters/types.d.ts +4 -2
  93. package/dist/filters/types.js +1 -1
  94. package/dist/geocoder/geocoder.js +2 -2
  95. package/dist/geocoder-panel.d.ts +6 -0
  96. package/dist/geocoder-panel.js +1 -1
  97. package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +3 -2
  98. package/dist/hooks/use-fetch-vector-tile-metadata.js +33 -18
  99. package/dist/hooks/use-legend-position.d.ts +36 -0
  100. package/dist/hooks/use-legend-position.js +147 -0
  101. package/dist/index.d.ts +2 -1
  102. package/dist/index.js +18 -3
  103. package/dist/kepler-gl.d.ts +44 -5
  104. package/dist/kepler-gl.js +77 -4
  105. package/dist/map/layer-hover-info.d.ts +3 -1
  106. package/dist/map/layer-hover-info.js +2 -2
  107. package/dist/map/map-control-panel.js +4 -3
  108. package/dist/map/map-control-toolbar.d.ts +15 -1
  109. package/dist/map/map-control-toolbar.js +1 -1
  110. package/dist/map/map-legend-panel.d.ts +10 -35
  111. package/dist/map/map-legend-panel.js +242 -127
  112. package/dist/map/map-legend.d.ts +3 -2
  113. package/dist/map/map-legend.js +7 -10
  114. package/dist/map/map-popover.js +16 -11
  115. package/dist/map-container.d.ts +10 -8
  116. package/dist/map-container.js +86 -55
  117. package/dist/modal-container.d.ts +2 -1
  118. package/dist/modal-container.js +4 -3
  119. package/dist/modals/add-map-style-modal.d.ts +3 -0
  120. package/dist/modals/add-map-style-modal.js +58 -10
  121. package/dist/modals/cloud-components/cloud-item.js +2 -2
  122. package/dist/modals/cloud-tile.d.ts +6 -1
  123. package/dist/modals/cloud-tile.js +2 -2
  124. package/dist/modals/data-table-modal.d.ts +5 -3
  125. package/dist/modals/data-table-modal.js +3 -3
  126. package/dist/modals/export-data-modal.js +4 -5
  127. package/dist/modals/export-map-modal/components.d.ts +5 -3
  128. package/dist/modals/export-map-modal/export-html-map.js +2 -2
  129. package/dist/modals/export-map-modal/export-json-map.js +3 -2
  130. package/dist/modals/modal-dialog.d.ts +3 -1
  131. package/dist/modals/modal-tabs.js +2 -2
  132. package/dist/modals/share-map-modal.d.ts +4 -4
  133. package/dist/modals/storage-map-viewer.js +3 -3
  134. package/dist/modals/tilesets-modals/common.d.ts +1 -1
  135. package/dist/modals/tilesets-modals/common.js +1 -1
  136. package/dist/modals/tilesets-modals/load-data-footer.d.ts +3 -3
  137. package/dist/modals/tilesets-modals/load-data-footer.js +16 -7
  138. package/dist/modals/tilesets-modals/load-tileset.js +5 -4
  139. package/dist/modals/tilesets-modals/tileset-vector-form.js +28 -14
  140. package/dist/plot-container.js +3 -3
  141. package/dist/side-panel/add-by-dataset-button.js +4 -1
  142. package/dist/side-panel/common/dataset-info.js +3 -3
  143. package/dist/side-panel/common/dataset-title.d.ts +1 -0
  144. package/dist/side-panel/common/dataset-title.js +5 -4
  145. package/dist/side-panel/filter-manager.d.ts +2 -2
  146. package/dist/side-panel/filter-manager.js +1 -1
  147. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +9 -1
  148. package/dist/side-panel/filter-panel/filter-panel-header.js +24 -9
  149. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +10 -1
  150. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +5 -3
  151. package/dist/side-panel/layer-panel/aggr-scale-selector.d.ts +2 -1
  152. package/dist/side-panel/layer-panel/aggr-scale-selector.js +3 -1
  153. package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +2 -4
  154. package/dist/side-panel/layer-panel/channel-by-value-selector.js +9 -5
  155. package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +15 -7
  156. package/dist/side-panel/layer-panel/color-breaks-panel.js +52 -20
  157. package/dist/side-panel/layer-panel/color-palette-preset.js +2 -2
  158. package/dist/side-panel/layer-panel/color-palette.d.ts +9 -4
  159. package/dist/side-panel/layer-panel/color-palette.js +13 -7
  160. package/dist/side-panel/layer-panel/color-range-selector.d.ts +2 -2
  161. package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
  162. package/dist/side-panel/layer-panel/color-scale-selector.d.ts +5 -4
  163. package/dist/side-panel/layer-panel/color-scale-selector.js +93 -43
  164. package/dist/side-panel/layer-panel/color-selector.d.ts +7 -7
  165. package/dist/side-panel/layer-panel/color-selector.js +52 -36
  166. package/dist/side-panel/layer-panel/custom-palette.d.ts +44 -15
  167. package/dist/side-panel/layer-panel/custom-palette.js +342 -39
  168. package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -5
  169. package/dist/side-panel/layer-panel/custom-picker.js +2 -2
  170. package/dist/side-panel/layer-panel/dimension-scale-selector.js +5 -3
  171. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +1 -1
  172. package/dist/side-panel/layer-panel/layer-color-selector.js +1 -1
  173. package/dist/side-panel/layer-panel/layer-column-mode-config.js +1 -1
  174. package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -11
  175. package/dist/side-panel/layer-panel/layer-config-group.js +2 -2
  176. package/dist/side-panel/layer-panel/layer-configurator.d.ts +7 -7
  177. package/dist/side-panel/layer-panel/layer-configurator.js +10 -10
  178. package/dist/side-panel/layer-panel/layer-list.d.ts +2 -0
  179. package/dist/side-panel/layer-panel/layer-list.js +7 -4
  180. package/dist/side-panel/layer-panel/layer-panel-header.js +5 -5
  181. package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -0
  182. package/dist/side-panel/layer-panel/layer-panel.js +8 -8
  183. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
  184. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +1 -10
  185. package/dist/side-panel/layer-panel/layer-type-list-item.js +2 -2
  186. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +1 -8
  187. package/dist/side-panel/layer-panel/layer-type-selector.js +1 -1
  188. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -2
  189. package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
  190. package/dist/side-panel/layer-panel/text-label-panel.js +1 -1
  191. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +6 -3
  192. package/dist/side-panel/map-style-panel/map-style-selector.js +2 -2
  193. package/dist/side-panel/panel-header-action.js +2 -2
  194. package/dist/side-panel/panel-header.js +2 -2
  195. package/dist/side-panel/panel-tab.d.ts +3 -3
  196. package/dist/side-panel/panel-tab.js +2 -2
  197. package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
  198. package/dist/side-panel/panel-view-list-toggle.js +2 -2
  199. package/dist/side-panel/side-bar.js +2 -2
  200. package/dist/side-panel.d.ts +1 -1
  201. package/dist/types.d.ts +6 -7
  202. package/dist/types.js +1 -1
  203. package/package.json +26 -22
@@ -13,6 +13,7 @@ var _localization = require("@kepler.gl/localization");
13
13
  var _styledComponents2 = require("../common/styled-components");
14
14
  var _icons = require("../common/icons");
15
15
  var _switch = _interopRequireDefault(require("../common/switch"));
16
+ var _classnames = _interopRequireDefault(require("classnames"));
16
17
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8; // SPDX-License-Identifier: MIT
17
18
  // Copyright contributors to the kepler.gl project
18
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
@@ -52,7 +53,7 @@ var StyledDisableableSwitch = (0, _styledComponents["default"])(_switch["default
52
53
  }, function (props) {
53
54
  return props.disabled ? 'none' : 'all';
54
55
  });
55
- var StyledIcon = (0, _styledComponents["default"])(_styledComponents2.IconRoundSmall)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n background-color: transparent;\n\n :hover {\n cursor: pointer;\n background-color: transparent;\n color: ", ";\n }\n"])), function (props) {
56
+ var StyledIcon = (0, _styledComponents["default"])(_styledComponents2.IconRoundSmall)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n background-color: transparent;\n\n &:hover {\n cursor: pointer;\n background-color: transparent;\n color: ", ";\n }\n"])), function (props) {
56
57
  return props.theme.activeColor;
57
58
  }, function (props) {
58
59
  return props.theme.floatingBtnActColor;
@@ -92,7 +93,7 @@ function MapControlPanelFactory() {
92
93
  transform: "scale(".concat(scale, ")"),
93
94
  marginBottom: '8px !important'
94
95
  },
95
- className: className
96
+ className: (0, _classnames["default"])('map-control-panel', className)
96
97
  }, mapState !== null && mapState !== void 0 && mapState.isSplit && isViewportUnsyncAllowed ? /*#__PURE__*/_react["default"].createElement(StyledMapControlPanelHeaderSplitViewportsTools, null, /*#__PURE__*/_react["default"].createElement(StyledSBCenterFlexbox, {
97
98
  style: {
98
99
  paddingBottom: '6px'
@@ -136,4 +137,4 @@ function MapControlPanelFactory() {
136
137
  return MapControlPanel;
137
138
  }
138
139
  var _default = exports["default"] = MapControlPanelFactory;
139
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbG9jYWxpemF0aW9uIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2ljb25zIiwiX3N3aXRjaCIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTdHlsZWRNYXBDb250cm9sUGFuZWwiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJtYXBQYW5lbEJhY2tncm91bmRDb2xvciIsIlN0eWxlZE1hcENvbnRyb2xQYW5lbENvbnRlbnQiLCJhdHRycyIsImNsYXNzTmFtZSIsInNpZGVQYW5lbFNjcm9sbEJhciIsIm1hcENvbnRyb2wiLCJ3aWR0aCIsImlzRXhwb3J0IiwiU3R5bGVkTWFwQ29udHJvbFBhbmVsSGVhZGVyIiwibWFwUGFuZWxIZWFkZXJCYWNrZ3JvdW5kQ29sb3IiLCJmb250RmFtaWx5IiwidGl0bGVUZXh0Q29sb3IiLCJTdHlsZWRNYXBDb250cm9sUGFuZWxIZWFkZXJTcGxpdFZpZXdwb3J0c1Rvb2xzIiwiU3R5bGVkU0JDZW50ZXJGbGV4Ym94IiwiQ2VudGVyRmxleGJveCIsIlN0eWxlZERpc2FibGVhYmxlVGV4dCIsInNwYW4iLCJkaXNhYmxlZCIsIlN0eWxlZERpc2FibGVhYmxlU3dpdGNoIiwiU3dpdGNoIiwiU3R5bGVkSWNvbiIsIkljb25Sb3VuZFNtYWxsIiwiYWN0aXZlQ29sb3IiLCJmbG9hdGluZ0J0bkFjdENvbG9yIiwiTWFwQ29udHJvbFBhbmVsRmFjdG9yeSIsIk1hcENvbnRyb2xQYW5lbCIsIlJlYWN0IiwibWVtbyIsIl9yZWYiLCJjaGlsZHJlbiIsImhlYWRlciIsInBpbm5hYmxlIiwiZGlzYWJsZUNsb3NlIiwib25QaW5DbGljayIsIm9uQ2xpY2siLCJfcmVmJHNjYWxlIiwic2NhbGUiLCJsb2dvQ29tcG9uZW50IiwibWFwU3RhdGUiLCJvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQiLCJpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZCIsIl9yZWYkY2xhc3NOYW1lIiwiX3JlZjIiLCJpc1ZpZXdwb3J0U3luY2VkIiwiaXNab29tTG9ja2VkIiwib25VbmxvY2tWaWV3cG9ydENoYW5nZSIsInVzZUNhbGxiYWNrIiwib25TeW5jWm9vbUNoYW5nZSIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsInRyYW5zZm9ybSIsImNvbmNhdCIsIm1hcmdpbkJvdHRvbSIsImlzU3BsaXQiLCJwYWRkaW5nQm90dG9tIiwiRm9ybWF0dGVkTWVzc2FnZSIsImlkIiwiY2hlY2tlZCIsIm9uQ2hhbmdlIiwidmVydGljYWxBbGlnbiIsIkZyYWdtZW50IiwiUGluIiwiaGVpZ2h0IiwiQ2xvc2UiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWNvbnRyb2wtcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7U3R5bGVkQ29tcG9uZW50fSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7Q2VudGVyRmxleGJveCwgSWNvblJvdW5kU21hbGx9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Nsb3NlLCBQaW59IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJy4uL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IHtNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0FjdGlvbkhhbmRsZXIsIHRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmNvbnN0IFN0eWxlZE1hcENvbnRyb2xQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwUGFuZWxCYWNrZ3JvdW5kQ29sb3J9O1xuICBmbGV4LWdyb3c6IDE7XG4gIHotaW5kZXg6IDE7XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbmA7XG5cbnR5cGUgU3R5bGVkTWFwQ29udHJvbFBhbmVsQ29udGVudFByb3BzID0ge1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRNYXBDb250cm9sUGFuZWxDb250ZW50ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21hcC1jb250cm9sX19wYW5lbC1jb250ZW50J1xufSk8U3R5bGVkTWFwQ29udHJvbFBhbmVsQ29udGVudFByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxTY3JvbGxCYXJ9O1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLndpZHRofXB4O1xuICBvdmVyZmxvdzogJHtwcm9wcyA9PiAocHJvcHMuaXNFeHBvcnQgPyAnaGlkZGVuJyA6ICdvdmVybGF5Jyl9O1xuYDtcblxudHlwZSBNYXBDb250cm9sUGFuZWxIZWFkZXJQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmNvbnN0IFN0eWxlZE1hcENvbnRyb2xQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtYXAtY29udHJvbF9fcGFuZWwtaGVhZGVyJ1xufSk8TWFwQ29udHJvbFBhbmVsSGVhZGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwUGFuZWxIZWFkZXJCYWNrZ3JvdW5kQ29sb3J9O1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50aXRsZVRleHRDb2xvcn07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkTWFwQ29udHJvbFBhbmVsSGVhZGVyU3BsaXRWaWV3cG9ydHNUb29sczogU3R5bGVkQ29tcG9uZW50PFxuICAnZGl2JyxcbiAgYW55LFxuICB7XG4gICAgY2xhc3NOYW1lOiAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJztcbiAgfSxcbiAgJ2NsYXNzTmFtZSdcbj4gPSBzdHlsZWQoU3R5bGVkTWFwQ29udHJvbFBhbmVsSGVhZGVyKS5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21hcC1jb250cm9sX19wYW5lbC1zcGxpdC12aWV3cG9ydC10b29scydcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuICBoZWlnaHQ6IHVuc2V0O1xuYDtcblxuY29uc3QgU3R5bGVkU0JDZW50ZXJGbGV4Ym94ID0gc3R5bGVkKENlbnRlckZsZXhib3gpYFxuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZERpc2FibGVhYmxlVGV4dFByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWREaXNhYmxlYWJsZVRleHQgPSBzdHlsZWQuc3BhbjxTdHlsZWREaXNhYmxlYWJsZVRleHRQcm9wcz5gXG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC40IDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuYDtcblxuY29uc3QgU3R5bGVkRGlzYWJsZWFibGVTd2l0Y2ggPSBzdHlsZWQoU3dpdGNoKWBcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb25Sb3VuZFNtYWxsKWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgTWFwQ29udHJvbFBhbmVsUHJvcHMgPSB7XG4gIGhlYWRlcj86IHN0cmluZztcbiAgc2NhbGU/OiBudW1iZXI7XG4gIG9uQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIG9uUGluQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIHBpbm5hYmxlPzogYm9vbGVhbjtcbiAgZGlzYWJsZUNsb3NlPzogYm9vbGVhbjtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuICBsb2dvQ29tcG9uZW50PzogRWxlbWVudDtcbiAgbWFwU3RhdGU/OiBNYXBTdGF0ZTtcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0PzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgdG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD47XG4gIGlzVmlld3BvcnRVbnN5bmNBbGxvd2VkPzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn07XG5cbmZ1bmN0aW9uIE1hcENvbnRyb2xQYW5lbEZhY3RvcnkoKSB7XG4gIGNvbnN0IE1hcENvbnRyb2xQYW5lbDogUmVhY3QuRkM8TWFwQ29udHJvbFBhbmVsUHJvcHM+ID0gUmVhY3QubWVtbyhcbiAgICAoe1xuICAgICAgY2hpbGRyZW4sXG4gICAgICBoZWFkZXIsXG4gICAgICBwaW5uYWJsZSxcbiAgICAgIGRpc2FibGVDbG9zZSxcbiAgICAgIG9uUGluQ2xpY2ssXG4gICAgICBvbkNsaWNrLFxuICAgICAgc2NhbGUgPSAxLFxuICAgICAgaXNFeHBvcnQsXG4gICAgICBsb2dvQ29tcG9uZW50LFxuICAgICAgbWFwU3RhdGUsXG4gICAgICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQsXG4gICAgICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZCxcbiAgICAgIGNsYXNzTmFtZSA9ICdtYXAtY29udHJvbC1wYW5lbCdcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCB7aXNWaWV3cG9ydFN5bmNlZCwgaXNab29tTG9ja2VkfSA9IG1hcFN0YXRlIHx8IHt9O1xuICAgICAgY29uc3Qgb25VbmxvY2tWaWV3cG9ydENoYW5nZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0Py4oe2lzVmlld3BvcnRTeW5jZWQ6ICFpc1ZpZXdwb3J0U3luY2VkfSk7XG4gICAgICB9LCBbaXNWaWV3cG9ydFN5bmNlZCwgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0XSk7XG5cbiAgICAgIGNvbnN0IG9uU3luY1pvb21DaGFuZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD8uKHtpc1pvb21Mb2NrZWQ6ICFpc1pvb21Mb2NrZWR9KTtcbiAgICAgIH0sIFtpc1pvb21Mb2NrZWQsIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydF0pO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTWFwQ29udHJvbFBhbmVsXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHRyYW5zZm9ybTogYHNjYWxlKCR7c2NhbGV9KWAsXG4gICAgICAgICAgICBtYXJnaW5Cb3R0b206ICc4cHggIWltcG9ydGFudCdcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICA+XG4gICAgICAgICAge21hcFN0YXRlPy5pc1NwbGl0ICYmIGlzVmlld3BvcnRVbnN5bmNBbGxvd2VkID8gKFxuICAgICAgICAgICAgPFN0eWxlZE1hcENvbnRyb2xQYW5lbEhlYWRlclNwbGl0Vmlld3BvcnRzVG9vbHM+XG4gICAgICAgICAgICAgIDxTdHlsZWRTQkNlbnRlckZsZXhib3ggc3R5bGU9e3twYWRkaW5nQm90dG9tOiAnNnB4J319PlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiVW5sb2NrIFZpZXdwb3J0XCIgLz5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRGlzYWJsZWFibGVTd2l0Y2hcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9eyFtYXBTdGF0ZT8uaXNWaWV3cG9ydFN5bmNlZH1cbiAgICAgICAgICAgICAgICAgIGlkPVwidW5sb2NrLXZpZXdwb3J0LXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25VbmxvY2tWaWV3cG9ydENoYW5nZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZFNCQ2VudGVyRmxleGJveD5cbiAgICAgICAgICAgICAgPFN0eWxlZFNCQ2VudGVyRmxleGJveD5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRGlzYWJsZWFibGVUZXh0IGRpc2FibGVkPXttYXBTdGF0ZT8uaXNWaWV3cG9ydFN5bmNlZH0+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIlN5bmMgWm9vbVwiIC8+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWREaXNhYmxlYWJsZVRleHQ+XG4gICAgICAgICAgICAgICAgPFN0eWxlZERpc2FibGVhYmxlU3dpdGNoXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXttYXBTdGF0ZT8uaXNab29tTG9ja2VkfVxuICAgICAgICAgICAgICAgICAgaWQ9XCJzeW5jLXpvb20tdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvblN5bmNab29tQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e21hcFN0YXRlPy5pc1ZpZXdwb3J0U3luY2VkfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkU0JDZW50ZXJGbGV4Ym94PlxuICAgICAgICAgICAgPC9TdHlsZWRNYXBDb250cm9sUGFuZWxIZWFkZXJTcGxpdFZpZXdwb3J0c1Rvb2xzPlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgPFN0eWxlZE1hcENvbnRyb2xQYW5lbEhlYWRlcj5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgKGlzRXhwb3J0ICYmIGxvZ29Db21wb25lbnQgPyAoXG4gICAgICAgICAgICAgICAgbG9nb0NvbXBvbmVudFxuICAgICAgICAgICAgICApIDogaGVhZGVyID8gKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7dmVydGljYWxBbGlnbjogJ21pZGRsZSd9fT5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtoZWFkZXJ9IC8+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApIDogbnVsbCkgYXMgUmVhY3QuUmVhY3ROb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB7aXNFeHBvcnQgPyBudWxsIDogKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtwaW5uYWJsZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkSWNvbiBjbGFzc05hbWU9XCJwaW4tbWFwLWNvbnRyb2wtaXRlbVwiIG9uQ2xpY2s9e29uUGluQ2xpY2t9PlxuICAgICAgICAgICAgICAgICAgICA8UGluIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRJY29uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAge2Rpc2FibGVDbG9zZSA/IG51bGwgOiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkSWNvbiBjbGFzc05hbWU9XCJjbG9zZS1tYXAtY29udHJvbC1pdGVtXCIgb25DbGljaz17b25DbGlja30+XG4gICAgICAgICAgICAgICAgICAgIDxDbG9zZSBoZWlnaHQ9XCIxNnB4XCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TdHlsZWRNYXBDb250cm9sUGFuZWxIZWFkZXI+XG4gICAgICAgICAgPFN0eWxlZE1hcENvbnRyb2xQYW5lbENvbnRlbnQgaXNFeHBvcnQ9e2lzRXhwb3J0fT5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L1N0eWxlZE1hcENvbnRyb2xQYW5lbENvbnRlbnQ+XG4gICAgICAgIDwvU3R5bGVkTWFwQ29udHJvbFBhbmVsPlxuICAgICAgKTtcbiAgICB9XG4gICk7XG5cbiAgTWFwQ29udHJvbFBhbmVsLmRpc3BsYXlOYW1lID0gJ01hcENvbnRyb2xQYW5lbCc7XG5cbiAgcmV0dXJuIE1hcENvbnRyb2xQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwQ29udHJvbFBhbmVsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGtCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFBc0MsSUFBQU8sZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQVJ0QztBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFD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
140
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbG9jYWxpemF0aW9uIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2ljb25zIiwiX3N3aXRjaCIsIl9jbGFzc25hbWVzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZE1hcENvbnRyb2xQYW5lbCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1hcFBhbmVsQmFja2dyb3VuZENvbG9yIiwiU3R5bGVkTWFwQ29udHJvbFBhbmVsQ29udGVudCIsImF0dHJzIiwiY2xhc3NOYW1lIiwic2lkZVBhbmVsU2Nyb2xsQmFyIiwibWFwQ29udHJvbCIsIndpZHRoIiwiaXNFeHBvcnQiLCJTdHlsZWRNYXBDb250cm9sUGFuZWxIZWFkZXIiLCJtYXBQYW5lbEhlYWRlckJhY2tncm91bmRDb2xvciIsImZvbnRGYW1pbHkiLCJ0aXRsZVRleHRDb2xvciIsIlN0eWxlZE1hcENvbnRyb2xQYW5lbEhlYWRlclNwbGl0Vmlld3BvcnRzVG9vbHMiLCJTdHlsZWRTQkNlbnRlckZsZXhib3giLCJDZW50ZXJGbGV4Ym94IiwiU3R5bGVkRGlzYWJsZWFibGVUZXh0Iiwic3BhbiIsImRpc2FibGVkIiwiU3R5bGVkRGlzYWJsZWFibGVTd2l0Y2giLCJTd2l0Y2giLCJTdHlsZWRJY29uIiwiSWNvblJvdW5kU21hbGwiLCJhY3RpdmVDb2xvciIsImZsb2F0aW5nQnRuQWN0Q29sb3IiLCJNYXBDb250cm9sUGFuZWxGYWN0b3J5IiwiTWFwQ29udHJvbFBhbmVsIiwiUmVhY3QiLCJtZW1vIiwiX3JlZiIsImNoaWxkcmVuIiwiaGVhZGVyIiwicGlubmFibGUiLCJkaXNhYmxlQ2xvc2UiLCJvblBpbkNsaWNrIiwib25DbGljayIsIl9yZWYkc2NhbGUiLCJzY2FsZSIsImxvZ29Db21wb25lbnQiLCJtYXBTdGF0ZSIsIm9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydCIsImlzVmlld3BvcnRVbnN5bmNBbGxvd2VkIiwiX3JlZiRjbGFzc05hbWUiLCJfcmVmMiIsImlzVmlld3BvcnRTeW5jZWQiLCJpc1pvb21Mb2NrZWQiLCJvblVubG9ja1ZpZXdwb3J0Q2hhbmdlIiwidXNlQ2FsbGJhY2siLCJvblN5bmNab29tQ2hhbmdlIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwidHJhbnNmb3JtIiwiY29uY2F0IiwibWFyZ2luQm90dG9tIiwiY2xhc3NOYW1lcyIsImlzU3BsaXQiLCJwYWRkaW5nQm90dG9tIiwiRm9ybWF0dGVkTWVzc2FnZSIsImlkIiwiY2hlY2tlZCIsIm9uQ2hhbmdlIiwidmVydGljYWxBbGlnbiIsIkZyYWdtZW50IiwiUGluIiwiaGVpZ2h0IiwiQ2xvc2UiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWNvbnRyb2wtcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtDZW50ZXJGbGV4Ym94LCBJY29uUm91bmRTbWFsbH0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Q2xvc2UsIFBpbn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnLi4vY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQge01hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QWN0aW9uSGFuZGxlciwgdG9nZ2xlU3BsaXRNYXBWaWV3cG9ydH0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5jb25zdCBTdHlsZWRNYXBDb250cm9sUGFuZWwgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcFBhbmVsQmFja2dyb3VuZENvbG9yfTtcbiAgZmxleC1ncm93OiAxO1xuICB6LWluZGV4OiAxO1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5gO1xuXG50eXBlIFN0eWxlZE1hcENvbnRyb2xQYW5lbENvbnRlbnRQcm9wcyA9IHtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkTWFwQ29udHJvbFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtYXAtY29udHJvbF9fcGFuZWwtY29udGVudCdcbn0pPFN0eWxlZE1hcENvbnRyb2xQYW5lbENvbnRlbnRQcm9wcz5gXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsU2Nyb2xsQmFyfTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBtaW4td2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC53aWR0aH1weDtcbiAgb3ZlcmZsb3c6ICR7cHJvcHMgPT4gKHByb3BzLmlzRXhwb3J0ID8gJ2hpZGRlbicgOiAnb3ZlcmxheScpfTtcbmA7XG5cbnR5cGUgTWFwQ29udHJvbFBhbmVsSGVhZGVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG5jb25zdCBTdHlsZWRNYXBDb250cm9sUGFuZWxIZWFkZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbWFwLWNvbnRyb2xfX3BhbmVsLWhlYWRlcidcbn0pPE1hcENvbnRyb2xQYW5lbEhlYWRlclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcFBhbmVsSGVhZGVyQmFja2dyb3VuZENvbG9yfTtcbiAgaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVUZXh0Q29sb3J9O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZE1hcENvbnRyb2xQYW5lbEhlYWRlclNwbGl0Vmlld3BvcnRzVG9vbHMgPSBzdHlsZWQoU3R5bGVkTWFwQ29udHJvbFBhbmVsSGVhZGVyKS5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21hcC1jb250cm9sX19wYW5lbC1zcGxpdC12aWV3cG9ydC10b29scydcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuICBoZWlnaHQ6IHVuc2V0O1xuYDtcblxuY29uc3QgU3R5bGVkU0JDZW50ZXJGbGV4Ym94ID0gc3R5bGVkKENlbnRlckZsZXhib3gpYFxuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZERpc2FibGVhYmxlVGV4dFByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWREaXNhYmxlYWJsZVRleHQgPSBzdHlsZWQuc3BhbjxTdHlsZWREaXNhYmxlYWJsZVRleHRQcm9wcz5gXG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC40IDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuYDtcblxuY29uc3QgU3R5bGVkRGlzYWJsZWFibGVTd2l0Y2ggPSBzdHlsZWQoU3dpdGNoKWBcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb25Sb3VuZFNtYWxsKWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvcn07XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIE1hcENvbnRyb2xQYW5lbFByb3BzID0ge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIHNjYWxlPzogbnVtYmVyO1xuICBvbkNsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBvblBpbkNsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBwaW5uYWJsZT86IGJvb2xlYW47XG4gIGRpc2FibGVDbG9zZT86IGJvb2xlYW47XG4gIGlzRXhwb3J0PzogYm9vbGVhbjtcbiAgbG9nb0NvbXBvbmVudD86IEVsZW1lbnQ7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD86IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ+O1xuICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBNYXBDb250cm9sUGFuZWxGYWN0b3J5KCkge1xuICBjb25zdCBNYXBDb250cm9sUGFuZWw6IFJlYWN0LkZDPE1hcENvbnRyb2xQYW5lbFByb3BzPiA9IFJlYWN0Lm1lbW8oXG4gICAgKHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgaGVhZGVyLFxuICAgICAgcGlubmFibGUsXG4gICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICBvblBpbkNsaWNrLFxuICAgICAgb25DbGljayxcbiAgICAgIHNjYWxlID0gMSxcbiAgICAgIGlzRXhwb3J0LFxuICAgICAgbG9nb0NvbXBvbmVudCxcbiAgICAgIG1hcFN0YXRlLFxuICAgICAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0LFxuICAgICAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQsXG4gICAgICBjbGFzc05hbWUgPSAnbWFwLWNvbnRyb2wtcGFuZWwnXG4gICAgfSkgPT4ge1xuICAgICAgY29uc3Qge2lzVmlld3BvcnRTeW5jZWQsIGlzWm9vbUxvY2tlZH0gPSBtYXBTdGF0ZSB8fCB7fTtcbiAgICAgIGNvbnN0IG9uVW5sb2NrVmlld3BvcnRDaGFuZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD8uKHtpc1ZpZXdwb3J0U3luY2VkOiAhaXNWaWV3cG9ydFN5bmNlZH0pO1xuICAgICAgfSwgW2lzVmlld3BvcnRTeW5jZWQsIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydF0pO1xuXG4gICAgICBjb25zdCBvblN5bmNab29tQ2hhbmdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ/Lih7aXNab29tTG9ja2VkOiAhaXNab29tTG9ja2VkfSk7XG4gICAgICB9LCBbaXNab29tTG9ja2VkLCBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnRdKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZE1hcENvbnRyb2xQYW5lbFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IGBzY2FsZSgke3NjYWxlfSlgLFxuICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnOHB4ICFpbXBvcnRhbnQnXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ21hcC1jb250cm9sLXBhbmVsJywgY2xhc3NOYW1lKX1cbiAgICAgICAgPlxuICAgICAgICAgIHttYXBTdGF0ZT8uaXNTcGxpdCAmJiBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRNYXBDb250cm9sUGFuZWxIZWFkZXJTcGxpdFZpZXdwb3J0c1Rvb2xzPlxuICAgICAgICAgICAgICA8U3R5bGVkU0JDZW50ZXJGbGV4Ym94IHN0eWxlPXt7cGFkZGluZ0JvdHRvbTogJzZweCd9fT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIlVubG9jayBWaWV3cG9ydFwiIC8+XG4gICAgICAgICAgICAgICAgPFN0eWxlZERpc2FibGVhYmxlU3dpdGNoXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXshbWFwU3RhdGU/LmlzVmlld3BvcnRTeW5jZWR9XG4gICAgICAgICAgICAgICAgICBpZD1cInVubG9jay12aWV3cG9ydC10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uVW5sb2NrVmlld3BvcnRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRTQkNlbnRlckZsZXhib3g+XG4gICAgICAgICAgICAgIDxTdHlsZWRTQkNlbnRlckZsZXhib3g+XG4gICAgICAgICAgICAgICAgPFN0eWxlZERpc2FibGVhYmxlVGV4dCBkaXNhYmxlZD17bWFwU3RhdGU/LmlzVmlld3BvcnRTeW5jZWR9PlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJTeW5jIFpvb21cIiAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkRGlzYWJsZWFibGVUZXh0PlxuICAgICAgICAgICAgICAgIDxTdHlsZWREaXNhYmxlYWJsZVN3aXRjaFxuICAgICAgICAgICAgICAgICAgY2hlY2tlZD17bWFwU3RhdGU/LmlzWm9vbUxvY2tlZH1cbiAgICAgICAgICAgICAgICAgIGlkPVwic3luYy16b29tLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25TeW5jWm9vbUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXttYXBTdGF0ZT8uaXNWaWV3cG9ydFN5bmNlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZFNCQ2VudGVyRmxleGJveD5cbiAgICAgICAgICAgIDwvU3R5bGVkTWFwQ29udHJvbFBhbmVsSGVhZGVyU3BsaXRWaWV3cG9ydHNUb29scz5cbiAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICAgIDxTdHlsZWRNYXBDb250cm9sUGFuZWxIZWFkZXI+XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIChpc0V4cG9ydCAmJiBsb2dvQ29tcG9uZW50ID8gKFxuICAgICAgICAgICAgICAgIGxvZ29Db21wb25lbnRcbiAgICAgICAgICAgICAgKSA6IGhlYWRlciA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17e3ZlcnRpY2FsQWxpZ246ICdtaWRkbGUnfX0+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17aGVhZGVyfSAvPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IG51bGwpIGFzIFJlYWN0LlJlYWN0Tm9kZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge2lzRXhwb3J0ID8gbnVsbCA6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICB7cGlubmFibGUgJiYgKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb24gY2xhc3NOYW1lPVwicGluLW1hcC1jb250cm9sLWl0ZW1cIiBvbkNsaWNrPXtvblBpbkNsaWNrfT5cbiAgICAgICAgICAgICAgICAgICAgPFBpbiBoZWlnaHQ9XCIxNnB4XCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtkaXNhYmxlQ2xvc2UgPyBudWxsIDogKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb24gY2xhc3NOYW1lPVwiY2xvc2UtbWFwLWNvbnRyb2wtaXRlbVwiIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgICAgICAgICAgICAgICA8Q2xvc2UgaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEljb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3R5bGVkTWFwQ29udHJvbFBhbmVsSGVhZGVyPlxuICAgICAgICAgIDxTdHlsZWRNYXBDb250cm9sUGFuZWxDb250ZW50IGlzRXhwb3J0PXtpc0V4cG9ydH0+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TdHlsZWRNYXBDb250cm9sUGFuZWxDb250ZW50PlxuICAgICAgICA8L1N0eWxlZE1hcENvbnRyb2xQYW5lbD5cbiAgICAgICk7XG4gICAgfVxuICApO1xuXG4gIE1hcENvbnRyb2xQYW5lbC5kaXNwbGF5TmFtZSA9ICdNYXBDb250cm9sUGFuZWwnO1xuXG4gIHJldHVybiBNYXBDb250cm9sUGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcENvbnRyb2xQYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxrQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBR0EsSUFBQU8sV0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQW9DLElBQUFRLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFYcEM7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFB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
@@ -1,2 +1,16 @@
1
- declare function MapControlToolbar(): import("styled-components").StyledComponent<"div", any, import("../common/toolbar").ToolbarProps, never>;
1
+ /// <reference types="react" />
2
+ import { BaseComponentProps } from '../types';
3
+ declare function MapControlToolbar(): import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("styled-components/dist/types").FastOmit<{
4
+ show?: boolean | undefined;
5
+ } & import("react").HTMLAttributes<unknown> & {
6
+ children?: import("react").ReactNode;
7
+ }, "show" | keyof import("react").HTMLAttributes<unknown>> & {
8
+ show?: boolean | undefined;
9
+ } & import("react").HTMLAttributes<unknown> & {
10
+ children?: import("react").ReactNode;
11
+ }, BaseComponentProps>> & Omit<import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<{
12
+ show?: boolean | undefined;
13
+ } & import("react").HTMLAttributes<unknown> & {
14
+ children?: import("react").ReactNode;
15
+ }, import("../common/toolbar").ToolbarProps>> & Omit<import("styled-components").IStyledComponent<"web", import("../common/toolbar").ToolbarProps>, keyof import("react").Component<any, {}, any>>, keyof import("react").Component<any, {}, any>>;
2
16
  export default MapControlToolbar;
@@ -15,4 +15,4 @@ function MapControlToolbar() {
15
15
  return StyledToolbar;
16
16
  }
17
17
  var _default = exports["default"] = MapControlToolbar;
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3ZlcnRpY2FsVG9vbGJhciIsIl90ZW1wbGF0ZU9iamVjdCIsIk1hcENvbnRyb2xUb29sYmFyIiwiU3R5bGVkVG9vbGJhciIsInN0eWxlZCIsIlZlcnRpY2FsVG9vbGJhciIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9tYXAtY29udHJvbC10b29sYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBWZXJ0aWNhbFRvb2xiYXIgZnJvbSAnLi4vY29tbW9uL3ZlcnRpY2FsLXRvb2xiYXInO1xuXG5mdW5jdGlvbiBNYXBDb250cm9sVG9vbGJhcigpIHtcbiAgY29uc3QgU3R5bGVkVG9vbGJhciA9IHN0eWxlZChWZXJ0aWNhbFRvb2xiYXIpYFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzJweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNTAlICsgNDVweCkpO1xuXG4gICAgLnRvb2xiYXItaXRlbSB7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBwYWRkaW5nOiAxM3B4IDE2cHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAudG9vbGJhci1pdGVtX19zdmctY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAudG9vbGJhci1pdGVtX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICBgO1xuXG4gIHJldHVybiBTdHlsZWRUb29sYmFyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBDb250cm9sVG9vbGJhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUF5RCxJQUFBRSxlQUFBLEVBSnpEO0FBQ0E7QUFLQSxTQUFTQyxpQkFBaUJBLENBQUEsRUFBRztFQUMzQixJQUFNQyxhQUFhLEdBQUcsSUFBQUMsNEJBQU0sRUFBQ0MsMkJBQWUsQ0FBQyxDQUFBSixlQUFBLEtBQUFBLGVBQUEsT0FBQUssdUJBQUEsNmRBc0I1QztFQUVELE9BQU9ILGFBQWE7QUFDdEI7QUFBQyxJQUFBSSxRQUFBLEdBQUFDLE9BQUEsY0FFY04saUJBQWlCIiwiaWdub3JlTGlzdCI6W119
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3ZlcnRpY2FsVG9vbGJhciIsIl90ZW1wbGF0ZU9iamVjdCIsIk1hcENvbnRyb2xUb29sYmFyIiwiU3R5bGVkVG9vbGJhciIsInN0eWxlZCIsIlZlcnRpY2FsVG9vbGJhciIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9tYXAtY29udHJvbC10b29sYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBWZXJ0aWNhbFRvb2xiYXIgZnJvbSAnLi4vY29tbW9uL3ZlcnRpY2FsLXRvb2xiYXInO1xuaW1wb3J0IHtCYXNlQ29tcG9uZW50UHJvcHN9IGZyb20gJy4uL3R5cGVzJztcblxuZnVuY3Rpb24gTWFwQ29udHJvbFRvb2xiYXIoKSB7XG4gIGNvbnN0IFN0eWxlZFRvb2xiYXIgPSBzdHlsZWQoVmVydGljYWxUb29sYmFyKTxCYXNlQ29tcG9uZW50UHJvcHM+YFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzJweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNTAlICsgNDVweCkpO1xuXG4gICAgLnRvb2xiYXItaXRlbSB7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBwYWRkaW5nOiAxM3B4IDE2cHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAudG9vbGJhci1pdGVtX19zdmctY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAudG9vbGJhci1pdGVtX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICBgO1xuXG4gIHJldHVybiBTdHlsZWRUb29sYmFyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBDb250cm9sVG9vbGJhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUF5RCxJQUFBRSxlQUFBLEVBSnpEO0FBQ0E7QUFNQSxTQUFTQyxpQkFBaUJBLENBQUEsRUFBRztFQUMzQixJQUFNQyxhQUFhLEdBQUcsSUFBQUMsNEJBQU0sRUFBQ0MsMkJBQWUsQ0FBQyxDQUFBSixlQUFBLEtBQUFBLGVBQUEsT0FBQUssdUJBQUEsNmRBc0I1QztFQUVELE9BQU9ILGFBQWE7QUFDdEI7QUFBQyxJQUFBSSxRQUFBLEdBQUFDLE9BQUEsY0FFY04saUJBQWlCIiwiaWdub3JlTGlzdCI6W119
@@ -1,10 +1,11 @@
1
1
  import React, { ComponentType } from 'react';
2
- import MapControlTooltipFactory from './map-control-tooltip';
2
+ import { ActionHandler, toggleSplitMapViewport } from '@kepler.gl/actions';
3
+ import { Layer } from '@kepler.gl/layers';
4
+ import { LayerVisConfig, MapControls, MapState } from '@kepler.gl/types';
5
+ import { MapLegendControlSettings } from '../hooks/use-legend-position';
3
6
  import MapControlPanelFactory from './map-control-panel';
7
+ import MapControlTooltipFactory from './map-control-tooltip';
4
8
  import MapLegendFactory from './map-legend';
5
- import { LayerVisConfig, MapControls, MapState } from '@kepler.gl/types';
6
- import { Layer } from '@kepler.gl/layers';
7
- import { ActionHandler, toggleSplitMapViewport } from '@kepler.gl/actions';
8
9
  export declare type MapLegendPanelFactoryDeps = [
9
10
  typeof MapControlTooltipFactory,
10
11
  typeof MapControlPanelFactory,
@@ -23,42 +24,16 @@ export declare type MapLegendPanelProps = {
23
24
  actionIcons: MapLegendPanelIcons;
24
25
  mapControls: MapControls;
25
26
  mapState?: MapState;
26
- mapHeight?: number;
27
- offsetRight?: number;
27
+ onLayerVisConfigChange?: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
28
28
  onToggleSplitMapViewport?: ActionHandler<typeof toggleSplitMapViewport>;
29
29
  isViewportUnsyncAllowed?: boolean;
30
30
  onClickControlBtn?: (e?: MouseEvent) => void;
31
- onLayerVisConfigChange?: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
32
31
  className: string;
32
+ settings: MapLegendControlSettings;
33
+ isSidePanelShown: boolean;
33
34
  };
34
- declare function MapLegendPanelFactory(MapControlTooltip: any, MapControlPanel: any, MapLegend: any): React.ForwardRefExoticComponent<{
35
- className: string;
36
- scale: number;
37
- layers: readonly Layer[];
38
- logoComponent: Element;
39
- onToggleMapControl: (control: string) => void;
40
- isExport: boolean;
41
- actionIcons: MapLegendPanelIcons;
42
- mapControls: MapControls;
43
- mapState?: MapState | undefined;
44
- mapHeight?: number | undefined;
45
- offsetRight?: number | undefined;
46
- onToggleSplitMapViewport?: ActionHandler<(payload: {
47
- isViewportSynced?: boolean | undefined;
48
- isZoomLocked?: boolean | undefined;
49
- }) => {
50
- payload: {
51
- isViewportSynced?: boolean | undefined;
52
- isZoomLocked?: boolean | undefined;
53
- };
54
- type: "@@kepler.gl/TOGGLE_SPLIT_MAP_VIEWPORT";
55
- }> | undefined;
56
- isViewportUnsyncAllowed?: boolean | undefined;
57
- onClickControlBtn?: ((e?: MouseEvent | undefined) => void) | undefined;
58
- onLayerVisConfigChange?: ((oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void) | undefined;
59
- } & {
60
- theme?: any;
61
- }>;
35
+ declare type MapLegendPanelComponentType = React.FC<MapLegendPanelProps>;
36
+ declare function MapLegendPanelFactory(MapControlTooltip: ReturnType<typeof MapControlTooltipFactory>, MapControlPanel: ReturnType<typeof MapControlPanelFactory>, MapLegend: ReturnType<typeof MapLegendFactory>): MapLegendPanelComponentType;
62
37
  declare namespace MapLegendPanelFactory {
63
38
  var deps: (typeof MapControlTooltipFactory | typeof MapControlPanelFactory | typeof MapLegendFactory)[];
64
39
  }