[
  {
    "id": "oj-c.Collapsible",
    "name": "Collapsible",
    "memberof": "oj-c",
    "kind": "class",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "ojcomponent": true,
    "isvcomponent": true,
    "since": "14.0.0",
    "longname": "oj-c.Collapsible",
    "pack": "oj-c",
    "classdesc": "<h3 id=\"collapsibleOverview-section\">\n  JET Collapsible\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#collapsibleOverview-section\"></a>\n</h3>\n\n<p>Description: A JET Collapsible displays a header that can be expanded to show additional content beneath it.\nThe child element of the oj-c-collapsible in the named <a href=\"#header\">header</a> slot is displayed in the header, while the child element in the <a href=\"#Default\">default</a> slot is displayed as the content.\n\n<p>Note for performance reasons, if the collapsible content is expensive to render, you should wrap it in an <code class=\"prettyprint\">oj-defer</code> element to defer the rendering of that content.<br/>\nSee the Collapsible - Deferred Rendering demo for an example.</p>\n\n<pre class=\"prettyprint\"><code>\n&lt;oj-c-collapsible>\n  &lt;h3 slot='header'>Header 1&lt;/h3>\n  &lt;p>Content 1&lt;/p>\n&lt;/oj-c-collapsible>\n</code></pre>\n\n<h3 id=\"data-attributes-section\">\n  Custom Data Attributes\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#data-attributes-section\"></a>\n</h3>\n\n<p>Collapsible supports the following custom data attributes.\n<table class=\"keyboard-table\">\n  <thead>\n    <tr>\n      <th>Name</th>\n      <th>Description</th>\n      <th>Example</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><kbd>data-oj-clickthrough</kbd></td>\n      <td><p>Specify on any element inside the header where you want to control whether Collapsible should toggle disclosure by\n          an event originating from the element or one of its descendants.</p>\n          <p>For example, if you specify this attribute with a value of \"disabled\" on a button inside the header, then Collapsible\n          will not trigger disclosure when user clicks on the button.</p>\n      </td>\n      <td>\n        <pre class=\"prettyprint\"><code>&lt;oj-c-collapsible>\n  &lt;div slot=\"header\">\n    &lt;h3>Header 3&lt;/h3>\n    &lt;oj-c-button data-oj-clickthrough=\"disabled\">&lt;/oj-c-button\n  &lt;/div>\n  &lt;p>Content&lt;/p>\n&lt;/oj-c-collapsible></code></pre>\n      </td>\n    </tr>\n  </tbody>\n</table>",
    "scope": "static",
    "tagWithoutBrackets": "oj-c-collapsible",
    "tagWithBrackets": "<oj-c-collapsible>",
    "domInterface": "CCollapsibleElement",
    "ojPageTitle": "&lt;oj-c-collapsible>",
    "camelCaseName": "Collapsible",
    "ojPageTitlePrefix": "Element: ",
    "ojtsvcomponent": true,
    "tstype": {
      "target": "Type",
      "value": "interface CCollapsibleElement extends JetElement<CollapsibleElementSettableProperties>"
    },
    "ojsignature": [
      {
        "target": "Type",
        "value": "interface CCollapsibleElement extends JetElement<CollapsibleElementSettableProperties>"
      }
    ],
    "tsdeprecated": [
      {
        "type": "supersedes",
        "since": "20.0.0",
        "value": [
          "oj-collapsible"
        ]
      }
    ],
    "extension": {
      "catalog": {
        "category": "Layout & Nav"
      },
      "vbdt": {
        "module": "oj-c/collapsible"
      },
      "oracle": {
        "icon": "oj-ux-ico-collapsible",
        "uxSpecs": [
          "collapsible"
        ]
      }
    },
    "ojmodule": "collapsible"
  },
  {
    "id": "oj-c.Collapsible#disabled",
    "name": "disabled",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "member",
    "longname": "oj-c.Collapsible#disabled",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojshortdesc": "Disables the collapsible if set to true.",
    "description": "Disables the collapsible if set to <code class=\"prettyprint\">true</code>.",
    "defaultvalue": false
  },
  {
    "id": "oj-c.Collapsible#expanded",
    "name": "expanded",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "member",
    "longname": "oj-c.Collapsible#expanded",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojwriteback": true,
    "ojshortdesc": "Specifies if the content is expanded.",
    "description": "Specifies if the content is expanded.",
    "defaultvalue": false
  },
  {
    "id": "oj-c.Collapsible#iconPosition",
    "name": "iconPosition",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "member",
    "longname": "oj-c.Collapsible#iconPosition",
    "scope": "instance",
    "type": {
      "names": [
        "\"end\"",
        "\"start\""
      ]
    },
    "optional": true,
    "ojshortdesc": "Controls placement of the icon in the header.",
    "description": "Controls placement of the icon in the header.",
    "ojvalues": [
      {
        "name": "start",
        "description": "icon position is start (default, if unspecified)",
        "displayName": "Start",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "end",
        "description": "icon position is end",
        "displayName": "End",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'start'"
  },
  {
    "id": "oj-c.Collapsible#variant",
    "name": "variant",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "member",
    "longname": "oj-c.Collapsible#variant",
    "scope": "instance",
    "type": {
      "names": [
        "\"basic\"",
        "\"horizontal-rule\""
      ]
    },
    "optional": true,
    "ojshortdesc": "Controls display of the optional divider below the header.",
    "description": "Controls display of the optional divider below the header.",
    "ojvalues": [
      {
        "name": "basic",
        "description": "basic, no divider (default, if unspecified)",
        "displayName": "Basic",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "horizontal-rule",
        "description": "displays a horizontal divider between the header and content",
        "displayName": "Horizontal Rule",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'basic'"
  },
  {
    "id": "oj-c.Collapsible#setProperty",
    "name": "setProperty",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "function",
    "longname": "oj-c.Collapsible#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.Collapsible#getProperty",
    "name": "getProperty",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "function",
    "longname": "oj-c.Collapsible#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.Collapsible#setProperties",
    "name": "setProperties",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "function",
    "longname": "oj-c.Collapsible#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.Collapsible#event:ojBeforeCollapse",
    "name": "ojBeforeCollapse",
    "kind": "event",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "longname": "oj-c.Collapsible#event:ojBeforeCollapse",
    "scope": "instance",
    "ojshortdesc": "Triggered immediately before the collapsible is collapsed.",
    "description": "<p style=\"background-color: RGB(var(--oj-palette-info-rgb-30)); border: 2px solid #ddd\"><strong>Note:</strong> The event detail contains the following properties: [oj-c.Collapsible.CollapsibleToggleDetail]{@link oj-c.Collapsible.CollapsibleToggleDetail}</p>Triggered immediately before the collapsible is collapsed."
  },
  {
    "id": "oj-c.Collapsible#event:ojBeforeExpand",
    "name": "ojBeforeExpand",
    "kind": "event",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "longname": "oj-c.Collapsible#event:ojBeforeExpand",
    "scope": "instance",
    "ojshortdesc": "Triggered immediately before the collapsible is expanded.",
    "description": "<p style=\"background-color: RGB(var(--oj-palette-info-rgb-30)); border: 2px solid #ddd\"><strong>Note:</strong> The event detail contains the following properties: [oj-c.Collapsible.CollapsibleToggleDetail]{@link oj-c.Collapsible.CollapsibleToggleDetail}</p>Triggered immediately before the collapsible is expanded."
  },
  {
    "id": "oj-c.Collapsible#event:ojCollapse",
    "name": "ojCollapse",
    "kind": "event",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "longname": "oj-c.Collapsible#event:ojCollapse",
    "scope": "instance",
    "ojshortdesc": "Triggered after the collapsible has been collapsed.",
    "description": "<p style=\"background-color: RGB(var(--oj-palette-info-rgb-30)); border: 2px solid #ddd\"><strong>Note:</strong> The event detail contains the following properties: [oj-c.Collapsible.CollapsibleToggleDetail]{@link oj-c.Collapsible.CollapsibleToggleDetail}</p>Triggered after the collapsible has been collapsed."
  },
  {
    "id": "oj-c.Collapsible#event:ojExpand",
    "name": "ojExpand",
    "kind": "event",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "longname": "oj-c.Collapsible#event:ojExpand",
    "scope": "instance",
    "ojshortdesc": "Triggered after the collapsible has been expanded (after animation completes).",
    "description": "<p style=\"background-color: RGB(var(--oj-palette-info-rgb-30)); border: 2px solid #ddd\"><strong>Note:</strong> The event detail contains the following properties: [oj-c.Collapsible.CollapsibleToggleDetail]{@link oj-c.Collapsible.CollapsibleToggleDetail}</p>Triggered after the collapsible has been expanded (after animation completes)."
  },
  {
    "id": "oj-c.Collapsible#Default",
    "name": "Default",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "member",
    "longname": "oj-c.Collapsible#Default",
    "scope": "instance",
    "description": "The default slot is the content of the collapsible. The oj-c-collapsible element accepts plain text or DOM nodes as children for the default slot.",
    "ojshortdesc": "The default slot is the content of the collapsible. The oj-c-collapsible element accepts plain text or DOM nodes as children for the default slot.",
    "ojchild": true
  },
  {
    "id": "oj-c.Collapsible#header",
    "name": "header",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "kind": "member",
    "longname": "oj-c.Collapsible#header",
    "scope": "instance",
    "description": "The header slot is the collapsible's header. If not specified, the header contains only an open/close icon. Note that the header text is required for JET collapsible for accessibility purposes.",
    "ojshortdesc": "The header slot is the collapsible's header. If not specified, the header contains only an open/close icon. Note that the header text is required for JET collapsible for accessibility purposes.",
    "ojslot": true
  },
  {
    "id": "oj-c.Collapsible.CollapsibleToggleDetail",
    "name": "CollapsibleToggleDetail",
    "kind": "typedef",
    "memberof": "oj-c.Collapsible",
    "meta": {
      "filename": "collapsible.tsx",
      "path": "web/components/oj-c/collapsible"
    },
    "longname": "oj-c.Collapsible.CollapsibleToggleDetail",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "",
    "properties": [
      {
        "name": "target",
        "optional": false,
        "type": {
          "names": [
            "EventTarget|null"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "EventTarget|null",
            "jsdocOverride": true,
            "for": "target"
          }
        ]
      },
      {
        "name": "accept",
        "tstype": [
          {
            "target": "Type",
            "value": "(acceptPromise:Promise<void>) => void",
            "for": "accept",
            "jsdocOverride": true
          }
        ],
        "description": "This method can be called with an application-created Promise to cancel this event asynchronously.  The Promise should be resolved or rejected to accept or cancel the event, respectively.",
        "type": {
          "names": [
            "function"
          ]
        }
      }
    ]
  }
]