text: var noop = function noop() {};
  
  var prefixKey = function prefixKey(prefix) {
    return function (key) {
      return prefix + "-" + key;
    };
  };
  
  var collapsePrefix = prefixKey('am-collapse');
  Component({
    data: {
      id: '',
      activeArr: []
    },
    props: {
      activeKey: [],
      accordion: false,
      onChange: noop,
      openAnimation: {},
      collapseKey: '',
      className: ''
    },
    didMount: function didMount() {
      this.initData();
    },
    methods: {
      initData: function initData() {
        var _this$props = this.props,
            accordion = _this$props.accordion,
            activeKey = _this$props.activeKey,
            collapseKey = _this$props.collapseKey;
        var activeArr = [];
        this.$page[collapsePrefix("handleItemTap-" + collapseKey)] = this.handleItemTap.bind(this);
  
        if (accordion) {
          if (typeof activeKey === 'string') {
            activeArr = [activeKey];
          } else {
            activeArr = [this.$page[collapsePrefix("ids-" + collapseKey)] && this.$page[collapsePrefix("ids-" + collapseKey)][0]];
          }
        } else if (typeof activeKey === 'string') {
          activeArr = [activeKey];
        } else if (activeKey instanceof Array) {
          activeArr = activeKey;
        }
  
        this.updateItems(activeArr);
      },
      handleItemTap: function handleItemTap(key) {
        var activeArr = this.data.activeArr;
  
        if (this.props.accordion) {
          if (activeArr.indexOf(key) === -1) {
            this.updateItems([key]);
          } else {
            this.updateItems([]);
          }
        } else {
          var index = activeArr.indexOf(key);
  
          if (index !== -1) {
            activeArr.splice(index, 1);
          } else {
            activeArr.push(key);
          }
  
          this.updateItems(activeArr);
        }
      },
      updateItems: function updateItems(activeArr) {
        var _this = this;
  
        var collapseKey = this.props.collapseKey;
        this.setData({
          activeArr: activeArr
        });
        this.props.onChange(activeArr);
        this.$page[collapsePrefix("updates-" + collapseKey)].forEach(function (update) {
          if (typeof update === 'function') {
            update({
              activeKey: _this.data.activeArr
            });
          }
        });
      }
    }
  });