[
  {
    "id": "oj-c.Radioset",
    "name": "Radioset",
    "memberof": "oj-c",
    "kind": "class",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "ojcomponent": true,
    "isvcomponent": true,
    "since": "16.0.0",
    "longname": "oj-c.Radioset",
    "pack": "oj-c",
    "classdesc": "<h3 id=\"radiosetOverview-section\">\n  JET Radioset Component\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#radiosetOverview-section\"></a>\n</h3>\n<p>\nDescription: The oj-c-radioset component allows the user to select one option from a set of mutually exclusive options.\n</p>\n<p>\nTo use an oj-c-radioset, set the options attribute to an array of data items or to a DataProvider.\n <pre class=\"prettyprint\"><code>&lt;oj-c-radioset\n   value=\"current value\"\n   label-hint=\"Radioset\"\n   options=\"[[data]]\">&lt;/oj-c-radioset></code></pre>\n\nIt is recommended that the array option should only be used for static data and the DataProvider should always be used for mutable data.\n</p>\n<p>\n You can enable and disable an oj-c-radioset, which will enable and disable all contained radio items.\n</p>\n<p>\n You can also set an oj-c-radioset to readonly, which will make all the radio items readonly while making the selected radio option visually distinctive.\n</p>\n\n<h3 id=\"validation-section\">\n  Validation and Messaging\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#validation-section\"></a>\n</h3>\n\n<p>\nFor components that support validators, any invalid values entered by the user are not pushed into the value\nif validation fails: the <a href=\"#valid\">valid property</a> will change but the original value will remain unchanged.\nThe same thing applies to required validation: if required is set to true and the user clears the field,\nvalid will change, but empty values will not be pushed so the original value remains unchanged.\n</p>\n<p>\nUse <a href=\"../jetCookbook.html?component=validationGroup&demo=requiredFieldValidation\">\n&lt;oj-validation-group></a> to handle tracking valid across multiple components.\n</p>\n<p>\nAn editable component runs validation (normal or deferred) based on the action performed on it\n(either by end-user or page author), and the state it was in when the action occurred. Examples\nof actions are - creating a component, user changing the value of the component by interacting\nwith it, the app setting a value programmatically, the app calling the validate() method etc. At\nthe time the action occurs, the component could already be showing errors, or can have a deferred\nerror or have no errors.\n</p>\n<p>\nThese factors also determine whether validation errors/messages get shown to the user immediately\nor get deferred. The following sections highlight the kinds of validation that are run and how\nmessages get handled.\n</p>\n\n<h4 id=\"normal-validation-section\">\n  Normal Validation\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#normal-validation-section\"></a>\n</h4>\nNormal validation is run in the following cases on the display value, using the converter and\nvalidators (this includes async-validators) set on the component (for components that support these properties),\n\nand validation errors are reported to user immediately.\n<ul>\n<li>When value changes as a result of user interaction all messages are cleared, including custom\nmessages added by the app, and full validation is run on the UI value. The steps performed are\noutlined below.\n<ol>\n<li>All messages are cleared and <code class=\"prettyprint\">messagesCustom</code> property is cleared</li>\n<li>If no converter is present then processing continues to next step. If a converter is\npresent, the UI value is first converted (i.e., parsed). If there is a parse error then\nthe messages are shown and processing returns.</li>\n<li>If there are no validators setup for the component then the value is set on the component.\nOtherwise all validators are run in sequence using the parsed value from the previous step. The\nimplicit required is run first if the component is marked required. When a validation error is\nencountered it is remembered and the next validator in the sequence is run.\n<ul><li>NOTE: The value is trimmed before required validation is run</li></ul>\n</li>\n<li>At the end of the validation run if there are errors, the messages are shown\nand processing returns. If there are async-validators, those errors are shown as soon as they\ncome in, and not until all validators, sync and async validators, are complete, does processing\nreturn, that is, value and valid are updated. If there are no errors, then the\n<code class=\"prettyprint\">value</code> property is updated and the formatted value displayed on the\nUI.</li>\n</ol>\n</li>\n<li>When the <code class=\"prettyprint\">validate</code> method is called by app, all messages are\ncleared and full validation run using the display value. See <code class=\"prettyprint\">validate</code>\nmethod on the sub-classes for details. Note: JET validation is designed to catch user input errors, and not invalid\ndata passed from the server; this should be caught on the server.</li>\n<li>When certain properties change through programmatic intervention by app, the component\ndetermines whether it needs to run normal validation based on the state the component is in.\nRefer to the <a href=\"#mixed-validation-section\">Mixed Validation</a> section below for details. </li>\n</ul>\n\n<h4 id=\"deferred-validation-section\">\n  Deferred Validation\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#deferred-validation-section\"></a>\n</h4>\nDeferred validation is run in the following cases on the component value using the implicit\nrequired validator if required is true, and validation errors are deferred, i.e., not shown to user immediately.\nRefer to the <a href=\"#deferred-messages-section\">Showing Deferred Messages</a> section to\nunderstand how deferred messages can be shown.\n<ul>\n <li>When a component is created and it is required deferred validation is run and no messages are cleared\n prior to running validation.\n Refer to the <a href=\"#deferred-validators-section\">Validators\n Participating in Deferred Validation</a> section for details.</li>\n <li>When the <code class=\"prettyprint\">value</code> property changes due to programmatic\n intervention deferred validation is run, after all messages and messagesCustom property are cleared.</li>\n <li>When the <code class=\"prettyprint\">reset</code> method is called, deferred validation is run\n  after all messages and messagesCustom property are cleared.</li>\n <li>When certain properties change through programmatic intervention by app, the component\n determines whether it needs to run deferred validation based on the state the component is in.\n Refer to the <a href=\"#mixed-validation-section\">Mixed Validation</a> section below for details.</li>\n</ul>\n\n<h4 id=\"mixed-validation-section\">\n  Mixed Validation\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#mixed-validation-section\"></a>\n</h4>\nEither deferred or normal validation is run in the following cases based on the state the\ncomponent is in and any validation errors encountered are either hidden or shown to user.\n<ul>\n <li>when disabled property changes. See <a href=\"#disabled\">disabled</a> property for details.</li>\n <li>when converter property changes (for components that support converters). See <a href=\"#converter\">converter</a> property for details.</li>\n <li>when required property changes. See <a href=\"#required\">required</a> property for details.</li>\n <li>when validators property changes (for components that support validators). See <a href=\"#validators\">validators</a> property for details.</li>\n</ul>\n\n<h3 id=\"deferred-messages-section\">\n  Showing Deferred Messages\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#deferred-messages-section\"></a>\n</h3>\nDeferred validation messages are displayed only when page author requests for it explicitly in\none of the following ways:\n<ul>\n<li>calls the <a href=\"#showMessages\"><code class=\"prettyprint\">showMessages</code></a> method on the component</li>\n</ul>\n\n<h3 id=\"deferred-validators-section\">\n  Validators Participating in Deferred Validation\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#deferred-validators-section\"></a>\n</h3>\nThe required validator is the only validator type that participates in deferred validation.\nThe required property needs to be set to true for the required validator to run.\n\n<h3 id=\"user-assistance-text-section\">\n  User Assistance Text\n  <a class=\"bookmarkable-link\" title=\"Bookmarkable Link\" href=\"#user-assistance-text-section\"></a>\n</h3>\n<p>\nUser assistive text provides guidance to help the user understand what data to enter or select.\n</p>\n<p>\nBy default all user assistance text shows inline at the top of the radioset and is always displayed if there is any defined for the set.\nSee the user-assistance-density property for other ways the user assistance text can render. User assistance can also be provided at the\nindividual radio item level which renders as a \"?\" icon and when clicked will display the assistive text in a pop-up.\n</p>\n<p>\nThe JET form component properties that are used for user assistance text are help.instruction, and help-hints.\nIn the Redwood theme for clarity only one user assistance text shows to the user.\nThe precedence rules are:\n<ul>\n<li>help.instruction shows;</li>\n<li>if no help.instruction, then help-hints.definition shows;</li>\n<li>help-hints.source always shows along side the above.</li>\n</ul>\n</p>\n<p>\nIf the required property was set to true, this can also be used to guide the user.\nIn this case, the word Required will be rendered under the radioset when no value was set for the component.\n</p>\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<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>Radio button</td>\n      <td><kbd>Tap</kbd></td>\n      <td>Select the radio button.</td>\n    </tr>\n    <tr>\n      <td>Radio button's label</td>\n      <td><kbd>Tap</kbd></td>\n     <td>Select the corresponding radio button.</td>\n    </tr>\n    <tr>\n      <td>Assistive help icon</td>\n      <td><kbd>Tap</kbd></td>\n      <td>If assistive text was setup for the radio button, pop up the notewindow.</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 rowspan=\"2\">Input</td>\n      <td><kbd>UpArrow</kbd></td>\n      <td>Select the previous radio button in the group.</td>\n    </tr>\n    <tr>\n      <td><kbd>DownArrow</kbd></td>\n      <td>Select the next radio button in the group.</td>\n    </tr>\n    <tr>\n      <td>Radioset</td>\n      <td><kbd>Tab In</kbd></td>\n      <td>If the radioset has help-hints.source, sets the focus on the link, otherwise sets the focus on the\n       checked radio button. If no button was selected, sets the focus on the first radio button.</td>\n    </tr>\n    <tr>\n      <td>Assistive help icon</td>\n      <td><kbd>Tab In</kbd></td>\n      <td>If the radio item has assistive text, sets the focus on the icon. Hitting Enter or Space on the icon will launch a pop-up.\n          Pressing F6 transfers the focus inside the popup and tabbing inside the popup will move focus to the link inside the popup, if one exists.\n          Hitting Enter on the link will launch a new window with the url that was setup in the helpSourceLink property of the radio item.\n          See <a href=\"#RadiosetDataItem\">RadiosetDataItem</a> for information on assistive properties of the radio item.\n      </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>JET oj-c-radioset takes care of setting\n<code class=\"prettyprint\">role=\"radiogroup\"</code> on the oj-c-radioset element.\n\n<p>\n<p>\nFor accessibility, set the label-hint property.\nIf the desire is to not have a visible label, then to make this accessible to screen reader users,\nset label-hint to a value and the label-edge to 'none' which renders an aria-label with the label-hint text.\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>",
    "scope": "static",
    "tagWithoutBrackets": "oj-c-radioset",
    "tagWithBrackets": "<oj-c-radioset>",
    "domInterface": "CRadiosetElement",
    "ojPageTitle": "&lt;oj-c-radioset>",
    "camelCaseName": "Radioset",
    "ojPageTitlePrefix": "Element: ",
    "ojtsvcomponent": true,
    "tstype": {
      "target": "Type",
      "value": "interface CRadiosetElement<V extends string | number,D extends oj-c.Radioset.RadiosetDataItem> extends JetElement<RadiosetElementSettableProperties<V,D>>"
    },
    "ojsignature": [
      {
        "target": "Type",
        "value": "interface CRadiosetElement<V extends string | number,D extends oj-c.Radioset.RadiosetDataItem> extends JetElement<RadiosetElementSettableProperties<V,D>>"
      }
    ],
    "tsdeprecated": [
      {
        "type": "supersedes",
        "since": "16.0.0",
        "value": [
          "oj-radioset"
        ]
      }
    ],
    "ojmodule": "radioset"
  },
  {
    "id": "oj-c.Radioset#containerReadonly",
    "name": "containerReadonly",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#containerReadonly",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojdisplayname": "Container Readonly",
    "ojshortdesc": "Specifies whether an ancestor container, like oj-c-form-layout, is readonly.",
    "description": "Specifies whether an ancestor container, like oj-c-form-layout, is readonly.\nThis affects whether a readonly component renders in full or mixed readonly mode."
  },
  {
    "id": "oj-c.Radioset#columnSpan",
    "name": "columnSpan",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#columnSpan",
    "scope": "instance",
    "type": {
      "names": [
        "number"
      ]
    },
    "optional": true,
    "ojdisplayname": "Column Span",
    "ojshortdesc": "Specifies how many columns this component should span.",
    "description": "Specifies how many columns this component should span.\nThis only takes effect when this component is a child of a form layout\nthat has direction 'row'.",
    "defaultvalue": 1
  },
  {
    "id": "oj-c.Radioset#direction",
    "name": "direction",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#direction",
    "scope": "instance",
    "type": {
      "names": [
        "\"row\"",
        "\"column\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Direction",
    "description": "Layout direction of the radioset radio elements.",
    "defaultvalue": "'column'"
  },
  {
    "id": "oj-c.Radioset#disabled",
    "name": "disabled",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#disabled",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojdisplayname": "Disabled",
    "ojshortdesc": "Specifies whether the component is disabled.",
    "description": "Specifies whether the component is disabled or not. The default is false.\n\n<p>\nWhen the <code class=\"prettyprint\">disabled</code> property changes due to programmatic\nintervention, the component may clear messages and run validation in some cases. </br>\n<ul>\n<li>when a required component is initialized as disabled\n<code class=\"prettyprint\">value=\"{{currentValue}}\" required disabled</code>,\ndeferred validation is skipped.</li>\n<li>when a disabled component is enabled,\n <ul>\n <li>if the component is invalid and showing messages then all component messages are cleared,\n and full validation will be run using the display value.\n  <ul>\n   <li>if there are validation errors, they are shown.</li>\n   <li>if no errors result from the validation, the <code class=\"prettyprint\">value</code>\n   property is updated. Page authors can listen to the <code class=\"prettyprint\">valueChanged</code>\n   event to clear custom errors.</li>\n  </ul>\n </li>\n\n <li>if the component is valid and has no errors then deferred validation is run.\n   <ul>\n   <li>if there is a deferred validation error, then the valid property is updated. </li>\n   </ul>\n </li>\n <li>if the component is invalid and has deferred errors then component messages are cleared and\n deferred validation is re-run.\n   <ul>\n   <li>if there is a deferred validation error, then the valid property is updated.</li>\n   </ul>\n </li>\n </ul>\n</li>\n<li>when and enabled component is disabled then no validation is run and the component appears\ndisabled.</li>\n</ul>\n</p>",
    "defaultvalue": false
  },
  {
    "id": "oj-c.Radioset#displayOptions",
    "name": "displayOptions",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#displayOptions",
    "scope": "instance",
    "type": {
      "names": [
        "object"
      ]
    },
    "optional": true,
    "ojdisplayname": "Display Options",
    "description": "Display options for auxiliary content that describes whether or not the auxiliary content should be displayed.",
    "tstype": [
      {
        "target": "Type",
        "value": "oj-c.Radioset.DisplayOptionsProps",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.Radioset#help",
    "name": "help",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#help",
    "scope": "instance",
    "type": {
      "names": [
        "object"
      ]
    },
    "optional": true,
    "ojdisplayname": "Help",
    "description": "Form component help information.",
    "tstype": [
      {
        "target": "Type",
        "value": "oj-c.Radioset.Help",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.Radioset#helpHints",
    "name": "helpHints",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#helpHints",
    "scope": "instance",
    "type": {
      "names": [
        "object"
      ]
    },
    "optional": true,
    "ojdisplayname": "Help Hints",
    "description": "The helpHints object contains a definition property, sourceText property, and a source property.",
    "tstype": [
      {
        "target": "Type",
        "value": "oj-c.Radioset.HelpHints",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.Radioset#labelHint",
    "name": "labelHint",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#labelHint",
    "scope": "instance",
    "type": {
      "names": [
        "string"
      ]
    },
    "optional": false,
    "ojdisplayname": "Label Hint",
    "ojshortdesc": "Represents a hint for rendering a label on the component.",
    "description": "Represents a hint for rendering a label on the component.\nThis is used in combination with the label-edge attribute to control how the label should be rendered."
  },
  {
    "id": "oj-c.Radioset#labelEdge",
    "name": "labelEdge",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#labelEdge",
    "scope": "instance",
    "type": {
      "names": [
        "\"none\"",
        "\"start\"",
        "\"top\"",
        "\"inside\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Label Edge",
    "ojshortdesc": "Specifies how the label is positioned for the component relative to the field.",
    "description": "Specifies how the label of the component is positioned when the label-hint\nattribute is set on the component.",
    "ojvalues": [
      {
        "name": "inside",
        "description": "The label will be placed on top of the radioset, but is smaller than the 'top' option.",
        "displayName": "Inside",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "none",
        "description": "The radioset will not create a label, but instead will set the aria-label property on the radioset.",
        "displayName": "None",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "start",
        "description": "The label will be placed before the start of the radioset.",
        "displayName": "Start",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "top",
        "description": "The label will be placed on top of the radioset.",
        "displayName": "Top",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true
  },
  {
    "id": "oj-c.Radioset#labelStartWidth",
    "name": "labelStartWidth",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#labelStartWidth",
    "scope": "instance",
    "type": {
      "names": [
        "number|string"
      ]
    },
    "optional": true,
    "ojdisplayname": "Label Start Width",
    "ojshortdesc": "The width of the label when labelEdge is 'start'.",
    "description": "<p> The width of the label when labelEdge is 'start'.</p>\n<p> This attribute accepts values of type\n<code>0 | `var(${string})` | `--${string}` | `${number}%` | `${number}x` | `calc(${string})` | `${number}${CssUnits}</code></p>"
  },
  {
    "id": "oj-c.Radioset#labelWrapping",
    "name": "labelWrapping",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#labelWrapping",
    "scope": "instance",
    "type": {
      "names": [
        "\"truncate\"",
        "\"wrap\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Label Wrapping",
    "ojshortdesc": "Should the labels wrap or truncate when there is not enough available space.",
    "description": "A property that applications can use to specify how the radioset label should render when there is not enough available space.",
    "tsdeprecated": [
      {
        "type": "deprecated",
        "since": "18.0.0",
        "description": "Label truncation for 'start' and 'top' aligned labels is no longer recommended by the Redwood Design System. The default for labelWrapping was 'wrap' and that is now the only suggested pattern by UX design for 'start' and 'top' aligned labels. 'inside' aligned labels are always truncated per UX design and are not affected by this property's value."
      }
    ],
    "ojvalues": [
      {
        "name": "truncate",
        "description": "Label will truncate if needed.",
        "displayName": "Truncate",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "wrap",
        "description": "Label will wrap if needed.",
        "displayName": "Wrap",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true
  },
  {
    "id": "oj-c.Radioset#messagesCustom",
    "name": "messagesCustom",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#messagesCustom",
    "scope": "instance",
    "type": {
      "names": [
        "Array<object>"
      ]
    },
    "optional": true,
    "ojdisplayname": "Messages Custom",
    "ojwriteback": true,
    "ojshortdesc": "List of custom component messages",
    "description": "List of messages an app would add to the component when it has business/custom validation\nerrors that it wants the component to show. This allows the app to perform further validation\nbefore sending data to the server. When this option is set the message will be shown to the\nuser right away. To clear the custom message, set <code class=\"prettyprint\">messagesCustom</code>\nback to an empty array.<br/>\n<p>\nSee the <a href=\"#validation-section\">Validation and Messages</a> section\nfor details on when the component clears <code class=\"prettyprint\">messagesCustom</code>;\nfor example, when full validation is run.\n</p>",
    "defaultvalue": "[]",
    "tstype": [
      {
        "target": "Type",
        "value": "Array<oj-c.Radioset.ComponentMessageItem>",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.Radioset#options",
    "name": "options",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#options",
    "scope": "instance",
    "type": {
      "names": [
        "Array<object>|DataProvider"
      ]
    },
    "optional": false,
    "ojdisplayname": "Options",
    "ojshortdesc": "The data provided to the radioset that represents one or more radio items.",
    "description": "The data provided to the radioset that represents one or more radio items. Regardless of the type used for this attribute (whether it's a\nDataProvider implementation or an Array of data items) the value and label properties are required. In the DataProvider case, the\nkey of the DataProvider will be used as the radio item value. See the <a href=\"#usage-section\">custom element usage section</a> for details on the type parameter definitions.",
    "tstype": [
      {
        "target": "Type",
        "value": "Array<oj-c.Radioset.RadiosetArrayDataItem<V>>|DataProvider<V, D>",
        "jsdocOverride": true,
        "module": {
          "DataProvider": "ojdataprovider"
        }
      }
    ]
  },
  {
    "id": "oj-c.Radioset#valid",
    "name": "valid",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#valid",
    "scope": "instance",
    "type": {
      "names": [
        "\"pending\"",
        "\"valid\"",
        "\"invalidHidden\"",
        "\"invalidShown\""
      ]
    },
    "optional": true,
    "ojdisplayname": "Valid",
    "ojwriteback": true,
    "readonly": true,
    "ojshortdesc": "Specifies how the valid state of the component",
    "description": "<p>\nThe current valid state of the component. It is evaluated on initial render.\nIt is re-evaluated\n<ul>\n  <li>when messagesCustom is updated,\n  since messagesCustom can be added by the app developer any time.</li>\n  <li>when showMessages() is called. Since showMessages() moves the\n  hidden messages into messages shown,\n  if the valid state was \"invalidHidden\" then it would become \"invalidShown\".</li>\n  <li>when the required property has changed. If a component is empty and has required\n  set, the valid state may be \"invalidHidden\" (if no invalid messages are being shown as well).\n  If required property is removed, the valid state would change to \"valid\".</li>\n</ul>\n</p>\n<p>\n Note: New valid states may be added to the list of valid values in future releases.\n Any new values will start with \"invalid\"\n if it is an invalid state, \"pending\" if it is pending state,\n and \"valid\" if it is a valid state.\n</p>",
    "ojvalues": [
      {
        "name": "valid",
        "description": "The component is valid",
        "displayName": "Valid",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "pending",
        "description": "The component is waiting for the validation state to be determined. The 'pending' state is set at the start of the convert/validate process.",
        "displayName": "Pending",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "invalidHidden",
        "description": "The component has invalid messages hidden and no invalid messages showing. An invalid message is one with severity 'error'.",
        "displayName": "Invalid Hidden",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "invalidShown",
        "description": "The component has invalid messages showing. An invalid message is one with severity 'error'.",
        "displayName": "Invalid Shown",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true
  },
  {
    "id": "oj-c.Radioset#readonly",
    "name": "readonly",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#readonly",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojdisplayname": "Readonly",
    "ojshortdesc": "Whether the component is readonly or not.",
    "description": "<p>\nWhether the component is readonly. The readonly property sets or returns whether an element\nis readonly, or not. A readonly element cannot be modified. However, a user can tab to it,\nhighlight it, focus on it, and copy the text from it. If you want to prevent the user from\ninteracting with the element, use the disabled property instead.\n</p>\n<p>\nIf the property value is not set either directly on the component or inherited from\na parent form layout, then the property is treated as if its value were false.\n</p>"
  },
  {
    "id": "oj-c.Radioset#readonlyUserAssistanceShown",
    "name": "readonlyUserAssistanceShown",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#readonlyUserAssistanceShown",
    "scope": "instance",
    "type": {
      "names": [
        "\"none\"",
        "\"confirmationAndInfoMessages\""
      ]
    },
    "optional": true,
    "ojdisplayname": "ReadonlyUserAssistanceShown",
    "ojshortdesc": "Specifies which user assistance types should be shown when the component is readonly.",
    "description": "<p>\nSpecifies which user assistance types should be shown when the component is readonly.\n</p>",
    "defaultvalue": "'none'"
  },
  {
    "id": "oj-c.Radioset#required",
    "name": "required",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#required",
    "scope": "instance",
    "type": {
      "names": [
        "boolean"
      ]
    },
    "optional": true,
    "ojdisplayname": "Required",
    "ojshortdesc": "Specifies whether or not the component is required.",
    "description": "<p>\nWhen this property is set to <code class=\"prettyprint\">false</code> it implies that a value is not required to be provided by the user.\nThis is the default.\nWhen this property set to <code class=\"prettyprint\">true</code> implies that a value is required to be provided by the user.\n</p>\n<p>\nIn the Redwood theme, by default, a Required text is rendered inline when no radio option is selected.\n</p>\n<p>The Required error text is based on Redwood UX designs, and it is not recommended to be changed.\nTo override the required error message,\nuse the <code class=\"prettyprint\">required-message-detail</code> attribute.\nThe component's label text is passed in as a token {label} and can be used in the message detail.\n</p>\n<p>When required is set to true, an implicit\nrequired validator is created, i.e.,\n<code class=\"prettyprint\">new RequiredValidator()</code>. The required validator is the only\nvalidator to run during initial render, and its error is not shown to the user at this time;\nthis is called deferred validation. The required validator also runs during normal validation;\nthis is when the errors are shown to the user.\nSee the <a href=\"#validation-section\">Validation and Messaging</a> section for details.\n</p>\n<p>\nWhen the <code class=\"prettyprint\">required</code> property changes due to programmatic intervention,\nthe component may clear component messages and run validation, based on the current state it's in. </br>\n\n<h4>Running Validation when required property changes</h4>\n<ul>\n<li>if component is valid when required is set to true, then it runs deferred validation on\nthe value property. If the field is empty, the valid state is invalidHidden. No errors are\nshown to the user.\n</li>\n<li>if component is valid when required is set from true to false, then no validation is run.\n</li>\n<li>if component is invalid and has deferred messages (invalidHidden) when required is set to false, then\ncomponent messages are cleared (messages-custom messages are not cleared)\nbut no deferred validation is run because required is false.\n</li>\n<li>if component is invalid and currently showing invalid messages (invalidShown) when required is changed\nto either true or false, then\ncomponent messages are cleared and normal validation is run using the current display value.\n<ul>\n  <li>if there are validation errors, then <code class=\"prettyprint\">value</code>\n  property is not updated and the error is shown.\n  </li>\n  <li>if no errors result from the validation, the <code class=\"prettyprint\">value</code>\n  property is updated; page author can listen to the <code class=\"prettyprint\">valueChanged</code>\n  event on the component to clear custom errors.</li>\n</ul>\n</li>\n</ul>\n\n<h4>Clearing Messages when required property changes</h4>\n<ul>\n<li>Only messages created by the component, like validation messages, are cleared when the required property changes.</li>\n<li><code class=\"prettyprint\">messagesCustom</code> property is not cleared.</li>\n</ul>\n\n</p>",
    "defaultvalue": false
  },
  {
    "id": "oj-c.Radioset#requiredMessageDetail",
    "name": "requiredMessageDetail",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#requiredMessageDetail",
    "scope": "instance",
    "type": {
      "names": [
        "string"
      ]
    },
    "optional": true,
    "ojdisplayname": "Required Message Detail",
    "ojshortdesc": "Overrides the default Required error message.",
    "description": "<p>\nThe component-specific message detail when the required validation fails.\nIf the component needs a required validation error message that is different from the default,\nset this property. It should be a translated string.\n</p>"
  },
  {
    "id": "oj-c.Radioset#userAssistanceDensity",
    "name": "userAssistanceDensity",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#userAssistanceDensity",
    "scope": "instance",
    "type": {
      "names": [
        "\"compact\"",
        "\"reflow\"",
        "\"efficient\""
      ]
    },
    "optional": true,
    "ojdisplayname": "User Assistance Density",
    "ojshortdesc": "Specifies the density of the form component's user assistance presentation.",
    "description": "<p>\nSpecifies the density of the form component's user assistance presentation. It can be shown inline with\nreserved rows to prevent reflow if a user assistance text shows up, inline without reserved rows that would\nreflow if a user assistance text shows up, or it can be shown compactly in a popup instead.\n</p>\n<p>\nIf the property value is not set either directly on the component or inherited from\na parent form layout, then the property is treated as if its value were \"reflow\".\n</p>",
    "ojvalues": [
      {
        "name": "reflow",
        "description": "Help and hints are shown above the field. Messages and required are shown inline under the field with no reserved space.",
        "displayName": "Reflow",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "efficient",
        "description": "Help and hints are shown above the field. Messages and required are shown inline under the field with reserved space.",
        "displayName": "Efficient",
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "compact",
        "description": "Help and hints are shown above the field. Messages and required are shown inline under the field with reserved space.",
        "displayName": "Compact",
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojvalueskeeporder": true
  },
  {
    "id": "oj-c.Radioset#value",
    "name": "value",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "member",
    "longname": "oj-c.Radioset#value",
    "scope": "instance",
    "type": {
      "names": [
        "string|number|null"
      ]
    },
    "optional": true,
    "ojdisplayname": "Value",
    "ojwriteback": true,
    "ojshortdesc": "The value of the component.",
    "description": "The value of the component.\n\n<p>\nWhen <code class=\"prettyprint\">value</code> property changes due to programmatic\nintervention, the component always clears all messages\nincluding <code class=\"prettyprint\">messagesCustom</code>, runs deferred validation, and\nalways refreshes UI display value.\n</p>\n\n<h4>Running Validation</h4>\n<ul>\n<li>component always runs deferred validation; the\n<code class=\"prettyprint\">valid</code> property is updated with the result.</li>\n</ul>",
    "defaultvalue": null,
    "tstype": [
      {
        "target": "Type",
        "value": "V|null",
        "jsdocOverride": true
      }
    ]
  },
  {
    "id": "oj-c.Radioset#blur",
    "name": "blur",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "function",
    "longname": "oj-c.Radioset#blur",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "ojshortdesc": "Blurs the radioset.",
    "description": "Blurs the radioset.",
    "ojhidden": true
  },
  {
    "id": "oj-c.Radioset#focus",
    "name": "focus",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "function",
    "longname": "oj-c.Radioset#focus",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "ojshortdesc": "Sets focus on the selected radio button or the first tabbable radio button.",
    "description": "Sets focus on the selected radio button or the first tabbable radio button.",
    "ojhidden": true
  },
  {
    "id": "oj-c.Radioset#showMessages",
    "name": "showMessages",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "function",
    "longname": "oj-c.Radioset#showMessages",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "ojshortdesc": "Takes all deferred messages and shows them.",
    "description": "Takes all deferred messages and shows them. It then updates\nthe valid property; e.g., if the valid state was \"invalidHidden\"\nbefore showMessages(), the valid state will become \"invalidShown\"\nafter showMessages().</br>\n</br>\nIf there were no deferred messages this method simply returns."
  },
  {
    "id": "oj-c.Radioset#reset",
    "name": "reset",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "function",
    "longname": "oj-c.Radioset#reset",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "void"
          ]
        }
      }
    ],
    "ojshortdesc": "Resets the component by clearing all messages.",
    "description": "Resets the component by clearing all messages."
  },
  {
    "id": "oj-c.Radioset#validate",
    "name": "validate",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "function",
    "longname": "oj-c.Radioset#validate",
    "scope": "instance",
    "returns": [
      {
        "type": {
          "names": [
            "Promise"
          ]
        },
        "description": "Promise resolves to \"valid\" if the component passed\nall validations, or \"invalid\" if there were validation errors."
      }
    ],
    "ojshortdesc": "Validates the component's display value using all validators registered on the component. If there are no validation errors, then the value is updated. See the Help documentation for more information.",
    "description": "Validates the component's display value using all validators\nregistered on the component and updates the\n<code class=\"prettyprint\">value</code> option by performing\nthe following steps.\n<ol>\n<li>All messages are cleared, including custom messages added by the app.</li>\n<li>The implicit required validator is run if the component is marked required.</li>\n<li>At the end of validation if there are errors, the messages are shown. If there were no errors,\nthen the <code class=\"prettyprint\">value</code> property is updated.</li>\n</ol>"
  },
  {
    "id": "oj-c.Radioset#setProperty",
    "name": "setProperty",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "function",
    "longname": "oj-c.Radioset#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.Radioset#getProperty",
    "name": "getProperty",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "function",
    "longname": "oj-c.Radioset#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.Radioset#setProperties",
    "name": "setProperties",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "kind": "function",
    "longname": "oj-c.Radioset#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.Radioset.touchDoc",
    "name": "touchDoc",
    "kind": "member",
    "longname": "oj-c.Radioset.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>Radio button</td>\n      <td><kbd>Tap</kbd></td>\n      <td>Select the radio button.</td>\n    </tr>\n    <tr>\n      <td>Radio button's label</td>\n      <td><kbd>Tap</kbd></td>\n     <td>Select the corresponding radio button.</td>\n    </tr>\n    <tr>\n      <td>Assistive help icon</td>\n      <td><kbd>Tap</kbd></td>\n      <td>If assistive text was setup for the radio button, pop up the notewindow.</td>\n   </tr>\n  </tbody>\n</table>",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "ojfragment": true
  },
  {
    "id": "oj-c.Radioset.keyboardDoc",
    "name": "keyboardDoc",
    "kind": "member",
    "longname": "oj-c.Radioset.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=\"2\">Input</td>\n      <td><kbd>UpArrow</kbd></td>\n      <td>Select the previous radio button in the group.</td>\n    </tr>\n    <tr>\n      <td><kbd>DownArrow</kbd></td>\n      <td>Select the next radio button in the group.</td>\n    </tr>\n    <tr>\n      <td>Radioset</td>\n      <td><kbd>Tab In</kbd></td>\n      <td>If the radioset has help-hints.source, sets the focus on the link, otherwise sets the focus on the\n       checked radio button. If no button was selected, sets the focus on the first radio button.</td>\n    </tr>\n    <tr>\n      <td>Assistive help icon</td>\n      <td><kbd>Tab In</kbd></td>\n      <td>If the radio item has assistive text, sets the focus on the icon. Hitting Enter or Space on the icon will launch a pop-up.\n          Pressing F6 transfers the focus inside the popup and tabbing inside the popup will move focus to the link inside the popup, if one exists.\n          Hitting Enter on the link will launch a new window with the url that was setup in the helpSourceLink property of the radio item.\n          See <a href=\"#RadiosetDataItem\">RadiosetDataItem</a> for information on assistive properties of the radio item.\n      </td>\n    </tr>\n  </tbody>\n</table>",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "ojfragment": true
  },
  {
    "id": "oj-c.Radioset.RadiosetDataItem",
    "name": "RadiosetDataItem",
    "kind": "typedef",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "longname": "oj-c.Radioset.RadiosetDataItem",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "An object that represents the data associated with a radio item in a rendered radioset. The label property is required and\nprovides the text for the radio item.",
    "properties": [
      {
        "name": "label",
        "description": "The value of this required property will provide the text for the radio button's label.",
        "optional": false,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "assistiveText",
        "description": "Optional value to provide guidance to the user about the radio item this applies to.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "helpSourceLink",
        "description": "Optional link to aid the user in the radio item this applies to.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "helpSourceText",
        "description": "Optional custom text to be rendered for the <code>helpSourceLink</code>.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ],
    "ojexports": true
  },
  {
    "id": "oj-c.Radioset.DisplayOptionsProps",
    "name": "DisplayOptionsProps",
    "kind": "typedef",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "longname": "oj-c.Radioset.DisplayOptionsProps",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "Display options for auxiliary content that determines whether or not it should be displayed.",
    "properties": [
      {
        "name": "messages",
        "description": "Display options for auxiliary message text.",
        "optional": true,
        "type": {
          "names": [
            "\"none\"",
            "\"display\""
          ]
        },
        "defaultvalue": "'display'"
      }
    ]
  },
  {
    "id": "oj-c.Radioset.Help",
    "name": "Help",
    "kind": "typedef",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "longname": "oj-c.Radioset.Help",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "Form component help information.",
    "properties": [
      {
        "name": "instruction",
        "description": "A type of user assistance text. User assistance text is used to provide guidance to\nhelp the user understand what data to enter or select.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "''"
      }
    ]
  },
  {
    "id": "oj-c.Radioset.HelpHints",
    "name": "HelpHints",
    "kind": "typedef",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "longname": "oj-c.Radioset.HelpHints",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "The helpHints object contains a definition property and a source property.",
    "properties": [
      {
        "name": "definition",
        "description": "A type of user assistance text. User assistance text is used to provide guidance to help\nthe user understand what data to enter or select. help-hints could come from a help system.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "''"
      },
      {
        "name": "source",
        "description": "Help source URL associated with the component.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "''"
      },
      {
        "name": "sourceText",
        "description": "Custom text to be used for the source link.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      }
    ]
  },
  {
    "id": "oj-c.Radioset.ComponentMessageItem",
    "name": "ComponentMessageItem",
    "kind": "typedef",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "longname": "oj-c.Radioset.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.Radioset.RadiosetArrayDataItem",
    "name": "RadiosetArrayDataItem",
    "kind": "typedef",
    "memberof": "oj-c.Radioset",
    "meta": {
      "filename": "radioset.tsx",
      "path": "web/components/oj-c/radioset"
    },
    "longname": "oj-c.Radioset.RadiosetArrayDataItem",
    "type": {
      "names": [
        "Object"
      ]
    },
    "scope": "static",
    "description": "An object that represents the value and corresponding data associated with a radio item in a rendered radioset.\nThe label property is required and provides the text for the radio element.",
    "tsgenerictype": {
      "target": "Type",
      "value": "<V extends string | number>",
      "for": "genericTypeParameters"
    },
    "properties": [
      {
        "name": "label",
        "description": "The value of this required property will provide the text for the radio button's label.",
        "optional": false,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "assistiveText",
        "description": "Optional value to provide guidance to the user about the radio item this applies to.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "helpSourceLink",
        "description": "Optional link to aid the user in the radio item this applies to.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "helpSourceText",
        "description": "Optional custom text to be rendered for the <code>helpSourceLink</code>.",
        "optional": true,
        "type": {
          "names": [
            "string"
          ]
        }
      },
      {
        "name": "value",
        "optional": false,
        "type": {
          "names": [
            "string|number"
          ]
        },
        "tstype": [
          {
            "target": "Type",
            "value": "V",
            "jsdocOverride": true,
            "for": "value"
          }
        ]
      }
    ]
  }
]