[
  {
    "id": "oj-c.FilePicker",
    "name": "FilePicker",
    "memberof": "oj-c",
    "kind": "class",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "ojcomponent": true,
    "isvcomponent": true,
    "since": "14.0.0",
    "longname": "oj-c.FilePicker",
    "pack": "oj-c",
    "classdesc": "<h3 id=\"filePickerOverview-section\">\n  JET File Picker\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#filePickerOverview-section\"></a>\n</h3>\n<p>Description:</p>\n<p>By default the file picker shows a clickable dropzone for selecting files for upload. However, it can be replaced with any clickable element like a button. After the files are selected, the FilePicker fires a \"select\" event with the selected files. Application has to specify the listener in order to do the actual upload.  The types of files accepted are controlled by the accept attribute.  Additional custom validation can be done through the ojBeforeSelect event.</p>\n\n<pre class=\"prettyprint\"><code>&lt;oj-c-file-picker >&lt;/oj-c-file-picker></code></pre>\n<h3 id=\"a11y-section\">\n  Accessibility\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#a11y-section\"></a>\n</h3>\n<p>\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>\n</p>\n\n<h3 id=\"touch-section\">\nTouch 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>Clickable element</td>\n      <td><kbd>Tap</kbd></td>\n      <td>Launch the browser's file picker.</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>Clickable element</td>\n      <td><kbd>Enter</kbd></td>\n      <td>Launch the browser's file picker.</td>\n    </tr>\n  </tbody>\n</table>",
    "scope": "static",
    "tagWithoutBrackets": "oj-c-file-picker",
    "tagWithBrackets": "<oj-c-file-picker>",
    "domInterface": "CFilePickerElement",
    "ojPageTitle": "&lt;oj-c-file-picker>",
    "camelCaseName": "FilePicker",
    "ojPageTitlePrefix": "Element: ",
    "ojtsvcomponent": true,
    "tstype": {
      "target": "Type",
      "value": "interface CFilePickerElement extends JetElement<FilePickerElementSettableProperties>"
    },
    "ojsignature": [
      {
        "target": "Type",
        "value": "interface CFilePickerElement extends JetElement<FilePickerElementSettableProperties>"
      }
    ],
    "tsdeprecated": [
      {
        "type": "supersedes",
        "since": "15.0.0",
        "value": [
          "oj-file-picker"
        ]
      }
    ],
    "extension": {
      "catalog": {
        "category": "Controls"
      },
      "vbdt": {
        "module": "oj-c/file-picker"
      },
      "oracle": {
        "icon": "oj-ux-ico-file-image",
        "uxSpecs": [
          "file-picker"
        ]
      }
    },
    "ojmodule": "file-picker"
  },
  {
    "id": "oj-c.FilePicker#accept",
    "name": "accept",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "member",
    "longname": "oj-c.FilePicker#accept",
    "scope": "instance",
    "type": {
      "names": [
        "Array<string>|null"
      ]
    },
    "optional": true,
    "ojdisplayname": "Accept",
    "ojshortdesc": "An array of strings of allowed MIME types or file extensions that can be uploaded. If not specified, accept all file types",
    "description": "An array of strings of allowed MIME types or file extensions that can be uploaded; this is unlike the accept attribute of the html &lt;input> element that accepts a simple comma-delimited string. If not specified, accept all file types.\n<p>Note: If accept is specified, files with empty string type will be rejected if no match found in the \"accept\" value. Due to browser/OS differences, you may have to specify multiple values for the same value type. For example, for a CSV file, you might need to specify 'text/csv', '.csv', 'application/vnd.ms-excel', 'text/comma-separated-values' and others depending on your target browser/OS. </p>"
  },
  {
    "id": "oj-c.FilePicker#capture",
    "name": "capture",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "member",
    "longname": "oj-c.FilePicker#capture",
    "scope": "instance",
    "type": {
      "names": [
        "\"none\"",
        "\"environment\"",
        "\"user\"",
        "\"implementation\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Capture",
    "ojshortdesc": "Specifies the preferred facing mode for the device's media capture mechanism.",
    "description": "Specifies the preferred facing mode for the device's\n<a href=\"https://www.w3.org/TR/html-media-capture/#dom-htmlinputelement-capture\">media capture</a> mechanism;\nThis is most often used to provide direct camera access on mobile devices.  Note that the accept attribute must\nbe specified and have an associated capture control type (e.g.[\"image/*\"]) for the capture attribute to take effect.  Support may vary by browser.",
    "ojvalues": [
      {
        "name": "user",
        "description": "Specifies user-facing as the preferred mode",
        "displayName": "User",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "environment",
        "description": "Specifies environment-facing as the preferred mode",
        "displayName": "Environment",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "implementation",
        "description": "Specifies an implementation-specific default as the preferred facing mode",
        "displayName": "Implementation",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "none",
        "description": "No capture mechanism is used",
        "displayName": "None",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'none'"
  },
  {
    "id": "oj-c.FilePicker#disabled",
    "name": "disabled",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "member",
    "longname": "oj-c.FilePicker#disabled",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojdisplayname": "Disabled",
    "ojshortdesc": "Disables the filepicker if set to true",
    "description": "Disables the filepicker if set to <code class=\"prettyprint\">true</code>.",
    "defaultvalue": false
  },
  {
    "id": "oj-c.FilePicker#primaryText",
    "name": "primaryText",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "member",
    "longname": "oj-c.FilePicker#primaryText",
    "scope": "instance",
    "type": {
      "names": [
        "string|function"
      ]
    },
    "optional": true,
    "ojdisplayname": "Primary Text",
    "ojshortdesc": "The primary text for the default file picker.",
    "description": "The primary text for the default file picker.  It is either a string or a formatting function that returns the string to be displayed."
  },
  {
    "id": "oj-c.FilePicker#secondaryText",
    "name": "secondaryText",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "member",
    "longname": "oj-c.FilePicker#secondaryText",
    "scope": "instance",
    "type": {
      "names": [
        "string|function"
      ]
    },
    "optional": true,
    "ojdisplayname": "Secondary Text",
    "ojshortdesc": "The secondary text for the default file picker.",
    "description": "The secondary text for the default file picker.  It is either a string or a formatting function that returns the string to be displayed.\nThe formatting function takes in a property object that contains the selection mode of the filepicker.",
    "tstype": [
      {
        "target": "Type",
        "value": "string|(fileOptions: { selectionMode: \"multiple\" | \"single\"; }) => string",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.FilePicker#selectionMode",
    "name": "selectionMode",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "member",
    "longname": "oj-c.FilePicker#selectionMode",
    "scope": "instance",
    "type": {
      "names": [
        "\"multiple\"",
        "\"single\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Selection Mode",
    "ojshortdesc": "Whether to allow single or multiple file selection.",
    "description": "Whether to allow single or multiple file selection.",
    "ojvalues": [
      {
        "name": "multiple",
        "description": "multiple file selection",
        "displayName": "Multiple",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "single",
        "description": "single file selection",
        "displayName": "Single",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true,
    "defaultvalue": "'multiple'"
  },
  {
    "id": "oj-c.FilePicker#focus",
    "name": "focus",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "function",
    "longname": "oj-c.FilePicker#focus",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "ojshortdesc": "Sets focus on the file picker or the first tabbable element for a file picker with custom content.",
    "description": "Sets focus on the file picker or the first tabbable element for a file picker with custom content."
  },
  {
    "id": "oj-c.FilePicker#blur",
    "name": "blur",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "function",
    "longname": "oj-c.FilePicker#blur",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "ojshortdesc": "Blurs the file picker.",
    "description": "Blurs the file picker."
  },
  {
    "id": "oj-c.FilePicker#setProperty",
    "name": "setProperty",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "function",
    "longname": "oj-c.FilePicker#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.FilePicker#getProperty",
    "name": "getProperty",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "function",
    "longname": "oj-c.FilePicker#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.FilePicker#setProperties",
    "name": "setProperties",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "function",
    "longname": "oj-c.FilePicker#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.FilePicker#event:ojBeforeSelect",
    "name": "ojBeforeSelect",
    "kind": "event",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "longname": "oj-c.FilePicker#event:ojBeforeSelect",
    "scope": "instance",
    "ojshortdesc": "Triggered before files are selected to allow for custom validation",
    "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.FilePicker.BeforeDetail]{@link oj-c.FilePicker.BeforeDetail}</p>Triggered before files are selected to allow for custom validation.  To reject the selected files, the application can either call event.preventDefault() or pass a rejected Promise to the accept detail property. The latter approach is recommended because this allows the application to send a message stating why the files were rejected."
  },
  {
    "id": "oj-c.FilePicker#event:ojInvalidSelect",
    "name": "ojInvalidSelect",
    "kind": "event",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "longname": "oj-c.FilePicker#event:ojInvalidSelect",
    "scope": "instance",
    "ojshortdesc": "Triggered when invalid files are selected",
    "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.FilePicker.InvalidDetail]{@link oj-c.FilePicker.InvalidDetail}</p>Triggered when invalid files are selected.  This event provides the application with a list of messages that should be displayed to give the user feedback about the\nproblems with their selection.  This feedback can be safely cleared when a subsequent ojBeforeSelect, ojInvalidSelect, or ojSelect event is received.  Additionally the\nevent.detail.until property may be populated with a Promise to provide short-term feedback during a user interaction (typically drag and drop); the feedback should be cleared upon resolution\nof this Promise."
  },
  {
    "id": "oj-c.FilePicker#event:ojSelect",
    "name": "ojSelect",
    "kind": "event",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "longname": "oj-c.FilePicker#event:ojSelect",
    "scope": "instance",
    "ojshortdesc": "Triggered after the files are selected",
    "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.FilePicker.SelectDetail]{@link oj-c.FilePicker.SelectDetail}</p>Triggered after the files are selected"
  },
  {
    "id": "oj-c.FilePicker#trigger",
    "name": "trigger",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "kind": "member",
    "longname": "oj-c.FilePicker#trigger",
    "scope": "instance",
    "description": "<p>The <code class=\"prettyprint\">trigger</code> slot is used to replace the default content of the file picker.\nFile picker will add click and drag and drop listeners to the slot content.\nThe application is responsible for setting the tabindex attribute for keyboard accessibility.</p>",
    "ojshortdesc": "The trigger slot is used to replace the default content of the file picker.",
    "ojslot": true
  },
  {
    "id": "oj-c.FilePicker.touchDoc",
    "name": "touchDoc",
    "kind": "member",
    "longname": "oj-c.FilePicker.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>Clickable element</td>\n      <td><kbd>Tap</kbd></td>\n      <td>Launch the browser's file picker.</td>\n    </tr>\n  </tbody>\n</table>",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "ojfragment": true
  },
  {
    "id": "oj-c.FilePicker.keyboardDoc",
    "name": "keyboardDoc",
    "kind": "member",
    "longname": "oj-c.FilePicker.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>Clickable element</td>\n      <td><kbd>Enter</kbd></td>\n      <td>Launch the browser's file picker.</td>\n    </tr>\n  </tbody>\n</table>",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "ojfragment": true
  },
  {
    "id": "oj-c.FilePicker.BeforeDetail",
    "name": "BeforeDetail",
    "kind": "typedef",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "longname": "oj-c.FilePicker.BeforeDetail",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "",
    "properties": [
      {
        "name": "files",
        "description": "The selected files",
        "optional": false,
        "type": {
          "names": [
            "FileList"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "FileList",
            "jsdocOverride": true,
            "for": "files"
          }
        ],
        "ojshortdesc": "The selected files"
      },
      {
        "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"
          ]
        }
      }
    ]
  },
  {
    "id": "oj-c.FilePicker.ComponentMessageItem",
    "name": "ComponentMessageItem",
    "kind": "typedef",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "longname": "oj-c.FilePicker.ComponentMessageItem",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "A type for a single component message",
    "properties": [
      {
        "name": "summary",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "detail",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "severity",
        "optional": true,
        "type": {
          "names": [
            "\"error\"",
            "\"confirmation\"",
            "\"info\"",
            "\"warning\""
          ]
        }
      }
    ]
  },
  {
    "id": "oj-c.FilePicker.InvalidDetail",
    "name": "InvalidDetail",
    "kind": "typedef",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "longname": "oj-c.FilePicker.InvalidDetail",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "",
    "properties": [
      {
        "name": "messages",
        "description": "Messages that should be displayed to the user describing invalid files.",
        "optional": false,
        "type": {
          "names": [
            "Array<object>"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "Array<oj-c.FilePicker.ComponentMessageItem>",
            "jsdocOverride": true,
            "for": "messages"
          }
        ]
      },
      {
        "name": "until",
        "description": "This property may be populated with a Promise to provide short-term feedback during a user interaction (typically drag and drop); the feedback should be cleared upon the resolution of this Promise.",
        "optional": false,
        "type": {
          "names": [
            "Promise|null"
          ]
        },
        "ojshortdesc": "This property may be populated with a Promise to provide short-term feedback during a user interaction (typically drag and drop); the feedback should be cleared upon the resolution of this Promise."
      }
    ]
  },
  {
    "id": "oj-c.FilePicker.SelectDetail",
    "name": "SelectDetail",
    "kind": "typedef",
    "memberof": "oj-c.FilePicker",
    "meta": {
      "filename": "file-picker.tsx",
      "path": "web/components/oj-c/file-picker"
    },
    "longname": "oj-c.FilePicker.SelectDetail",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "",
    "properties": [
      {
        "name": "files",
        "description": "The files that were just selected.",
        "optional": false,
        "type": {
          "names": [
            "FileList"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "FileList",
            "jsdocOverride": true,
            "for": "files"
          }
        ],
        "ojshortdesc": "The files that were just selected."
      }
    ]
  }
]