<commit_before>'use strict';

import $ from 'jquery';
import { MediaQuery } from './foundation.util.mediaQuery';
import { GetYoDigits } from './foundation.core.utils';
import { Plugin }from './foundation.core.plugin';

import { Accordion } from './foundation.accordion';
import { Tabs } from './foundation.tabs';

// The plugin matches the plugin classes with these plugin instances.
var MenuPlugins = {
  tabs: {
    cssClass: 'tabs',
    plugin:   Tabs,
    open:     (plugin, target) => plugin.selectTab(target),
    close:    null /* not supported */,
    toggle:   null /* not supported */,
  },
  accordion: {
    cssClass: 'accordion',
    plugin:   Accordion,
    open:     (plugin, target) => plugin.down($(target)),
    close:    (plugin, target) => plugin.up($(target)),
    toggle:   (plugin, target) => plugin.toggle($(target)),
  }
};


/**
 * ResponsiveAccordionTabs module.
 * @module foundation.responsiveAccordionTabs
 * @requires foundation.util.motion
 * @requires foundation.accordion
 * @requires foundation.tabs
 */

class ResponsiveAccordionTabs extends Plugin{
  /**
   * Creates a new instance of a responsive accordion tabs.
   * @class
   * @name ResponsiveAccordionTabs
   * @fires ResponsiveAccordionTabs#init
   * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.<commit_msg>fix: preserve initial data zfPlugin<commit_after>'use strict';

import $ from 'jquery';
import { MediaQuery } from './foundation.util.mediaQuery';
import { GetYoDigits } from './foundation.core.utils';
import { Plugin }from './foundation.core.plugin';

import { Accordion } from './foundation.accordion';
import { Tabs } from './foundation.tabs';

// The plugin matches the plugin classes with these plugin instances.
var MenuPlugins = {
  tabs: {
    cssClass: 'tabs',
    plugin:   Tabs,
    open:     (plugin, target) => plugin.selectTab(target),
    close:    null /* not supported */,
    toggle:   null /* not supported */,
  },
  accordion: {
    cssClass: 'accordion',
    plugin:   Accordion,
    open:     (plugin, target) => plugin.down($(target)),
    close:    (plugin, target) => plugin.up($(target)),
    toggle:   (plugin, target) => plugin.toggle($(target)),
  }
};


/**
 * ResponsiveAccordionTabs module.
 * @module foundation.responsiveAccordionTabs
 * @requires foundation.util.motion
 * @requires foundation.accordion
 * @requires foundation.tabs
 */

class ResponsiveAccordionTabs extends Plugin{
  constructor(element, options) {
    super(element, options);
    return this.storezfData || this;
  }

  /**
   * Creates a new instance of a responsive accordion tabs.
   * @class
   * @name ResponsiveAccordionTabs
   * @fires ResponsiveAccordionTabs#init
   * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.
{'fraction_non_alphanumeric': 0.13290460878885316, 'fraction_numerical': 0.0, 'mean_word_length': 3.612850082372323, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4319597', 'n_tokens_mistral': 876, 'n_tokens_neox': 832, 'n_words': 230}