[
  {
    "id": "oj-c.ToggleButton",
    "name": "ToggleButton",
    "memberof": "oj-c",
    "kind": "class",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "ojcomponent": true,
    "isvcomponent": true,
    "since": "17.0.0",
    "longname": "oj-c.ToggleButton",
    "pack": "oj-c",
    "classdesc": "<h3 id=\"toggleButtonOverview-section\">\n  JET ToggleButton\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#toggleButtonOverview-section\"></a>\n</h3>\n\n<p>Description: Themeable, WAI-ARIA-compliant toggle button, with appropriate styles for hover, active, and disabled.\n\n<pre class=\"prettyprint\"><code>&lt;oj-c-toggle-button id=\"myToggleButton\" value=\"{{value}}\" label=\"My ToggleButton\">\n&lt;/oj-c-toggle-button>\n&lt;oj-c-toggle-button label=\"start icon\">\n  &lt;span slot='startIcon' class='myIconClass'>&lt;/span>\n&lt;/oj-c-toggle-button>\n &lt;oj-c-toggle-button label=\"end icon\">\n  &lt;span slot='endIcon' class='myIconClass'>&lt;/span>\n&lt;/oj-c-toggle-button>\n</code></pre>\n\n<h3 id=\"toggleButtons-section\">\n  Toggle Buttons\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#pushToggleButtons-section\"></a>\n</h3>\n\n<p>Toggle Buttons allow users to switch between states when clicked or tapped.\nToggle buttons are created from <code class=\"prettyprint\">oj-c-toggle-button</code> elements.\n\n<h3 id=\"touch-section\">\n  Touch End User Information\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#touch-section\"></a>\n</h3>\n\n<table class=\"keyboard-table\">\n  <thead>\n    <tr>\n      <th>Target</th>\n      <th>Gesture</th>\n      <th>Action</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>Push ToggleButton</td>\n      <td><kbd>Tap</kbd></td>\n      <td>Push the button.</td>\n    </tr>\n  </tbody>\n</table>\n\n<h3 id=\"keyboard-section\">\n  Keyboard End User Information\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#keyboard-section\"></a>\n</h3>\n\n<table class=\"keyboard-table\">\n  <thead>\n    <tr>\n      <th>Target</th>\n      <th>Key</th>\n      <th>Action</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>Push Toggle Button</td>\n      <td><kbd>Enter</kbd> or <kbd>Space</kbd></td>\n      <td>Push the button.</td>\n    </tr>\n  </tbody>\n</table>\n\n<h3 id=\"a11y-section\">\n  Accessibility\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#a11y-section\"></a>\n</h3>\n\n<p>For accessibility, it is not required to set an aria label on a JET button as it uses the label text to generate an aria label.\nTherefore the label should be specified even if the button is <a href=\"#display\">icon-only (display=icons)</a>. However,\nyou can override the default behavior by setting <code class=\"prettyprint\">aria-label</code>.\nThe label can be hidden using the display attribute.\n\n<p>\nDisabled content: JET supports an accessible luminosity contrast ratio,\nas specified in <a href=\"http://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\">WCAG 2.0 - Section 1.4.3 \"Contrast\"</a>,\nin the themes that are accessible.  (See the \"Theming\" chapter of the JET Developer Guide for more information on which\nthemes are accessible.)  Note that Section 1.4.3 says that text or images of text that are part of an inactive user\ninterface component have no contrast requirement.  Because disabled content may not meet the minimum contrast ratio\nrequired of enabled content, it cannot be used to convey meaningful information.\n</p>",
    "scope": "static",
    "tagWithoutBrackets": "oj-c-toggle-button",
    "tagWithBrackets": "<oj-c-toggle-button>",
    "domInterface": "CToggleButtonElement",
    "ojPageTitle": "&lt;oj-c-toggle-button>",
    "camelCaseName": "ToggleButton",
    "ojPageTitlePrefix": "Element: ",
    "ojtsvcomponent": true,
    "tstype": {
      "target": "Type",
      "value": "interface CToggleButtonElement extends JetElement<ToggleButtonElementSettableProperties>"
    },
    "ojsignature": [
      {
        "target": "Type",
        "value": "interface CToggleButtonElement extends JetElement<ToggleButtonElementSettableProperties>"
      }
    ],
    "tsdeprecated": [
      {
        "type": "supersedes",
        "since": "17.0.0",
        "value": [
          "oj-buttonset-many"
        ]
      }
    ],
    "extension": {
      "catalog": {
        "category": "Controls"
      },
      "vbdt": {
        "module": "oj-c/toggle-button"
      },
      "oracle": {
        "icon": "oj-ux-ico-button",
        "uxSpecs": [
          "Toggle%20Button"
        ]
      }
    },
    "ojmodule": "toggle-button"
  },
  {
    "id": "oj-c.ToggleButton#label",
    "name": "label",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#label",
    "scope": "instance",
    "type": {
      "names": [
        "string"
      ]
    },
    "optional": false,
    "ojshortdesc": "Text to show in the button.",
    "description": "Text to show in the button."
  },
  {
    "id": "oj-c.ToggleButton#value",
    "name": "value",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#value",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojwriteback": true,
    "ojshortdesc": "Specifies if the toggle button is selected",
    "description": "Specifies if the toggle button is selected",
    "defaultvalue": false
  },
  {
    "id": "oj-c.ToggleButton#tooltip",
    "name": "tooltip",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#tooltip",
    "scope": "instance",
    "type": {
      "names": [
        "string"
      ]
    },
    "optional": true,
    "ojshortdesc": "Text to show in the tooltip. This overrides the default tooltip that renders the label when in icon mode.",
    "description": "Text to show in the tooltip. This overrides the default tooltip that renders the label when in icon mode."
  },
  {
    "id": "oj-c.ToggleButton#disabled",
    "name": "disabled",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#disabled",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojshortdesc": "Specifies that the button element should be disabled.",
    "description": "Specifies that the button element should be disabled.",
    "defaultvalue": false
  },
  {
    "id": "oj-c.ToggleButton#width",
    "name": "width",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#width",
    "scope": "instance",
    "type": {
      "names": [
        "number|string"
      ]
    },
    "optional": true,
    "ojshortdesc": "Specifies that the button style width",
    "description": "Specifies that the button style width"
  },
  {
    "id": "oj-c.ToggleButton#display",
    "name": "display",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#display",
    "scope": "instance",
    "type": {
      "names": [
        "\"all\"",
        "\"label\"",
        "\"icons\""
      ]
    },
    "optional": true,
    "ojshortdesc": "Display just the label, the icons, or all. Label is used as tooltip and should be set in all cases.",
    "description": "Display just the label, the icons, or all. Label is used as tooltip and should be set in all cases.",
    "ojvalues": [
      {
        "name": "all",
        "description": "Display both the label and icons.",
        "displayName": "All",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "icons",
        "description": "Display only the icons.",
        "displayName": "Icons",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "label",
        "description": "Display only the text label.",
        "displayName": "label",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'all'"
  },
  {
    "id": "oj-c.ToggleButton#size",
    "name": "size",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#size",
    "scope": "instance",
    "type": {
      "names": [
        "\"sm\"",
        "\"md\"",
        "\"lg\""
      ]
    },
    "optional": true,
    "ojshortdesc": "Size of button",
    "description": "Size of button",
    "ojvalues": [
      {
        "name": "sm",
        "description": "Display a small button.",
        "displayName": "Small",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "md",
        "description": "Display a default size button.",
        "displayName": "Medium",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "lg",
        "description": "Display a large button.",
        "displayName": "Large",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'md'"
  },
  {
    "id": "oj-c.ToggleButton#chroming",
    "name": "chroming",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#chroming",
    "scope": "instance",
    "type": {
      "names": [
        "\"borderless\"",
        "\"outlined\""
      ]
    },
    "optional": true,
    "ojshortdesc": "Indicates in what states the button has variants in background and border.",
    "description": "Indicates in what states the button has variants in background and border.",
    "ojvalues": [
      {
        "name": "borderless",
        "description": "Borderless buttons are a less prominent variation.",
        "displayName": "Borderless",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "outlined",
        "description": "Outlined buttons are a more prominent variation.",
        "displayName": "Outlined",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'outlined'"
  },
  {
    "id": "oj-c.ToggleButton#focus",
    "name": "focus",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "function",
    "longname": "oj-c.ToggleButton#focus",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "description": ""
  },
  {
    "id": "oj-c.ToggleButton#blur",
    "name": "blur",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "function",
    "longname": "oj-c.ToggleButton#blur",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "description": ""
  },
  {
    "id": "oj-c.ToggleButton#click",
    "name": "click",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "function",
    "longname": "oj-c.ToggleButton#click",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "description": ""
  },
  {
    "id": "oj-c.ToggleButton#setProperty",
    "name": "setProperty",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "function",
    "longname": "oj-c.ToggleButton#setProperty",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "ojshortdesc": "Sets a property or a single subproperty for complex properties and notifies the component of the change, triggering a corresponding event.",
    "description": "Sets a property or a single subproperty for complex properties and notifies the component of the change, triggering a corresponding event.",
    "params": [
      {
        "name": "property",
        "description": "The property name to set. Supports dot notation for subproperty access.",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "value",
        "description": "The new value to set the property to.",
        "type": {
          "names": [
            "any"
          ]
        }
      }
    ]
  },
  {
    "id": "oj-c.ToggleButton#getProperty",
    "name": "getProperty",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "function",
    "longname": "oj-c.ToggleButton#getProperty",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "any"
          ]
        }
      }
    ],
    "ojshortdesc": "Retrieves the value of a property or a subproperty.",
    "description": "Retrieves the value of a property or a subproperty.",
    "params": [
      {
        "name": "property",
        "description": "The property name to get. Supports dot notation for subproperty access.",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ]
  },
  {
    "id": "oj-c.ToggleButton#setProperties",
    "name": "setProperties",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "function",
    "longname": "oj-c.ToggleButton#setProperties",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "ojshortdesc": "Performs a batch set of properties.",
    "description": "Performs a batch set of properties.",
    "params": [
      {
        "name": "properties",
        "description": "An object containing the property and value pairs to set.",
        "type": {
          "names": [
            "object"
          ]
        }
      }
    ]
  },
  {
    "id": "oj-c.ToggleButton#startIcon",
    "name": "startIcon",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#startIcon",
    "scope": "instance",
    "description": "The startIcon slot is the button's start icon. The oj-c-toggle-button element accepts DOM nodes as children with the startIcon slot.",
    "ojshortdesc": "The startIcon slot is the button's start icon. The oj-c-toggle-button element accepts DOM nodes as children with the startIcon slot.",
    "ojslot": true
  },
  {
    "id": "oj-c.ToggleButton#endIcon",
    "name": "endIcon",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "kind": "member",
    "longname": "oj-c.ToggleButton#endIcon",
    "scope": "instance",
    "description": "The endIcon slot is the button's end icon. The oj-c-toggle-button element accepts DOM nodes as children with the endIcon slot.",
    "ojshortdesc": "The endIcon slot is the button's end icon. The oj-c-toggle-button element accepts DOM nodes as children with the endIcon slot.",
    "ojslot": true
  },
  {
    "id": "oj-c.ToggleButton.touchDoc",
    "name": "touchDoc",
    "kind": "member",
    "longname": "oj-c.ToggleButton.touchDoc",
    "description": "<table class=\"keyboard-table\">\n  <thead>\n    <tr>\n      <th>Target</th>\n      <th>Gesture</th>\n      <th>Action</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>Push ToggleButton</td>\n      <td><kbd>Tap</kbd></td>\n      <td>Push the button.</td>\n    </tr>\n  </tbody>\n</table>",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "ojfragment": true
  },
  {
    "id": "oj-c.ToggleButton.keyboardDoc",
    "name": "keyboardDoc",
    "kind": "member",
    "longname": "oj-c.ToggleButton.keyboardDoc",
    "description": "<table class=\"keyboard-table\">\n  <thead>\n    <tr>\n      <th>Target</th>\n      <th>Key</th>\n      <th>Action</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>Push Toggle Button</td>\n      <td><kbd>Enter</kbd> or <kbd>Space</kbd></td>\n      <td>Push the button.</td>\n    </tr>\n  </tbody>\n</table>",
    "memberof": "oj-c.ToggleButton",
    "meta": {
      "filename": "toggle-button.tsx",
      "path": "web/components/oj-c/toggle-button"
    },
    "ojfragment": true
  }
]