@carto/kepler.gl 0.0.40-alpha.3 → 0.0.40-alpha.aggregation-selector

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 (59) hide show
  1. package/dist/components/common/field-selector.js +62 -17
  2. package/dist/components/common/field-token.js +4 -12
  3. package/dist/components/common/icons/chevron-right.js +69 -0
  4. package/dist/components/common/icons/index.js +9 -1
  5. package/dist/components/common/item-selector/dropdown-list.js +118 -20
  6. package/dist/components/common/item-selector/item-selector-submenu.js +133 -0
  7. package/dist/components/common/item-selector/item-selector.js +7 -4
  8. package/dist/components/common/item-selector/typeahead.js +16 -16
  9. package/dist/components/index.js +1 -10
  10. package/dist/components/map-container.js +1 -14
  11. package/dist/components/side-panel/layer-panel/layer-configurator.js +13 -11
  12. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +7 -3
  13. package/dist/constants/default-settings.js +33 -8
  14. package/dist/constants/index.js +7 -1
  15. package/dist/layers/base-layer.js +1 -11
  16. package/dist/localization/ca.js +1 -4
  17. package/dist/localization/cn.js +1 -4
  18. package/dist/localization/en.js +1 -4
  19. package/dist/localization/es.js +1 -4
  20. package/dist/localization/fi.js +1 -4
  21. package/dist/localization/ja.js +1 -4
  22. package/dist/localization/pt.js +1 -4
  23. package/dist/localization/ru.js +1 -4
  24. package/dist/reducers/vis-state-merger.js +2 -3
  25. package/dist/schemas/vis-state-schema.js +1 -5
  26. package/dist/styles/base.js +3 -3
  27. package/package.json +1 -1
  28. package/src/components/common/field-selector.js +62 -21
  29. package/src/components/common/field-token.js +13 -14
  30. package/src/components/common/icons/chevron-right.js +47 -0
  31. package/src/components/common/icons/index.js +1 -0
  32. package/src/components/common/item-selector/dropdown-list.js +124 -43
  33. package/src/components/common/item-selector/item-selector-submenu.js +88 -0
  34. package/src/components/common/item-selector/item-selector.d.ts +2 -1
  35. package/src/components/common/item-selector/item-selector.js +5 -2
  36. package/src/components/common/item-selector/typeahead.js +27 -21
  37. package/src/components/index.js +0 -1
  38. package/src/components/map-container.js +0 -14
  39. package/src/components/side-panel/layer-panel/layer-configurator.js +19 -7
  40. package/src/components/side-panel/layer-panel/vis-config-by-field-selector.js +5 -1
  41. package/src/constants/default-settings.js +51 -5
  42. package/src/constants/index.js +2 -1
  43. package/src/layers/base-layer.js +3 -10
  44. package/src/layers/index.d.ts +0 -1
  45. package/src/localization/ca.js +0 -3
  46. package/src/localization/cn.js +0 -3
  47. package/src/localization/en.js +0 -3
  48. package/src/localization/es.js +0 -3
  49. package/src/localization/fi.js +0 -3
  50. package/src/localization/ja.js +0 -3
  51. package/src/localization/pt.js +0 -3
  52. package/src/localization/ru.js +0 -3
  53. package/src/reducers/vis-state-merger.js +1 -2
  54. package/src/schemas/schema-manager.d.ts +0 -1
  55. package/src/schemas/vis-state-schema.js +0 -2
  56. package/src/styles/base.js +1 -0
  57. package/umd/keplergl.min.js +31 -31
  58. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +0 -106
  59. package/src/components/side-panel/layer-panel/layer-visibility-by-zoom.js +0 -120
@@ -43,7 +43,7 @@ const TypeaheadWrapper = styled.div`
43
43
  display: flex;
44
44
  flex-direction: column;
45
45
  background-color: ${props =>
46
- props.light ? props.theme.dropdownListBgdLT : props.theme.dropdownListBgd};
46
+ props.light ? props.theme.dropdownListBgdLT : props.theme.inputBgd};
47
47
  box-shadow: ${props => props.theme.dropdownListShadow};
48
48
 
49
49
  :focus {
@@ -51,27 +51,29 @@ const TypeaheadWrapper = styled.div`
51
51
  }
52
52
  `;
53
53
 
54
- const InputBox = styled.div.attrs({
55
- className: 'typeahead__input_box'
56
- })`
57
- padding: 8px;
58
- `;
54
+ const InputBox = styled.div`
55
+ position: relative;
56
+ margin: 8px;
57
+ `
59
58
 
60
59
  const TypeaheadInput = styled.input`
61
- ${props => (props.light ? props.theme.inputLT : props.theme.secondaryInput)} :hover {
62
- cursor: pointer;
63
- background-color: ${props =>
64
- props.light ? props.theme.selectBackgroundLT : props.theme.secondaryInputBgd};
65
- }
60
+ ${props => (props.light ? props.theme.inputLT : props.theme.secondaryInput)};
61
+ width: 100%;
62
+ padding-left: 35px;
63
+ background-color: ${props => props.light ? props.theme.inputBgd : '#eee'};
64
+ border: none;
66
65
  `;
67
66
 
68
- const InputIcon = styled.div.attrs({
69
- className: 'typeahead__input_icon'
70
- })`
67
+ const InputIcon = styled.div`
71
68
  position: absolute;
72
- right: 15px;
73
- top: 14px;
69
+ left: 10px;
70
+ top: 50%;
71
+ z-index: 2;
72
+ transform: translateY(-50%);
74
73
  color: ${props => props.theme.inputPlaceholderColor};
74
+ svg {
75
+ display: block;
76
+ }
75
77
  `;
76
78
 
77
79
  function generateSearchFunction(props) {
@@ -151,7 +153,8 @@ class Typeahead extends Component {
151
153
  customListItemComponent: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
152
154
  customListHeaderComponent: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
153
155
  showOptionsWhenEmpty: PropTypes.bool,
154
- searchable: PropTypes.bool
156
+ searchable: PropTypes.bool,
157
+ withSubOptions: PropTypes.bool
155
158
  };
156
159
 
157
160
  static defaultProps = {
@@ -181,7 +184,8 @@ class Typeahead extends Component {
181
184
  customListHeaderComponent: null,
182
185
  showOptionsWhenEmpty: true,
183
186
  searchable: true,
184
- resultsTruncatedMessage: null
187
+ resultsTruncatedMessage: null,
188
+ withSubOptions: false
185
189
  };
186
190
 
187
191
  static getDerivedStateFromProps(props, state) {
@@ -247,6 +251,7 @@ class Typeahead extends Component {
247
251
  return (
248
252
  <this.props.customListComponent
249
253
  fixedOptions={this.props.fixedOptions}
254
+ searchEntryValue={this.state.entryValue}
250
255
  options={
251
256
  this.props.maxVisible
252
257
  ? this.state.searchResults.slice(0, this.props.maxVisible)
@@ -267,6 +272,7 @@ class Typeahead extends Component {
267
272
  displayOption={this.props.displayOption}
268
273
  selectedItems={this.props.selectedItems}
269
274
  light={this.props.light}
275
+ withSubOptions={this.props.withSubOptions}
270
276
  />
271
277
  );
272
278
  }
@@ -473,6 +479,9 @@ class Typeahead extends Component {
473
479
  {this._renderHiddenInput()}
474
480
  {this.props.searchable ? (
475
481
  <InputBox>
482
+ <InputIcon>
483
+ <this.props.inputIcon height="18px" />
484
+ </InputIcon>
476
485
  <TypeaheadInput
477
486
  ref={this.entry}
478
487
  type="text"
@@ -485,9 +494,6 @@ class Typeahead extends Component {
485
494
  onBlur={this._onBlur}
486
495
  light={this.props.light}
487
496
  />
488
- <InputIcon>
489
- <this.props.inputIcon height="18px" />
490
- </InputIcon>
491
497
  </InputBox>
492
498
  ) : null}
493
499
  {this._renderIncrementalSearchResults()}
@@ -70,7 +70,6 @@ export {default as LayerPanelHeaderFactory} from './side-panel/layer-panel/layer
70
70
  export {default as LayerConfiguratorFactory} from './side-panel/layer-panel/layer-configurator';
71
71
  export {default as TextLabelPanelFactory} from './side-panel/layer-panel/text-label-panel';
72
72
  export {LayerConfigGroupLabelFactory} from './side-panel/layer-panel/layer-config-group';
73
- export {default as LayerVisibilityByZoomFactory} from './side-panel/layer-panel/layer-visibility-by-zoom';
74
73
 
75
74
  export {default as SourceDataCatalogFactory} from './side-panel/common/source-data-catalog';
76
75
  export {default as SourceDataSelectorFactory} from './side-panel/common/source-data-selector';
@@ -481,20 +481,6 @@ export default function MapContainerFactory(MapPopover, MapControl, Editor) {
481
481
  }
482
482
  }}
483
483
  onWebGLInitialized={gl => this._onDeckInitialized(gl)}
484
- layerFilter={({layer, viewport}) => {
485
- if (
486
- isNaN(layer.props.visibilityByZoom?.min) ||
487
- isNaN(layer.props.visibilityByZoom?.max)
488
- ) {
489
- return true;
490
- }
491
- const currentZoomRange = Math.floor(mapState.zoom);
492
-
493
- return (
494
- layer.props.visibilityByZoom.min <= currentZoomRange &&
495
- layer.props.visibilityByZoom.max >= currentZoomRange
496
- );
497
- }}
498
484
  />
499
485
  );
500
486
  }
@@ -30,7 +30,6 @@ import ItemSelector from 'components/common/item-selector/item-selector';
30
30
  import VisConfigByFieldSelectorFactory from './vis-config-by-field-selector';
31
31
  import LayerColumnConfigFactory from './layer-column-config';
32
32
  import LayerTypeSelectorFactory from './layer-type-selector';
33
- import LayerVisibilityByZoomFactory from './layer-visibility-by-zoom';
34
33
  import DimensionScaleSelector from './dimension-scale-selector';
35
34
  import ColorSelector from './color-selector';
36
35
  import SourceDataSelectorFactory from 'components/side-panel/common/source-data-selector';
@@ -98,8 +97,7 @@ LayerConfiguratorFactory.deps = [
98
97
  LayerColumnConfigFactory,
99
98
  LayerTypeSelectorFactory,
100
99
  VisConfigSwitchFactory,
101
- AggrScaleSelectorFactory,
102
- LayerVisibilityByZoomFactory
100
+ AggrScaleSelectorFactory
103
101
  ];
104
102
 
105
103
  export default function LayerConfiguratorFactory(
@@ -111,8 +109,7 @@ export default function LayerConfiguratorFactory(
111
109
  LayerColumnConfig,
112
110
  LayerTypeSelector,
113
111
  VisConfigSwitch,
114
- AggrScaleSelector,
115
- LayerVisibilityByZoom
112
+ AggrScaleSelector
116
113
  ) {
117
114
  class LayerConfigurator extends Component {
118
115
  static propTypes = {
@@ -962,7 +959,6 @@ export default function LayerConfiguratorFactory(
962
959
  layerTypeOptions={layerTypeOptions}
963
960
  onSelect={updateLayerType}
964
961
  />
965
- <LayerVisibilityByZoom updateLayerConfig={this.props.updateLayerConfig} layer={layer} />
966
962
  {Object.keys(datasets).length > 1 && (
967
963
  <SourceDataSelector
968
964
  datasets={datasets}
@@ -1108,6 +1104,7 @@ export function ChannelByValueSelectorFactory(VisConfigByFieldSelector) {
1108
1104
  onChange,
1109
1105
  onChangeVisConfig,
1110
1106
  fields,
1107
+ fieldsAggregated,
1111
1108
  description,
1112
1109
  isLoading
1113
1110
  }) => {
@@ -1115,6 +1112,7 @@ export function ChannelByValueSelectorFactory(VisConfigByFieldSelector) {
1115
1112
  channelScaleType,
1116
1113
  domain,
1117
1114
  field,
1115
+ aggregation,
1118
1116
  key,
1119
1117
  property,
1120
1118
  range,
@@ -1138,6 +1136,7 @@ export function ChannelByValueSelectorFactory(VisConfigByFieldSelector) {
1138
1136
  scaleOptions.length > 1;
1139
1137
  const defaultDescription = 'layerConfiguration.defaultDescription';
1140
1138
  const visRange = layer.config.visConfig[range];
1139
+ const aggregator = layer.config.visConfig[aggregation];
1141
1140
 
1142
1141
  return (
1143
1142
  <VisConfigByFieldSelector
@@ -1145,6 +1144,8 @@ export function ChannelByValueSelectorFactory(VisConfigByFieldSelector) {
1145
1144
  description={description || defaultDescription}
1146
1145
  domain={layer.config[domain]}
1147
1146
  fields={supportedFields}
1147
+ aggregator={aggregator}
1148
+ fieldsAggregated={fieldsAggregated}
1148
1149
  id={layer.id}
1149
1150
  key={`${key}-channel-selector`}
1150
1151
  property={property}
@@ -1159,7 +1160,18 @@ export function ChannelByValueSelectorFactory(VisConfigByFieldSelector) {
1159
1160
  if (visRange?.colorMap) {
1160
1161
  onChangeVisConfig({[range]: {...visRange, colorMap: undefined}});
1161
1162
  }
1162
- onChange({[field]: val}, key);
1163
+ onChange(
1164
+ {
1165
+ [field]: val,
1166
+ ...(fieldsAggregated && {
1167
+ visConfig: {
1168
+ ...layer.config.visConfig,
1169
+ [aggregation]: val?.selectedAggregator
1170
+ }
1171
+ })
1172
+ },
1173
+ key
1174
+ );
1163
1175
  }}
1164
1176
  updateScale={val => onChange({[scale]: val}, key)}
1165
1177
  updateCustomPalette={colorMap => onChangeVisConfig({[range]: {...visRange, colorMap}})}
@@ -53,7 +53,9 @@ function VisConfigByFieldSelectorFactory(InfoHelper, FieldSelector, ColorDimensi
53
53
  description: PropTypes.string,
54
54
  label: PropTypes.string,
55
55
  placeholder: PropTypes.string,
56
- isLoading: PropTypes.bool
56
+ isLoading: PropTypes.bool,
57
+ fieldsAggregated: PropTypes.bool,
58
+ aggregator: PropTypes.string
57
59
  };
58
60
 
59
61
  _updateVisByField = val => {
@@ -106,6 +108,8 @@ function VisConfigByFieldSelectorFactory(InfoHelper, FieldSelector, ColorDimensi
106
108
  onSelect={this._updateVisByField}
107
109
  erasable
108
110
  isLoading={this.props.isLoading}
111
+ withAggregator={this.props.fieldsAggregated}
112
+ aggregator={this.props.fieldsAggregated && this.props.aggregator}
109
113
  />
110
114
  </SidePanelSection>
111
115
  <div>
@@ -451,6 +451,57 @@ export const AGGREGATION_TYPES = {
451
451
  countUnique: 'count unique'
452
452
  };
453
453
 
454
+ export const FIELD_TYPES_AGGREGATORS = {
455
+ date: null,
456
+ geojson: null,
457
+ integer: [
458
+ AGGREGATION_TYPES.average,
459
+ AGGREGATION_TYPES.maximum,
460
+ AGGREGATION_TYPES.minimum,
461
+ AGGREGATION_TYPES.stdev,
462
+ AGGREGATION_TYPES.sum,
463
+ AGGREGATION_TYPES.variance
464
+ ],
465
+ real: [
466
+ AGGREGATION_TYPES.average,
467
+ AGGREGATION_TYPES.maximum,
468
+ AGGREGATION_TYPES.minimum,
469
+ AGGREGATION_TYPES.stdev,
470
+ AGGREGATION_TYPES.sum,
471
+ AGGREGATION_TYPES.variance
472
+ ],
473
+ string: null,
474
+ timestamp: null,
475
+ point: null
476
+ };
477
+
478
+ export const FIELD_AGGREGATORS = [
479
+ {
480
+ id: AGGREGATION_TYPES.average,
481
+ displayName: 'AVG'
482
+ },
483
+ {
484
+ id: AGGREGATION_TYPES.maximum,
485
+ displayName: 'MAX'
486
+ },
487
+ {
488
+ id: AGGREGATION_TYPES.minimum,
489
+ displayName: 'MIN'
490
+ },
491
+ {
492
+ id: AGGREGATION_TYPES.stdev,
493
+ displayName: 'STDEV'
494
+ },
495
+ {
496
+ id: AGGREGATION_TYPES.sum,
497
+ displayName: 'SUM'
498
+ },
499
+ {
500
+ id: AGGREGATION_TYPES.variance,
501
+ displayName: 'VARIANCE'
502
+ }
503
+ ];
504
+
454
505
  export const linearFieldScaleFunctions = {
455
506
  [CHANNEL_SCALES.color]: [SCALE_TYPES.quantize, SCALE_TYPES.quantile, SCALE_TYPES.custom],
456
507
  [CHANNEL_SCALES.radius]: [SCALE_TYPES.sqrt],
@@ -903,8 +954,3 @@ export const MAP_CONTROLS = keyMirror({
903
954
  });
904
955
 
905
956
  export const MASK_LAYER_ID = 'mask_layer';
906
-
907
- export const ZOOM_LEVEL_LIMITS = {
908
- min: 0,
909
- max: 21
910
- };
@@ -67,7 +67,8 @@ export {
67
67
  RESOLUTIONS,
68
68
  SORT_ORDER,
69
69
  MAP_CONTROLS,
70
- UNKNOWN_COLOR
70
+ UNKNOWN_COLOR,
71
+ FIELD_AGGREGATORS
71
72
  } from './default-settings';
72
73
 
73
74
  export {BUG_REPORT_LINK, USER_GUIDE_DOC} from './user-guides';
@@ -36,8 +36,7 @@ import {
36
36
  SCALE_FUNC,
37
37
  CHANNEL_SCALE_SUPPORTED_FIELDS,
38
38
  MAX_GPU_FILTERS,
39
- UNKNOWN_COLOR,
40
- ZOOM_LEVEL_LIMITS
39
+ UNKNOWN_COLOR
41
40
  } from 'constants/default-settings';
42
41
  import {COLOR_RANGES} from 'constants/color-ranges';
43
42
  import {DataVizColors} from 'constants/custom-color-ranges';
@@ -299,10 +298,6 @@ class Layer {
299
298
  getDefaultLayerConfig(props = {}) {
300
299
  return {
301
300
  dataId: props.dataId || null,
302
- visibilityByZoom: {
303
- min: props.visibilityByZoom?.min || ZOOM_LEVEL_LIMITS.min,
304
- max: props.visibilityByZoom?.max || ZOOM_LEVEL_LIMITS.max
305
- },
306
301
  label: props.label || DEFAULT_LAYER_LABEL,
307
302
  color: props.color || colorMaker.next().value,
308
303
  columns: props.columns || null,
@@ -469,6 +464,7 @@ class Layer {
469
464
  shallowCopy,
470
465
  notToCopy
471
466
  });
467
+
472
468
  this.updateLayerConfig(copied);
473
469
  // validate visualChannel field type and scale types
474
470
  Object.keys(this.visualChannels).forEach(channel => {
@@ -1219,6 +1215,7 @@ class Layer {
1219
1215
 
1220
1216
  getDefaultDeckLayerProps({idx, gpuFilter, mapState, visible, maskPolygon}) {
1221
1217
  const maskExtensionProps = getMaskExtensionProps(maskPolygon);
1218
+
1222
1219
  return {
1223
1220
  ...maskExtensionProps,
1224
1221
  id: this.id,
@@ -1228,10 +1225,6 @@ class Layer {
1228
1225
  wrapLongitude: true,
1229
1226
  parameters: {depthTest: Boolean(mapState.dragRotate || this.config.visConfig.enable3d)},
1230
1227
  hidden: this.config.hidden,
1231
- visibilityByZoom: {
1232
- min: this.config.visibilityByZoom.min,
1233
- max: this.config.visibilityByZoom.max
1234
- },
1235
1228
  // visconfig
1236
1229
  opacity: this.config.visConfig.opacity,
1237
1230
  highlightColor: this.config.highlightColor,
@@ -18,7 +18,6 @@ export type LayerConfig = {
18
18
  isConfigActive: boolean;
19
19
  highlightColor: RGBColor | RGBAColor;
20
20
  hidden: boolean;
21
- visibilityByZoom: {min: number; max: number};
22
21
 
23
22
  colorField: VisualChannelField;
24
23
  colorDomain: VisualChannelDomain;
@@ -163,9 +163,6 @@ export default {
163
163
  heightRange: 'Rang alçada',
164
164
  heightMultiplier: "Multiplicador d'alçada"
165
165
  },
166
- layerVisibility: {
167
- title: 'Visibilitat per nivell de zoom'
168
- },
169
166
  layerManager: {
170
167
  addData: 'Afegeix Dades',
171
168
  addLayer: 'Afegeix Capes',
@@ -160,9 +160,6 @@ export default {
160
160
  zoomScale: '缩放比例',
161
161
  heightRange: '高度范围'
162
162
  },
163
- layerVisibility: {
164
- title: '缩放级别的可见性'
165
- },
166
163
  layerManager: {
167
164
  addData: '添加数据',
168
165
  addLayer: '添加图层',
@@ -163,9 +163,6 @@ export default {
163
163
  heightRange: 'Height Range',
164
164
  heightMultiplier: 'Height Multiplier'
165
165
  },
166
- layerVisibility: {
167
- title: 'Visibility by zoom level'
168
- },
169
166
  layerManager: {
170
167
  addData: 'Add Data',
171
168
  addLayer: 'Add Layer',
@@ -164,9 +164,6 @@ export default {
164
164
  heightRange: 'Rango de alturas',
165
165
  heightMultiplier: 'Multiplicador de altura'
166
166
  },
167
- layerVisibility: {
168
- title: 'Visibilidad por nivel de zoom'
169
- },
170
167
  layerManager: {
171
168
  addData: 'Añadir datos',
172
169
  addLayer: 'Añadir capa',
@@ -161,9 +161,6 @@ export default {
161
161
  heightRange: 'Korkeuden rajat',
162
162
  heightMultiplier: 'Korkeuskerroin'
163
163
  },
164
- layerVisibility: {
165
- title: 'Näkyvyys zoomaustason mukaan'
166
- },
167
164
  layerManager: {
168
165
  addData: 'Lisää aineisto',
169
166
  addLayer: 'Lisää taso',
@@ -162,9 +162,6 @@ export default {
162
162
  heightRange: '高さの範囲',
163
163
  heightMultiplier: '高さ乗数'
164
164
  },
165
- layerVisibility: {
166
- title: 'ズームレベルによる視認性'
167
- },
168
165
  layerManager: {
169
166
  addData: 'データ追加',
170
167
  addLayer: 'レイヤ追加',
@@ -162,9 +162,6 @@ export default {
162
162
  heightRange: 'Alcance da Altura',
163
163
  heightMultiplier: 'Multiplicador de altura'
164
164
  },
165
- layerVisibility: {
166
- title: 'Visibilidade por nível de zoom'
167
- },
168
165
  layerManager: {
169
166
  addData: 'Adicionar Dados',
170
167
  addLayer: 'Adicionar Camada',
@@ -164,9 +164,6 @@ export default {
164
164
  heightRange: 'Диапазон высоты',
165
165
  heightMultiplier: 'Множитель высоты'
166
166
  },
167
- layerVisibility: {
168
- title: 'Видимость по уровню масштабирования'
169
- },
170
167
  layerManager: {
171
168
  addData: 'Добавить данные',
172
169
  addLayer: 'Добавить слой',
@@ -491,8 +491,7 @@ export function validateLayerWithData(
491
491
  color: savedLayer.config.color,
492
492
  isVisible: savedLayer.config.isVisible,
493
493
  hidden: savedLayer.config.hidden,
494
- highlightColor: savedLayer.config.highlightColor,
495
- visibilityByZoom: savedLayer.config.visibilityByZoom
494
+ highlightColor: savedLayer.config.highlightColor
496
495
  });
497
496
 
498
497
  // find column fieldIdx
@@ -70,7 +70,6 @@ export type SavedLayer = {
70
70
  isVisible: boolean;
71
71
  visConfig: object;
72
72
  hidden: boolean;
73
- visibilityByZoom: {min: number; max: number};
74
73
  textLabel: Merge<LayerTextLabel, {field: {name: string; type: string} | null}>;
75
74
  };
76
75
  visualChannels: SavedVisualChannels;
@@ -235,7 +235,6 @@ export const layerPropsV0 = {
235
235
  color: new LayerConfigSchemaV0({key: 'color'}),
236
236
  isVisible: new LayerConfigSchemaV0({key: 'isVisible'}),
237
237
  hidden: new LayerConfigSchemaV0({key: 'hidden'}),
238
- visibilityByZoom: new LayerConfigSchemaV0({key: 'visibilityByZoom'}),
239
238
 
240
239
  // convert visConfig
241
240
  visConfig: new LayerVisConfigSchemaV0({key: 'visConfig'}),
@@ -452,7 +451,6 @@ export const layerPropsV1 = {
452
451
  version: VERSIONS.v1
453
452
  }),
454
453
  hidden: null,
455
- visibilityByZoom: null,
456
454
  textLabel: new TextLabelSchemaV1({
457
455
  version: VERSIONS.v1,
458
456
  key: 'textLabel'
@@ -896,6 +896,7 @@ const dropdownList = css`
896
896
 
897
897
  .list__item {
898
898
  ${props => props.theme.dropdownListItem};
899
+ ${dropdownListItem};
899
900
  }
900
901
 
901
902
  .list__item__anchor {