@kepler.gl/components 3.0.0-alpha.1 → 3.0.0-alpha.2

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 (418) hide show
  1. package/dist/bottom-widget.js +1 -21
  2. package/dist/common/action-panel.js +1 -21
  3. package/dist/common/animation-control/animation-control.js +1 -21
  4. package/dist/common/animation-control/animation-controller.js +1 -21
  5. package/dist/common/animation-control/animation-speed-slider.js +1 -21
  6. package/dist/common/animation-control/animation-window-control.js +3 -21
  7. package/dist/common/animation-control/floating-time-display.js +1 -21
  8. package/dist/common/animation-control/play-control.js +3 -21
  9. package/dist/common/animation-control/playback-controls.js +1 -21
  10. package/dist/common/animation-control/reset-control.js +3 -21
  11. package/dist/common/animation-control/speed-control.js +1 -21
  12. package/dist/common/animation-control/window-action-control.js +3 -21
  13. package/dist/common/checkbox.js +1 -21
  14. package/dist/common/color-legend.js +1 -21
  15. package/dist/common/data-table/button.js +1 -21
  16. package/dist/common/data-table/canvas.js +1 -21
  17. package/dist/common/data-table/cell-size.js +1 -21
  18. package/dist/common/data-table/display-format.js +1 -21
  19. package/dist/common/data-table/grid.js +1 -21
  20. package/dist/common/data-table/header-cell.js +1 -21
  21. package/dist/common/data-table/index.js +1 -21
  22. package/dist/common/data-table/option-dropdown.js +1 -21
  23. package/dist/common/dataset-label.js +1 -21
  24. package/dist/common/error-boundary.js +1 -21
  25. package/dist/common/field-selector.d.ts +1 -0
  26. package/dist/common/field-selector.js +3 -21
  27. package/dist/common/field-token.d.ts +4 -0
  28. package/dist/common/field-token.js +1 -21
  29. package/dist/common/file-uploader/file-drop.js +1 -21
  30. package/dist/common/file-uploader/file-upload-progress.js +1 -21
  31. package/dist/common/file-uploader/file-upload.js +1 -21
  32. package/dist/common/file-uploader/upload-button.js +1 -21
  33. package/dist/common/flex-container.d.ts +3 -0
  34. package/dist/common/flex-container.js +23 -0
  35. package/dist/common/histogram-plot.js +1 -21
  36. package/dist/common/icon-button.d.ts +1 -1
  37. package/dist/common/icon-button.js +1 -21
  38. package/dist/common/icons/add.js +1 -21
  39. package/dist/common/icons/anchor_window.js +6 -22
  40. package/dist/common/icons/arrow-down-alt.js +1 -21
  41. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  42. package/dist/common/icons/arrow-down-small.js +72 -0
  43. package/dist/common/icons/arrow-down-solid.js +1 -21
  44. package/dist/common/icons/arrow-down.js +1 -21
  45. package/dist/common/icons/arrow-left.js +1 -21
  46. package/dist/common/icons/arrow-right.js +1 -21
  47. package/dist/common/icons/arrow-up-alt.js +1 -21
  48. package/dist/common/icons/arrow-up-solid.js +1 -21
  49. package/dist/common/icons/arrow-up.js +1 -21
  50. package/dist/common/icons/base.js +1 -21
  51. package/dist/common/icons/bug.js +1 -21
  52. package/dist/common/icons/calendar.d.ts +10 -0
  53. package/dist/common/icons/calendar.js +66 -0
  54. package/dist/common/icons/cancel.js +1 -21
  55. package/dist/common/icons/checkmark.js +1 -21
  56. package/dist/common/icons/clipboard.js +1 -21
  57. package/dist/common/icons/clock.js +1 -21
  58. package/dist/common/icons/close.js +1 -21
  59. package/dist/common/icons/code-alt.js +1 -21
  60. package/dist/common/icons/copy.js +1 -21
  61. package/dist/common/icons/crosshairs.js +1 -21
  62. package/dist/common/icons/cube-3d.js +1 -21
  63. package/dist/common/icons/cursor-click.js +1 -21
  64. package/dist/common/icons/cursor-point.js +1 -21
  65. package/dist/common/icons/data-table.js +1 -21
  66. package/dist/common/icons/db.js +1 -21
  67. package/dist/common/icons/delete.js +1 -21
  68. package/dist/common/icons/docs.js +1 -21
  69. package/dist/common/icons/drag-n-drop.js +1 -21
  70. package/dist/common/icons/draw-polygon.js +1 -21
  71. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  72. package/dist/common/icons/effects/brightness-contrast.js +88 -0
  73. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  74. package/dist/common/icons/effects/color-halftone.js +127 -0
  75. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  76. package/dist/common/icons/effects/dot-screen.js +122 -0
  77. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  78. package/dist/common/icons/effects/edge-work.js +81 -0
  79. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  80. package/dist/common/icons/effects/hexagonal-pixelate.js +148 -0
  81. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  82. package/dist/common/icons/effects/hue-saturation.js +79 -0
  83. package/dist/common/icons/effects/ink.d.ts +14 -0
  84. package/dist/common/icons/effects/ink.js +78 -0
  85. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  86. package/dist/common/icons/effects/light-and-shadow.js +67 -0
  87. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  88. package/dist/common/icons/effects/magic-wand.js +79 -0
  89. package/dist/common/icons/effects/magnify.d.ts +14 -0
  90. package/dist/common/icons/effects/magnify.js +86 -0
  91. package/dist/common/icons/effects/noise.d.ts +14 -0
  92. package/dist/common/icons/effects/noise.js +132 -0
  93. package/dist/common/icons/effects/sepia.d.ts +14 -0
  94. package/dist/common/icons/effects/sepia.js +79 -0
  95. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  96. package/dist/common/icons/effects/tilt-shift.js +88 -0
  97. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  98. package/dist/common/icons/effects/triangle-blur.js +83 -0
  99. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  100. package/dist/common/icons/effects/vibrance.js +79 -0
  101. package/dist/common/icons/effects/vignette.d.ts +14 -0
  102. package/dist/common/icons/effects/vignette.js +72 -0
  103. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  104. package/dist/common/icons/effects/zoom-blur.js +107 -0
  105. package/dist/common/icons/email.js +1 -21
  106. package/dist/common/icons/expand.js +1 -21
  107. package/dist/common/icons/eye-seen.js +1 -21
  108. package/dist/common/icons/eye-unseen.js +1 -21
  109. package/dist/common/icons/file-type.js +1 -21
  110. package/dist/common/icons/file.js +1 -21
  111. package/dist/common/icons/files.js +1 -21
  112. package/dist/common/icons/filter-funnel.js +1 -21
  113. package/dist/common/icons/free-window.js +6 -22
  114. package/dist/common/icons/gear.js +1 -21
  115. package/dist/common/icons/globe.d.ts +15 -0
  116. package/dist/common/icons/globe.js +72 -0
  117. package/dist/common/icons/hash.js +1 -21
  118. package/dist/common/icons/histogram.js +1 -21
  119. package/dist/common/icons/index.d.ts +25 -0
  120. package/dist/common/icons/index.js +201 -21
  121. package/dist/common/icons/info.js +1 -21
  122. package/dist/common/icons/layers.js +1 -21
  123. package/dist/common/icons/left-arrow.js +1 -21
  124. package/dist/common/icons/legend.js +1 -21
  125. package/dist/common/icons/line-chart.js +1 -21
  126. package/dist/common/icons/location-marker.d.ts +14 -0
  127. package/dist/common/icons/location-marker.js +77 -0
  128. package/dist/common/icons/login.js +1 -21
  129. package/dist/common/icons/logout.js +1 -21
  130. package/dist/common/icons/map-icon.js +1 -21
  131. package/dist/common/icons/map.js +1 -21
  132. package/dist/common/icons/messages.js +1 -21
  133. package/dist/common/icons/minus.js +1 -21
  134. package/dist/common/icons/moon.d.ts +14 -0
  135. package/dist/common/icons/moon.js +77 -0
  136. package/dist/common/icons/order-by-dataset.js +6 -22
  137. package/dist/common/icons/order-by-list.js +6 -22
  138. package/dist/common/icons/pause.js +1 -21
  139. package/dist/common/icons/picture.js +1 -21
  140. package/dist/common/icons/pin.js +1 -21
  141. package/dist/common/icons/play.js +1 -21
  142. package/dist/common/icons/polygon.js +1 -21
  143. package/dist/common/icons/rectangle.js +1 -21
  144. package/dist/common/icons/reduce.js +1 -21
  145. package/dist/common/icons/reset.js +1 -21
  146. package/dist/common/icons/rocket.js +1 -21
  147. package/dist/common/icons/save.js +1 -21
  148. package/dist/common/icons/save2.js +1 -21
  149. package/dist/common/icons/search.js +1 -21
  150. package/dist/common/icons/settings.js +1 -21
  151. package/dist/common/icons/share.js +1 -21
  152. package/dist/common/icons/split.js +1 -21
  153. package/dist/common/icons/square-select.js +1 -21
  154. package/dist/common/icons/sun.d.ts +14 -0
  155. package/dist/common/icons/sun.js +93 -0
  156. package/dist/common/icons/sunrise.d.ts +14 -0
  157. package/dist/common/icons/sunrise.js +89 -0
  158. package/dist/common/icons/sunset.d.ts +14 -0
  159. package/dist/common/icons/sunset.js +89 -0
  160. package/dist/common/icons/trash.js +1 -21
  161. package/dist/common/icons/vert-dots.js +1 -21
  162. package/dist/common/icons/vert-three-dots.js +1 -21
  163. package/dist/common/icons/warning-sign.js +1 -21
  164. package/dist/common/icons/warning.js +1 -21
  165. package/dist/common/image-preview.js +1 -21
  166. package/dist/common/index.js +1 -21
  167. package/dist/common/info-helper.js +1 -21
  168. package/dist/common/item-selector/accessor.js +5 -22
  169. package/dist/common/item-selector/chickleted-input.d.ts +1 -0
  170. package/dist/common/item-selector/chickleted-input.js +104 -44
  171. package/dist/common/item-selector/dropdown-list.d.ts +2 -0
  172. package/dist/common/item-selector/dropdown-list.js +10 -25
  173. package/dist/common/item-selector/item-selector.d.ts +3 -0
  174. package/dist/common/item-selector/item-selector.js +11 -23
  175. package/dist/common/item-selector/typeahead.js +1 -21
  176. package/dist/common/line-chart.js +1 -21
  177. package/dist/common/loading-spinner.js +1 -21
  178. package/dist/common/logo.js +1 -21
  179. package/dist/common/map-layer-selector.js +1 -21
  180. package/dist/common/modal.js +25 -28
  181. package/dist/common/portaled.d.ts +15 -2
  182. package/dist/common/portaled.js +1 -21
  183. package/dist/common/progress-bar.js +1 -21
  184. package/dist/common/range-brush.js +1 -21
  185. package/dist/common/range-plot.js +1 -21
  186. package/dist/common/range-slider.d.ts +1 -1
  187. package/dist/common/range-slider.js +1 -21
  188. package/dist/common/slider/mouse-event.js +6 -22
  189. package/dist/common/slider/slider-bar-handle.js +1 -21
  190. package/dist/common/slider/slider-handle.js +1 -21
  191. package/dist/common/slider/slider.js +1 -21
  192. package/dist/common/styled-components.d.ts +3 -3
  193. package/dist/common/styled-components.js +26 -47
  194. package/dist/common/switch.js +1 -21
  195. package/dist/common/time-range-slider-time-title.js +1 -21
  196. package/dist/common/time-range-slider.js +1 -21
  197. package/dist/common/time-slider-marker.js +1 -21
  198. package/dist/common/timeline-slider.js +1 -21
  199. package/dist/common/tippy-tooltip.js +1 -21
  200. package/dist/common/toolbar-item.js +1 -21
  201. package/dist/common/toolbar.js +1 -21
  202. package/dist/common/vertical-toolbar.js +1 -21
  203. package/dist/connect/keplergl-connect.js +6 -22
  204. package/dist/connect/with-local-selector.js +1 -21
  205. package/dist/container.js +1 -21
  206. package/dist/context.d.ts +11 -0
  207. package/dist/context.js +18 -23
  208. package/dist/dnd-context.d.ts +1 -1
  209. package/dist/dnd-context.js +32 -127
  210. package/dist/editor/editor.js +1 -21
  211. package/dist/editor/feature-action-panel.js +28 -79
  212. package/dist/effects/compact-color-picker.d.ts +10 -0
  213. package/dist/effects/compact-color-picker.js +130 -0
  214. package/dist/effects/effect-configurator.d.ts +4 -5
  215. package/dist/effects/effect-configurator.js +183 -118
  216. package/dist/effects/effect-list.js +2 -22
  217. package/dist/effects/effect-manager.d.ts +2 -1
  218. package/dist/effects/effect-manager.js +43 -30
  219. package/dist/effects/effect-panel-header.d.ts +14 -2
  220. package/dist/effects/effect-panel-header.js +82 -50
  221. package/dist/effects/effect-panel.js +30 -43
  222. package/dist/effects/effect-time-configurator.d.ts +14 -7
  223. package/dist/effects/effect-time-configurator.js +258 -109
  224. package/dist/effects/effect-time-selector.d.ts +16 -0
  225. package/dist/effects/effect-time-selector.js +181 -0
  226. package/dist/effects/effect-time-slider.d.ts +34 -0
  227. package/dist/effects/effect-time-slider.js +220 -0
  228. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  229. package/dist/effects/effect-type-dropdown-list.js +77 -0
  230. package/dist/effects/effect-type-list-item.d.ts +22 -0
  231. package/dist/effects/effect-type-list-item.js +105 -0
  232. package/dist/effects/effect-type-selector.d.ts +22 -3
  233. package/dist/effects/effect-type-selector.js +58 -83
  234. package/dist/effects/side-panel-title.js +1 -21
  235. package/dist/effects/timezone-selector.d.ts +19 -0
  236. package/dist/effects/timezone-selector.js +71 -0
  237. package/dist/filter-animation-controller.js +3 -21
  238. package/dist/filters/components.js +1 -21
  239. package/dist/filters/filter-panels/filter-panel-with-field-select.js +6 -22
  240. package/dist/filters/filter-panels/multi-select-filter-panel.js +6 -22
  241. package/dist/filters/filter-panels/new-filter-panel.js +6 -22
  242. package/dist/filters/filter-panels/polygon-filter-panel.js +6 -22
  243. package/dist/filters/filter-panels/range-filter-panel.js +6 -22
  244. package/dist/filters/filter-panels/single-select-filter-panel.js +6 -22
  245. package/dist/filters/filter-panels/time-range-filter-panel.js +1 -21
  246. package/dist/filters/filter-panels/types.js +0 -20
  247. package/dist/filters/index.js +1 -21
  248. package/dist/filters/multi-select-filter.js +6 -22
  249. package/dist/filters/polygon-filter.js +6 -22
  250. package/dist/filters/range-filter.js +6 -22
  251. package/dist/filters/single-select-filter.js +6 -22
  252. package/dist/filters/time-range-filter.js +7 -22
  253. package/dist/filters/time-widget-top.js +1 -21
  254. package/dist/filters/time-widget.js +1 -21
  255. package/dist/filters/types.js +0 -20
  256. package/dist/geocoder/geocoder.js +10 -27
  257. package/dist/geocoder-panel.js +1 -21
  258. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  259. package/dist/hooks/use-cloud-list-provider.js +57 -0
  260. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  261. package/dist/hooks/use-dnd-effects.js +88 -0
  262. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  263. package/dist/hooks/use-dnd-layers.js +95 -0
  264. package/dist/hooks/use-feature-flags.d.ts +5 -0
  265. package/dist/hooks/use-feature-flags.js +21 -0
  266. package/dist/index.d.ts +10 -1
  267. package/dist/index.js +103 -24
  268. package/dist/injector.js +1 -21
  269. package/dist/kepler-gl.d.ts +2 -1
  270. package/dist/kepler-gl.js +13 -25
  271. package/dist/layer-animation-controller.js +3 -21
  272. package/dist/map/coordinate-info.js +6 -22
  273. package/dist/map/effects/effect-control.d.ts +1 -1
  274. package/dist/map/effects/effect-control.js +5 -23
  275. package/dist/map/layer-hover-info.js +2 -22
  276. package/dist/map/layer-selector-panel.js +6 -22
  277. package/dist/map/lazy-tippy.js +1 -21
  278. package/dist/map/locale-panel.js +6 -22
  279. package/dist/map/map-control-panel.js +1 -21
  280. package/dist/map/map-control-toolbar.js +1 -21
  281. package/dist/map/map-control-tooltip.js +6 -22
  282. package/dist/map/map-control.js +1 -21
  283. package/dist/map/map-draw-panel.js +6 -22
  284. package/dist/map/map-legend-panel.js +6 -22
  285. package/dist/map/map-legend.js +1 -21
  286. package/dist/map/map-popover-content.js +6 -22
  287. package/dist/map/map-popover.js +1 -21
  288. package/dist/map/split-map-button.js +6 -22
  289. package/dist/map/toggle-3d-button.js +6 -22
  290. package/dist/map-container.d.ts +1 -1
  291. package/dist/map-container.js +33 -52
  292. package/dist/map-view-state-context.d.ts +6 -1
  293. package/dist/map-view-state-context.js +34 -33
  294. package/dist/maps-layout.js +1 -21
  295. package/dist/modal-container.d.ts +2 -2
  296. package/dist/modal-container.js +13 -72
  297. package/dist/modals/add-map-style-modal.js +8 -72
  298. package/dist/modals/cloud-components/cloud-header.d.ts +8 -0
  299. package/dist/modals/cloud-components/cloud-header.js +65 -0
  300. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  301. package/dist/modals/cloud-components/cloud-item.js +72 -0
  302. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  303. package/dist/modals/cloud-components/cloud-item.spec.js +105 -0
  304. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  305. package/dist/modals/cloud-components/cloud-maps.js +63 -0
  306. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  307. package/dist/modals/cloud-components/cloud-maps.spec.js +112 -0
  308. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  309. package/dist/modals/cloud-components/provider-loading.js +29 -0
  310. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  311. package/dist/modals/cloud-components/provider-select.js +40 -0
  312. package/dist/modals/cloud-tile.d.ts +8 -8
  313. package/dist/modals/cloud-tile.js +184 -75
  314. package/dist/modals/data-table-modal.js +1 -21
  315. package/dist/modals/delete-data-modal.js +1 -21
  316. package/dist/modals/error-display.js +15 -26
  317. package/dist/modals/export-data-modal.js +1 -21
  318. package/dist/modals/export-image-modal.js +1 -21
  319. package/dist/modals/export-map-modal/components.js +1 -21
  320. package/dist/modals/export-map-modal/export-html-map.js +1 -21
  321. package/dist/modals/export-map-modal/export-json-map.js +1 -21
  322. package/dist/modals/export-map-modal/export-map-modal.js +6 -22
  323. package/dist/modals/image-modal-container.d.ts +1 -3
  324. package/dist/modals/image-modal-container.js +12 -34
  325. package/dist/modals/load-data-modal.d.ts +0 -5
  326. package/dist/modals/load-data-modal.js +1 -21
  327. package/dist/modals/load-storage-map.d.ts +3 -24
  328. package/dist/modals/load-storage-map.js +69 -282
  329. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  330. package/dist/modals/load-storage-map.spec.js +237 -0
  331. package/dist/modals/loading-dialog.js +1 -21
  332. package/dist/modals/modal-dialog.js +6 -22
  333. package/dist/modals/modal-tabs.js +1 -21
  334. package/dist/modals/overwrite-map-modal.d.ts +2 -2
  335. package/dist/modals/overwrite-map-modal.js +39 -32
  336. package/dist/modals/save-map-modal.d.ts +3 -5
  337. package/dist/modals/save-map-modal.js +99 -119
  338. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  339. package/dist/modals/save-map-modal.spec.js +218 -0
  340. package/dist/modals/share-map-modal.d.ts +1 -5
  341. package/dist/modals/share-map-modal.js +57 -81
  342. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  343. package/dist/modals/share-map-modal.spec.js +202 -0
  344. package/dist/modals/status-panel.js +1 -21
  345. package/dist/modals/storage-map-viewer.js +1 -21
  346. package/dist/notification-panel/notification-item.js +1 -21
  347. package/dist/notification-panel.js +1 -21
  348. package/dist/plot-container.js +7 -27
  349. package/dist/side-panel/add-by-dataset-button.js +1 -21
  350. package/dist/side-panel/cloud-storage-dropdown.js +6 -22
  351. package/dist/side-panel/common/dataset-info.js +1 -21
  352. package/dist/side-panel/common/dataset-tag.js +1 -21
  353. package/dist/side-panel/common/dataset-title.js +1 -21
  354. package/dist/side-panel/common/source-data-catalog.js +1 -21
  355. package/dist/side-panel/common/source-data-selector.js +6 -22
  356. package/dist/side-panel/common/types.js +0 -20
  357. package/dist/side-panel/custom-panel.js +6 -22
  358. package/dist/side-panel/filter-manager.js +1 -21
  359. package/dist/side-panel/filter-panel/add-filter-button.js +6 -22
  360. package/dist/side-panel/filter-panel/filter-panel-header.js +2 -22
  361. package/dist/side-panel/filter-panel/filter-panel.js +1 -21
  362. package/dist/side-panel/interaction-manager.js +6 -22
  363. package/dist/side-panel/interaction-panel/brush-config.js +1 -21
  364. package/dist/side-panel/interaction-panel/interaction-panel.js +1 -21
  365. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +8 -0
  366. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +46 -27
  367. package/dist/side-panel/interaction-panel/tooltip-config.js +41 -52
  368. package/dist/side-panel/layer-manager.d.ts +5 -0
  369. package/dist/side-panel/layer-manager.js +3 -22
  370. package/dist/side-panel/layer-panel/add-layer-button.js +6 -22
  371. package/dist/side-panel/layer-panel/color-palette.js +1 -21
  372. package/dist/side-panel/layer-panel/color-range-selector.js +1 -21
  373. package/dist/side-panel/layer-panel/color-selector.js +1 -21
  374. package/dist/side-panel/layer-panel/column-selector.js +1 -21
  375. package/dist/side-panel/layer-panel/custom-palette.js +1 -21
  376. package/dist/side-panel/layer-panel/custom-picker.js +1 -21
  377. package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -22
  378. package/dist/side-panel/layer-panel/dataset-layer-section.js +1 -21
  379. package/dist/side-panel/layer-panel/dataset-section.js +1 -21
  380. package/dist/side-panel/layer-panel/dimension-scale-selector.js +6 -22
  381. package/dist/side-panel/layer-panel/how-to-button.js +1 -21
  382. package/dist/side-panel/layer-panel/layer-color-selector.js +6 -22
  383. package/dist/side-panel/layer-panel/layer-column-config.js +1 -21
  384. package/dist/side-panel/layer-panel/layer-config-group.js +1 -21
  385. package/dist/side-panel/layer-panel/layer-configurator.js +16 -24
  386. package/dist/side-panel/layer-panel/layer-error-message.js +1 -21
  387. package/dist/side-panel/layer-panel/layer-list.js +1 -21
  388. package/dist/side-panel/layer-panel/layer-panel-header.js +1 -21
  389. package/dist/side-panel/layer-panel/layer-panel.js +1 -21
  390. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +1 -21
  391. package/dist/side-panel/layer-panel/layer-type-list-item.js +1 -21
  392. package/dist/side-panel/layer-panel/layer-type-selector.js +1 -21
  393. package/dist/side-panel/layer-panel/single-color-palette.js +1 -21
  394. package/dist/side-panel/layer-panel/text-label-panel.js +1 -21
  395. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +1 -21
  396. package/dist/side-panel/layer-panel/vis-config-slider.js +1 -21
  397. package/dist/side-panel/layer-panel/vis-config-switch.js +1 -21
  398. package/dist/side-panel/map-manager.js +1 -21
  399. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +1 -21
  400. package/dist/side-panel/map-style-panel/map-layer-group-item.js +1 -21
  401. package/dist/side-panel/map-style-panel/map-layer-selector.js +1 -21
  402. package/dist/side-panel/map-style-panel/map-style-selector.js +1 -21
  403. package/dist/side-panel/panel-dropdown.js +1 -21
  404. package/dist/side-panel/panel-header-action.js +1 -21
  405. package/dist/side-panel/panel-header.js +2 -21
  406. package/dist/side-panel/panel-tab.js +1 -21
  407. package/dist/side-panel/panel-title.js +1 -21
  408. package/dist/side-panel/panel-toggle.js +1 -21
  409. package/dist/side-panel/panel-view-list-toggle.js +1 -21
  410. package/dist/side-panel/side-bar.js +1 -21
  411. package/dist/side-panel.js +7 -36
  412. package/dist/types.d.ts +2 -4
  413. package/dist/types.js +0 -20
  414. package/package.json +27 -24
  415. package/dist/hooks/useFeatureFlags.d.ts +0 -2
  416. package/dist/hooks/useFeatureFlags.js +0 -38
  417. package/dist/modals/provider-modal-container.d.ts +0 -23
  418. package/dist/modals/provider-modal-container.js +0 -101
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
21
+
22
+ var _itemSelector = _interopRequireDefault(require("../common/item-selector/item-selector"));
23
+
24
+ var _styledComponents2 = require("../common/styled-components");
25
+
26
+ var _dropdownList = require("../common/item-selector/dropdown-list");
27
+
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
29
+
30
+ var HEADER_ITEM_ID = 'HEADER_ITEM_ID';
31
+
32
+ var StyledEffectTimeSelector = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .item-selector {\n background-color: transparent;\n }\n .item-selector .item-selector__dropdown {\n padding: 0px;\n width: 110px;\n height: 30px;\n }\n border: 1px solid ", ";\n border-radius: 4px;\n :hover {\n border: 1px solid ", ";\n }\n .active {\n border: 1px solid ", ";\n border-radius: 4px 4px 0px 0px;\n }\n"])), function (props) {
33
+ return props.theme.inputBgd;
34
+ }, function (props) {
35
+ return props.theme.inputBgdHover;
36
+ }, function (props) {
37
+ return props.theme.activeColor;
38
+ });
39
+
40
+ var StyledLabel = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: ", ";\n height: 13px;\n display: flex;\n align-items: center;\n"])), function (props) {
41
+ return props.theme.effectPanelTextMain;
42
+ }, function (props) {
43
+ return props.theme.inputFontSize;
44
+ });
45
+
46
+ var DropdownListWrapper = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n background-color: ", ";\n display: flex;\n flex-wrap: wrap;\n padding: 0px;\n max-height: 160px;\n border-radius: 0px 0px 4px 4px;\n"])), function (props) {
47
+ return props.theme.dropdownList;
48
+ }, function (props) {
49
+ return props.theme.inputBgdHover;
50
+ });
51
+
52
+ var StyledDropdownListItem = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 10px 5px 9px 10px;\n width: 100%;\n :hover {\n background-color: ", ";\n cursor: pointer;\n }\n"])), function (props) {
53
+ return props.theme.effectPanelElementColorSelected;
54
+ }); // Generate time options for the dropdown with 30 min intervals.
55
+
56
+
57
+ var timeOptions = function () {
58
+ var m = (0, _momentTimezone["default"])().utcOffset(0);
59
+ m.set({
60
+ hour: 12,
61
+ minute: 0,
62
+ second: 0,
63
+ millisecond: 0
64
+ });
65
+ var out = [];
66
+
67
+ for (var i = 0; i < 48; i++) {
68
+ out.push({
69
+ name: m.format('hh:mm A'),
70
+ id: m.format('HH:mm')
71
+ });
72
+ m.add(30, 'minutes');
73
+ }
74
+
75
+ return out;
76
+ }();
77
+
78
+ var getDisplayOption = function getDisplayOption(op) {
79
+ return op.name;
80
+ };
81
+
82
+ var getOptionValue = function getOptionValue(op) {
83
+ return op.id;
84
+ };
85
+ /**
86
+ * A component to render TimePicker as the header for the dropdown component.
87
+ */
88
+
89
+
90
+ var EffectTimeListItem = function EffectTimeListItem(_ref) {
91
+ var value = _ref.value;
92
+
93
+ if ((value === null || value === void 0 ? void 0 : value.id) === HEADER_ITEM_ID) {
94
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledTimePicker, {
95
+ value: value.value,
96
+ onChange: value.onChange,
97
+ onClick: value.onClick,
98
+ disableClock: true,
99
+ format: 'hh:mm a'
100
+ });
101
+ }
102
+
103
+ return /*#__PURE__*/_react["default"].createElement(StyledLabel, null, value.name);
104
+ };
105
+
106
+ var EffectTimeDropdownList = function EffectTimeDropdownList(_ref2) {
107
+ var onOptionSelected = _ref2.onOptionSelected,
108
+ options = _ref2.options,
109
+ selectionIndex = _ref2.selectionIndex,
110
+ customListItemComponent = _ref2.customListItemComponent;
111
+ var onSelectOption = (0, _react.useCallback)(function (e, value) {
112
+ e.preventDefault();
113
+ onOptionSelected(value);
114
+ }, [onOptionSelected]);
115
+ var ListItemComponent = customListItemComponent;
116
+ return /*#__PURE__*/_react["default"].createElement(DropdownListWrapper, {
117
+ className: _dropdownList.classList.list
118
+ }, options.map(function (value, i) {
119
+ return /*#__PURE__*/_react["default"].createElement(StyledDropdownListItem, {
120
+ className: (0, _classnames["default"])('effect-type-selector__item', {
121
+ hover: selectionIndex === i
122
+ }),
123
+ key: "".concat(value.id, "_").concat(i),
124
+ onMouseDown: function onMouseDown(e) {
125
+ return onSelectOption(e, value);
126
+ },
127
+ onClick: function onClick(e) {
128
+ return onSelectOption(e, value);
129
+ }
130
+ }, /*#__PURE__*/_react["default"].createElement(ListItemComponent, {
131
+ value: value
132
+ }));
133
+ }));
134
+ };
135
+
136
+ EffectTimeSelectorFactory.deps = [];
137
+
138
+ function EffectTimeSelectorFactory() {
139
+ var EffectTimeSelector = function EffectTimeSelector(_ref3) {
140
+ var value = _ref3.value,
141
+ onChange = _ref3.onChange;
142
+ // Selected item is rendered as TimePicker in EffectTimeListItem
143
+ var selectedItems = (0, _react.useMemo)(function () {
144
+ return [{
145
+ id: HEADER_ITEM_ID,
146
+ value: value,
147
+ onChange: onChange,
148
+ onClick: function onClick(e) {
149
+ var _e$target;
150
+
151
+ // DatePicker is used as custom header.
152
+ // Don't open the dropdown when the user is editing time values directly.
153
+ var name = e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.name;
154
+
155
+ if (name === 'hour12' || name === 'minute' || name === 'amPm') {
156
+ e.stopPropagation();
157
+ }
158
+ }
159
+ }];
160
+ }, [value, onChange]);
161
+ return /*#__PURE__*/_react["default"].createElement(StyledEffectTimeSelector, null, /*#__PURE__*/_react["default"].createElement(_itemSelector["default"], {
162
+ selectedItems: selectedItems,
163
+ options: timeOptions,
164
+ multiSelect: false,
165
+ searchable: false,
166
+ placeholder: "",
167
+ filterOption: "name",
168
+ onChange: onChange,
169
+ getOptionValue: getOptionValue,
170
+ displayOption: getDisplayOption,
171
+ DropDownLineItemRenderComponent: EffectTimeListItem,
172
+ DropDownRenderComponent: EffectTimeDropdownList
173
+ }));
174
+ };
175
+
176
+ return (0, _styledComponents.withTheme)(EffectTimeSelector);
177
+ }
178
+
179
+ var _default = EffectTimeSelectorFactory;
180
+ exports["default"] = _default;
181
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC10aW1lLXNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6WyJIRUFERVJfSVRFTV9JRCIsIlN0eWxlZEVmZmVjdFRpbWVTZWxlY3RvciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJpbnB1dEJnZCIsImlucHV0QmdkSG92ZXIiLCJhY3RpdmVDb2xvciIsIlN0eWxlZExhYmVsIiwiZWZmZWN0UGFuZWxUZXh0TWFpbiIsImlucHV0Rm9udFNpemUiLCJEcm9wZG93bkxpc3RXcmFwcGVyIiwiZHJvcGRvd25MaXN0IiwiU3R5bGVkRHJvcGRvd25MaXN0SXRlbSIsImVmZmVjdFBhbmVsRWxlbWVudENvbG9yU2VsZWN0ZWQiLCJ0aW1lT3B0aW9ucyIsIm0iLCJ1dGNPZmZzZXQiLCJzZXQiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwibWlsbGlzZWNvbmQiLCJvdXQiLCJpIiwicHVzaCIsIm5hbWUiLCJmb3JtYXQiLCJpZCIsImFkZCIsImdldERpc3BsYXlPcHRpb24iLCJvcCIsImdldE9wdGlvblZhbHVlIiwiRWZmZWN0VGltZUxpc3RJdGVtIiwidmFsdWUiLCJvbkNoYW5nZSIsIm9uQ2xpY2siLCJFZmZlY3RUaW1lRHJvcGRvd25MaXN0Iiwib25PcHRpb25TZWxlY3RlZCIsIm9wdGlvbnMiLCJzZWxlY3Rpb25JbmRleCIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50Iiwib25TZWxlY3RPcHRpb24iLCJlIiwicHJldmVudERlZmF1bHQiLCJMaXN0SXRlbUNvbXBvbmVudCIsImNsYXNzTGlzdCIsImxpc3QiLCJtYXAiLCJob3ZlciIsIkVmZmVjdFRpbWVTZWxlY3RvckZhY3RvcnkiLCJkZXBzIiwiRWZmZWN0VGltZVNlbGVjdG9yIiwic2VsZWN0ZWRJdGVtcyIsInRhcmdldCIsInN0b3BQcm9wYWdhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNB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QSxXQUFXLEVBQUMsRUFMZDtBQU1FLE1BQUEsWUFBWSxFQUFDLE1BTmY7QUFPRSxNQUFBLFFBQVEsRUFBRW9CLFFBUFo7QUFRRSxNQUFBLGNBQWMsRUFBRUgsY0FSbEI7QUFTRSxNQUFBLGFBQWEsRUFBRUYsZ0JBVGpCO0FBVUUsTUFBQSwrQkFBK0IsRUFBRUcsa0JBVm5DO0FBV0UsTUFBQSx1QkFBdUIsRUFBRUk7QUFYM0IsTUFERixDQURGO0FBaUJELEdBeENEOztBQTBDQSxTQUFPLGlDQUFVZSxrQkFBVixDQUFQO0FBQ0Q7O2VBRWNGLHlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuXG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3InO1xuaW1wb3J0IHtTdHlsZWRUaW1lUGlja2VyfSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjbGFzc0xpc3R9IGZyb20gJy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2Ryb3Bkb3duLWxpc3QnO1xuXG5jb25zdCBIRUFERVJfSVRFTV9JRCA9ICdIRUFERVJfSVRFTV9JRCc7XG5cbmV4cG9ydCB0eXBlIEVmZmVjdFRpbWVTZWxlY3RvclByb3BzID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBvbkNoYW5nZTogKHN0cmluZykgPT4gdm9pZDtcbiAgdGhlbWU/OiBhbnk7XG59O1xuXG5jb25zdCBTdHlsZWRFZmZlY3RUaW1lU2VsZWN0b3IgPSBzdHlsZWQuZGl2YFxuICAuaXRlbS1zZWxlY3RvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLml0ZW0tc2VsZWN0b3IgLml0ZW0tc2VsZWN0b3JfX2Ryb3Bkb3duIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxuICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICA6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gIH1cbiAgLmFjdGl2ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5hY3RpdmVDb2xvcn07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwcHggMHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIGhlaWdodDogMTNweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IERyb3Bkb3duTGlzdFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdH07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMHB4O1xuICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDBweCA0cHggNHB4O1xuYDtcblxuY29uc3QgU3R5bGVkRHJvcGRvd25MaXN0SXRlbSA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDEwcHggNXB4IDlweCAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsRWxlbWVudENvbG9yU2VsZWN0ZWR9O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuLy8gR2VuZXJhdGUgdGltZSBvcHRpb25zIGZvciB0aGUgZHJvcGRvd24gd2l0aCAzMCBtaW4gaW50ZXJ2YWxzLlxuY29uc3QgdGltZU9wdGlvbnMgPSAoKCkgPT4ge1xuICBjb25zdCBtID0gbW9tZW50KCkudXRjT2Zmc2V0KDApO1xuICBtLnNldCh7aG91cjogMTIsIG1pbnV0ZTogMCwgc2Vjb25kOiAwLCBtaWxsaXNlY29uZDogMH0pO1xuXG4gIGNvbnN0IG91dDoge25hbWU6IHN0cmluZzsgaWQ6IHN0cmluZ31bXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IDQ4OyBpKyspIHtcbiAgICBvdXQucHVzaCh7bmFtZTogbS5mb3JtYXQoJ2hoOm1tIEEnKSwgaWQ6IG0uZm9ybWF0KCdISDptbScpfSk7XG4gICAgbS5hZGQoMzAsICdtaW51dGVzJyk7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn0pKCk7XG5cbmNvbnN0IGdldERpc3BsYXlPcHRpb24gPSBvcCA9PiBvcC5uYW1lO1xuY29uc3QgZ2V0T3B0aW9uVmFsdWUgPSBvcCA9PiBvcC5pZDtcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0byByZW5kZXIgVGltZVBpY2tlciBhcyB0aGUgaGVhZGVyIGZvciB0aGUgZHJvcGRvd24gY29tcG9uZW50LlxuICovXG5jb25zdCBFZmZlY3RUaW1lTGlzdEl0ZW0gPSAoe3ZhbHVlfSkgPT4ge1xuICBpZiAodmFsdWU/LmlkID09PSBIRUFERVJfSVRFTV9JRCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVGltZVBpY2tlclxuICAgICAgICB2YWx1ZT17dmFsdWUudmFsdWV9XG4gICAgICAgIG9uQ2hhbmdlPXt2YWx1ZS5vbkNoYW5nZX1cbiAgICAgICAgb25DbGljaz17dmFsdWUub25DbGlja31cbiAgICAgICAgZGlzYWJsZUNsb2NrPXt0cnVlfVxuICAgICAgICBmb3JtYXQ9eydoaDptbSBhJ31cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiA8U3R5bGVkTGFiZWw+e3ZhbHVlLm5hbWV9PC9TdHlsZWRMYWJlbD47XG59O1xuXG5jb25zdCBFZmZlY3RUaW1lRHJvcGRvd25MaXN0ID0gKHtcbiAgb25PcHRpb25TZWxlY3RlZCxcbiAgb3B0aW9ucyxcbiAgc2VsZWN0aW9uSW5kZXgsXG4gIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50XG59KSA9PiB7XG4gIGNvbnN0IG9uU2VsZWN0T3B0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGUsIHZhbHVlKSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvbk9wdGlvblNlbGVjdGVkKHZhbHVlKTtcbiAgICB9LFxuICAgIFtvbk9wdGlvblNlbGVjdGVkXVxuICApO1xuXG4gIGNvbnN0IExpc3RJdGVtQ29tcG9uZW50ID0gY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RHJvcGRvd25MaXN0V3JhcHBlciBjbGFzc05hbWU9e2NsYXNzTGlzdC5saXN0fT5cbiAgICAgIHtvcHRpb25zLm1hcCgodmFsdWUsIGkpID0+IChcbiAgICAgICAgPFN0eWxlZERyb3Bkb3duTGlzdEl0ZW1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ2VmZmVjdC10eXBlLXNlbGVjdG9yX19pdGVtJywge1xuICAgICAgICAgICAgaG92ZXI6IHNlbGVjdGlvbkluZGV4ID09PSBpXG4gICAgICAgICAgfSl9XG4gICAgICAgICAga2V5PXtgJHt2YWx1ZS5pZH1fJHtpfWB9XG4gICAgICAgICAgb25Nb3VzZURvd249e2UgPT4gb25TZWxlY3RPcHRpb24oZSwgdmFsdWUpfVxuICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gb25TZWxlY3RPcHRpb24oZSwgdmFsdWUpfVxuICAgICAgICA+XG4gICAgICAgICAgPExpc3RJdGVtQ29tcG9uZW50IHZhbHVlPXt2YWx1ZX0gLz5cbiAgICAgICAgPC9TdHlsZWREcm9wZG93bkxpc3RJdGVtPlxuICAgICAgKSl9XG4gICAgPC9Ecm9wZG93bkxpc3RXcmFwcGVyPlxuICApO1xufTtcblxuRWZmZWN0VGltZVNlbGVjdG9yRmFjdG9yeS5kZXBzID0gW107XG5cbmZ1bmN0aW9uIEVmZmVjdFRpbWVTZWxlY3RvckZhY3RvcnkoKSB7XG4gIGNvbnN0IEVmZmVjdFRpbWVTZWxlY3RvcjogUmVhY3QuRkM8RWZmZWN0VGltZVNlbGVjdG9yUHJvcHM+ID0gKHtcbiAgICB2YWx1ZSxcbiAgICBvbkNoYW5nZVxuICB9OiBFZmZlY3RUaW1lU2VsZWN0b3JQcm9wcykgPT4ge1xuICAgIC8vIFNlbGVjdGVkIGl0ZW0gaXMgcmVuZGVyZWQgYXMgVGltZVBpY2tlciBpbiBFZmZlY3RUaW1lTGlzdEl0ZW1cbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6IEhFQURFUl9JVEVNX0lELFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgIG9uQ2xpY2s6IGUgPT4ge1xuICAgICAgICAgICAgLy8gRGF0ZVBpY2tlciBpcyB1c2VkIGFzIGN1c3RvbSBoZWFkZXIuXG4gICAgICAgICAgICAvLyBEb24ndCBvcGVuIHRoZSBkcm9wZG93biB3aGVuIHRoZSB1c2VyIGlzIGVkaXRpbmcgdGltZSB2YWx1ZXMgZGlyZWN0bHkuXG4gICAgICAgICAgICBjb25zdCBuYW1lID0gZT8udGFyZ2V0Py5uYW1lO1xuICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdob3VyMTInIHx8IG5hbWUgPT09ICdtaW51dGUnIHx8IG5hbWUgPT09ICdhbVBtJykge1xuICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9LCBbdmFsdWUsIG9uQ2hhbmdlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEVmZmVjdFRpbWVTZWxlY3Rvcj5cbiAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3NlbGVjdGVkSXRlbXN9XG4gICAgICAgICAgb3B0aW9ucz17dGltZU9wdGlvbnN9XG4gICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgICAgICBmaWx0ZXJPcHRpb249XCJuYW1lXCJcbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgZ2V0T3B0aW9uVmFsdWU9e2dldE9wdGlvblZhbHVlfVxuICAgICAgICAgIGRpc3BsYXlPcHRpb249e2dldERpc3BsYXlPcHRpb259XG4gICAgICAgICAgRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudD17RWZmZWN0VGltZUxpc3RJdGVtfVxuICAgICAgICAgIERyb3BEb3duUmVuZGVyQ29tcG9uZW50PXtFZmZlY3RUaW1lRHJvcGRvd25MaXN0fVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRFZmZlY3RUaW1lU2VsZWN0b3I+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gd2l0aFRoZW1lKEVmZmVjdFRpbWVTZWxlY3Rvcik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVmZmVjdFRpbWVTZWxlY3RvckZhY3Rvcnk7XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import RangeSliderFactory from '../common/range-slider';
3
+ export declare type EffectTimeSliderConfig = {
4
+ dawn: number;
5
+ sunrise: number;
6
+ sunset: number;
7
+ dusk: number;
8
+ sunriseTime: string;
9
+ sunsetTime: string;
10
+ };
11
+ export declare type UIBlock = {
12
+ type: string;
13
+ width: number;
14
+ center: number;
15
+ start: number;
16
+ end: number;
17
+ text?: string;
18
+ TopRowIcon?: React.ElementType<any>;
19
+ BottomRowIcon?: React.ElementType<any>;
20
+ };
21
+ export declare type EffectTimeSliderProps = {
22
+ value: number;
23
+ onChange: (number: any) => void;
24
+ config: EffectTimeSliderConfig;
25
+ };
26
+ /**
27
+ * Generate rendering blocks for each part of the day.
28
+ */
29
+ export declare function getUIBlocks(config: EffectTimeSliderConfig): UIBlock[];
30
+ declare function EffectTimeSliderFactory(RangeSlider: ReturnType<typeof RangeSliderFactory>): React.FC<EffectTimeSliderProps>;
31
+ declare namespace EffectTimeSliderFactory {
32
+ var deps: (typeof RangeSliderFactory)[];
33
+ }
34
+ export default EffectTimeSliderFactory;
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.getUIBlocks = getUIBlocks;
11
+ exports["default"] = EffectTimeSliderFactory;
12
+
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+
15
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
16
+
17
+ var _react = _interopRequireWildcard(require("react"));
18
+
19
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
20
+
21
+ var _rangeSlider = _interopRequireDefault(require("../common/range-slider"));
22
+
23
+ var _icons = require("../common/icons");
24
+
25
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
26
+
27
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
28
+
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
+
31
+ var TimeSliderWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 48px;\n"])));
32
+
33
+ var TopRowWrapper = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 32px;\n display: flex;\n position: relative;\n align-items: center;\n\n .day {\n background-color: ", ";\n }\n .night {\n background-color: ", ";\n }\n .sunrise,\n .sunset {\n background-color: ", ";\n }\n .inline_icon__day {\n color: ", ";\n }\n .inline_icon__night {\n color: ", ";\n }\n"])), function (props) {
34
+ return props.theme.effectPanelElementColorHovered;
35
+ }, function (props) {
36
+ return props.theme.effectPanelElementColor;
37
+ }, function (props) {
38
+ return props.theme.effectPanelElementColorActive;
39
+ }, function (props) {
40
+ return props.theme.effectPanelElementColorSun;
41
+ }, function (props) {
42
+ return props.theme.effectPanelTextSecondary2;
43
+ });
44
+
45
+ var BottomRowWrapper = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n height: 16px;\n .bottom_icon__sunrise,\n .bottom_icon__sunset {\n color: ", ";\n }\n"])), function (props) {
46
+ return props.theme.effectPanelTextSecondary2;
47
+ });
48
+
49
+ var BackgroundBlock = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px;\n padding: 0px;\n width: ", ";\n height: 24px;\n pointer-events: none;\n"])), function (props) {
50
+ return props.width;
51
+ });
52
+
53
+ var StyledIcon = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 0px;\n left: calc(", "% - 8px);\n height: 32px;\n pointer-events: none;\n"])), function (props) {
54
+ return props.left;
55
+ });
56
+
57
+ var StyledBottomIcon = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 0px;\n left: calc(", "% - 27px);\n height: 12px;\n pointer-events: none;\n margin-top: 1px;\n display: flex;\n align-items: flex-end;\n"])), function (props) {
58
+ return props.left;
59
+ });
60
+
61
+ var RangeSliderWrapper = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n width: 100%;\n .kg-slider {\n padding-left: 6px;\n }\n .kg-range-slider {\n padding: 0px !important;\n background-color: transparent;\n }\n .kg-range-slider__bar {\n background-color: transparent;\n }\n .kg-range-slider__handle {\n height: 32px;\n width: 8px;\n margin-top: -14px;\n align-items: center;\n display: flex;\n justify-content: center;\n }\n .kg-range-slider__handle::after {\n margin-left: 1px;\n }\n .kg-range-slider__input {\n height: 32px;\n text-align: center;\n padding: 3px 6px;\n }\n"])));
62
+
63
+ var Text = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 3px;\n font-size: 10px;\n line-height: 11px;\n white-space: nowrap;\n"])));
64
+
65
+ var MODES = {
66
+ sunrise: 'sunrise',
67
+ day: 'day',
68
+ sunset: 'sunset',
69
+ night: 'night'
70
+ };
71
+ /**
72
+ * Generate rendering blocks for each part of the day.
73
+ */
74
+
75
+ function getUIBlocks(config) {
76
+ var dawn = config.dawn,
77
+ sunrise = config.sunrise,
78
+ sunset = config.sunset,
79
+ dusk = config.dusk;
80
+ if (dawn > sunrise) sunrise += 1;
81
+ if (dawn > sunset) sunset += 1;
82
+ if (dawn > dusk) dusk += 1;
83
+ var blocks = [{
84
+ start: dawn,
85
+ end: sunrise,
86
+ type: MODES.sunrise,
87
+ width: 0,
88
+ center: 0
89
+ }, {
90
+ start: sunrise,
91
+ end: sunset,
92
+ type: MODES.day,
93
+ width: 0,
94
+ center: 0
95
+ }, {
96
+ start: sunset,
97
+ end: dusk,
98
+ type: MODES.sunset,
99
+ width: 0,
100
+ center: 0
101
+ }, {
102
+ start: dusk,
103
+ end: dawn,
104
+ type: MODES.night,
105
+ width: 0,
106
+ center: 0
107
+ }];
108
+ var updatedBlocks = []; // sort and split ui blocks
109
+
110
+ blocks.forEach(function (block) {
111
+ if (block.start > block.end) {
112
+ block.end += 1;
113
+ }
114
+
115
+ if (block.start > 1 && block.end > 1) {
116
+ updatedBlocks.push(_objectSpread(_objectSpread({}, block), {}, {
117
+ start: block.start - 1,
118
+ end: block.end - 1
119
+ }));
120
+ } else if (block.end > 1) {
121
+ updatedBlocks.push(_objectSpread(_objectSpread({}, block), {}, {
122
+ end: 1
123
+ }));
124
+ updatedBlocks.push(_objectSpread(_objectSpread({}, block), {}, {
125
+ start: 0,
126
+ end: block.end - 1
127
+ }));
128
+ } else {
129
+ updatedBlocks.push(block);
130
+ }
131
+ });
132
+ updatedBlocks.sort(function (a, b) {
133
+ return a.start - b.start;
134
+ });
135
+ var existingBottomBlocks = {};
136
+ updatedBlocks.forEach(function (block) {
137
+ block.width = (block.end - block.start) * 100;
138
+ block.center = block.start * 100 + block.width / 2; // Don't display inline icons when day or night is too short.
139
+
140
+ if ((block.type === MODES.day || block.type === MODES.night) && block.width > 5) {
141
+ block.TopRowIcon = block.type === MODES.day ? _icons.Sun : _icons.Moon;
142
+ } // bottom row icons below the slider
143
+
144
+
145
+ if ((block.type === MODES.sunrise || block.type === MODES.sunset) && block.width > 0.1) {
146
+ // prevent duplicates for bottom row
147
+ var existingBlock = existingBottomBlocks[block.type];
148
+
149
+ if (existingBlock) {
150
+ if (existingBlock.width < block.width) existingBlock.BottomRowIcon = null;else if (existingBlock.width > block.width) return;
151
+ }
152
+
153
+ existingBottomBlocks[block.type] = block; // prevent bottom icon and labels
154
+
155
+ block.BottomRowIcon = block.type === MODES.sunrise ? _icons.Sunrise : _icons.Sunset;
156
+
157
+ if (block.center > 90) {
158
+ block.center = 90;
159
+ } else if (block.center < 10) {
160
+ block.center = 10;
161
+ }
162
+
163
+ block.text = block.type === MODES.sunrise ? config.sunriseTime : config.sunsetTime;
164
+ }
165
+ });
166
+ return updatedBlocks;
167
+ }
168
+
169
+ EffectTimeSliderFactory.deps = [_rangeSlider["default"]];
170
+
171
+ function EffectTimeSliderFactory(RangeSlider) {
172
+ var EffectTimeSlider = function EffectTimeSlider(_ref) {
173
+ var rangeSliderValue = _ref.value,
174
+ onChange = _ref.onChange,
175
+ config = _ref.config;
176
+ var uiBlocks = (0, _react.useMemo)(function () {
177
+ return getUIBlocks(config);
178
+ }, [config]);
179
+ var rangeSliderProps = (0, _react.useMemo)(function () {
180
+ return {
181
+ label: 'value',
182
+ value1: rangeSliderValue,
183
+ step: 0.001,
184
+ range: [0, 1],
185
+ value0: 0,
186
+ onChange: onChange,
187
+ showInput: false,
188
+ isRanged: false
189
+ };
190
+ }, [rangeSliderValue, onChange]);
191
+ return /*#__PURE__*/_react["default"].createElement(TimeSliderWrapper, null, /*#__PURE__*/_react["default"].createElement(TopRowWrapper, null, uiBlocks.map(function (block, index) {
192
+ return /*#__PURE__*/_react["default"].createElement(BackgroundBlock, {
193
+ key: index,
194
+ width: "".concat(block.width, "%"),
195
+ className: block.type
196
+ });
197
+ }), uiBlocks.map(function (block, index) {
198
+ return block.TopRowIcon ? /*#__PURE__*/_react["default"].createElement(StyledIcon, {
199
+ key: index,
200
+ left: block.center,
201
+ className: "inline_icon__".concat(block.type)
202
+ }, /*#__PURE__*/_react["default"].createElement(block.TopRowIcon, {
203
+ width: "16px",
204
+ height: "32px"
205
+ })) : null;
206
+ }), /*#__PURE__*/_react["default"].createElement(RangeSliderWrapper, null, /*#__PURE__*/_react["default"].createElement(RangeSlider, rangeSliderProps))), /*#__PURE__*/_react["default"].createElement(BottomRowWrapper, null, uiBlocks.map(function (block, index) {
207
+ return block.BottomRowIcon ? /*#__PURE__*/_react["default"].createElement(StyledBottomIcon, {
208
+ key: index,
209
+ left: block.center,
210
+ className: "bottom_icon__".concat(block.type)
211
+ }, /*#__PURE__*/_react["default"].createElement(block.BottomRowIcon, {
212
+ width: "12px",
213
+ height: "12px"
214
+ }), /*#__PURE__*/_react["default"].createElement(Text, null, block.text)) : null;
215
+ })));
216
+ };
217
+
218
+ return EffectTimeSlider;
219
+ }
220
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC10aW1lLXNsaWRlci50c3giXSwibmFtZXMiOlsiVGltZVNsaWRlcldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJUb3BSb3dXcmFwcGVyIiwicHJvcHMiLCJ0aGVtZSIsImVmZmVjdFBhbmVsRWxlbWVudENvbG9ySG92ZXJlZCIsImVmZmVjdFBhbmVsRWxlbWVudENvbG9yIiwiZWZmZWN0UGFuZWxFbGVtZW50Q29sb3JBY3RpdmUiLCJlZmZlY3RQYW5lbEVsZW1lbnRDb2xvclN1biIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTIiLCJCb3R0b21Sb3dXcmFwcGVyIiwiQmFja2dyb3VuZEJsb2NrIiwid2lkdGgiLCJTdHlsZWRJY29uIiwibGVmdCIsIlN0eWxlZEJvdHRvbUljb24iLCJSYW5nZVNsaWRlcldyYXBwZXIiLCJUZXh0IiwiTU9ERVMiLCJzdW5yaXNlIiwiZGF5Iiwic3Vuc2V0IiwibmlnaHQiLCJnZXRVSUJsb2NrcyIsImNvbmZpZyIsImRhd24iLCJkdXNrIiwiYmxvY2tzIiwic3RhcnQiLCJlbmQiLCJ0eXBlIiwiY2VudGVyIiwidXBkYXRlZEJsb2NrcyIsImZvckVhY2giLCJibG9jayIsInB1c2giLCJzb3J0IiwiYSIsImIiLCJleGlzdGluZ0JvdHRvbUJsb2NrcyIsIlRvcFJvd0ljb24iLCJTdW4iLCJNb29uIiwiZXhpc3RpbmdCbG9jayIsIkJvdHRvbVJvd0ljb24iLCJTdW5yaXNlIiwiU3Vuc2V0IiwidGV4dCIsInN1bnJpc2VUaW1lIiwic3Vuc2V0VGltZSIsIkVmZmVjdFRpbWVTbGlkZXJGYWN0b3J5IiwiZGVwcyIsIlJhbmdlU2xpZGVyRmFjdG9yeSIsIlJhbmdlU2xpZGVyIiwiRWZmZWN0VGltZVNsaWRlciIsInJhbmdlU2xpZGVyVmFsdWUiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwidWlCbG9ja3MiLCJyYW5nZVNsaWRlclByb3BzIiwibGFiZWwiLCJ2YWx1ZTEiLCJzdGVwIiwicmFuZ2UiLCJ2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bnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBSYW5nZVNsaWRlckZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL3JhbmdlLXNsaWRlcic7XG5pbXBvcnQge1N1biwgTW9vbiwgU3Vuc2V0LCBTdW5yaXNlfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RUaW1lU2xpZGVyQ29uZmlnID0ge1xuICBkYXduOiBudW1iZXI7XG4gIHN1bnJpc2U6IG51bWJlcjtcbiAgc3Vuc2V0OiBudW1iZXI7XG4gIGR1c2s6IG51bWJlcjtcbiAgc3VucmlzZVRpbWU6IHN0cmluZztcbiAgc3Vuc2V0VGltZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVUlCbG9jayA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICB3aWR0aDogbnVtYmVyO1xuICBjZW50ZXI6IG51bWJlcjtcbiAgc3RhcnQ6IG51bWJlcjtcbiAgZW5kOiBudW1iZXI7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIFRvcFJvd0ljb24/OiBSZWFjdC5FbGVtZW50VHlwZTxhbnk+O1xuICBCb3R0b21Sb3dJY29uPzogUmVhY3QuRWxlbWVudFR5cGU8YW55Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEVmZmVjdFRpbWVTbGlkZXJQcm9wcyA9IHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgb25DaGFuZ2U6IChudW1iZXIpID0+IHZvaWQ7XG4gIGNvbmZpZzogRWZmZWN0VGltZVNsaWRlckNvbmZpZztcbn07XG5cbmNvbnN0IFRpbWVTbGlkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbmA7XG5cbmNvbnN0IFRvcFJvd1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLmRheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbEVsZW1lbnRDb2xvckhvdmVyZWR9O1xuICB9XG4gIC5uaWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbEVsZW1lbnRDb2xvcn07XG4gIH1cbiAgLnN1bnJpc2UsXG4gIC5zdW5zZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxFbGVtZW50Q29sb3JBY3RpdmV9O1xuICB9XG4gIC5pbmxpbmVfaWNvbl9fZGF5IHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbEVsZW1lbnRDb2xvclN1bn07XG4gIH1cbiAgLmlubGluZV9pY29uX19uaWdodCB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5Mn07XG4gIH1cbmA7XG5cbmNvbnN0IEJvdHRvbVJvd1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTZweDtcbiAgLmJvdHRvbV9pY29uX19zdW5yaXNlLFxuICAuYm90dG9tX2ljb25fX3N1bnNldCB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5Mn07XG4gIH1cbmA7XG5cbnR5cGUgQmFja2dyb3VuZEJsb2NrUHJvcHMgPSB7d2lkdGg6IHN0cmluZ307XG5jb25zdCBCYWNrZ3JvdW5kQmxvY2sgPSBzdHlsZWQuZGl2PEJhY2tncm91bmRCbG9ja1Byb3BzPmBcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuYDtcblxudHlwZSBTdHlsZWRJY29uUHJvcHMgPSB7bGVmdDogbnVtYmVyfTtcbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQuZGl2PFN0eWxlZEljb25Qcm9wcz5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IGNhbGMoJHtwcm9wcyA9PiBwcm9wcy5sZWZ0fSUgLSA4cHgpO1xuICBoZWlnaHQ6IDMycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuYDtcblxudHlwZSBTdHlsZWRCb3R0b21JY29uUHJvcHMgPSB7bGVmdDogbnVtYmVyfTtcbmNvbnN0IFN0eWxlZEJvdHRvbUljb24gPSBzdHlsZWQuZGl2PFN0eWxlZEJvdHRvbUljb25Qcm9wcz5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IGNhbGMoJHtwcm9wcyA9PiBwcm9wcy5sZWZ0fSUgLSAyN3B4KTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBSYW5nZVNsaWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICAua2ctc2xpZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgfVxuICAua2ctcmFuZ2Utc2xpZGVyIHtcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAua2ctcmFuZ2Utc2xpZGVyX19iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5rZy1yYW5nZS1zbGlkZXJfX2hhbmRsZSB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogLTE0cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5rZy1yYW5nZS1zbGlkZXJfX2hhbmRsZTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gIH1cbiAgLmtnLXJhbmdlLXNsaWRlcl9faW5wdXQge1xuICAgIGhlaWdodDogMzJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogM3B4IDZweDtcbiAgfVxuYDtcblxuY29uc3QgVGV4dCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDExcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5gO1xuXG5jb25zdCBNT0RFUyA9IHtcbiAgc3VucmlzZTogJ3N1bnJpc2UnLFxuICBkYXk6ICdkYXknLFxuICBzdW5zZXQ6ICdzdW5zZXQnLFxuICBuaWdodDogJ25pZ2h0J1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZSByZW5kZXJpbmcgYmxvY2tzIGZvciBlYWNoIHBhcnQgb2YgdGhlIGRheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFVJQmxvY2tzKGNvbmZpZzogRWZmZWN0VGltZVNsaWRlckNvbmZpZyk6IFVJQmxvY2tbXSB7XG4gIGxldCB7ZGF3biwgc3VucmlzZSwgc3Vuc2V0LCBkdXNrfSA9IGNvbmZpZztcbiAgaWYgKGRhd24gPiBzdW5yaXNlKSBzdW5yaXNlICs9IDE7XG4gIGlmIChkYXduID4gc3Vuc2V0KSBzdW5zZXQgKz0gMTtcbiAgaWYgKGRhd24gPiBkdXNrKSBkdXNrICs9IDE7XG5cbiAgY29uc3QgYmxvY2tzID0gW1xuICAgIHtcbiAgICAgIHN0YXJ0OiBkYXduLFxuICAgICAgZW5kOiBzdW5yaXNlLFxuICAgICAgdHlwZTogTU9ERVMuc3VucmlzZSxcbiAgICAgIHdpZHRoOiAwLFxuICAgICAgY2VudGVyOiAwXG4gICAgfSxcbiAgICB7XG4gICAgICBzdGFydDogc3VucmlzZSxcbiAgICAgIGVuZDogc3Vuc2V0LFxuICAgICAgdHlwZTogTU9ERVMuZGF5LFxuICAgICAgd2lkdGg6IDAsXG4gICAgICBjZW50ZXI6IDBcbiAgICB9LFxuICAgIHtcbiAgICAgIHN0YXJ0OiBzdW5zZXQsXG4gICAgICBlbmQ6IGR1c2ssXG4gICAgICB0eXBlOiBNT0RFUy5zdW5zZXQsXG4gICAgICB3aWR0aDogMCxcbiAgICAgIGNlbnRlcjogMFxuICAgIH0sXG4gICAge1xuICAgICAgc3RhcnQ6IGR1c2ssXG4gICAgICBlbmQ6IGRhd24sXG4gICAgICB0eXBlOiBNT0RFUy5uaWdodCxcbiAgICAgIHdpZHRoOiAwLFxuICAgICAgY2VudGVyOiAwXG4gICAgfVxuICBdO1xuICBjb25zdCB1cGRhdGVkQmxvY2tzOiBVSUJsb2NrW10gPSBbXTtcblxuICAvLyBzb3J0IGFuZCBzcGxpdCB1aSBibG9ja3NcbiAgYmxvY2tzLmZvckVhY2goYmxvY2sgPT4ge1xuICAgIGlmIChibG9jay5zdGFydCA+IGJsb2NrLmVuZCkge1xuICAgICAgYmxvY2suZW5kICs9IDE7XG4gICAgfVxuICAgIGlmIChibG9jay5zdGFydCA+IDEgJiYgYmxvY2suZW5kID4gMSkge1xuICAgICAgdXBkYXRlZEJsb2Nrcy5wdXNoKHsuLi5ibG9jaywgc3RhcnQ6IGJsb2NrLnN0YXJ0IC0gMSwgZW5kOiBibG9jay5lbmQgLSAxfSk7XG4gICAgfSBlbHNlIGlmIChibG9jay5lbmQgPiAxKSB7XG4gICAgICB1cGRhdGVkQmxvY2tzLnB1c2goe1xuICAgICAgICAuLi5ibG9jayxcbiAgICAgICAgZW5kOiAxXG4gICAgICB9KTtcblxuICAgICAgdXBkYXRlZEJsb2Nrcy5wdXNoKHsuLi5ibG9jaywgc3RhcnQ6IDAsIGVuZDogYmxvY2suZW5kIC0gMX0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cGRhdGVkQmxvY2tzLnB1c2goYmxvY2spO1xuICAgIH1cbiAgfSk7XG4gIHVwZGF0ZWRCbG9ja3Muc29ydCgoYSwgYikgPT4gYS5zdGFydCAtIGIuc3RhcnQpO1xuXG4gIGNvbnN0IGV4aXN0aW5nQm90dG9tQmxvY2tzID0ge307XG4gIHVwZGF0ZWRCbG9ja3MuZm9yRWFjaChibG9jayA9PiB7XG4gICAgYmxvY2sud2lkdGggPSAoYmxvY2suZW5kIC0gYmxvY2suc3RhcnQpICogMTAwO1xuICAgIGJsb2NrLmNlbnRlciA9IGJsb2NrLnN0YXJ0ICogMTAwICsgYmxvY2sud2lkdGggLyAyO1xuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSBpbmxpbmUgaWNvbnMgd2hlbiBkYXkgb3IgbmlnaHQgaXMgdG9vIHNob3J0LlxuICAgIGlmICgoYmxvY2sudHlwZSA9PT0gTU9ERVMuZGF5IHx8IGJsb2NrLnR5cGUgPT09IE1PREVTLm5pZ2h0KSAmJiBibG9jay53aWR0aCA+IDUpIHtcbiAgICAgIGJsb2NrLlRvcFJvd0ljb24gPSBibG9jay50eXBlID09PSBNT0RFUy5kYXkgPyBTdW4gOiBNb29uO1xuICAgIH1cblxuICAgIC8vIGJvdHRvbSByb3cgaWNvbnMgYmVsb3cgdGhlIHNsaWRlclxuICAgIGlmICgoYmxvY2sudHlwZSA9PT0gTU9ERVMuc3VucmlzZSB8fCBibG9jay50eXBlID09PSBNT0RFUy5zdW5zZXQpICYmIGJsb2NrLndpZHRoID4gMC4xKSB7XG4gICAgICAvLyBwcmV2ZW50IGR1cGxpY2F0ZXMgZm9yIGJvdHRvbSByb3dcbiAgICAgIGNvbnN0IGV4aXN0aW5nQmxvY2sgPSBleGlzdGluZ0JvdHRvbUJsb2Nrc1tibG9jay50eXBlXTtcbiAgICAgIGlmIChleGlzdGluZ0Jsb2NrKSB7XG4gICAgICAgIGlmIChleGlzdGluZ0Jsb2NrLndpZHRoIDwgYmxvY2sud2lkdGgpIGV4aXN0aW5nQmxvY2suQm90dG9tUm93SWNvbiA9IG51bGw7XG4gICAgICAgIGVsc2UgaWYgKGV4aXN0aW5nQmxvY2sud2lkdGggPiBibG9jay53aWR0aCkgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZXhpc3RpbmdCb3R0b21CbG9ja3NbYmxvY2sudHlwZV0gPSBibG9jaztcblxuICAgICAgLy8gcHJldmVudCBib3R0b20gaWNvbiBhbmQgbGFiZWxzXG4gICAgICBibG9jay5Cb3R0b21Sb3dJY29uID0gYmxvY2sudHlwZSA9PT0gTU9ERVMuc3VucmlzZSA/IFN1bnJpc2UgOiBTdW5zZXQ7XG4gICAgICBpZiAoYmxvY2suY2VudGVyID4gOTApIHtcbiAgICAgICAgYmxvY2suY2VudGVyID0gOTA7XG4gICAgICB9IGVsc2UgaWYgKGJsb2NrLmNlbnRlciA8IDEwKSB7XG4gICAgICAgIGJsb2NrLmNlbnRlciA9IDEwO1xuICAgICAgfVxuICAgICAgYmxvY2sudGV4dCA9IGJsb2NrLnR5cGUgPT09IE1PREVTLnN1bnJpc2UgPyBjb25maWcuc3VucmlzZVRpbWUgOiBjb25maWcuc3Vuc2V0VGltZTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdXBkYXRlZEJsb2Nrcztcbn1cblxuRWZmZWN0VGltZVNsaWRlckZhY3RvcnkuZGVwcyA9IFtSYW5nZVNsaWRlckZhY3RvcnldO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBFZmZlY3RUaW1lU2xpZGVyRmFjdG9yeShcbiAgUmFuZ2VTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIFJhbmdlU2xpZGVyRmFjdG9yeT5cbikge1xuICBjb25zdCBFZmZlY3RUaW1lU2xpZGVyOiBSZWFjdC5GQzxFZmZlY3RUaW1lU2xpZGVyUHJvcHM+ID0gKHtcbiAgICB2YWx1ZTogcmFuZ2VTbGlkZXJWYWx1ZSxcbiAgICBvbkNoYW5nZSxcbiAgICBjb25maWdcbiAgfTogRWZmZWN0VGltZVNsaWRlclByb3BzKSA9PiB7XG4gICAgY29uc3QgdWlCbG9ja3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBnZXRVSUJsb2Nrcyhjb25maWcpO1xuICAgIH0sIFtjb25maWddKTtcblxuICAgIGNvbnN0IHJhbmdlU2xpZGVyUHJvcHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAndmFsdWUnLFxuICAgICAgICB2YWx1ZTE6IHJhbmdlU2xpZGVyVmFsdWUsXG4gICAgICAgIHN0ZXA6IDAuMDAxLFxuICAgICAgICByYW5nZTogWzAsIDFdLFxuICAgICAgICB2YWx1ZTA6IDAsXG4gICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICBzaG93SW5wdXQ6IGZhbHNlLFxuICAgICAgICBpc1JhbmdlZDogZmFsc2VcbiAgICAgIH07XG4gICAgfSwgW3JhbmdlU2xpZGVyVmFsdWUsIG9uQ2hhbmdlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRpbWVTbGlkZXJXcmFwcGVyPlxuICAgICAgICA8VG9wUm93V3JhcHBlcj5cbiAgICAgICAgICB7dWlCbG9ja3MubWFwKChibG9jaywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiA8QmFja2dyb3VuZEJsb2NrIGtleT17aW5kZXh9IHdpZHRoPXtgJHtibG9jay53aWR0aH0lYH0gY2xhc3NOYW1lPXtibG9jay50eXBlfSAvPjtcbiAgICAgICAgICB9KX1cblxuICAgICAgICAgIHt1aUJsb2Nrcy5tYXAoKGJsb2NrLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJsb2NrLlRvcFJvd0ljb24gPyAoXG4gICAgICAgICAgICAgIDxTdHlsZWRJY29uIGtleT17aW5kZXh9IGxlZnQ9e2Jsb2NrLmNlbnRlcn0gY2xhc3NOYW1lPXtgaW5saW5lX2ljb25fXyR7YmxvY2sudHlwZX1gfT5cbiAgICAgICAgICAgICAgICA8YmxvY2suVG9wUm93SWNvbiB3aWR0aD1cIjE2cHhcIiBoZWlnaHQ9XCIzMnB4XCIgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRJY29uPlxuICAgICAgICAgICAgKSA6IG51bGw7XG4gICAgICAgICAgfSl9XG5cbiAgICAgICAgICA8UmFuZ2VTbGlkZXJXcmFwcGVyPlxuICAgICAgICAgICAgPFJhbmdlU2xpZGVyIHsuLi5yYW5nZVNsaWRlclByb3BzfSAvPlxuICAgICAgICAgIDwvUmFuZ2VTbGlkZXJXcmFwcGVyPlxuICAgICAgICA8L1RvcFJvd1dyYXBwZXI+XG4gICAgICAgIDxCb3R0b21Sb3dXcmFwcGVyPlxuICAgICAgICAgIHt1aUJsb2Nrcy5tYXAoKGJsb2NrLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJsb2NrLkJvdHRvbVJvd0ljb24gPyAoXG4gICAgICAgICAgICAgIDxTdHlsZWRCb3R0b21JY29uXG4gICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICBsZWZ0PXtibG9jay5jZW50ZXJ9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgYm90dG9tX2ljb25fXyR7YmxvY2sudHlwZX1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJsb2NrLkJvdHRvbVJvd0ljb24gd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIC8+XG4gICAgICAgICAgICAgICAgPFRleHQ+e2Jsb2NrLnRleHR9PC9UZXh0PlxuICAgICAgICAgICAgICA8L1N0eWxlZEJvdHRvbUljb24+XG4gICAgICAgICAgICApIDogbnVsbDtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9Cb3R0b21Sb3dXcmFwcGVyPlxuICAgICAgPC9UaW1lU2xpZGVyV3JhcHBlcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBFZmZlY3RUaW1lU2xpZGVyO1xufVxuIl19
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export declare type EffectTypeDropdownListItem = {
3
+ type: string;
4
+ name: string;
5
+ disabled: boolean;
6
+ };
7
+ export declare type EffectTypeDropdownListProps = {
8
+ onOptionSelected: (string: any) => void;
9
+ options: EffectTypeDropdownListItem[];
10
+ selectedItems: EffectTypeDropdownListItem[];
11
+ selectionIndex: number;
12
+ customListItemComponent: React.FC<{
13
+ value: EffectTypeDropdownListItem;
14
+ isTile?: boolean;
15
+ }>;
16
+ };
17
+ export declare function EffectTypeDropdownListFactory(): React.FC<EffectTypeDropdownListProps>;
18
+ export default EffectTypeDropdownListFactory;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.EffectTypeDropdownListFactory = EffectTypeDropdownListFactory;
11
+ exports["default"] = void 0;
12
+
13
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
14
+
15
+ var _react = _interopRequireWildcard(require("react"));
16
+
17
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
18
+
19
+ var _classnames = _interopRequireDefault(require("classnames"));
20
+
21
+ var _dropdownList = require("../common/item-selector/dropdown-list");
22
+
23
+ var _templateObject, _templateObject2;
24
+
25
+ var DropdownListWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n background-color: ", ";\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n padding: 24px 0 12px 0;\n max-height: 430px;\n justify-content: center;\n"])), function (props) {
26
+ return props.theme.dropdownList;
27
+ }, function (props) {
28
+ return props.theme.dropdownListBgd;
29
+ });
30
+
31
+ var StyledDropdownListItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 4px 8px 4px;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n :hover {\n cursor: pointer;\n .effect-type-selector__item__label {\n color: ", ";\n }\n }\n"])), function (props) {
32
+ return props.theme.effectPanelTextMain;
33
+ });
34
+
35
+ function EffectTypeDropdownListFactory() {
36
+ var EffectTypeDropdownList = function EffectTypeDropdownList(_ref) {
37
+ var onOptionSelected = _ref.onOptionSelected,
38
+ options = _ref.options,
39
+ selectedItems = _ref.selectedItems,
40
+ selectionIndex = _ref.selectionIndex,
41
+ customListItemComponent = _ref.customListItemComponent;
42
+ var onSelectOption = (0, _react.useCallback)(function (e, value) {
43
+ e.preventDefault();
44
+ onOptionSelected(value);
45
+ }, [onOptionSelected]);
46
+ var ListItemComponent = customListItemComponent;
47
+ return /*#__PURE__*/_react["default"].createElement(DropdownListWrapper, {
48
+ className: _dropdownList.classList.list
49
+ }, options.map(function (value, i) {
50
+ return /*#__PURE__*/_react["default"].createElement(StyledDropdownListItem, {
51
+ className: (0, _classnames["default"])('effect-type-selector__item', {
52
+ selected: selectedItems.find(function (it) {
53
+ return it.type === value.type;
54
+ }),
55
+ hover: selectionIndex === i,
56
+ disabled: value.disabled
57
+ }),
58
+ key: "".concat(value.type, "_").concat(i),
59
+ onMouseDown: function onMouseDown(e) {
60
+ return onSelectOption(e, value);
61
+ },
62
+ onClick: function onClick(e) {
63
+ return onSelectOption(e, value);
64
+ }
65
+ }, /*#__PURE__*/_react["default"].createElement(ListItemComponent, {
66
+ value: value,
67
+ isTile: true
68
+ }));
69
+ }));
70
+ };
71
+
72
+ return EffectTypeDropdownList;
73
+ }
74
+
75
+ var _default = EffectTypeDropdownListFactory;
76
+ exports["default"] = _default;
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC10eXBlLWRyb3Bkb3duLWxpc3QudHN4Il0sIm5hbWVzIjpbIkRyb3Bkb3duTGlzdFdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwiZHJvcGRvd25MaXN0IiwiZHJvcGRvd25MaXN0QmdkIiwiU3R5bGVkRHJvcGRvd25MaXN0SXRlbSIsImVmZmVjdFBhbmVsVGV4dE1haW4iLCJFZmZlY3RUeXBlRHJvcGRvd25MaXN0RmFjdG9yeSIsIkVmZmVjdFR5cGVEcm9wZG93bkxpc3QiLCJvbk9wdGlvblNlbGVjdGVkIiwib3B0aW9ucyIsInNlbGVjdGVkSXRlbXMiLCJzZWxlY3Rpb25JbmRleCIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50Iiwib25TZWxlY3RPcHRpb24iLCJlIiwidmFsdWUiLCJwcmV2ZW50RGVmYXVsdCIsIkxpc3RJdGVtQ29tcG9uZW50IiwiY2xhc3NMaXN0IiwibGlzdCIsIm1hcCIsImkiLCJzZWxlY3RlZCIsImZpbmQiLCJpdCIsInR5cGUiLCJob3ZlciIsImRpc2FibGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUVBOzs7O0FBZ0JBLElBQU1BLG1CQUFtQixHQUFHQyw2QkFBT0MsR0FBVix5UUFDckIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxZQUFoQjtBQUFBLENBRGdCLEVBRUgsVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxlQUFoQjtBQUFBLENBRkYsQ0FBekI7O0FBV0EsSUFBTUMsc0JBQXNCLEdBQUdOLDZCQUFPQyxHQUFWLDBTQVdiLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksbUJBQWhCO0FBQUEsQ0FYUSxDQUE1Qjs7QUFnQk8sU0FBU0MsNkJBQVQsR0FBeUM7QUFDOUMsTUFBTUMsc0JBQTZELEdBQUcsU0FBaEVBLHNCQUFnRSxPQU1uQztBQUFBLFFBTGpDQyxnQkFLaUMsUUFMakNBLGdCQUtpQztBQUFBLFFBSmpDQyxPQUlpQyxRQUpqQ0EsT0FJaUM7QUFBQSxRQUhqQ0MsYUFHaUMsUUFIakNBLGFBR2lDO0FBQUEsUUFGakNDLGNBRWlDLFFBRmpDQSxjQUVpQztBQUFBLFFBRGpDQyx1QkFDaUMsUUFEakNBLHVCQUNpQztBQUNqQyxRQUFNQyxjQUFjLEdBQUcsd0JBQ3JCLFVBQUNDLENBQUQsRUFBSUMsS0FBSixFQUFjO0FBQ1pELE1BQUFBLENBQUMsQ0FBQ0UsY0FBRjtBQUNBUixNQUFBQSxnQkFBZ0IsQ0FBQ08sS0FBRCxDQUFoQjtBQUNELEtBSm9CLEVBS3JCLENBQUNQLGdCQUFELENBTHFCLENBQXZCO0FBUUEsUUFBTVMsaUJBQWlCLEdBQUdMLHVCQUExQjtBQUVBLHdCQUNFLGdDQUFDLG1CQUFEO0FBQXFCLE1BQUEsU0FBUyxFQUFFTSx3QkFBVUM7QUFBMUMsT0FDR1YsT0FBTyxDQUFDVyxHQUFSLENBQVksVUFBQ0wsS0FBRCxFQUFRTSxDQUFSO0FBQUEsMEJBQ1gsZ0NBQUMsc0JBQUQ7QUFDRSxRQUFBLFNBQVMsRUFBRSw0QkFBVyw0QkFBWCxFQUF5QztBQUNsREMsVUFBQUEsUUFBUSxFQUFFWixhQUFhLENBQUNhLElBQWQsQ0FBbUIsVUFBQUMsRUFBRTtBQUFBLG1CQUFJQSxFQUFFLENBQUNDLElBQUgsS0FBWVYsS0FBSyxDQUFDVSxJQUF0QjtBQUFBLFdBQXJCLENBRHdDO0FBRWxEQyxVQUFBQSxLQUFLLEVBQUVmLGNBQWMsS0FBS1UsQ0FGd0I7QUFHbERNLFVBQUFBLFFBQVEsRUFBRVosS0FBSyxDQUFDWTtBQUhrQyxTQUF6QyxDQURiO0FBTUUsUUFBQSxHQUFHLFlBQUtaLEtBQUssQ0FBQ1UsSUFBWCxjQUFtQkosQ0FBbkIsQ0FOTDtBQU9FLFFBQUEsV0FBVyxFQUFFLHFCQUFBUCxDQUFDO0FBQUEsaUJBQUlELGNBQWMsQ0FBQ0MsQ0FBRCxFQUFJQyxLQUFKLENBQWxCO0FBQUEsU0FQaEI7QUFRRSxRQUFBLE9BQU8sRUFBRSxpQkFBQUQsQ0FBQztBQUFBLGlCQUFJRCxjQUFjLENBQUNDLENBQUQsRUFBSUMsS0FBSixDQUFsQjtBQUFBO0FBUlosc0JBVUUsZ0NBQUMsaUJBQUQ7QUFBbUIsUUFBQSxLQUFLLEVBQUVBLEtBQTFCO0FBQWlDLFFBQUEsTUFBTTtBQUF2QyxRQVZGLENBRFc7QUFBQSxLQUFaLENBREgsQ0FERjtBQWtCRCxHQW5DRDs7QUFxQ0EsU0FBT1Isc0JBQVA7QUFDRDs7ZUFFY0QsNkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtjbGFzc0xpc3R9IGZyb20gJy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2Ryb3Bkb3duLWxpc3QnO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RUeXBlRHJvcGRvd25MaXN0SXRlbSA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRWZmZWN0VHlwZURyb3Bkb3duTGlzdFByb3BzID0ge1xuICBvbk9wdGlvblNlbGVjdGVkOiAoc3RyaW5nKSA9PiB2b2lkO1xuICBvcHRpb25zOiBFZmZlY3RUeXBlRHJvcGRvd25MaXN0SXRlbVtdO1xuICBzZWxlY3RlZEl0ZW1zOiBFZmZlY3RUeXBlRHJvcGRvd25MaXN0SXRlbVtdO1xuICBzZWxlY3Rpb25JbmRleDogbnVtYmVyO1xuICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudDogUmVhY3QuRkM8e3ZhbHVlOiBFZmZlY3RUeXBlRHJvcGRvd25MaXN0SXRlbTsgaXNUaWxlPzogYm9vbGVhbn0+O1xufTtcblxuY29uc3QgRHJvcGRvd25MaXN0V3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2R9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiAyNHB4IDAgMTJweCAwO1xuICBtYXgtaGVpZ2h0OiA0MzBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5jb25zdCBTdHlsZWREcm9wZG93bkxpc3RJdGVtID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luOiAwcHggNHB4IDhweCA0cHg7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLmVmZmVjdC10eXBlLXNlbGVjdG9yX19pdGVtX19sYWJlbCB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBFZmZlY3RUeXBlRHJvcGRvd25MaXN0RmFjdG9yeSgpIHtcbiAgY29uc3QgRWZmZWN0VHlwZURyb3Bkb3duTGlzdDogUmVhY3QuRkM8RWZmZWN0VHlwZURyb3Bkb3duTGlzdFByb3BzPiA9ICh7XG4gICAgb25PcHRpb25TZWxlY3RlZCxcbiAgICBvcHRpb25zLFxuICAgIHNlbGVjdGVkSXRlbXMsXG4gICAgc2VsZWN0aW9uSW5kZXgsXG4gICAgY3VzdG9tTGlzdEl0ZW1Db21wb25lbnRcbiAgfTogRWZmZWN0VHlwZURyb3Bkb3duTGlzdFByb3BzKSA9PiB7XG4gICAgY29uc3Qgb25TZWxlY3RPcHRpb24gPSB1c2VDYWxsYmFjayhcbiAgICAgIChlLCB2YWx1ZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQodmFsdWUpO1xuICAgICAgfSxcbiAgICAgIFtvbk9wdGlvblNlbGVjdGVkXVxuICAgICk7XG5cbiAgICBjb25zdCBMaXN0SXRlbUNvbXBvbmVudCA9IGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxEcm9wZG93bkxpc3RXcmFwcGVyIGNsYXNzTmFtZT17Y2xhc3NMaXN0Lmxpc3R9PlxuICAgICAgICB7b3B0aW9ucy5tYXAoKHZhbHVlLCBpKSA9PiAoXG4gICAgICAgICAgPFN0eWxlZERyb3Bkb3duTGlzdEl0ZW1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcygnZWZmZWN0LXR5cGUtc2VsZWN0b3JfX2l0ZW0nLCB7XG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZEl0ZW1zLmZpbmQoaXQgPT4gaXQudHlwZSA9PT0gdmFsdWUudHlwZSksXG4gICAgICAgICAgICAgIGhvdmVyOiBzZWxlY3Rpb25JbmRleCA9PT0gaSxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6IHZhbHVlLmRpc2FibGVkXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIGtleT17YCR7dmFsdWUudHlwZX1fJHtpfWB9XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiBvblNlbGVjdE9wdGlvbihlLCB2YWx1ZSl9XG4gICAgICAgICAgICBvbkNsaWNrPXtlID0+IG9uU2VsZWN0T3B0aW9uKGUsIHZhbHVlKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGlzdEl0ZW1Db21wb25lbnQgdmFsdWU9e3ZhbHVlfSBpc1RpbGUgLz5cbiAgICAgICAgICA8L1N0eWxlZERyb3Bkb3duTGlzdEl0ZW0+XG4gICAgICAgICkpfVxuICAgICAgPC9Ecm9wZG93bkxpc3RXcmFwcGVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIEVmZmVjdFR5cGVEcm9wZG93bkxpc3Q7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVmZmVjdFR5cGVEcm9wZG93bkxpc3RGYWN0b3J5O1xuIl19
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ export declare const DUMMY_ITEM_ID: string;
3
+ export declare type EffectTypeListItemProps = {
4
+ value: {
5
+ type: string;
6
+ name: string;
7
+ };
8
+ className?: string;
9
+ isTile?: boolean;
10
+ theme: any;
11
+ };
12
+ export declare function EffectTypeListItemFactory(): React.ForwardRefExoticComponent<{
13
+ className?: string | undefined;
14
+ value: {
15
+ type: string;
16
+ name: string;
17
+ };
18
+ isTile?: boolean | undefined;
19
+ } & {
20
+ theme?: any;
21
+ }>;
22
+ export default EffectTypeListItemFactory;