[
  {
    "id": "oj-c.CardView",
    "name": "CardView",
    "memberof": "oj-c",
    "kind": "class",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "ojcomponent": true,
    "isvcomponent": true,
    "since": "17.0.0",
    "longname": "oj-c.CardView",
    "pack": "oj-c",
    "classdesc": "<h3 id=\"CardViewOverview-section\">\n  JET CardView Component\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#CardViewOverview-section\"></a>\n</h3>\n\n<p>Description: The JET CardView enhances a themable, WAI-ARIA compliant, mobile friendly component with advance interactive features.\nThe child content can be configured via a DataProvider which should be used for mutable data.</p>\n\n<p>For migration information from the card layout feature from <code>oj-list-view</code> refer to the <a href=\"https://jet.oraclecorp.com/trunk/jsdocs/oj.ojListView.html#styling-section\">migration section</a> in the API docs.\n\n<h3 id=\"data-section\">\n  Data\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#data-section\"></a>\n</h3>\n<p>The JET CardView gets its data from a DataProvider.</p>\n\n<p><b>ArrayDataProvider</b> - Use this when the underlying data is an array object or an observableArray.  In the observableArray case, CardView will automatically react\nwhen items are added or removed from the array.  See the documentation for ArrayDataProvider for more details on the available options.</p>\n\n<p>Example of data provider content</p>\n<pre class=\"prettyprint\"><code>\n  &lt;oj-c-card-view aria-label=\"Accessible Summary\" data=\"[[dataProvider]]\">\n  &lt;/oj-c-card-view>\n</code></pre>\n\n<p>Check out the CardView Basic demo</a>\n\n<h3 id=\"keyboard-section\">\n  Coming Features\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#coming-features-section\"></a>\n</h3>\n\n<p>These features will be available in forthcoming versions</p>\n<ul>\n   <li>Context menu</li>\n   <li>First selected item</li>\n   <li>Drag and drop between components</li>\n   <li>Managing scroll position</li>\n</ul>\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 rowspan = \"20\" nowrap>Card Item</td>\n      <td><kbd>F2</kbd></td>\n      <td>Enters tabbable mode.  This enables keyboard action on elements inside the item, including navigate between focusable elements inside the item.  It can also be used to exit tabbable mode if already in tabbable mode.</td>\n    </tr>\n    <tr>\n      <td><kbd>Esc</kbd></td>\n      <td>Exits tabbable mode.</td>\n    </tr>\n    <tr>\n      <td><kbd>Tab</kbd></td>\n      <td>When in tabbable mode, navigates to next focusable element within the item.  If the last focusable element is reached, shift focus back to the first focusable element.\n          When not in tabbable mode, navigates to next focusable element on page (outside CardView).</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Tab</kbd></td>\n      <td>When in tabbable mode, navigates to previous focusable element within the item.  If the first focusable element is reached, shift focus back to the last focusable element.\n          When not in tabbable mode, navigates to previous focusable element on page (outside CardView).</td>\n    </tr>\n    <tr>\n      <td><kbd>DownArrow</kbd></td>\n      <td>Move focus to the item below.</td>\n    </tr>\n    <tr>\n      <td><kbd>UpArrow</kbd></td>\n      <td>Move focus to the item above.</td>\n    </tr>\n    <tr>\n      <td><kbd>LeftArrow</kbd></td>\n      <td>Move focus to the item on the left.</td>\n    </tr>\n    <tr>\n      <td><kbd>RightArrow</kbd></td>\n      <td>Move focus to the item on the right.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+DownArrow</kbd></td>\n      <td>Extend the selection to the item below.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+UpArrow</kbd></td>\n      <td>Extend the selection to the item above.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+LeftArrow</kbd></td>\n      <td>Extend the selection to the item on the left.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+RightArrow</kbd></td>\n      <td>Extend the selection to the item on the right.</td>\n    </tr>\n    <tr>\n      <td><kbd>Space</kbd></td>\n      <td>Toggles to select and deselect the current item.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Space</kbd></td>\n      <td>Selects contiguous items from the last selected item to the current item.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Cmd/Ctrl+DownArrow</kbd></td>\n      <td>Reorder the current item down.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Cmd/Ctrl+UpArrow</kbd></td>\n      <td>Reorder the current item up.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Cmd/Ctrl+LeftArrow</kbd></td>\n      <td>Reorder the current item to the left.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Cmd/Ctrl+RightArrow</kbd></td>\n      <td>Reorder the current item to the right.</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>\nTo make your component accessible, the application is required to include contextual information for screen readers using one or more of the following methods as appropriate:\n<ul>\n  <li>aria-label</li>\n  <li>aria-labelledby</li>\n</ul>\n</p>\n\n<p>Application should specify a value for the aria-label attribute with a meaningful description of the purpose of this CardView.</p>\n<p>Note that CardView uses the grid role and follows the <a href=\"https://www.w3.org/TR/wai-aria-practices/examples/grid/LayoutGrids.html\">Layout Grid</a> design as outlined in the <a href=\"https://www.w3.org/TR/wai-aria-practices/#grid\">grid design pattern</a></p>\n<p>Nesting collection components such as ListView, Table, TreeView, and CardView inside of CardView is not supported.</p>\n<p>When reorder feature is enabled, application should specify a live region which contains an announcement to notify assistive technologies that the card reordering happens.</p>\n\n<h4>Custom Colours</h4>\n<p>Using colors, including background and text colors, is not accessible if it is the only way information is conveyed.\nLow vision users may not be able to see the different colors, and in high contrast mode the colors are removed.\nThe Redwood approved way to show status is to use badge.</p>\n\n<h3 id=\"context-section\">\n  Item Context\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#context-section\"></a>\n</h3>\n\n<p>For all item options, developers can specify a function as the return value.  The function takes a single argument, which is an object that contains contextual information about the particular item.  This gives developers the flexibility to return different value depending on the context.</p>\n\n<p>The context parameter contains the following keys:</p>\n<table class=\"keyboard-table\">\n  <thead>\n    <tr>\n      <th>Key</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><kbd>data</kbd></td>\n      <td>The data of the item.  Note this is made available primarily to ease migration.\n          Applications should get the data from the item property instead.</td>\n    </tr>\n    <tr>\n      <td><kbd>item</kbd></td>\n      <td>An object that contains the data and metadata for the item.</td>\n    </tr>\n    <tr>\n      <td><kbd>isTabbable</kbd></td>\n      <td>A boolean indicating whether the item is in tabbable mode or not.\n         This should be used to implement conditional behavior for all tabbable elements, this avoids creating a keyboard trap when tabbing through the CardView.<br/>\n         This can be implemented as a conditional tabindex, for example <code>tabindex=\"[[!item.isTabbable && '-1']]\"</code>.<br/>\n         When composing with core pack components, this is not needed, as they are tabbable mode aware.\n        </td>\n    </tr>\n  </tbody>\n</table>\n\n<p>The following keys are not currently supported:</p>\n\n<table class=\"keyboard-table\">\n  <thead>\n    <tr>\n      <th>Key</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><kbd>componentElement</kbd></td>\n      <td>A reference to the root element of CardView.</td>\n    </tr>\n    <tr>\n      <td><kbd>datasource</kbd></td>\n      <td>A reference to the data source object.</td>\n    </tr>\n    <tr>\n      <td><kbd>index</kbd></td>\n      <td>The index of the item, where 0 is the index of the first item.  In the hierarchical case the index is relative to its parent.</td>\n    </tr>\n    <tr>\n      <td><kbd>key</kbd></td>\n      <td>The key of the item (this duplicates item.metadata.key and has been deprecated)</td>\n    </tr>\n    <tr>\n      <td><kbd>metadata</kbd></td>\n      <td>The metadata of the item (this is instead available in item)</td>\n    </tr>\n    <tr>\n      <td><kbd>parentElement</kbd></td>\n      <td>This will be supported by the Hierarchical list component and no longer applies to CardView..</td>\n    </tr>\n  </tbody>\n</table>\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>CardView 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-as</kbd></td>\n      <td>Provides an alias for a specific template instance and has the same subproperties as the $current variable.</td>\n      <td>\n        <pre class=\"prettyprint\"><code>&lt;oj-c-card-view id=\"CardView\">\n  &lt;template slot=\"itemTemplate\" data-oj-as=\"item\">\n  &lt;/template>\n&lt;/oj-c-card-view></code></pre>\n      </td>\n    </tr>\n    <tr>\n      <td><kbd>data-oj-clickthrough</kbd></td>\n      <td><p>Specify on any element inside an item where you want to control whether CardView should perform actions triggered by\n          a click 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 link inside an item, then CardView\n          will not select or trigger itemAction event to be fired when user clicks on the link.</p>\n          <p>Note that the currentItem will still be updated to the item that the user clicked on.</p>\n          <p>Also note you do not need to set this attribute on core pack components such as oj-c-button, as it natively supports\n             disabling clickthrough.</p>\n      </td>\n      <td>\n        <pre class=\"prettyprint\"><code>&lt;oj-c-card-view id=\"card-view\">\n  &lt;template slot=\"itemTemplate\">\n    &lt;a href=\"#\" data-oj-clickthrough=\"disabled\">&lt;/a>\n  &lt;/template>\n&lt;/oj-c-card-view></code></pre>\n      </td>\n    </tr>\n    <tr>\n      <td><kbd>data-oj-manage-tabs</kbd></td>\n      <td><p>CardView does not manipulate the tabindex of the item content.  Applications should set the tabIndex of any focusable\n         element based on the isTabbableMode property from the context pass to the itemTemplate.</p>\n         <p>However, there will be cases where you can't control the tabindex of the content, for example, if you are using components from another team.</p>\n         <p>In that case, applications can specify this attribute on the element or one of its ancestors so that when the itemTemplate is processed,\n         it will scan and manipulate the tabindex of any focusable elements.</p>\n      </td>\n      <td>\n        <pre class=\"prettyprint\"><code>&lt;oj-c-card-view id=\"CardView\">\n  &lt;template slot=\"itemTemplate\">\n    &lt;some-component-with-focusable-elements data-oj-manage-tabs>&lt;/some-component-with-focusable-elements>\n  &lt;/template>\n&lt;/oj-c-card-view></code></pre>\n      </td>\n    </tr>\n  </tbody>\n</table>",
    "scope": "static",
    "tagWithoutBrackets": "oj-c-card-view",
    "tagWithBrackets": "<oj-c-card-view>",
    "domInterface": "CCardViewElement",
    "ojPageTitle": "&lt;oj-c-card-view>",
    "camelCaseName": "CardView",
    "ojPageTitlePrefix": "Element: ",
    "ojtsvcomponent": true,
    "tstype": {
      "target": "Type",
      "value": "interface CCardViewElement<K extends string | number,D> extends JetElement<CardViewElementSettableProperties<K,D>>"
    },
    "ojsignature": [
      {
        "target": "Type",
        "value": "interface CCardViewElement<K extends string | number,D> extends JetElement<CardViewElementSettableProperties<K,D>>"
      }
    ],
    "tsdeprecated": [
      {
        "type": "production",
        "since": "19.0.0"
      }
    ],
    "extension": {
      "vbdt": {
        "module": "oj-c/card-view"
      },
      "oracle": {
        "uxSpecs": [
          "card-view"
        ]
      }
    },
    "ojmodule": "card-view"
  },
  {
    "id": "oj-c.CardView#currentItem",
    "name": "currentItem",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#currentItem",
    "scope": "instance",
    "type": {
      "names": [
        "string|number"
      ]
    },
    "optional": true,
    "ojdisplayname": "Current Item",
    "ojwriteback": true,
    "readonly": true,
    "description": "The item that currently has keyboard focus",
    "tstype": [
      {
        "target": "Type",
        "value": "K",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.CardView#data",
    "name": "data",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#data",
    "scope": "instance",
    "type": {
      "names": [
        "DataProvider|null"
      ]
    },
    "optional": true,
    "ojdisplayname": "Data",
    "ojshortdesc": "The data source for CardView.",
    "description": "The data source for CardView. Must be of type DataProvider.",
    "defaultvalue": null,
    "tstype": [
      {
        "target": "Type",
        "value": "DataProvider<K, D>|null",
        "jsdocOverride": true,
        "module": {
          "DataProvider": "ojdataprovider"
        }
      }
    ]
  },
  {
    "id": "oj-c.CardView#gutterSize",
    "name": "gutterSize",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#gutterSize",
    "scope": "instance",
    "type": {
      "names": [
        "\"xs\"",
        "\"sm\"",
        "\"md\"",
        "\"lg\"",
        "\"xl\""
      ]
    },
    "optional": true,
    "ojdisplayname": "GutterSize",
    "ojshortdesc": "Size of the gutter between columns and rows.",
    "description": "Specifies size of the gutter between columns and rows.\n\nPossible values are: 'xs', 'sm', 'md', 'lg' and 'xl'.\nThe default value is 'sm'.",
    "defaultvalue": "'sm'"
  },
  {
    "id": "oj-c.CardView#scrollPolicyOptions",
    "name": "scrollPolicyOptions",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#scrollPolicyOptions",
    "scope": "instance",
    "type": {
      "names": [
        "object"
      ]
    },
    "optional": true,
    "ojdisplayname": "Scroll Policy Options",
    "ojshortdesc": "Specifies fetch options for scrolling behaviors that trigger data fetches.",
    "description": "scrollPolicy options.\n<p>\nThe following options are supported:\n<ul>\n  <li>fetchSize: The number of items fetched each time when scroll to the end.</li>\n  <li>scroller: The css selector that locates the element in which CardView uses to determine the scroll position as well as the maximum scroll position where scroll to the end will trigger a fetch.  If not specified then the oj-c-card-view element is used.</li>\n</ul>\nBy default, the next block of rows is fetched when the user scrolls to the end of the CardView/scroller. The fetchSize option determines how many rows are fetched in each block.",
    "tstype": [
      {
        "target": "Type",
        "value": "{ fetchSize?: number; scroller?: string; }",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.CardView#scrollPolicyOptions.fetchSize",
    "name": "scrollPolicyOptions.fetchSize",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#scrollPolicyOptions.fetchSize",
    "scope": "instance",
    "type": {
      "names": [
        "number"
      ]
    },
    "optional": true,
    "description": "",
    "defaultvalue": 25
  },
  {
    "id": "oj-c.CardView#scrollPolicyOptions.scroller",
    "name": "scrollPolicyOptions.scroller",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#scrollPolicyOptions.scroller",
    "scope": "instance",
    "type": {
      "names": [
        "string"
      ]
    },
    "optional": true,
    "description": ""
  },
  {
    "id": "oj-c.CardView#selected",
    "name": "selected",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#selected",
    "scope": "instance",
    "type": {
      "names": [
        "object"
      ]
    },
    "optional": true,
    "ojdisplayname": "Selected Items Changed",
    "ojwriteback": true,
    "ojshortdesc": "The selected property",
    "description": "The current selected items in the CardView. An empty KeySet indicates nothing is selected.\nIn addition, <a href=\"AllKeySetImpl.html\">AllKeySetImpl</a> set\ncan be used to represent select all state.",
    "tstype": [
      {
        "target": "Type",
        "value": "ImmutableKeySet<K>",
        "jsdocOverride": true,
        "module": {
          "ImmutableKeySet": "ojkeyset"
        }
      }
    ]
  },
  {
    "id": "oj-c.CardView#selectionMode",
    "name": "selectionMode",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#selectionMode",
    "scope": "instance",
    "type": {
      "names": [
        "\"none\"",
        "\"multiple\"",
        "\"single\"",
        "\"singleRequired\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Selection Mode",
    "ojshortdesc": "Type of selection behavior for the CardView",
    "description": "<p>The type of selection behavior that is enabled on the CardView. This attribute controls the number of selections that can be made via selection gestures at any given time.\n\n<p>If <code class=\"prettyprint\">single</code> or <code class=\"prettyprint\">multiple</code> is specified, selection gestures will be enabled, and the CardView's selection styling will be applied to all items specified by the <a href=\"#selected\">selected</a> attribute.\nIf <code class=\"prettyprint\">singleRequired</code> is specified, then the behavior is the same as single except that CardView will ensure there is an item selected at all times. Specifically, the user will not be able to de-selected a selected item.  And if selection is initially empty, CardView will select the first item.\nIf <code class=\"prettyprint\">none</code> is specified, selection gestures will be disabled, and the CardView's selection styling will not be applied to any items specified by the <a href=\"#selected\">selected</a> attribute.\n<p>Changing the value of this attribute will not affect the value of the <a href=\"#selected\">selected</a> attribute.",
    "ojvalues": [
      {
        "name": "multiple",
        "description": "Multiple items can be selected at the same time.",
        "displayName": "Multiple",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "none",
        "description": "Selection is disabled.",
        "displayName": "None",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "single",
        "description": "Only a single item can be selected at a time.",
        "displayName": "Single",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "singleRequired",
        "description": "Only a single item can be selected at a time. In addition, CardView will also ensure that an item is selected at all time.",
        "displayName": "Single Required",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'none'"
  },
  {
    "id": "oj-c.CardView#initialAnimation",
    "name": "initialAnimation",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#initialAnimation",
    "scope": "instance",
    "type": {
      "names": [
        "\"slideUp\"",
        "\"slideDown\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Initial Animation",
    "ojshortdesc": "Specify animation when cards are initially rendered.",
    "description": "Specify animation when cards are initially rendered.\nPossible values are: 'slideUp' and 'slideDown",
    "defaultvalue": "'slideUp'"
  },
  {
    "id": "oj-c.CardView#focusBehavior",
    "name": "focusBehavior",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#focusBehavior",
    "scope": "instance",
    "type": {
      "names": [
        "\"content\"",
        "\"card\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Focus Behavior",
    "ojshortdesc": "Specifies which focus behavior we should use for an item.",
    "description": "Specifies which focus behavior CardView should use for an item that has single focusable element during keyboard navigation.\nWhen the focusBehavior is 'card', the focus will be on the root of CardView and it will do logical focus on the card. When the focusBehavior\nis 'content', the first focusable element within the card will get focus. Note that when set to 'content', there should only be one focusable\nelement within the card. If that's not the case, a warning will be logged and the focus behavior will be reset to 'card'.",
    "defaultvalue": "'card'"
  },
  {
    "id": "oj-c.CardView#columns",
    "name": "columns",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#columns",
    "scope": "instance",
    "type": {
      "names": [
        "number|string"
      ]
    },
    "optional": true,
    "ojdisplayname": "Columns",
    "ojshortdesc": "Specifies the exact number of columns to render.",
    "description": "Specifies the exact number of columns to render. By default, CardView will determine the number of columns based on\nwidth of the CardView and the width of the cards.",
    "ojvalues": [
      {
        "name": "auto",
        "description": "CardView will determine the number of columns based on width of the CardView and the width of the cards",
        "displayName": "Auto",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'auto'",
    "tstype": [
      {
        "target": "Type",
        "value": "number|\"auto\"",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.CardView#reorderable",
    "name": "reorderable",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#reorderable",
    "scope": "instance",
    "type": {
      "names": [
        "object"
      ]
    },
    "optional": true,
    "ojdisplayname": "Reorderable",
    "ojshortdesc": "Specify the item reordering functionality.",
    "description": "The reorder option contains a subset of options for reordering items.\n\n<p>The following options are supported:</p>\n<ul>\n  <li>items: Enable or disable reordering the items within the same CardView using drag and drop or keyboard. Specify 'enabled' to enable reordering. Setting the value to <code class=\"prettyprint\">\"disabled\"</code> or setting the <code class=\"prettyprint\">\"reorderable\"</code> property\n             to <code class=\"prettyprint\">null</code> (or omitting it), disables reordering support.</li>\n</ul>",
    "tstype": [
      {
        "target": "Type",
        "value": "{ items?: 'enabled' | 'disabled'; }",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.CardView#reorderable.items",
    "name": "reorderable.items",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#reorderable.items",
    "scope": "instance",
    "type": {
      "names": [
        "\"disabled\"",
        "\"enabled\""
      ]
    },
    "optional": true,
    "description": "",
    "defaultvalue": "'disabled'"
  },
  {
    "id": "oj-c.CardView#setProperty",
    "name": "setProperty",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "function",
    "longname": "oj-c.CardView#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.CardView#getProperty",
    "name": "getProperty",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "function",
    "longname": "oj-c.CardView#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.CardView#setProperties",
    "name": "setProperties",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "function",
    "longname": "oj-c.CardView#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.CardView#event:ojReorder",
    "name": "ojReorder",
    "kind": "event",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "longname": "oj-c.CardView#event:ojReorder",
    "scope": "instance",
    "ojdisplayname": "Reorder",
    "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.CardView.ReorderDetail]{@link oj-c.CardView.ReorderDetail}&lt;K></p>Triggered after items are reordered within CardView via drag and drop or keyboard."
  },
  {
    "id": "oj-c.CardView#noData",
    "name": "noData",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#noData",
    "scope": "instance",
    "ojdisplayname": "noData",
    "description": "<p>The <code class=\"prettyprint\">noData</code> slot is used to specify the content to display when the CardView is empty. The slot content\nmust be a &lt;template&gt; element. If not specified then a default no data message will be displayed.",
    "ojshortdesc": "The noData slot is used to specify the content to show when there is no data. See the Help documentation for more information.",
    "ojslot": true,
    "properties": []
  },
  {
    "id": "oj-c.CardView#itemTemplate",
    "name": "itemTemplate",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#itemTemplate",
    "scope": "instance",
    "ojdisplayname": "itemTemplate",
    "description": "<p style=\"background-color: RGB(var(--oj-palette-info-rgb-30)); border: 2px solid #ddd\"><strong>Note:</strong> When the template is executed for each item, it will have access to the binding context containing the following properties: [oj-c.CardView.ListItemContext]{@link oj-c.CardView.ListItemContext}</p><p>The <code class=\"prettyprint\">itemTemplate</code> slot is used to specify the template for rendering each item in the CardView. The slot content must be a &lt;template> element.\n<p>When the template is executed for each item, it will have access to the binding context containing the following properties:</p>\n<ul>\n  <li>$current - an object that contains information for the current item.</li>\n</ul>",
    "ojshortdesc": "The itemTemplate slot is used to specify the template for rendering each item in the component. See the Help documentation for more information.",
    "ojslot": true,
    "ojtemplateslotprops": "oj-c.CardView.ListItemContext"
  },
  {
    "id": "oj-c.CardView#skeletonTemplate",
    "name": "skeletonTemplate",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "kind": "member",
    "longname": "oj-c.CardView#skeletonTemplate",
    "scope": "instance",
    "ojdisplayname": "skeletonTemplate",
    "description": "<p>The <code class=\"prettyprint\">skeletonTemplate</code> slot is used to specify the template for rendering each skeleton while waiting for data during initial load as well as load more on scroll. The slot content\nmust be a &lt;template&gt; element. If not specified then the default skeleton will display.\n<p>When the template is executed for each skeleton, it will have access to the binding context containing the following properties:</p>\n<ul>\n  <li>$current - an object that contains information for the current skeleton.</li>\n</ul>\n<h5>Properties of $current:</h5>\n<p></p>\n<table class=\"keyboard-table\">\n<thead>\n<tr><th>Name</th><th>Type</th><th>Argument</th><th>Description</th></tr>\n</thead>\n<tbody>\n<tr><td>loadingStatus</td><td>'initial' | 'loadMore'</td><td>     </td><td>Whether the skeletons are rendered for initial load of data or for load more data in CardView</td></tr>\n<tr><td>height</td><td>Size</td><td>optional</td><td>when the loadingStatus is ‘loadMore’ this will be the height of the actual card size, when loadingStatus is 'initial' this vale is undefined.</td></tr>\n<tr><td>width</td><td>Size</td><td>optional</td><td>when the loadingStatus is ‘loadMore’ this will be the width of the actual card size, when loadingStatus is 'initial' this vale is undefined.</td></tr>\n</tbody>\n</table>\n<p></p>\n<p>Example of skeletonTemplate slot usage.</p>\n<pre class=\"prettyprint\">\n<code>\n&lt;oj-c-card-view\n id=\"cardview\"\n       class=\"demo-card-view\"\n       aria-label=\"cardview with custom skeleton\"\n       data=[[dataProvider]]>\n   &lt;template slot=\"skeletonTemplate\" data-oj-as=\"context\">\n     &lt;div class=\"oj-panel oj-sm-padding-0\n      :style=\"[[context.loadingStatus === 'initial' ? { width: '300px', height: '240px' } : { width: context.width, height: context.height } ]]\">\n         &lt;oj-c-skeleton height =\"100%\">\n         &lt;/oj-c-skeleton>\n     &lt;/div>\n   &lt;/template>\n   &lt;template data-oj-as=\"item\" slot=\"itemTemplate\">\n     &lt;div class=\"oj-panel\">\n       &lt;demo-profile-card-layout\n         name=\"[[item.data.name]]\"\n         initials=\"[[item.data.initials]]\"\n       >\n       &lt;/demo-profile-card-layout>\n     &lt;/div>\n   &lt;/template>\n&lt;/oj-c-card-view>\n</code></pre>",
    "ojshortdesc": "The skeletonTemplate slot is used to specify the template for rendering each skeleton while waiting for data during initial load as well as load more on scroll. See the Help documentation for more information.",
    "ojslot": true,
    "properties": []
  },
  {
    "id": "oj-c.CardView.keyboardDoc",
    "name": "keyboardDoc",
    "kind": "member",
    "longname": "oj-c.CardView.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 rowspan = \"20\" nowrap>Card Item</td>\n      <td><kbd>F2</kbd></td>\n      <td>Enters tabbable mode.  This enables keyboard action on elements inside the item, including navigate between focusable elements inside the item.  It can also be used to exit tabbable mode if already in tabbable mode.</td>\n    </tr>\n    <tr>\n      <td><kbd>Esc</kbd></td>\n      <td>Exits tabbable mode.</td>\n    </tr>\n    <tr>\n      <td><kbd>Tab</kbd></td>\n      <td>When in tabbable mode, navigates to next focusable element within the item.  If the last focusable element is reached, shift focus back to the first focusable element.\n          When not in tabbable mode, navigates to next focusable element on page (outside CardView).</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Tab</kbd></td>\n      <td>When in tabbable mode, navigates to previous focusable element within the item.  If the first focusable element is reached, shift focus back to the last focusable element.\n          When not in tabbable mode, navigates to previous focusable element on page (outside CardView).</td>\n    </tr>\n    <tr>\n      <td><kbd>DownArrow</kbd></td>\n      <td>Move focus to the item below.</td>\n    </tr>\n    <tr>\n      <td><kbd>UpArrow</kbd></td>\n      <td>Move focus to the item above.</td>\n    </tr>\n    <tr>\n      <td><kbd>LeftArrow</kbd></td>\n      <td>Move focus to the item on the left.</td>\n    </tr>\n    <tr>\n      <td><kbd>RightArrow</kbd></td>\n      <td>Move focus to the item on the right.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+DownArrow</kbd></td>\n      <td>Extend the selection to the item below.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+UpArrow</kbd></td>\n      <td>Extend the selection to the item above.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+LeftArrow</kbd></td>\n      <td>Extend the selection to the item on the left.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+RightArrow</kbd></td>\n      <td>Extend the selection to the item on the right.</td>\n    </tr>\n    <tr>\n      <td><kbd>Space</kbd></td>\n      <td>Toggles to select and deselect the current item.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Space</kbd></td>\n      <td>Selects contiguous items from the last selected item to the current item.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Cmd/Ctrl+DownArrow</kbd></td>\n      <td>Reorder the current item down.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Cmd/Ctrl+UpArrow</kbd></td>\n      <td>Reorder the current item up.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Cmd/Ctrl+LeftArrow</kbd></td>\n      <td>Reorder the current item to the left.</td>\n    </tr>\n    <tr>\n      <td><kbd>Shift+Cmd/Ctrl+RightArrow</kbd></td>\n      <td>Reorder the current item to the right.</td>\n    </tr>\n  </tbody>\n</table>",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "ojfragment": true
  },
  {
    "id": "oj-c.CardView.ListItemContext",
    "name": "ListItemContext",
    "kind": "typedef",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "longname": "oj-c.CardView.ListItemContext",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "",
    "tsgenerictype": {
      "target": "Type",
      "value": "<K,D>",
      "for": "genericTypeParameters"
    },
    "properties": [
      {
        "name": "data",
        "description": "The data of the item.  Note this is made available primarily to ease migration.\nApplications should get the data from the item property instead.",
        "optional": false,
        "type": {
          "names": [
            "any"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "D",
            "jsdocOverride": true,
            "for": "data"
          }
        ]
      },
      {
        "name": "item",
        "description": "Contains the data and metadata of the item.",
        "optional": false,
        "type": {
          "names": [
            "object"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "Item<K, D>",
            "jsdocOverride": true,
            "for": "item",
            "module": {
              "Item": "ojdataprovider"
            }
          }
        ]
      },
      {
        "name": "isTabbable",
        "description": "A boolean indicating whether the item is in tabbable mode or not.\nTemplate elements should not be tab-stops when the item is not in tabbable mode, this context can be used to implement\nconditional behavior for all tabbable child elements.",
        "optional": true,
        "type": {
          "names": [
            "boolean"
          ]
        }
      }
    ]
  },
  {
    "id": "oj-c.CardView.ReorderDetail",
    "name": "ReorderDetail",
    "kind": "typedef",
    "memberof": "oj-c.CardView",
    "meta": {
      "filename": "card-view.tsx",
      "path": "web/components/oj-c/card-view"
    },
    "longname": "oj-c.CardView.ReorderDetail",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "",
    "tsgenerictype": {
      "target": "Type",
      "value": "<K>",
      "for": "genericTypeParameters"
    },
    "properties": [
      {
        "name": "reorderedKeys",
        "description": "An array of keys matching the new order of items",
        "optional": false,
        "type": {
          "names": [
            "Array<any>"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "Array<K>",
            "jsdocOverride": true,
            "for": "reorderedKeys"
          }
        ]
      },
      {
        "name": "itemKeys",
        "description": "An array of keys of the items that are moved",
        "optional": false,
        "type": {
          "names": [
            "Array<any>"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "Array<K>",
            "jsdocOverride": true,
            "for": "itemKeys"
          }
        ]
      },
      {
        "name": "referenceKey",
        "description": "The key of the item where the moved items will be dropped after. If the moved items were dropped at the very beginning, the referenceKey will be null.",
        "optional": false,
        "type": {
          "names": [
            "any"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "K|null",
            "jsdocOverride": true,
            "for": "referenceKey"
          }
        ]
      }
    ]
  }
]