export default {
  props: {
    pane: {
      type: String,
      default: 'overlayPane'
    },
    attribution: {
      type: String,
      default: null
    }
  }
};

@@ -148,16 +148,1022 @@
 t: null%0A
+    %7D,%0A    name: %7B%0A      type: String,%0A      default: null%0A    %7D,%0A    visible: %7B%0A      type: Boolean,%0A      custom: true,%0A      default: true%0A    %7D%0A  %7D,%0A  mounted () %7B%0A    this.layerOptions = %7B%0A      attribution: this.attribution,%0A      name: this.name,%0A      pane: this.pane%0A    %7D;%0A  %7D,%0A  beforeDestroy () %7B%0A    this.parentContainer.removeLayer(this);%0A  %7D,%0A  methods: %7B%0A    setAttribution (val, old) %7B%0A      let attributionControl = this.$parent.mapObject.attributionControl;%0A      attributionControl.removeAttribution(old).addAttribution(val);%0A    %7D,%0A    setName (newVal, oldVal) %7B%0A      if (newVal === oldVal) return;%0A      this.parentContainer.removeLayer(this);%0A      if (this.visible) %7B%0A        this.parentContainer.addLayer(this);%0A      %7D%0A    %7D,%0A    setVisible (newVal, oldVal) %7B%0A      if (newVal === oldVal) return;%0A      if (this.mapObject) %7B%0A        if (newVal) %7B%0A          this.parentContainer.addLayer(this);%0A        %7D else %7B%0A          this.parentContainer.removeLayer(this);%0A        %7D%0A      %7D%0A
     %7D%0A  

move more shared props and methods to Layer mixin