Source: setting-toggle/setting-toggle.js

'use strict';

  new ExceptionHandler();

  /**
   * Polymer element for a text entry
   * @namespace SettingToggle
   */
  Polymer({
    is: 'setting-toggle',

    properties: {
      /**
       * Local storage key
       * @memberOf SettingToggle
       */
      name: {
        type: String,
        value: 'store',
      },

      /**
       * Toggle checked state
       * @memberOf SettingToggle
       */
      checked: {
        type: Boolean,
        value: false,
        notify: true,
      },

      /**
       * Toggle descriptive label
       * @memberOf SettingToggle
       */
      mainLabel: {
        type: String,
        value: '',
      },

      /**
       * Toggle secondary descriptive label
       * @memberOf SettingToggle
       */
      secondaryLabel: {
        type: String,
        value: '',
      },

      /**
       * Optional group title
       * @memberOf SettingToggle
       */
      sectionTitle: {
        type: String,
        value: '',
      },

      /**
       * Disabled state of element
       * @memberOf SettingToggle
       */
      disabled: {
        type: Boolean,
        value: false,
      },

      /**
       * Visibility state of optional divider
       * @memberOf SettingToggle
       */
      noseparator: {
        type: Boolean,
        value: false,
      },
    },

    /**
     * Set the checked state of the toggle
     * @param {boolean} checked - checked state
     * @memberOf SettingToggle
     */
    setChecked: function(checked) {
      this.set('checked', checked);
      Chrome.GA.event(Chrome.GA.EVENT.TOGGLE, `${this.name}: ${this.checked}`);
    },

    /**
     * Event: checked state changed
     * @private
     * @memberOf SettingToggle
     */
    _onChange: function() {
      Chrome.GA.event(Chrome.GA.EVENT.TOGGLE, `${this.name}: ${this.checked}`);
    },

    /**
     * Initialize value if it is not in localStorage
     * @private
     * @memberOf SettingToggle
     */
    _init: function() {
      this.set('checked', 'false');
    },
  });