{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "components/accordion/accordion.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynAccordion",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The accordion's main content. Must be `<syn-details />` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "detailsInDefaultSlot",
              "type": {
                "text": "SynDetails[]"
              }
            },
            {
              "kind": "field",
              "name": "closeOthers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not multiple `<syn-detail>` elements can be open at the same time.",
              "attribute": "close-others"
            },
            {
              "kind": "field",
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the accordion and the slotted `<syn-details>` as contained elements.",
              "attribute": "contained",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The size that should be applied to all slotted `<syn-details>` elements",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "adjustDetailsSize",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "adjustDetailsContained",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSizeChange"
            },
            {
              "kind": "method",
              "name": "handleContainedChange"
            },
            {
              "kind": "method",
              "name": "handleSlotChange"
            },
            {
              "kind": "field",
              "name": "handleAccordionShow",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "close-others",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not multiple `<syn-detail>` elements can be open at the same time.",
              "fieldName": "closeOthers"
            },
            {
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the accordion and the slotted `<syn-details>` as contained elements.",
              "fieldName": "contained"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The size that should be applied to all slotted `<syn-details>` elements",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Accordions provide the ability to group a list of `<syn-details>`.",
          "tagNameWithoutPrefix": "accordion",
          "tagName": "syn-accordion",
          "customElement": true,
          "jsDoc": "/**\n * @summary Accordions provide the ability to group a list of `<syn-details>`.\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-accordion--docs\n * @status stable\n * @since 1.23.0\n *\n * @slot - The accordion's main content. Must be `<syn-details />` elements.\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-accordion--docs",
          "status": "stable",
          "since": "1.23.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynAccordion",
            "module": "components/accordion/accordion.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/alert/alert.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynAlert",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the optional icon.",
              "name": "icon"
            },
            {
              "description": "The container that wraps the alert's main content.",
              "name": "message"
            },
            {
              "description": "The close button, an `<syn-icon-button>`.",
              "name": "close-button"
            },
            {
              "description": "The close button's exported `base` part.",
              "name": "close-button__base"
            }
          ],
          "slots": [
            {
              "description": "The alert's main content.",
              "name": ""
            },
            {
              "description": "An icon to show in the alert. Works best with `<syn-icon>`.",
              "name": "icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon-button': SynIconButton }"
            },
            {
              "kind": "field",
              "name": "autoHideTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "remainingTimeInterval",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "countdownAnimation",
              "type": {
                "text": "Animation | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'icon', 'suffix')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "currentToastStack",
              "type": {
                "text": "HTMLDivElement"
              },
              "privacy": "private",
              "static": true
            },
            {
              "kind": "field",
              "name": "toastStack",
              "privacy": "private",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "base",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "countdownElement",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the alert is open. You can toggle this attribute to show and hide the alert, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the alert's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "closable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables a close button that allows the user to dismiss the alert.",
              "attribute": "closable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'primary' | 'success' | 'neutral' | 'warning' | 'danger'"
              },
              "default": "'primary'",
              "description": "The alert's theme variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "duration",
              "default": "Infinity",
              "description": "The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with\nthe alert before it closes (e.g. moves the mouse over it), the timer will restart. Defaults to `Infinity`, meaning\nthe alert will not close on its own.",
              "attribute": "duration"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The alert's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "countdown",
              "type": {
                "text": "'rtl' | 'ltr' | undefined"
              },
              "privacy": "private",
              "description": "Enables a countdown that indicates the remaining time the alert will be displayed.\nTypically used to indicate the remaining time before a whole app refresh."
            },
            {
              "kind": "field",
              "name": "remainingTime",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "restartAutoHide",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "pauseAutoHide",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "resumeAutoHide",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCountdownChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCloseClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "handleDurationChange"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the alert."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the alert"
            },
            {
              "kind": "method",
              "name": "toast",
              "description": "Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\ndismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\ncalling this method again. The returned promise will resolve after the alert is hidden."
            }
          ],
          "events": [
            {
              "description": "Emitted when the alert opens.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the alert opens and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the alert closes.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the alert closes and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the alert is open. You can toggle this attribute to show and hide the alert, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the alert's open state.",
              "fieldName": "open"
            },
            {
              "name": "closable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables a close button that allows the user to dismiss the alert.",
              "fieldName": "closable"
            },
            {
              "name": "variant",
              "type": {
                "text": "'primary' | 'success' | 'neutral' | 'warning' | 'danger'"
              },
              "default": "'primary'",
              "description": "The alert's theme variant.",
              "fieldName": "variant"
            },
            {
              "name": "duration",
              "default": "Infinity",
              "description": "The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with\nthe alert before it closes (e.g. moves the mouse over it), the timer will restart. Defaults to `Infinity`, meaning\nthe alert will not close on its own.",
              "fieldName": "duration"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The alert's size.",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Alerts are used to display important messages inline or as toast notifications.",
          "tagNameWithoutPrefix": "alert",
          "tagName": "syn-alert",
          "customElement": true,
          "jsDoc": "/**\n * @summary Alerts are used to display important messages inline or as toast notifications.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-alert--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The alert's main content.\n * @slot icon - An icon to show in the alert. Works best with `<syn-icon>`.\n *\n * @event syn-show - Emitted when the alert opens.\n * @event syn-after-show - Emitted after the alert opens and all animations are complete.\n * @event syn-hide - Emitted when the alert closes.\n * @event syn-after-hide - Emitted after the alert closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart icon - The container that wraps the optional icon.\n * @csspart message - The container that wraps the alert's main content.\n * @csspart close-button - The close button, an `<syn-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n *\n * @animation alert.show - The animation to use when showing the alert.\n * @animation alert.hide - The animation to use when hiding the alert.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-alert--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon-button"
          ],
          "animations": [
            {
              "name": "alert.show",
              "description": "The animation to use when showing the alert."
            },
            {
              "name": "alert.hide",
              "description": "The animation to use when hiding the alert."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynAlert",
            "module": "components/alert/alert.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/badge/badge.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynBadge",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The badge's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'primary' | 'success' | 'neutral' | 'warning' | 'danger'"
              },
              "default": "'primary'",
              "description": "The badge's theme variant.",
              "attribute": "variant",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'primary' | 'success' | 'neutral' | 'warning' | 'danger'"
              },
              "default": "'primary'",
              "description": "The badge's theme variant.",
              "fieldName": "variant"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Badges are used to draw attention and display statuses or counts.",
          "tagNameWithoutPrefix": "badge",
          "tagName": "syn-badge",
          "customElement": true,
          "jsDoc": "/**\n * @summary Badges are used to draw attention and display statuses or counts.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The badge's content.\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynBadge",
            "module": "components/badge/badge.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/breadcrumb/breadcrumb.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynBreadcrumb",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "One or more breadcrumb items to display.",
              "name": ""
            },
            {
              "description": "The separator to use between breadcrumb items. Works best with `<syn-icon>`.",
              "name": "separator"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon }"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "separatorDir",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "separatorSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
              "attribute": "label"
            },
            {
              "kind": "method",
              "name": "getSeparator",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.",
          "tagNameWithoutPrefix": "breadcrumb",
          "tagName": "syn-breadcrumb",
          "customElement": true,
          "jsDoc": "/**\n * @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs\n * @status stable\n * @since 2.0\n *\n * @slot - One or more breadcrumb items to display.\n * @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.\n *\n * @dependency syn-icon\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynBreadcrumb",
            "module": "components/breadcrumb/breadcrumb.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/breadcrumb-item/breadcrumb-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynBreadcrumbItem",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The breadcrumb item's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the prefix.",
              "name": "prefix"
            },
            {
              "description": "The container that wraps the suffix.",
              "name": "suffix"
            },
            {
              "description": "The container that wraps the separator.",
              "name": "separator"
            }
          ],
          "slots": [
            {
              "description": "The breadcrumb item's label.",
              "name": ""
            },
            {
              "description": "An optional prefix, usually an icon or icon button.",
              "name": "prefix"
            },
            {
              "description": "An optional suffix, usually an icon or icon button.",
              "name": "suffix"
            },
            {
              "description": "The separator to use for the breadcrumb item. This will only change the separator for this item. If you want to change it for all items in the group, set the separator on `<syn-breadcrumb>` instead.",
              "name": "separator"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'prefix', 'suffix')"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "renderType",
              "type": {
                "text": "'button' | 'link' | 'dropdown'"
              },
              "privacy": "private",
              "default": "'button'"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string | undefined"
              },
              "description": "Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered\ninternally. When unset, a button will be rendered instead.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is set.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "The `rel` attribute to use on the link. Only used when `href` is set.",
              "attribute": "rel"
            },
            {
              "kind": "method",
              "name": "setRenderType",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hrefChanged"
            },
            {
              "kind": "method",
              "name": "handleSlotChange"
            }
          ],
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string | undefined"
              },
              "description": "Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered\ninternally. When unset, a button will be rendered instead.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is set.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "The `rel` attribute to use on the link. Only used when `href` is set.",
              "fieldName": "rel"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Breadcrumb Items are used inside [breadcrumbs](/components/breadcrumb) to represent different links.",
          "tagNameWithoutPrefix": "breadcrumb-item",
          "tagName": "syn-breadcrumb-item",
          "customElement": true,
          "jsDoc": "/**\n * @summary Breadcrumb Items are used inside [breadcrumbs](/components/breadcrumb) to represent different links.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb-item--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The breadcrumb item's label.\n * @slot prefix - An optional prefix, usually an icon or icon button.\n * @slot suffix - An optional suffix, usually an icon or icon button.\n * @slot separator - The separator to use for the breadcrumb item. This will only change the separator for this item. If\n * you want to change it for all items in the group, set the separator on `<syn-breadcrumb>` instead.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label - The breadcrumb item's label.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart separator - The container that wraps the separator.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb-item--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynBreadcrumbItem",
            "module": "components/breadcrumb-item/breadcrumb-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button/button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynButton",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the prefix.",
              "name": "prefix"
            },
            {
              "description": "The button's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the suffix.",
              "name": "suffix"
            },
            {
              "description": "The button's caret icon, an `<syn-icon>` element.",
              "name": "caret"
            },
            {
              "description": "The spinner that shows when the button is in the loading state.",
              "name": "spinner"
            }
          ],
          "slots": [
            {
              "description": "The button's label.",
              "name": ""
            },
            {
              "description": "A presentational prefix icon or similar element.",
              "name": "prefix"
            },
            {
              "description": "A presentational suffix icon or similar element.",
              "name": "suffix"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon, 'syn-spinner': SynSpinner }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['click'] })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'prefix', 'suffix')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "HTMLButtonElement | HTMLLinkElement"
              }
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "iconOnly",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "invalid",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'filled' | 'outline' | 'text'"
              },
              "default": "'outline'",
              "description": "The button's theme variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The button's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "caret",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
              "attribute": "caret",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the button.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button in a loading state.",
              "attribute": "loading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "default": "'button'",
              "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top'"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is present.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
              "attribute": "rel"
            },
            {
              "kind": "field",
              "name": "download",
              "type": {
                "text": "string | undefined"
              },
              "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
              "attribute": "form"
            },
            {
              "kind": "field",
              "name": "formAction",
              "type": {
                "text": "string"
              },
              "description": "Used to override the form owner's `action` attribute.",
              "attribute": "formaction"
            },
            {
              "kind": "field",
              "name": "formEnctype",
              "type": {
                "text": "'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'"
              },
              "description": "Used to override the form owner's `enctype` attribute.",
              "attribute": "formenctype"
            },
            {
              "kind": "field",
              "name": "formMethod",
              "type": {
                "text": "'post' | 'get'"
              },
              "description": "Used to override the form owner's `method` attribute.",
              "attribute": "formmethod"
            },
            {
              "kind": "field",
              "name": "formNoValidate",
              "type": {
                "text": "boolean"
              },
              "description": "Used to override the form owner's `novalidate` attribute.",
              "attribute": "formnovalidate"
            },
            {
              "kind": "field",
              "name": "formTarget",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "description": "Used to override the form owner's `target` attribute.",
              "attribute": "formtarget"
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "isButton",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isLink",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the button."
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the button."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the button."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            }
          ],
          "events": [
            {
              "description": "Emitted when the button loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the button gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "variant",
              "type": {
                "text": "'filled' | 'outline' | 'text'"
              },
              "default": "'outline'",
              "description": "The button's theme variant.",
              "fieldName": "variant"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The button's size.",
              "fieldName": "size"
            },
            {
              "name": "caret",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
              "fieldName": "caret"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the button.",
              "fieldName": "disabled"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button in a loading state.",
              "fieldName": "loading"
            },
            {
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "default": "'button'",
              "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
              "fieldName": "type"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
              "fieldName": "value"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top'"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is present.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
              "fieldName": "rel"
            },
            {
              "name": "download",
              "type": {
                "text": "string | undefined"
              },
              "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
              "fieldName": "download"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
              "fieldName": "form"
            },
            {
              "name": "formaction",
              "type": {
                "text": "string"
              },
              "description": "Used to override the form owner's `action` attribute.",
              "fieldName": "formAction"
            },
            {
              "name": "formenctype",
              "type": {
                "text": "'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'"
              },
              "description": "Used to override the form owner's `enctype` attribute.",
              "fieldName": "formEnctype"
            },
            {
              "name": "formmethod",
              "type": {
                "text": "'post' | 'get'"
              },
              "description": "Used to override the form owner's `method` attribute.",
              "fieldName": "formMethod"
            },
            {
              "name": "formnovalidate",
              "type": {
                "text": "boolean"
              },
              "description": "Used to override the form owner's `novalidate` attribute.",
              "fieldName": "formNoValidate"
            },
            {
              "name": "formtarget",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "description": "Used to override the form owner's `target` attribute.",
              "fieldName": "formTarget"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Buttons represent actions that are available to the user.",
          "tagNameWithoutPrefix": "button",
          "tagName": "syn-button",
          "customElement": true,
          "jsDoc": "/**\n * @summary Buttons represent actions that are available to the user.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-button--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-spinner\n *\n * @event syn-blur - Emitted when the button loses focus.\n * @event syn-focus - Emitted when the button gains focus.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @slot - The button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The button's label.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart caret - The button's caret icon, an `<syn-icon>` element.\n * @csspart spinner - The spinner that shows when the button is in the loading state.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-button--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon",
            "syn-spinner"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynButton",
            "module": "components/button/button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button-group/button-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynButtonGroup",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "One or more `<syn-button>` elements to display in the button group.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "disableRole",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The button-groups size. This affects all buttons within the group.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'filled' | 'outline'"
              },
              "default": "'outline'",
              "description": "The button-group's theme variant. This affects all buttons within the group.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseOut",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
              "fieldName": "label"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The button-groups size. This affects all buttons within the group.",
              "fieldName": "size"
            },
            {
              "name": "variant",
              "type": {
                "text": "'filled' | 'outline'"
              },
              "default": "'outline'",
              "description": "The button-group's theme variant. This affects all buttons within the group.",
              "fieldName": "variant"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Button groups can be used to group related buttons into sections.",
          "tagNameWithoutPrefix": "button-group",
          "tagName": "syn-button-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Button groups can be used to group related buttons into sections.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-button-group--docs\n * @status stable\n * @since 2.0\n *\n * @slot - One or more `<syn-button>` elements to display in the button group.\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-button-group--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynButtonGroup",
            "module": "components/button-group/button-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/card/card.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynCard",
          "cssProperties": [
            {
              "description": "The card's border color, including borders that occur inside the card.",
              "name": "--border-color"
            },
            {
              "description": "The border radius for the card's edges.",
              "name": "--border-radius"
            },
            {
              "description": "The width of the card's borders.",
              "name": "--border-width"
            },
            {
              "description": "The padding to use for the card's sections.",
              "name": "--padding"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the card's image.",
              "name": "image"
            },
            {
              "description": "The container that wraps the card's header.",
              "name": "header"
            },
            {
              "description": "The container that wraps the card's main content.",
              "name": "body"
            },
            {
              "description": "The container that wraps the card's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The card's main content.",
              "name": ""
            },
            {
              "description": "An optional header for the card.",
              "name": "header"
            },
            {
              "description": "An optional footer for the card.",
              "name": "footer"
            },
            {
              "description": "An optional image to render at the start of the card.",
              "name": "image"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer', 'header', 'image')"
            },
            {
              "kind": "field",
              "name": "shadow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the card with a shadow. Can be used when the card has to stand out visually, for example in dashboards.",
              "attribute": "shadow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "sharp",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the card with sharp edges. Can be used e.g. when nesting multiple syn-cards to create hierarchy.",
              "attribute": "sharp",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "shadow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the card with a shadow. Can be used when the card has to stand out visually, for example in dashboards.",
              "fieldName": "shadow"
            },
            {
              "name": "sharp",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the card with sharp edges. Can be used e.g. when nesting multiple syn-cards to create hierarchy.",
              "fieldName": "sharp"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Cards can be used to group related subjects in a container.",
          "tagNameWithoutPrefix": "card",
          "tagName": "syn-card",
          "customElement": true,
          "jsDoc": "/**\n * @summary Cards can be used to group related subjects in a container.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-card--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The card's main content.\n * @slot header - An optional header for the card.\n * @slot footer - An optional footer for the card.\n * @slot image - An optional image to render at the start of the card.\n *\n * @csspart base - The component's base wrapper.\n * @csspart image - The container that wraps the card's image.\n * @csspart header - The container that wraps the card's header.\n * @csspart body - The container that wraps the card's main content.\n * @csspart footer - The container that wraps the card's footer.\n *\n * @cssproperty --border-color - The card's border color, including borders that occur inside the card.\n * @cssproperty --border-radius - The border radius for the card's edges.\n * @cssproperty --border-width - The width of the card's borders.\n * @cssproperty --padding - The padding to use for the card's sections.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-card--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynCard",
            "module": "components/card/card.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/checkbox/checkbox.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynCheckbox",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The square container that wraps the checkbox's checked state.",
              "name": "control"
            },
            {
              "description": "Matches the control part when the checkbox is checked.",
              "name": "control--checked"
            },
            {
              "description": "Matches the control part when the checkbox is indeterminate.",
              "name": "control--indeterminate"
            },
            {
              "description": "The checked icon, an `<syn-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The indeterminate icon, an `<syn-icon>` element.",
              "name": "indeterminate-icon"
            },
            {
              "description": "The container that wraps the checkbox's label.",
              "name": "label"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            }
          ],
          "slots": [
            {
              "description": "The checkbox's label.",
              "name": ""
            },
            {
              "description": "Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { value: (control: SynCheckbox) => (control.checked ? control.value || 'on' : undefined), defaultValue: (control: SynCheckbox) => control.defaultChecked, setValue: (control: SynCheckbox, checked: boolean) => (control.checked = checked) })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the checkbox, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The checkbox's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the checkbox.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the checkbox to a readonly state.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the checkbox in a checked state.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The default value of the form control. Primarily used for resetting the form control."
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the checkbox a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox's help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleStateChange"
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the checkbox."
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the checkbox."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the checkbox."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. The value provided will be shown to the user when the form is submitted. To clear\nthe custom validation message, call this method with an empty string."
            }
          ],
          "events": [
            {
              "description": "Emitted when the checkbox loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the checked state changes.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when the checkbox gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the checkbox receives input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the checkbox, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The checkbox's size.",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the checkbox.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the checkbox to a readonly state.",
              "fieldName": "readonly"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the checkbox in a checked state.",
              "fieldName": "checked"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
              "fieldName": "indeterminate"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the checkbox a required field.",
              "fieldName": "required"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Checkboxes allow the user to toggle an option on or off.",
          "tagNameWithoutPrefix": "checkbox",
          "tagName": "syn-checkbox",
          "customElement": true,
          "jsDoc": "/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-checkbox--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The checkbox's label.\n * @slot help-text - Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the checkbox loses focus.\n * @event syn-change - Emitted when the checked state changes.\n * @event syn-focus - Emitted when the checkbox gains focus.\n * @event syn-input - Emitted when the checkbox receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart control--checked - Matches the control part when the checkbox is checked.\n * @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<syn-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n * @csspart form-control-help-text - The help text's wrapper.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-checkbox--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynCheckbox",
            "module": "components/checkbox/checkbox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/combobox/combobox.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynCombobox",
          "cssParts": [
            {
              "description": "The form control that wraps the label, combobox, and help text.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The combobox's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The container that wraps the prefix, combobox, clear icon, and expand button.",
              "name": "combobox"
            },
            {
              "description": "The container that wraps the prefix slot.",
              "name": "prefix"
            },
            {
              "description": "The container that wraps the suffix slot.",
              "name": "suffix"
            },
            {
              "description": "The element that displays the selected option's label, an `<input>` element.",
              "name": "display-input"
            },
            {
              "description": "The listbox container where the options are slotted and the filtered options list exists.",
              "name": "listbox"
            },
            {
              "description": "The container that wraps the filtered options.",
              "name": "filtered-listbox"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the expand icon.",
              "name": "expand-icon"
            },
            {
              "description": "The popup's exported `popup` part. Use this to target the tooltip's popup container.",
              "name": "popup"
            },
            {
              "description": "The container that wraps the \"no results\" message.",
              "name": "no-results"
            },
            {
              "description": "The container that houses option tags when `multiple` is used.",
              "name": "tags"
            },
            {
              "description": "The individual tags that represent each selected option in `multiple`.",
              "name": "tag"
            },
            {
              "description": "The tag's base part.",
              "name": "tag__base"
            },
            {
              "description": "The tag's content part.",
              "name": "tag__content"
            },
            {
              "description": "The tag's remove button.",
              "name": "tag__remove-button"
            },
            {
              "description": "The tag's remove button base part.",
              "name": "tag__remove-button__base"
            }
          ],
          "slots": [
            {
              "description": "The listbox options. Must be `<syn-option>` elements. You can use `<syn-optgroup>`'s to group items visually.",
              "name": ""
            },
            {
              "description": "The combobox's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to prepend a presentational icon or similar element to the combobox.",
              "name": "prefix"
            },
            {
              "description": "Used to append a presentational icon or similar element to the combobox.",
              "name": "suffix"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "The icon to show when the control is expanded and collapsed. Rotates on open and close.",
              "name": "expand-icon"
            },
            {
              "description": "Text that describes how to use the combobox. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon, 'syn-popup': SynPopup, 'syn-tag': SynTag, }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['syn-blur', 'syn-input'], })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "closeWatcher",
              "type": {
                "text": "CloseWatcher | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "lastOptions",
              "type": {
                "text": "SynOption[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Cache of the last syn-options that were selected by user interaction (click or keyboard navigation).\nUsed to track user selections and maintain selection state during value changes."
            },
            {
              "kind": "field",
              "name": "isInitialized",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isOptionRendererTriggered",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Flag to prevent infinite loops when the option renderer programmatically updates options.\nSet to true during option rendering to ignore slot change events triggered by our own updates."
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "SynPopup"
              }
            },
            {
              "kind": "field",
              "name": "combobox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "displayInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "valueInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "listbox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "tagContainer",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isUserInput",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "displayLabel",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "selectedOptions",
              "type": {
                "text": "SynOption[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "numberFilteredOptions",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "cachedOptions",
              "type": {
                "text": "SynOption[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hideOptions",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the combobox, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | number | Array<string | number>"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the combobox, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue attribute will be a list of values  separated by the delimiter, based on the options selected, and the value property will\nbe an array. **For this reason, values must not contain the delimiter character.**"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | number | Array<string | number>"
              },
              "default": "''",
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The combobox's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the combobox is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the combobox control.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the combobox to a readonly state.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the combobox is not empty.",
              "attribute": "clearable"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the combobox is open.\nYou can toggle this attribute to show and hide the listbox, or you can use the `show()`\nand `hide()` methods and this attribute will reflect the combobox's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The combobox's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the combobox's menu.\nNote that the actual placement may vary as needed to keep the listbox inside of the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The combobox's help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element.\nThis attribute allows you to place the form control outside of a form and associate it\nwith the form that has this `id`.\nThe form must be in the same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The combobox's required attribute.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "restricted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set to `true`, restricts the combobox to only allow selection from the available options.\nUsers will not be able to enter custom values that are not present in the list.\nThis will always be true, if `multiple` is active.",
              "attribute": "restricted",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.\nIf `multiple` is set, the combobox will always be `restricted` to the available options",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "getOption",
              "type": {
                "text": "OptionRenderer"
              },
              "default": "defaultOptionRenderer",
              "description": "A function that customizes the rendered option. The first argument is the option, the second\nis the query string, which is typed into the combobox.\nThe function should return either a Lit TemplateResult or a string containing trusted HTML\nto render in the shown list of filtered options.\nIf the query string should be highlighted use the `highlightOptionRenderer` function.",
              "attribute": "getOption"
            },
            {
              "kind": "field",
              "name": "filter",
              "type": {
                "text": "(option: SynOption, queryString: string) => boolean"
              },
              "description": "A function used to filter options in the combobox component.\nThe default filter method is a case- and diacritic-insensitive string comparison.",
              "parameters": [
                {
                  "description": "The option to be filtered.",
                  "name": "option"
                },
                {
                  "description": "The query string used for filtering.",
                  "name": "queryString"
                }
              ],
              "return": {
                "type": {
                  "text": ""
                }
              },
              "attribute": "filter"
            },
            {
              "kind": "field",
              "name": "delimiter",
              "type": {
                "text": "string"
              },
              "default": "' '",
              "description": "The delimiter to use when setting the value when `multiple` is enabled.\nThe default is a space ' ', but you can set it to a comma or other character(s).",
              "attribute": "delimiter"
            },
            {
              "kind": "field",
              "name": "maxOptionsVisible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "attribute": "max-options-visible"
            },
            {
              "kind": "field",
              "name": "getTag",
              "type": {
                "text": "(option: SynOption, index: number) => TemplateResult | string | HTMLElement"
              },
              "description": "A function that customizes the tags to be rendered when `multiple` is true. The first argument is the option, the second\nis the current tag's index.  The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at\nthe specified value.",
              "attribute": "getTag"
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "calculateTagMaxWidth",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "enableResizeObserver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "tags",
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentFocusIn",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFormControlClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLabelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleTagRemove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "SynRemoveEvent"
                  }
                },
                {
                  "name": "option",
                  "type": {
                    "text": "SynOption"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleComboboxMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleComboboxKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClearClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "clearInputField",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "clearCombobox",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "preventLoosingFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleOptionClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectNextOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "isNext",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "A boolean indicating whether to select the following option (true)\n  or the previous option (false)."
                }
              ],
              "description": "Selects the following or previous option."
            },
            {
              "kind": "method",
              "name": "toggleOptionSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "SynOption"
                  }
                },
                {
                  "name": "force",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSelectedOptions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "SynOption | SynOption[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllFilteredOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getCurrentOption",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setCurrentOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "SynOption | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectionChanged",
              "privacy": "private",
              "description": "Updates the component state after selection changes.\n\nThis method synchronizes:\n1. The selectedOptions cache with currently selected options\n2. The component's value property (string or array)\n3. The display label shown in the input\n4. Form validation state\n\n**Validation Logic:**\n- In restricted mode, invalid values trigger a reset to last valid state\n- Multiple mode requires all values to correspond to existing options\n- Single mode allows free text input when not restricted"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handlePropertiesChange"
            },
            {
              "kind": "method",
              "name": "handleDisplayInputValueChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleDelimiterChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the listbox. If it is not possible to open the listbox, because there are no\nappropriate filtered options, a syn-error is emitted and the listbox stays closed."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the listbox."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message.\nReturns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the control."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the control."
            },
            {
              "kind": "method",
              "name": "createComboboxOptionsFromQuery",
              "privacy": "private",
              "parameters": [
                {
                  "name": "queryString",
                  "type": {
                    "text": "string"
                  },
                  "description": "The current user input to filter and highlight options with"
                }
              ],
              "description": "Updates the visibility and rendering of options based on the current query string.\n\nThis method performs several critical tasks:\n1. **Option Filtering**: Uses the `filter` function to determine which options should be visible\n2. **Custom Rendering**: Applies the `getOption` function to customize option appearance\n3. **Optgroup Management**: Shows/hides optgroups based on their visible children\n4. **Counts visible options**: Tracks the number of visible options for UI logic\n\n**Performance Considerations:**\n- Uses cached options to avoid repeated DOM queries\n- Prevents infinite loops during option updates with `isOptionRendererTriggered`"
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isValidValue",
              "privacy": "private",
              "return": {
                "type": {
                  "text": ""
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string | number"
                  },
                  "description": "The value to check for validity."
                }
              ],
              "description": "Checks if the value is available in the options list.\nThis is used to determine if the value is valid when the combobox is restricted."
            },
            {
              "kind": "method",
              "name": "getOptionsFromValue",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SynOption[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "resetToLastValidValue",
              "privacy": "private",
              "description": "Resets the value to the last valid value or to an empty string."
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getSlottedOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getSlottedOptGroups",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SynOptGroup[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "cacheSlottedOptionsAndOptgroups",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateSelectedOptionFromValue",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSlotContentChange",
              "privacy": "private",
              "description": "Synchronizes the internal component state with changes to slotted options.\n\nThis method is automatically triggered by:\n- MutationObserver when option 'value' attributes change\n- Initial component setup during connectedCallback (after timeout)\n- Default slot changes (via handleDefaultSlotChange)\n- Custom element registration completion for syn-option (deferred execution)\n\nThe synchronization process:\n1. Waits for syn-option custom elements to be registered before processing\n2. Updates delimiter settings on all slotted options\n3. Refreshes the internal cache of options and optgroups\n4. Synchronizes selected options based on current component value\n5. Auto-opens listbox if component has focus, has value, and is currently closed\n\nThis ensures the component's internal state stays consistent with the slotted\nDOM content after options are added, removed, or their values change."
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "public"
            }
          ],
          "events": [
            {
              "description": "Emitted when the control's value changes.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when the control's value is cleared.",
              "name": "syn-clear",
              "reactName": "onSynClear",
              "eventName": "SynClearEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the combobox's menu opens.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the combobox's menu opens and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the combobox's menu closes.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the combobox's menu closes and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            },
            {
              "description": "Emitted when the combobox menu fails to open.",
              "name": "syn-error",
              "reactName": "onSynError",
              "eventName": "SynErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the combobox, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The combobox's size.",
              "fieldName": "size"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the combobox is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the combobox control.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the combobox to a readonly state.",
              "fieldName": "readonly"
            },
            {
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the combobox is not empty.",
              "fieldName": "clearable"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the combobox is open.\nYou can toggle this attribute to show and hide the listbox, or you can use the `show()`\nand `hide()` methods and this attribute will reflect the combobox's open state.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The combobox's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "fieldName": "maxlength"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the combobox's menu.\nNote that the actual placement may vary as needed to keep the listbox inside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The combobox's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element.\nThis attribute allows you to place the form control outside of a form and associate it\nwith the form that has this `id`.\nThe form must be in the same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The combobox's required attribute.",
              "fieldName": "required"
            },
            {
              "name": "restricted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set to `true`, restricts the combobox to only allow selection from the available options.\nUsers will not be able to enter custom values that are not present in the list.\nThis will always be true, if `multiple` is active.",
              "fieldName": "restricted"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.\nIf `multiple` is set, the combobox will always be `restricted` to the available options",
              "fieldName": "multiple"
            },
            {
              "name": "getOption",
              "type": {
                "text": "OptionRenderer"
              },
              "default": "defaultOptionRenderer",
              "description": "A function that customizes the rendered option. The first argument is the option, the second\nis the query string, which is typed into the combobox.\nThe function should return either a Lit TemplateResult or a string containing trusted HTML\nto render in the shown list of filtered options.\nIf the query string should be highlighted use the `highlightOptionRenderer` function.",
              "fieldName": "getOption"
            },
            {
              "name": "filter",
              "type": {
                "text": "(option: SynOption, queryString: string) => boolean"
              },
              "description": "A function used to filter options in the combobox component.\nThe default filter method is a case- and diacritic-insensitive string comparison.",
              "parameters": [
                {
                  "description": "The option to be filtered.",
                  "name": "option"
                },
                {
                  "description": "The query string used for filtering.",
                  "name": "queryString"
                }
              ],
              "return": {
                "type": {
                  "text": ""
                }
              },
              "fieldName": "filter"
            },
            {
              "name": "delimiter",
              "type": {
                "text": "string"
              },
              "default": "' '",
              "description": "The delimiter to use when setting the value when `multiple` is enabled.\nThe default is a space ' ', but you can set it to a comma or other character(s).",
              "fieldName": "delimiter"
            },
            {
              "name": "max-options-visible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "fieldName": "maxOptionsVisible"
            },
            {
              "name": "getTag",
              "type": {
                "text": "(option: SynOption, index: number) => TemplateResult | string | HTMLElement"
              },
              "description": "A function that customizes the tags to be rendered when `multiple` is true. The first argument is the option, the second\nis the current tag's index.  The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at\nthe specified value.",
              "fieldName": "getTag"
            },
            {
              "name": "value",
              "type": {
                "text": "string | number | Array<string | number>"
              },
              "default": "''",
              "description": "The current value of the combobox, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue attribute will be a list of values  separated by the delimiter, based on the options selected, and the value property will\nbe an array. **For this reason, values must not contain the delimiter character.**",
              "fieldName": "value"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "A combobox component that combines the functionality of a text input with a dropdown listbox,\nallowing users to either select from predefined options or enter custom values (when not restricted).",
          "tagNameWithoutPrefix": "combobox",
          "tagName": "syn-combobox",
          "customElement": true,
          "jsDoc": "/**\n * @summary A combobox component that combines the functionality of a text input with a dropdown listbox,\n * allowing users to either select from predefined options or enter custom values (when not restricted).\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-combobox--docs\n * @status stable\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-tag\n *\n * @slot - The listbox options. Must be `<syn-option>` elements.\n *    You can use `<syn-optgroup>`'s to group items visually.\n * @slot label - The combobox's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot suffix - Used to append a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed.\n *    Rotates on open and close.\n * @slot help-text - Text that describes how to use the combobox.\n *    Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-change - Emitted when the control's value changes.\n * @event syn-clear - Emitted when the control's value is cleared.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-show - Emitted when the combobox's menu opens.\n * @event syn-after-show - Emitted after the combobox's menu opens and all animations are complete.\n * @event syn-hide - Emitted when the combobox's menu closes.\n * @event syn-after-hide - Emitted after the combobox's menu closes and all animations are complete.\n * @event syn-invalid - Emitted when the form control has been checked for validity\n *    and its constraints aren't satisfied.\n * @event syn-error - Emitted when the combobox menu fails to open.\n *\n * @csspart form-control - The form control that wraps the label, combobox, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The combobox's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container that wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart suffix - The container that wraps the suffix slot.\n * @csspart display-input - The element that displays the selected option's label,\n *     an `<input>` element.\n * @csspart listbox - The listbox container where the options are slotted\n *   and the filtered options list exists.\n * @csspart filtered-listbox - The container that wraps the filtered options.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart popup - The popup's exported `popup` part.\n * Use this to target the tooltip's popup container.\n * @csspart no-results - The container that wraps the \"no results\" message.\n * @csspart tags - The container that houses option tags when `multiple` is used.\n * @csspart tag - The individual tags that represent each selected option in `multiple`.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n *\n * @animation combobox.show - The animation to use when showing the combobox.\n * @animation combobox.hide - The animation to use when hiding the combobox.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-combobox--docs",
          "status": "stable",
          "dependencies": [
            "syn-icon",
            "syn-popup",
            "syn-tag"
          ],
          "animations": [
            {
              "name": "combobox.show",
              "description": "The animation to use when showing the combobox."
            },
            {
              "name": "combobox.hide",
              "description": "The animation to use when hiding the combobox."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynCombobox",
            "module": "components/combobox/combobox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/details/details.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynDetails",
          "cssProperties": [
            {
              "description": "The rotation angle of the summary icon when the details is open.",
              "name": "--syn-details-open-rotation"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The header that wraps both the summary and the expand/collapse icon.",
              "name": "header"
            },
            {
              "description": "The container that wraps the summary.",
              "name": "summary"
            },
            {
              "description": "The container that wraps the expand/collapse icons.",
              "name": "summary-icon"
            },
            {
              "description": "The details content.",
              "name": "content"
            },
            {
              "description": "The container that wraps the details content.",
              "name": "body"
            }
          ],
          "slots": [
            {
              "description": "The details' main content.",
              "name": ""
            },
            {
              "description": "The details' summary. Alternatively, you can use the `summary` attribute.",
              "name": "summary"
            },
            {
              "description": "Optional expand icon to use instead of the default. Works best with `<syn-icon>`.",
              "name": "expand-icon"
            },
            {
              "description": "Optional collapse icon to use instead of the default. Works best with `<syn-icon>`.",
              "name": "collapse-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon }"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "details",
              "type": {
                "text": "HTMLDetailsElement"
              }
            },
            {
              "kind": "field",
              "name": "header",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "expandIconSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "detailsObserver",
              "type": {
                "text": "MutationObserver"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "summary",
              "type": {
                "text": "string"
              },
              "description": "The summary to show in the header. If you need to display HTML, use the `summary` slot instead.",
              "attribute": "summary"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the details so it can't be toggled.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the details as contained element.",
              "attribute": "contained",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The details's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSummaryClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSummaryKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the details."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the details"
            }
          ],
          "events": [
            {
              "description": "Emitted when the details opens.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the details opens and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the details closes.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the details closes and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.",
              "fieldName": "open"
            },
            {
              "name": "summary",
              "type": {
                "text": "string"
              },
              "description": "The summary to show in the header. If you need to display HTML, use the `summary` slot instead.",
              "fieldName": "summary"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the details so it can't be toggled.",
              "fieldName": "disabled"
            },
            {
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the details as contained element.",
              "fieldName": "contained"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The details's size.",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Details show a brief summary and expand to show additional content.",
          "tagNameWithoutPrefix": "details",
          "tagName": "syn-details",
          "customElement": true,
          "jsDoc": "/**\n * @summary Details show a brief summary and expand to show additional content.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-details--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The details' main content.\n * @slot summary - The details' summary. Alternatively, you can use the `summary` attribute.\n * @slot expand-icon - Optional expand icon to use instead of the default. Works best with `<syn-icon>`.\n * @slot collapse-icon - Optional collapse icon to use instead of the default. Works best with `<syn-icon>`.\n *\n * @event syn-show - Emitted when the details opens.\n * @event syn-after-show - Emitted after the details opens and all animations are complete.\n * @event syn-hide - Emitted when the details closes.\n * @event syn-after-hide - Emitted after the details closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart header - The header that wraps both the summary and the expand/collapse icon.\n * @csspart summary - The container that wraps the summary.\n * @csspart summary-icon - The container that wraps the expand/collapse icons.\n * @csspart content - The details content.\n * @csspart body - The container that wraps the details content.\n *\n * @animation details.show - The animation to use when showing details. You can use `height: auto` with this animation.\n * @animation details.hide - The animation to use when hiding details. You can use `height: auto` with this animation.\n *\n * @cssproperty --syn-details-open-rotation - The rotation angle of the summary icon when the details is open.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-details--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon"
          ],
          "animations": [
            {
              "name": "details.show",
              "description": "The animation to use when showing details. You can use `height: auto` with this animation."
            },
            {
              "name": "details.hide",
              "description": "The animation to use when hiding details. You can use `height: auto` with this animation."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynDetails",
            "module": "components/details/details.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dialog/dialog.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynDialog",
          "cssProperties": [
            {
              "description": "The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.",
              "name": "--width"
            },
            {
              "description": "The amount of padding to use for the header.",
              "name": "--header-spacing"
            },
            {
              "description": "The amount of padding to use for the body.",
              "name": "--body-spacing"
            },
            {
              "description": "The amount of padding to use for the footer.",
              "name": "--footer-spacing"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The overlay that covers the screen behind the dialog.",
              "name": "overlay"
            },
            {
              "description": "The dialog's panel (where the dialog and its content are rendered).",
              "name": "panel"
            },
            {
              "description": "The dialog's header. This element wraps the title and header actions.",
              "name": "header"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<syn-icon-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The dialog's title.",
              "name": "title"
            },
            {
              "description": "The close button, an `<syn-icon-button>`.",
              "name": "close-button"
            },
            {
              "description": "The close button's exported `base` part.",
              "name": "close-button__base"
            },
            {
              "description": "The dialog's body.",
              "name": "body"
            },
            {
              "description": "The dialog's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The dialog's main content.",
              "name": ""
            },
            {
              "description": "The dialog's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<syn-icon-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The dialog's footer, usually one or more buttons representing various options.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon-button': SynIconButton }"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "originalTrigger",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "modal",
              "privacy": "public",
              "default": "new Modal(this)",
              "description": "Exposes the internal modal utility that controls focus trapping. To temporarily disable focus trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping."
            },
            {
              "kind": "field",
              "name": "closeWatcher",
              "type": {
                "text": "CloseWatcher | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "overlay",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the dialog is open. You can toggle this attribute to show and hide the dialog, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the dialog's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The dialog's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the dialog.",
              "attribute": "no-header",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "requestClose",
              "privacy": "private",
              "parameters": [
                {
                  "name": "source",
                  "type": {
                    "text": "'close-button' | 'keyboard' | 'overlay'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the dialog."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the dialog"
            }
          ],
          "events": [
            {
              "description": "Emitted when the dialog opens.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the dialog opens and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the dialog closes.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the dialog closes and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            },
            {
              "description": "Emitted when the dialog opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.",
              "name": "syn-initial-focus",
              "reactName": "onSynInitialFocus",
              "eventName": "SynInitialFocusEvent"
            },
            {
              "type": {
                "text": "{ source: 'close-button' | 'keyboard' | 'overlay' }"
              },
              "description": "Emitted when the user attempts to close the dialog by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the dialog open. Avoid using this unless closing the dialog will result in destructive behavior such as data loss.",
              "name": "syn-request-close",
              "reactName": "onSynRequestClose",
              "eventName": "SynRequestCloseEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the dialog is open. You can toggle this attribute to show and hide the dialog, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the dialog's open state.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The dialog's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "no-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the dialog.",
              "fieldName": "noHeader"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.",
          "tagNameWithoutPrefix": "dialog",
          "tagName": "syn-dialog",
          "customElement": true,
          "jsDoc": "/**\n * @summary Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-dialog--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The dialog's main content.\n * @slot label - The dialog's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n *\n * @event syn-show - Emitted when the dialog opens.\n * @event syn-after-show - Emitted after the dialog opens and all animations are complete.\n * @event syn-hide - Emitted when the dialog closes.\n * @event syn-after-hide - Emitted after the dialog closes and all animations are complete.\n * @event syn-initial-focus - Emitted when the dialog opens and is ready to receive focus. Calling\n *   `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} syn-request-close - Emitted when the user attempts to\n *   close the dialog by clicking the close button, clicking the overlay, or pressing escape. Calling\n *   `event.preventDefault()` will keep the dialog open. Avoid using this unless closing the dialog will result in\n *   destructive behavior such as data loss.\n *\n * @csspart base - The component's base wrapper.\n * @csspart overlay - The overlay that covers the screen behind the dialog.\n * @csspart panel - The dialog's panel (where the dialog and its content are rendered).\n * @csspart header - The dialog's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @csspart title - The dialog's title.\n * @csspart close-button - The close button, an `<syn-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The dialog's body.\n * @csspart footer - The dialog's footer.\n *\n * @cssproperty --width - The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n * @cssproperty --header-spacing - The amount of padding to use for the header.\n * @cssproperty --body-spacing - The amount of padding to use for the body.\n * @cssproperty --footer-spacing - The amount of padding to use for the footer.\n *\n * @animation dialog.show - The animation to use when showing the dialog.\n * @animation dialog.hide - The animation to use when hiding the dialog.\n * @animation dialog.denyClose - The animation to use when a request to close the dialog is denied.\n * @animation dialog.overlay.show - The animation to use when showing the dialog's overlay.\n * @animation dialog.overlay.hide - The animation to use when hiding the dialog's overlay.\n *\n * @property modal - Exposes the internal modal utility that controls focus trapping. To temporarily disable focus\n *   trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when\n *   the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-dialog--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon-button"
          ],
          "animations": [
            {
              "name": "dialog.show",
              "description": "The animation to use when showing the dialog."
            },
            {
              "name": "dialog.hide",
              "description": "The animation to use when hiding the dialog."
            },
            {
              "name": "dialog.denyClose",
              "description": "The animation to use when a request to close the dialog is denied."
            },
            {
              "name": "dialog.overlay.show",
              "description": "The animation to use when showing the dialog's overlay."
            },
            {
              "name": "dialog.overlay.hide",
              "description": "The animation to use when hiding the dialog's overlay."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynDialog",
            "module": "components/dialog/dialog.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/divider/divider.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynDivider",
          "cssProperties": [
            {
              "description": "The color of the divider.",
              "name": "--color"
            },
            {
              "description": "The width of the divider.",
              "name": "--width"
            },
            {
              "description": "The spacing of the divider.",
              "name": "--spacing"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the divider in a vertical orientation.",
              "attribute": "vertical",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleVerticalChange"
            }
          ],
          "attributes": [
            {
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the divider in a vertical orientation.",
              "fieldName": "vertical"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Dividers are used to visually separate or group elements.",
          "tagNameWithoutPrefix": "divider",
          "tagName": "syn-divider",
          "customElement": true,
          "jsDoc": "/**\n * @summary Dividers are used to visually separate or group elements.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-divider--docs\n * @status stable\n * @since 2.0\n *\n * @cssproperty --color - The color of the divider.\n * @cssproperty --width - The width of the divider.\n * @cssproperty --spacing - The spacing of the divider.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-divider--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynDivider",
            "module": "components/divider/divider.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/drawer/drawer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynDrawer",
          "cssProperties": [
            {
              "description": "The preferred size of the drawer. This will be applied to the drawer's width or height depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.",
              "name": "--size"
            },
            {
              "description": "The amount of padding to use for the header.",
              "name": "--header-spacing"
            },
            {
              "description": "The amount of padding to use for the body.",
              "name": "--body-spacing"
            },
            {
              "description": "The amount of padding to use for the footer.",
              "name": "--footer-spacing"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The overlay that covers the screen behind the drawer.",
              "name": "overlay"
            },
            {
              "description": "The drawer's panel (where the drawer and its content are rendered).",
              "name": "panel"
            },
            {
              "description": "The drawer's header. This element wraps the title and header actions.",
              "name": "header"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<syn-icon-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The drawer's title.",
              "name": "title"
            },
            {
              "description": "The close button, an `<syn-icon-button>`.",
              "name": "close-button"
            },
            {
              "description": "The close button's exported `base` part.",
              "name": "close-button__base"
            },
            {
              "description": "The drawer's body.",
              "name": "body"
            },
            {
              "description": "The drawer's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The drawer's main content.",
              "name": ""
            },
            {
              "description": "The drawer's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<syn-icon-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The drawer's footer, usually one or more buttons representing various options.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon-button': SynIconButton }"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "originalTrigger",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "modal",
              "privacy": "public",
              "default": "new Modal(this)",
              "description": "Exposes the internal modal utility that controls focus trapping. To temporarily disable focus trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping."
            },
            {
              "kind": "field",
              "name": "closeWatcher",
              "type": {
                "text": "CloseWatcher | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "isVisible",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "drawer",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "overlay",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The drawer's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'end' | 'bottom' | 'start'"
              },
              "default": "'end'",
              "description": "The direction from which the drawer will open.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\nits parent element, set this attribute and add `position: relative` to the parent.",
              "attribute": "contained",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the drawer.",
              "attribute": "no-header",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "requestClose",
              "privacy": "private",
              "parameters": [
                {
                  "name": "source",
                  "type": {
                    "text": "'close-button' | 'keyboard' | 'overlay'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "handleNoModalChange"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the drawer."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the drawer"
            },
            {
              "kind": "method",
              "name": "forceVisibility",
              "parameters": [
                {
                  "name": "isVisible",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted when the drawer opens.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the drawer opens and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the drawer closes.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the drawer closes and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            },
            {
              "description": "Emitted when the drawer opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.",
              "name": "syn-initial-focus",
              "reactName": "onSynInitialFocus",
              "eventName": "SynInitialFocusEvent"
            },
            {
              "type": {
                "text": "{ source: 'close-button' | 'keyboard' | 'overlay' }"
              },
              "description": "Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.",
              "name": "syn-request-close",
              "reactName": "onSynRequestClose",
              "eventName": "SynRequestCloseEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The drawer's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'end' | 'bottom' | 'start'"
              },
              "default": "'end'",
              "description": "The direction from which the drawer will open.",
              "fieldName": "placement"
            },
            {
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\nits parent element, set this attribute and add `position: relative` to the parent.",
              "fieldName": "contained"
            },
            {
              "name": "no-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the drawer.",
              "fieldName": "noHeader"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Drawers slide in from a container to expose additional options and information.",
          "tagNameWithoutPrefix": "drawer",
          "tagName": "syn-drawer",
          "customElement": true,
          "jsDoc": "/**\n * @summary Drawers slide in from a container to expose additional options and information.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-drawer--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @event syn-show - Emitted when the drawer opens.\n * @event syn-after-show - Emitted after the drawer opens and all animations are complete.\n * @event syn-hide - Emitted when the drawer closes.\n * @event syn-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event syn-initial-focus - Emitted when the drawer opens and is ready to receive focus. Calling\n *   `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} syn-request-close - Emitted when the user attempts to\n *   close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n *   `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in\n *   destructive behavior such as data loss.\n *\n * @csspart base - The component's base wrapper.\n * @csspart overlay - The overlay that covers the screen behind the drawer.\n * @csspart panel - The drawer's panel (where the drawer and its content are rendered).\n * @csspart header - The drawer's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @csspart title - The drawer's title.\n * @csspart close-button - The close button, an `<syn-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --size - The preferred size of the drawer. This will be applied to the drawer's width or height\n *   depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.\n * @cssproperty --header-spacing - The amount of padding to use for the header.\n * @cssproperty --body-spacing - The amount of padding to use for the body.\n * @cssproperty --footer-spacing - The amount of padding to use for the footer.\n *\n * @animation drawer.showTop - The animation to use when showing a drawer with `top` placement.\n * @animation drawer.showEnd - The animation to use when showing a drawer with `end` placement.\n * @animation drawer.showBottom - The animation to use when showing a drawer with `bottom` placement.\n * @animation drawer.showStart - The animation to use when showing a drawer with `start` placement.\n * @animation drawer.hideTop - The animation to use when hiding a drawer with `top` placement.\n * @animation drawer.hideEnd - The animation to use when hiding a drawer with `end` placement.\n * @animation drawer.hideBottom - The animation to use when hiding a drawer with `bottom` placement.\n * @animation drawer.hideStart - The animation to use when hiding a drawer with `start` placement.\n * @animation drawer.denyClose - The animation to use when a request to close the drawer is denied.\n * @animation drawer.overlay.show - The animation to use when showing the drawer's overlay.\n * @animation drawer.overlay.hide - The animation to use when hiding the drawer's overlay.\n *\n * @property modal - Exposes the internal modal utility that controls focus trapping. To temporarily disable focus\n *   trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when\n *   the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-drawer--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon-button"
          ],
          "animations": [
            {
              "name": "drawer.showTop",
              "description": "The animation to use when showing a drawer with `top` placement."
            },
            {
              "name": "drawer.showEnd",
              "description": "The animation to use when showing a drawer with `end` placement."
            },
            {
              "name": "drawer.showBottom",
              "description": "The animation to use when showing a drawer with `bottom` placement."
            },
            {
              "name": "drawer.showStart",
              "description": "The animation to use when showing a drawer with `start` placement."
            },
            {
              "name": "drawer.hideTop",
              "description": "The animation to use when hiding a drawer with `top` placement."
            },
            {
              "name": "drawer.hideEnd",
              "description": "The animation to use when hiding a drawer with `end` placement."
            },
            {
              "name": "drawer.hideBottom",
              "description": "The animation to use when hiding a drawer with `bottom` placement."
            },
            {
              "name": "drawer.hideStart",
              "description": "The animation to use when hiding a drawer with `start` placement."
            },
            {
              "name": "drawer.denyClose",
              "description": "The animation to use when a request to close the drawer is denied."
            },
            {
              "name": "drawer.overlay.show",
              "description": "The animation to use when showing the drawer's overlay."
            },
            {
              "name": "drawer.overlay.hide",
              "description": "The animation to use when hiding the drawer's overlay."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynDrawer",
            "module": "components/drawer/drawer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dropdown/dropdown.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynDropdown",
          "cssParts": [
            {
              "description": "The component's base wrapper, an `<syn-popup>` element.",
              "name": "base"
            },
            {
              "description": "The popup's exported `popup` part. Use this to target the tooltip's popup container.",
              "name": "base__popup"
            },
            {
              "description": "The container that wraps the trigger.",
              "name": "trigger"
            },
            {
              "description": "The panel that gets shown when the dropdown is open.",
              "name": "panel"
            }
          ],
          "slots": [
            {
              "description": "The dropdown's main content.",
              "name": ""
            },
            {
              "description": "The dropdown's trigger, usually a `<syn-button>` element.",
              "name": "trigger"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-popup': SynPopup }"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "SynPopup"
              }
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "closeWatcher",
              "type": {
                "text": "CloseWatcher | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'bottom-start'",
              "description": "The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the dropdown so the panel will not open.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "stayOpenOnSelect",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\ndropdowns that allow for multiple interactions.",
              "attribute": "stay-open-on-select",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "containingElement",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "description": "The dropdown will close when the user interacts outside of this element (e.g. clicking). Useful for composing other\ncomponents that use a dropdown internally.",
              "propertyOnly": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from its trigger.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel along its trigger.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both' | undefined"
              },
              "default": "undefined",
              "description": "Syncs the popup width or height to that of the trigger element.",
              "attribute": "sync",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "focusOnTrigger"
            },
            {
              "kind": "method",
              "name": "getMenu"
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePanelSelect",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleTriggerClick"
            },
            {
              "kind": "method",
              "name": "handleTriggerKeyDown",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTriggerKeyUp",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTriggerSlotChange"
            },
            {
              "kind": "method",
              "name": "updateAccessibleTrigger"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the dropdown panel."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the dropdown panel"
            },
            {
              "kind": "method",
              "name": "reposition",
              "description": "Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\nis activated."
            },
            {
              "kind": "method",
              "name": "addOpenListeners"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            }
          ],
          "events": [
            {
              "description": "Emitted when the dropdown opens.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the dropdown opens and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the dropdown closes.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the dropdown closes and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.",
              "fieldName": "open"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'bottom-start'",
              "description": "The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the dropdown so the panel will not open.",
              "fieldName": "disabled"
            },
            {
              "name": "stay-open-on-select",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\ndropdowns that allow for multiple interactions.",
              "fieldName": "stayOpenOnSelect"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from its trigger.",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel along its trigger.",
              "fieldName": "skidding"
            },
            {
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both' | undefined"
              },
              "default": "undefined",
              "description": "Syncs the popup width or height to that of the trigger element.",
              "fieldName": "sync"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Dropdowns expose additional content that \"drops down\" in a panel.",
          "tagNameWithoutPrefix": "dropdown",
          "tagName": "syn-dropdown",
          "customElement": true,
          "jsDoc": "/**\n * @summary Dropdowns expose additional content that \"drops down\" in a panel.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-dropdown--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-popup\n *\n * @slot - The dropdown's main content.\n * @slot trigger - The dropdown's trigger, usually a `<syn-button>` element.\n *\n * @event syn-show - Emitted when the dropdown opens.\n * @event syn-after-show - Emitted after the dropdown opens and all animations are complete.\n * @event syn-hide - Emitted when the dropdown closes.\n * @event syn-after-hide - Emitted after the dropdown closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper, an `<syn-popup>` element.\n * @csspart base__popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n * @csspart trigger - The container that wraps the trigger.\n * @csspart panel - The panel that gets shown when the dropdown is open.\n *\n * @animation dropdown.show - The animation to use when showing the dropdown.\n * @animation dropdown.hide - The animation to use when hiding the dropdown.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-dropdown--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-popup"
          ],
          "animations": [
            {
              "name": "dropdown.show",
              "description": "The animation to use when showing the dropdown."
            },
            {
              "name": "dropdown.hide",
              "description": "The animation to use when hiding the dropdown."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynDropdown",
            "module": "components/dropdown/dropdown.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/file/file.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynFile",
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and help text.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The input's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The wrapper around the button and text value.",
              "name": "button-wrapper"
            },
            {
              "description": "The syn-button acting as a file input.",
              "name": "button"
            },
            {
              "description": "The syn-button's exported `base` part.",
              "name": "button__base"
            },
            {
              "description": "The chosen files or placeholder text for the file input.",
              "name": "value"
            },
            {
              "description": "The element wrapping the drop zone.",
              "name": "droparea"
            },
            {
              "description": "The background of the drop zone.",
              "name": "droparea-background"
            },
            {
              "description": "The container that wraps the icon for the drop zone.",
              "name": "droparea-icon"
            },
            {
              "description": "The text for the drop zone.",
              "name": "droparea-value"
            },
            {
              "description": "The container that wraps the trigger.",
              "name": "trigger"
            }
          ],
          "slots": [
            {
              "description": "The file control's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the file control. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            },
            {
              "description": "Optional droparea icon to use instead of the default. Works best with `<syn-icon>`.",
              "name": "droparea-icon"
            },
            {
              "description": "Optional content to be used as trigger instead of the default content. Opening the file dialog on click and as well as drag and drop will work for this content. Following attributes will no longer work: *label*, *droparea*, *help-text*, *size*, *hide-value*. Also if using the disabled attribute, the disabled styling will not be applied and must be taken care of yourself.",
              "name": "trigger"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-button': SynButton, 'syn-icon': SynIcon, }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['syn-change'], // This makes sure the value sent in formdata events is always the files object // @see internals/form.ts #handleFormData for more information value: (el: SynFile) => el.files, })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "userIsDragging",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "files",
              "description": "The selected files as a FileList object containing a list of File objects.\nThe FileList behaves like an array, so you can get the number of selected files\nvia its length property.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#getting_information_on_selected_files)",
              "attribute": "files"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the file control, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The value of the file control contains a string that represents the path of the selected file.\nIf multiple files are selected, the value represents the first file in the list.\nIf no file is selected, the value is an empty string.\nBeware that the only valid value when setting a file control is an empty string!\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#value)",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The default value of the form control. Primarily used for resetting the form control."
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The file control's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The file control's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The file control's help text.\nIf you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the file control.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the file control to a readonly state.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "droparea",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draw the file control as a drop area",
              "attribute": "droparea"
            },
            {
              "kind": "field",
              "name": "accept",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma separated list of supported file types\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept)",
              "attribute": "accept"
            },
            {
              "kind": "field",
              "name": "capture",
              "type": {
                "text": "'user' | 'environment'"
              },
              "description": "Specifies the types of files that the server accepts.\nCan be set either to user or environment.\nWorks only when not using a droparea!\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture)",
              "attribute": "capture"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the user can select more than one file.\nHas no effect if webkitdirectory is set.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#multiple)",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "webkitdirectory",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates that the file control should let the user select directories instead of files.\nWhen a directory is selected, the directory and its entire hierarchy of contents are included\nin the set of selected items.\nNote: This is a non-standard attribute but is supported in the major browsers.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory)",
              "attribute": "webkitdirectory",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element.\nThis attribute allows you to place the form control outside of a form and associate it\nwith the form that has this `id`. The form must be in the same document\nor shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hideValue",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppress the value from being displayed in the file control",
              "attribute": "hide-value"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "SynButton"
              }
            },
            {
              "kind": "field",
              "name": "dropareaWrapper",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "dropareaIcon",
              "type": {
                "text": "HTMLSpanElement"
              }
            },
            {
              "kind": "field",
              "name": "inputChosen",
              "type": {
                "text": "HTMLSpanElement"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message.\nReturns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the button or droparea."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the button or droparea."
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFiles",
              "privacy": "private",
              "parameters": [
                {
                  "name": "files",
                  "type": {
                    "text": "FileList | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTransferItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<FileList>"
                }
              },
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "DataTransferItemList | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getFilesFromEntry",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<File[]>"
                }
              },
              "parameters": [
                {
                  "name": "entry",
                  "type": {
                    "text": "FileSystemEntry | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ],
              "description": "Handles the change event of the native input"
            },
            {
              "kind": "method",
              "name": "handleDragOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDragLeave",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDrop",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "description": "Handle the focus of the droparea and emit focus event"
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private",
              "description": "Handle the blur of the droparea and emit blur event"
            },
            {
              "kind": "method",
              "name": "renderValue",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderDroparea",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderButton",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when multiple files are selected via drag and drop, without the `multiple` property being set.",
              "name": "syn-error",
              "reactName": "onSynError",
              "eventName": "SynErrorEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            }
          ],
          "attributes": [
            {
              "name": "files",
              "description": "The selected files as a FileList object containing a list of File objects.\nThe FileList behaves like an array, so you can get the number of selected files\nvia its length property.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#getting_information_on_selected_files)",
              "fieldName": "files"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the file control, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "description": "The value of the file control contains a string that represents the path of the selected file.\nIf multiple files are selected, the value represents the first file in the list.\nIf no file is selected, the value is an empty string.\nBeware that the only valid value when setting a file control is an empty string!\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#value)",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The file control's size.",
              "fieldName": "size"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The file control's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The file control's help text.\nIf you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the file control.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the file control to a readonly state.",
              "fieldName": "readonly"
            },
            {
              "name": "droparea",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draw the file control as a drop area",
              "fieldName": "droparea"
            },
            {
              "name": "accept",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma separated list of supported file types\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept)",
              "fieldName": "accept"
            },
            {
              "name": "capture",
              "type": {
                "text": "'user' | 'environment'"
              },
              "description": "Specifies the types of files that the server accepts.\nCan be set either to user or environment.\nWorks only when not using a droparea!\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture)",
              "fieldName": "capture"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the user can select more than one file.\nHas no effect if webkitdirectory is set.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#multiple)",
              "fieldName": "multiple"
            },
            {
              "name": "webkitdirectory",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates that the file control should let the user select directories instead of files.\nWhen a directory is selected, the directory and its entire hierarchy of contents are included\nin the set of selected items.\nNote: This is a non-standard attribute but is supported in the major browsers.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory)",
              "fieldName": "webkitdirectory"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element.\nThis attribute allows you to place the form control outside of a form and associate it\nwith the form that has this `id`. The form must be in the same document\nor shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "hide-value",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppress the value from being displayed in the file control",
              "fieldName": "hideValue"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "File controls allow selecting an arbitrary number of files for uploading.",
          "tagNameWithoutPrefix": "file",
          "tagName": "syn-file",
          "customElement": true,
          "jsDoc": "/**\n * @summary File controls allow selecting an arbitrary number of files for uploading.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-file--docs\n * @status stable\n *\n * @dependency syn-button\n * @dependency syn-icon\n *\n * @slot label - The file control's label. Alternatively, you can use the `label` attribute.\n * @slot help-text - Text that describes how to use the file control.\n *    Alternatively, you can use the `help-text` attribute.\n * @slot droparea-icon - Optional droparea icon to use instead of the default.\n *    Works best with `<syn-icon>`.\n * @slot trigger - Optional content to be used as trigger instead of the default content.\n *    Opening the file dialog on click and as well as drag and drop will work for this content.\n *    Following attributes will no longer work: *label*, *droparea*, *help-text*, *size*,\n *    *hide-value*. Also if using the disabled attribute, the disabled styling will not be\n *    applied and must be taken care of yourself.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-error - Emitted when multiple files are selected via drag and drop, without\n * the `multiple` property being set.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart button-wrapper - The wrapper around the button and text value.\n * @csspart button - The syn-button acting as a file input.\n * @csspart button__base - The syn-button's exported `base` part.\n * @csspart value - The chosen files or placeholder text for the file input.\n * @csspart droparea - The element wrapping the drop zone.\n * @csspart droparea-background - The background of the drop zone.\n * @csspart droparea-icon - The container that wraps the icon for the drop zone.\n * @csspart droparea-value - The text for the drop zone.\n * @csspart trigger - The container that wraps the trigger.\n *\n * @animation file.iconDrop - The animation to use for the file icon\n * when a file is dropped\n * @animation file.text.disappear - The disappear animation to use for the file placeholder text\n * when a file is dropped\n * @animation file.text.appear - The appear animation to use for the file placeholder text\n * when a file is dropped\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-file--docs",
          "status": "stable",
          "dependencies": [
            "syn-button",
            "syn-icon"
          ],
          "animations": [
            {
              "name": "file.iconDrop",
              "description": "The animation to use for the file icon when a file is dropped"
            },
            {
              "name": "file.text.disappear",
              "description": "The disappear animation to use for the file placeholder text when a file is dropped"
            },
            {
              "name": "file.text.appear",
              "description": "The appear animation to use for the file placeholder text when a file is dropped"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynFile",
            "module": "components/file/file.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/header/header.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynHeader",
          "cssProperties": [
            {
              "description": "The position of the sticky header from the top of the viewport. Defaults to the top of the screen.",
              "name": "--sticky-position"
            },
            {
              "description": "The size of the items in the meta navigation. Also used for the height of dividers in the meta navigation. Defaults to var(--syn-font-size-x-large)",
              "name": "--metanavigation-item-size"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper",
              "name": "base"
            },
            {
              "description": "The wrapper most content items reside",
              "name": "content"
            },
            {
              "description": "The wrapper the application logo resides in",
              "name": "logo"
            },
            {
              "description": "The element wrapping the application name",
              "name": "label"
            },
            {
              "description": "The Item wrapping the optional application menu",
              "name": "meta-navigation"
            },
            {
              "description": "The wrapper that is holding the optional top navigation section",
              "name": "navigation"
            },
            {
              "description": "The button that toggles the burger menu",
              "name": "burger-menu-toggle-button"
            }
          ],
          "slots": [
            {
              "description": "The label for the header",
              "name": "label"
            },
            {
              "description": "The logo that should be displayed. Will fall back to the SICK logo if not provided",
              "name": "logo"
            },
            {
              "description": "The meta-navigation is used to add various application toolbar icons Best used with `<syn-icon-button />` and `<syn-drop-down />`",
              "name": "meta-navigation"
            },
            {
              "description": "This slot can be used to add an optional horizontal navigation",
              "name": "navigation"
            },
            {
              "description": "An icon to use in lieu of the default burger-menu=open state. The default close icon is a 'x'.",
              "name": "open-burger-menu-icon"
            },
            {
              "description": "An icon to use in lieu of the default burger-menu=closed state. The default open icon is a burger menu.",
              "name": "closed-burger-menu-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon, }"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'logo', 'label', 'meta-navigation', 'navigation')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private",
              "description": "Internal mutation observer"
            },
            {
              "kind": "field",
              "name": "isSideNavAnimating",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "metaNavigationSlot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The headers label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "burgerMenu",
              "type": {
                "text": "'hidden' | 'open' | 'closed'"
              },
              "default": "'hidden'",
              "description": "Defines the current visibility and icon of the burger-menu icon.\nThe menu button is added automatically if the component finds a syn-side-nav in\nvariant=\"default\".\nThe following values can be used:\n- hidden: The burger menu is not visible\n- open: The burger menu is visible and shows the close icon\n- closed: The burger menu is visible and shows the open icon",
              "attribute": "burger-menu",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "sticky",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the header stick to the top of the viewport when scrolling.\nAlso applies a shadow to the header when scrolling.",
              "attribute": "sticky",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "sideNav",
              "type": {
                "text": "SynSideNav | null"
              },
              "privacy": "private",
              "description": "The side nav"
            },
            {
              "kind": "method",
              "name": "toggleBurgerMenu",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleBurgerMenuToggle",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateBurgerMenuBasedOnSideNav",
              "privacy": "private",
              "description": "Automatically update the burger menu icon based\non the state of the side-nav, if one is connected."
            },
            {
              "kind": "method",
              "name": "updateMetaNavigation",
              "privacy": "private",
              "description": "#1130: Automatically set the correct styles for vertical syn-dividers in the meta navigation.\nDividers may be slotted directly in the meta navigation or be nested in another element, e.g. a wrapper for the meta navigation.\nHorizontal dividers are not supported in the meta navigation and we don't want to override any styles for them that might be set by the user."
            },
            {
              "kind": "method",
              "name": "handleBurgerMenu"
            },
            {
              "kind": "method",
              "name": "connectSideNavigation",
              "parameters": [
                {
                  "name": "sideNav",
                  "type": {
                    "text": "SynSideNav | null"
                  },
                  "description": "The side navigation to connect to the header"
                }
              ],
              "description": "Connect a `syn-side-nav` to add automatic interaction of the header with the side navigation\nlike showing the burger menu icon and open / close handling.\n\nIf no side navigation is connected, the header will use the first `syn-side-nav` element it\nfinds."
            }
          ],
          "events": [
            {
              "description": "Emitted when the burger menu is toggled to closed",
              "name": "syn-burger-menu-closed",
              "reactName": "onSynBurgerMenuClosed",
              "eventName": "SynBurgerMenuClosedEvent"
            },
            {
              "description": "Emitted when the burger menu is toggled to hidden",
              "name": "syn-burger-menu-hidden",
              "reactName": "onSynBurgerMenuHidden",
              "eventName": "SynBurgerMenuHiddenEvent"
            },
            {
              "description": "Emitted when the burger menu is toggled to open",
              "name": "syn-burger-menu-open",
              "reactName": "onSynBurgerMenuOpen",
              "eventName": "SynBurgerMenuOpenEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The headers label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "burger-menu",
              "type": {
                "text": "'hidden' | 'open' | 'closed'"
              },
              "default": "'hidden'",
              "description": "Defines the current visibility and icon of the burger-menu icon.\nThe menu button is added automatically if the component finds a syn-side-nav in\nvariant=\"default\".\nThe following values can be used:\n- hidden: The burger menu is not visible\n- open: The burger menu is visible and shows the close icon\n- closed: The burger menu is visible and shows the open icon",
              "fieldName": "burgerMenu"
            },
            {
              "name": "sticky",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the header stick to the top of the viewport when scrolling.\nAlso applies a shadow to the header when scrolling.",
              "fieldName": "sticky"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "The <syn-header /> element provides a generic application header\nthat can be used to add applications name, toolbar and primary navigation.",
          "tagNameWithoutPrefix": "header",
          "tagName": "syn-header",
          "customElement": true,
          "jsDoc": "/**\n * @summary The <syn-header /> element provides a generic application header\n * that can be used to add applications name, toolbar and primary navigation.\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-header--docs\n * @status stable\n * @since 1.10.0\n *\n * @slot label - The label for the header\n * @slot logo - The logo that should be displayed. Will fall back to the SICK logo if not provided\n * @slot meta-navigation - The meta-navigation is used to add various application toolbar icons\n *                     Best used with `<syn-icon-button />` and `<syn-drop-down />`\n * @slot navigation - This slot can be used to add an optional horizontal navigation\n * @slot open-burger-menu-icon - An icon to use in lieu of the default burger-menu=open state.\n *                      The default close icon is a 'x'.\n * @slot closed-burger-menu-icon - An icon to use in lieu of the default burger-menu=closed state.\n *                      The default open icon is a burger menu.\n *\n * @event syn-burger-menu-closed - Emitted when the burger menu is toggled to closed\n * @event syn-burger-menu-hidden - Emitted when the burger menu is toggled to hidden\n * @event syn-burger-menu-open - Emitted when the burger menu is toggled to open\n *\n * @csspart base - The component's base wrapper\n * @csspart content - The wrapper most content items reside\n * @csspart logo - The wrapper the application logo resides in\n * @csspart label - The element wrapping the application name\n * @csspart meta-navigation - The Item wrapping the optional application menu\n * @csspart navigation - The wrapper that is holding the optional top navigation section\n * @csspart burger-menu-toggle-button - The button that toggles the burger menu\n *\n * @cssproperty --sticky-position - The position of the sticky header from the top of the viewport. Defaults to the top of the screen.\n * @cssproperty --metanavigation-item-size - The size of the items in the meta navigation. Also used for the height of dividers in the meta navigation. Defaults to var(--syn-font-size-x-large)\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-header--docs",
          "status": "stable",
          "since": "1.10.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynHeader",
            "module": "components/header/header.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/icon.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynIcon",
          "cssParts": [
            {
              "description": "The internal SVG element.",
              "name": "svg"
            },
            {
              "description": "The <use> element generated when using `spriteSheet: true`",
              "name": "use"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "initialRender",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "method",
              "name": "resolveIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<SVGResult>"
                }
              },
              "parameters": [
                {
                  "name": "url",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "library",
                  "optional": true,
                  "type": {
                    "text": "IconLibrary"
                  }
                }
              ],
              "description": "Given a URL, this function returns the resulting SVG element or an appropriate error symbol."
            },
            {
              "kind": "field",
              "name": "svg",
              "type": {
                "text": "SVGElement | HTMLTemplateResult | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | undefined"
              },
              "description": "The name of the icon to draw. Available names depend on the icon library being used.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string | undefined"
              },
              "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "library",
              "type": {
                "text": "string"
              },
              "default": "'default'",
              "description": "The name of a registered custom icon library.",
              "attribute": "library",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "getIconSource",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "IconSource"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleLabelChange"
            },
            {
              "kind": "method",
              "name": "setIcon"
            }
          ],
          "events": [
            {
              "description": "Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.",
              "name": "syn-load",
              "reactName": "onSynLoad",
              "eventName": "SynLoadEvent"
            },
            {
              "description": "Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.",
              "name": "syn-error",
              "reactName": "onSynError",
              "eventName": "SynErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string | undefined"
              },
              "description": "The name of the icon to draw. Available names depend on the icon library being used.",
              "fieldName": "name"
            },
            {
              "name": "src",
              "type": {
                "text": "string | undefined"
              },
              "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
              "fieldName": "src"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
              "fieldName": "label"
            },
            {
              "name": "library",
              "type": {
                "text": "string"
              },
              "default": "'default'",
              "description": "The name of a registered custom icon library.",
              "fieldName": "library"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Icons are symbols that can be used to represent various options within an application.",
          "tagNameWithoutPrefix": "icon",
          "tagName": "syn-icon",
          "customElement": true,
          "jsDoc": "/**\n * @summary Icons are symbols that can be used to represent various options within an application.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-icon--docs\n * @status stable\n * @since 2.0\n *\n * @event syn-load - Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.\n * @event syn-error - Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.\n *\n * @csspart svg - The internal SVG element.\n * @csspart use - The <use> element generated when using `spriteSheet: true`\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-icon--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynIcon",
            "module": "components/icon/icon.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon-button/icon-button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynIconButton",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon }"
            },
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "HTMLButtonElement | HTMLLinkElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | undefined"
              },
              "description": "The name of the icon to draw. Available names depend on the icon library being used.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "library",
              "type": {
                "text": "string | undefined"
              },
              "description": "The name of a registered custom icon library.",
              "attribute": "library"
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string | undefined"
              },
              "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string | undefined"
              },
              "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is set.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "download",
              "type": {
                "text": "string | undefined"
              },
              "description": "Tells the browser to download the linked file as this filename. Only used when `href` is set.",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A description that gets read by assistive devices. For optimal accessibility, you should always include a label\nthat describes what the icon button does.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large' | 'inherit'"
              },
              "default": "'inherit'",
              "description": "The icon button's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "'currentColor' | 'primary' | 'neutral'"
              },
              "default": "'currentColor'",
              "description": "The color of the icon button.\nThe default \"currentColor\" makes it possible to easily style the icon button from outside without any CSS variables.",
              "attribute": "color",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the button.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the icon button."
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the icon button."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the icon button."
            }
          ],
          "events": [
            {
              "description": "Emitted when the icon button loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the icon button gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string | undefined"
              },
              "description": "The name of the icon to draw. Available names depend on the icon library being used.",
              "fieldName": "name"
            },
            {
              "name": "library",
              "type": {
                "text": "string | undefined"
              },
              "description": "The name of a registered custom icon library.",
              "fieldName": "library"
            },
            {
              "name": "src",
              "type": {
                "text": "string | undefined"
              },
              "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
              "fieldName": "src"
            },
            {
              "name": "href",
              "type": {
                "text": "string | undefined"
              },
              "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is set.",
              "fieldName": "target"
            },
            {
              "name": "download",
              "type": {
                "text": "string | undefined"
              },
              "description": "Tells the browser to download the linked file as this filename. Only used when `href` is set.",
              "fieldName": "download"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A description that gets read by assistive devices. For optimal accessibility, you should always include a label\nthat describes what the icon button does.",
              "fieldName": "label"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large' | 'inherit'"
              },
              "default": "'inherit'",
              "description": "The icon button's size.",
              "fieldName": "size"
            },
            {
              "name": "color",
              "type": {
                "text": "'currentColor' | 'primary' | 'neutral'"
              },
              "default": "'currentColor'",
              "description": "The color of the icon button.\nThe default \"currentColor\" makes it possible to easily style the icon button from outside without any CSS variables.",
              "fieldName": "color"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the button.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars.",
          "tagNameWithoutPrefix": "icon-button",
          "tagName": "syn-icon-button",
          "customElement": true,
          "jsDoc": "/**\n * @summary Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-icon-button--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @event syn-blur - Emitted when the icon button loses focus.\n * @event syn-focus - Emitted when the icon button gains focus.\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-icon-button--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynIconButton",
            "module": "components/icon-button/icon-button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/input/input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynInput",
          "cssProperties": [
            {
              "description": "The shadow to apply when the input is autofilled.",
              "name": "--syn-input-autofill-shadow"
            },
            {
              "description": "The shadow to apply when the input is readonly and autofilled.",
              "name": "--syn-input-autofill-readonly-shadow"
            },
            {
              "description": "The text fill color to apply when the input is autofilled.",
              "name": "--syn-input-autofill-text-fill-color"
            },
            {
              "description": "The caret color to apply when the input is autofilled.",
              "name": "--syn-input-autofill-caret-color"
            }
          ],
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and help text.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The input's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The internal `<input>` control.",
              "name": "input"
            },
            {
              "description": "The container that wraps the prefix.",
              "name": "prefix"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The password toggle button.",
              "name": "password-toggle-button"
            },
            {
              "description": "The container that wraps the suffix.",
              "name": "suffix"
            },
            {
              "description": "The container that wraps the number stepper.",
              "name": "stepper"
            },
            {
              "description": "The decrement number stepper button.",
              "name": "decrement-number-stepper"
            },
            {
              "description": "The increment number stepper button.",
              "name": "increment-number-stepper"
            },
            {
              "description": "The divider between the increment and decrement number stepper buttons.",
              "name": "divider"
            }
          ],
          "slots": [
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to prepend a presentational icon or similar element to the input.",
              "name": "prefix"
            },
            {
              "description": "Used to append a presentational icon or similar element to the input.",
              "name": "suffix"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "An icon to use in lieu of the default show password icon.",
              "name": "show-password-icon"
            },
            {
              "description": "An icon to use in lieu of the default hide password icon.",
              "name": "hide-password-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            },
            {
              "description": "An icon to use in lieu of the default increment number stepper icon.",
              "name": "increment-number-stepper"
            },
            {
              "description": "An icon to use in lieu of the default decrement number stepper icon.",
              "name": "decrement-number-stepper"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon, 'syn-divider': SynDivider }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['syn-blur', 'syn-input'] })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label', 'prefix', 'suffix')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "__numberInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "__dateInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "| 'date'\n    | 'datetime-local'\n    | 'email'\n    | 'number'\n    | 'password'\n    | 'search'\n    | 'tel'\n    | 'text'\n    | 'time'\n    | 'url'"
              },
              "default": "'text'",
              "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current value of the input, submitted as a name/value pair with form data.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The default value of the form control. Primarily used for resetting the form control."
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The input's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "attribute": "clearable"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the input.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "passwordToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
              "attribute": "password-toggle"
            },
            {
              "kind": "field",
              "name": "passwordVisible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
              "attribute": "password-visible"
            },
            {
              "kind": "field",
              "name": "noSpinButtons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the increment/decrement spin buttons for number inputs.",
              "attribute": "no-spin-buttons"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "description": "A regular expression pattern to validate input against.",
              "attribute": "pattern"
            },
            {
              "kind": "field",
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "attribute": "minlength"
            },
            {
              "kind": "field",
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number | string"
              },
              "description": "The input's minimum value. Only applies to date and number input types.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number | string"
              },
              "description": "The input's maximum value. Only applies to date and number input types.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "attribute": "autocapitalize"
            },
            {
              "kind": "field",
              "name": "autocorrect",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "attribute": "autocorrect",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "attribute": "autocomplete"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "attribute": "enterkeyhint"
            },
            {
              "kind": "field",
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the input.",
              "attribute": "spellcheck"
            },
            {
              "kind": "field",
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "attribute": "inputmode"
            },
            {
              "kind": "field",
              "name": "numberFormatterOptions",
              "type": {
                "text": "Intl.NumberFormatOptions"
              },
              "description": "Optional options that should be passed to the `NumberFormatter` when formatting the value.\nThis is used to format the number when the input type is `number`.\nNote this can only be set via `property`, not as an `attribute`!",
              "propertyOnly": true
            },
            {
              "kind": "field",
              "name": "minFractionDigits",
              "type": {
                "text": "number"
              },
              "description": "The minimal amount of fraction digits to use for numeric values.\nUsed to format the number when the input type is `number`.",
              "attribute": "min-fraction-digits"
            },
            {
              "kind": "field",
              "name": "maxFractionDigits",
              "type": {
                "text": "number"
              },
              "description": "The maximal amount of fraction digits to use for numeric values.\nUsed to format the number when the input type is `number`.",
              "attribute": "max-fraction-digits"
            },
            {
              "kind": "field",
              "name": "#numericStrategy",
              "privacy": "private",
              "type": {
                "text": "NumericStrategy"
              },
              "default": "modernNumericStrategy"
            },
            {
              "kind": "field",
              "name": "numericStrategy",
              "description": "Defines the strategy for handling numbers in the numeric input.\nThis is used to determine how the input behaves when the user interacts with it.\n\nIncludes the following configuration options:\n\n- **autoClamp**: If true, the input will clamp the value to the min and max attributes.\n- **noStepAlign**: If true, the input will not align the value to the step attribute.\n- **noStepValidation**: If true, the input will not validate the value against the step attribute.\n\nYou may provide this as one of the following values:\n\n- 'native': Uses the native browser implementation.\n- 'modern': Uses a more intuitive implementation:\n  - Values are clamped to the nearest min or max value.\n  - Stepping is inclusive to the provided min and max values.\n  - Provided stepping is no longer used in validation.\n- An object that matches the `NumericStrategy` type. Note this can only be set via `property`, not as an `attribute`!",
              "type": {
                "text": "'native' | 'modern' | Partial<NumericStrategy>"
              },
              "default": "modernNumericStrategy",
              "attribute": "numeric-strategy"
            },
            {
              "kind": "field",
              "name": "valueAsDate",
              "description": "Gets or sets the current value as a `Date` object. Returns `null` if the value can't be converted. This will use the native `<input type=\"{{type}}\">` implementation and may result in an error."
            },
            {
              "kind": "field",
              "name": "valueAsNumber",
              "description": "Gets or sets the current value as a number. Returns `NaN` if the value can't be converted."
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleStep",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleStepUp",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleStepDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isDecrementDisabled",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isIncrementDisabled",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleNumericStrategyAutoClamp",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClearClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handlePasswordToggle",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleStepChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the input."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the input."
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects all the text in the input."
            },
            {
              "kind": "method",
              "name": "setSelectionRange",
              "parameters": [
                {
                  "name": "selectionStart",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionEnd",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionDirection",
                  "default": "'none'",
                  "type": {
                    "text": "'forward' | 'backward' | 'none'"
                  }
                }
              ],
              "description": "Sets the start and end positions of the text selection (0-based)."
            },
            {
              "kind": "method",
              "name": "setRangeText",
              "parameters": [
                {
                  "name": "replacement",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "start",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "end",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectMode",
                  "default": "'preserve'",
                  "type": {
                    "text": "'select' | 'start' | 'end' | 'preserve'"
                  }
                }
              ],
              "description": "Replaces a range of text with a new string."
            },
            {
              "kind": "method",
              "name": "showPicker",
              "description": "Displays the browser picker for an input element (only works if the browser supports it for the input type)."
            },
            {
              "kind": "method",
              "name": "stepUp",
              "description": "Increments the value of a numeric input type by the value of the step attribute."
            },
            {
              "kind": "method",
              "name": "stepDown",
              "description": "Decrements the value of a numeric input type by the value of the step attribute."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            },
            {
              "kind": "method",
              "name": "#formatNumber",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#isNumberFormattingEnabled",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "syn-clear",
              "reactName": "onSynClear",
              "eventName": "SynClearEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            },
            {
              "description": "Emitted if the numeric strategy allows autoClamp and the value is clamped to the min or max attribute.",
              "name": "syn-clamp",
              "reactName": "onSynClamp",
              "eventName": "SynClampEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "type",
              "type": {
                "text": "| 'date'\n    | 'datetime-local'\n    | 'email'\n    | 'number'\n    | 'password'\n    | 'search'\n    | 'tel'\n    | 'text'\n    | 'time'\n    | 'url'"
              },
              "default": "'text'",
              "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
              "fieldName": "type"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current value of the input, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The input's size.",
              "fieldName": "size"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "fieldName": "clearable"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the input.",
              "fieldName": "disabled"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "password-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
              "fieldName": "passwordToggle"
            },
            {
              "name": "password-visible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
              "fieldName": "passwordVisible"
            },
            {
              "name": "no-spin-buttons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the increment/decrement spin buttons for number inputs.",
              "fieldName": "noSpinButtons"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "description": "A regular expression pattern to validate input against.",
              "fieldName": "pattern"
            },
            {
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "fieldName": "minlength"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "fieldName": "maxlength"
            },
            {
              "name": "min",
              "type": {
                "text": "number | string"
              },
              "description": "The input's minimum value. Only applies to date and number input types.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number | string"
              },
              "description": "The input's maximum value. Only applies to date and number input types.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
              "fieldName": "step"
            },
            {
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "fieldName": "autocapitalize"
            },
            {
              "name": "autocorrect",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "fieldName": "autocorrect"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "fieldName": "autocomplete"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "fieldName": "enterkeyhint"
            },
            {
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the input.",
              "fieldName": "spellcheck"
            },
            {
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "fieldName": "inputmode"
            },
            {
              "name": "min-fraction-digits",
              "type": {
                "text": "number"
              },
              "description": "The minimal amount of fraction digits to use for numeric values.\nUsed to format the number when the input type is `number`.",
              "fieldName": "minFractionDigits"
            },
            {
              "name": "max-fraction-digits",
              "type": {
                "text": "number"
              },
              "description": "The maximal amount of fraction digits to use for numeric values.\nUsed to format the number when the input type is `number`.",
              "fieldName": "maxFractionDigits"
            },
            {
              "name": "numeric-strategy",
              "description": "Defines the strategy for handling numbers in the numeric input.\nThis is used to determine how the input behaves when the user interacts with it.\n\nIncludes the following configuration options:\n\n- **autoClamp**: If true, the input will clamp the value to the min and max attributes.\n- **noStepAlign**: If true, the input will not align the value to the step attribute.\n- **noStepValidation**: If true, the input will not validate the value against the step attribute.\n\nYou may provide this as one of the following values:\n\n- 'native': Uses the native browser implementation.\n- 'modern': Uses a more intuitive implementation:\n  - Values are clamped to the nearest min or max value.\n  - Stepping is inclusive to the provided min and max values.\n  - Provided stepping is no longer used in validation.\n- An object that matches the `NumericStrategy` type. Note this can only be set via `property`, not as an `attribute`!",
              "type": {
                "text": "'native' | 'modern' | Partial<NumericStrategy>"
              },
              "default": "modernNumericStrategy",
              "fieldName": "numericStrategy"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Inputs collect data from the user.",
          "tagNameWithoutPrefix": "input",
          "tagName": "syn-input",
          "customElement": true,
          "jsDoc": "/**\n * @summary Inputs collect data from the user.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-input--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-divider\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the input.\n * @slot suffix - Used to append a presentational icon or similar element to the input.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n * @slot increment-number-stepper - An icon to use in lieu of the default increment number stepper icon.\n * @slot decrement-number-stepper - An icon to use in lieu of the default decrement number stepper icon.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-clear - Emitted when the clear button is activated.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @event syn-clamp - Emitted if the numeric strategy allows autoClamp and the value is clamped to the min or max attribute.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart input - The internal `<input>` control.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart clear-button - The clear button.\n * @csspart password-toggle-button - The password toggle button.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart stepper - The container that wraps the number stepper.\n * @csspart decrement-number-stepper - The decrement number stepper button.\n * @csspart increment-number-stepper - The increment number stepper button.\n * @csspart divider - The divider between the increment and decrement number stepper buttons.\n *\n * @cssproperty --syn-input-autofill-shadow - The shadow to apply when the input is autofilled.\n * @cssproperty --syn-input-autofill-readonly-shadow - The shadow to apply when the input is readonly and autofilled.\n * @cssproperty --syn-input-autofill-text-fill-color - The text fill color to apply when the input is autofilled.\n * @cssproperty --syn-input-autofill-caret-color - The caret color to apply when the input is autofilled.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-input--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon",
            "syn-divider"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynInput",
            "module": "components/input/input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/menu/menu.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynMenu",
          "slots": [
            {
              "description": "The menu's content, including menu items, menu labels, and dividers.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "hasMenuItemsWithCheckmarks",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "method",
              "name": "handleUpdateCheckmarks",
              "privacy": "private",
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "SynMenuItem[]"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "updateCheckMarksByChildPropChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isMenuItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ item: SynMenuItem }"
              },
              "description": "Emitted when a menu item is selected.",
              "name": "syn-select",
              "reactName": "onSynSelect",
              "eventName": "SynSelectEvent"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Menus provide a list of options for the user to choose from.",
          "tagNameWithoutPrefix": "menu",
          "tagName": "syn-menu",
          "customElement": true,
          "jsDoc": "/**\n * @summary Menus provide a list of options for the user to choose from.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-menu--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The menu's content, including menu items, menu labels, and dividers.\n *\n * @event {{ item: SynMenuItem }} syn-select - Emitted when a menu item is selected.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-menu--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynMenu",
            "module": "components/menu/menu.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/menu-item/menu-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynMenuItem",
          "cssProperties": [
            {
              "description": "The distance submenus shift to overlap the parent menu.",
              "name": "--submenu-offset",
              "default": "-2px"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The checked icon, which is only visible when the menu item is checked.",
              "name": "checked-icon"
            },
            {
              "description": "The prefix container.",
              "name": "prefix"
            },
            {
              "description": "The menu item label.",
              "name": "label"
            },
            {
              "description": "The suffix container.",
              "name": "suffix"
            },
            {
              "description": "The spinner that shows when the menu item is in the loading state.",
              "name": "spinner"
            },
            {
              "description": "The spinner's base part.",
              "name": "spinner__base"
            },
            {
              "description": "The submenu icon, visible only when the menu item has a submenu (not yet implemented).",
              "name": "submenu-icon"
            }
          ],
          "slots": [
            {
              "description": "The menu item's label.",
              "name": ""
            },
            {
              "description": "Used to prepend an icon or similar element to the menu item.",
              "name": "prefix"
            },
            {
              "description": "Used to append an icon or similar element to the menu item.",
              "name": "suffix"
            },
            {
              "description": "Used to denote a nested menu.",
              "name": "submenu"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon, 'syn-popup': SynPopup, 'syn-spinner': SynSpinner }"
            },
            {
              "kind": "field",
              "name": "cachedTextLabel",
              "type": {
                "text": "string"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "menuItem",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'normal' | 'checkbox'"
              },
              "default": "'normal'",
              "description": "The type of menu item to render. To use `checked`, this value must be set to `checkbox`.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the item in a checked state.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A unique value to store in the menu item. This can be used as a way to identify menu items when selected.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the menu item in a loading state.",
              "attribute": "loading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the menu item in a disabled state, preventing selection.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'submenu')"
            },
            {
              "kind": "field",
              "name": "submenuController",
              "type": {
                "text": "SubmenuController"
              },
              "privacy": "private",
              "default": "new SubmenuController(this, this.hasSlotController)"
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleHostClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseOver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCheckedChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleTypeChange"
            },
            {
              "kind": "method",
              "name": "getTextLabel",
              "description": "Returns a text label based on the contents of the menu item's default slot."
            },
            {
              "kind": "method",
              "name": "isSubmenu"
            }
          ],
          "attributes": [
            {
              "name": "type",
              "type": {
                "text": "'normal' | 'checkbox'"
              },
              "default": "'normal'",
              "description": "The type of menu item to render. To use `checked`, this value must be set to `checkbox`.",
              "fieldName": "type"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the item in a checked state.",
              "fieldName": "checked"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A unique value to store in the menu item. This can be used as a way to identify menu items when selected.",
              "fieldName": "value"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the menu item in a loading state.",
              "fieldName": "loading"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the menu item in a disabled state, preventing selection.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Menu items provide options for the user to pick from in a menu.",
          "tagNameWithoutPrefix": "menu-item",
          "tagName": "syn-menu-item",
          "customElement": true,
          "jsDoc": "/**\n * @summary Menu items provide options for the user to pick from in a menu.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-menu-item--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-spinner\n *\n * @slot - The menu item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n * @slot submenu - Used to denote a nested menu.\n *\n * @csspart base - The component's base wrapper.\n * @csspart checked-icon - The checked icon, which is only visible when the menu item is checked.\n * @csspart prefix - The prefix container.\n * @csspart label - The menu item label.\n * @csspart suffix - The suffix container.\n * @csspart spinner - The spinner that shows when the menu item is in the loading state.\n * @csspart spinner__base - The spinner's base part.\n * @csspart submenu-icon - The submenu icon, visible only when the menu item has a submenu (not yet implemented).\n *\n * @cssproperty [--submenu-offset=-2px] - The distance submenus shift to overlap the parent menu.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-menu-item--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon",
            "syn-popup",
            "syn-spinner"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynMenuItem",
            "module": "components/menu-item/menu-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/menu-label/menu-label.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynMenuLabel",
          "cssProperties": [
            {
              "description": "Display property of the divider. Defaults to \"block\"",
              "name": "--display-divider"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The divider that is displayed above the content",
              "name": "divider"
            },
            {
              "description": "The label that is displayed below the divider",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "The menu label's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-divider': SynDivider, }"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Menu labels are used to describe a group of menu items.",
          "tagNameWithoutPrefix": "menu-label",
          "tagName": "syn-menu-label",
          "customElement": true,
          "jsDoc": "/**\n * @summary Menu labels are used to describe a group of menu items.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-menu-label--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The menu label's content.\n *\n * @csspart base - The component's base wrapper.\n * @csspart divider - The divider that is displayed above the content\n * @csspart label - The label that is displayed below the divider\n *\n * @dependency syn-divider\n *\n * @cssproperty --display-divider - Display property of the divider. Defaults to \"block\"\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-menu-label--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-divider"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynMenuLabel",
            "module": "components/menu-label/menu-label.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/nav-item/nav-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynNavItem",
          "cssProperties": [
            {
              "description": "Numeric value, indicating the level the item is placed at.",
              "name": "--indentation"
            },
            {
              "description": "The amount of pixels each level will indent.",
              "name": "--indentation-stepping"
            },
            {
              "description": "Display property of the children. Defaults to \"contents\"",
              "name": "--display-children"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper including children.",
              "name": "base"
            },
            {
              "description": "The wrapper that holds the children",
              "name": "children"
            },
            {
              "description": "The component's content wrapper.",
              "name": "content-wrapper"
            },
            {
              "description": "The component's content excluding children.",
              "name": "content"
            },
            {
              "description": "The indicator used when current is set to true",
              "name": "current-indicator"
            },
            {
              "description": "The container that wraps the chevron.",
              "name": "chevron"
            },
            {
              "description": "The details element rendered when there are children available",
              "name": "details"
            },
            {
              "description": "The components optional top divider.",
              "name": "divider"
            },
            {
              "description": "The container that wraps the prefix.",
              "name": "prefix"
            },
            {
              "description": "The container that wraps the suffix.",
              "name": "suffix"
            }
          ],
          "slots": [
            {
              "description": "The navigation item's label.",
              "name": ""
            },
            {
              "description": "A presentational prefix icon or similar element.",
              "name": "prefix"
            },
            {
              "description": "A presentational suffix icon or similar element.",
              "name": "suffix"
            },
            {
              "description": "Slot used to provide nested child navigation elements. If provided, details and summary elements will be used. A chevron will be shown on the right side regardless of the chevron property.",
              "name": "children"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-divider': SynDivider, 'syn-icon': SynIcon, }"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'children', 'prefix', 'suffix')"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "The current focus state"
            },
            {
              "kind": "field",
              "name": "showPrefixOnly",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Only the prefix should be displayed"
            },
            {
              "kind": "field",
              "name": "currentMarkedChild",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "A nested nav-item is marked as current"
            },
            {
              "kind": "field",
              "name": "isMultiLine",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "The content area is multiline"
            },
            {
              "kind": "field",
              "name": "childrenSlot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "description": "Reference to the children slot"
            },
            {
              "kind": "field",
              "name": "control",
              "type": {
                "text": "HTMLButtonElement | HTMLLinkElement | HTMLElement"
              },
              "description": "Reference to the outermost button"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "The navigation item's href target.\nIf provided, the navigation item will use an anchor tag otherwise it will use a button tag.\n\nIf the 'children' slot is provided, the navigation item will ignore the 'href' and use\naccordion behavior.",
              "attribute": "href",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top'"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is present.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute.\nUnlike regular links, the default is `noreferrer noopener` to prevent security exploits.\n\nHowever, if you're using `target` to point to a specific tab/window,\nthis will prevent that from working correctly.\n\nYou can remove or change the default value by setting the attribute\nto an empty string or a value of your choice, respectively.",
              "attribute": "rel"
            },
            {
              "kind": "field",
              "name": "current",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "current",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the navigation item.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The navigation item's orientation.",
              "attribute": "horizontal",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "chevron",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Appends a chevron to the right side of a navigation item.\nOnly used if `horizontal` is false.",
              "attribute": "chevron",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Reflects HTML details element state and allows control from parent.\nOnly used if `horizontal` is false and `children` is defined.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "divider",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Toggle to true to show a divider above the element.\nOnly available when horizontal is false.",
              "attribute": "divider",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "isButton",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "isLink",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "isAccordion",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getNavItemChildren",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SynNavItem[]"
                }
              },
              "parameters": [
                {
                  "name": "childrenSlot",
                  "type": {
                    "text": "HTMLSlotElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllNestedNavItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SynNavItem[]"
                }
              },
              "parameters": [
                {
                  "name": "childrenSlot",
                  "type": {
                    "text": "HTMLSlotElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleCurrentMarkedChild",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClickButton",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClickSummary",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "hideDetails",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "showDetails",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private",
              "description": "Automatically add the correct level of indentation for sub items if none is provided"
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleWidth",
              "privacy": "private",
              "parameters": [
                {
                  "name": "entries",
                  "type": {
                    "text": "ResizeObserverEntry[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleHorizontalChange"
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the button."
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the nav-items button, link or summary."
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the nav-item"
            }
          ],
          "events": [
            {
              "description": "Emitted when the navigation item: - has children, - and is clicked while HTML details are hidden.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted when the navigation item: - has children, - and is clicked while HTML details are shown.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted when the button loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the button gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            }
          ],
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "The navigation item's href target.\nIf provided, the navigation item will use an anchor tag otherwise it will use a button tag.\n\nIf the 'children' slot is provided, the navigation item will ignore the 'href' and use\naccordion behavior.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top'"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is present.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute.\nUnlike regular links, the default is `noreferrer noopener` to prevent security exploits.\n\nHowever, if you're using `target` to point to a specific tab/window,\nthis will prevent that from working correctly.\n\nYou can remove or change the default value by setting the attribute\nto an empty string or a value of your choice, respectively.",
              "fieldName": "rel"
            },
            {
              "name": "current",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "current"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the navigation item.",
              "fieldName": "disabled"
            },
            {
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The navigation item's orientation.",
              "fieldName": "horizontal"
            },
            {
              "name": "chevron",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Appends a chevron to the right side of a navigation item.\nOnly used if `horizontal` is false.",
              "fieldName": "chevron"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Reflects HTML details element state and allows control from parent.\nOnly used if `horizontal` is false and `children` is defined.",
              "fieldName": "open"
            },
            {
              "name": "divider",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Toggle to true to show a divider above the element.\nOnly available when horizontal is false.",
              "fieldName": "divider"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Flexible button / link component that can be used to quickly build navigations.",
          "tagNameWithoutPrefix": "nav-item",
          "tagName": "syn-nav-item",
          "customElement": true,
          "jsDoc": "/**\n * @summary Flexible button / link component that can be used to quickly build navigations.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-nav-item--docs\n * Takes one of 3 forms:\n * - button (default),\n * - link (overrides button if a 'href' is provided),\n * - or accordion (overrides all other if 'children' slot is defined).\n *\n * @status stable\n * @since 1.14.0\n *\n * @dependency syn-divider\n * @dependency syn-icon\n *\n * @event syn-show - Emitted when the navigation item:\n * - has children,\n * - and is clicked while HTML details are hidden.\n *\n * @event syn-hide - Emitted when the navigation item:\n * - has children,\n * - and is clicked while HTML details are shown.\n *\n * @event syn-blur - Emitted when the button loses focus.\n * @event syn-focus - Emitted when the button gains focus.\n *\n * @slot - The navigation item's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n * @slot children - Slot used to provide nested child navigation elements.\n * If provided, details and summary elements will be used.\n * A chevron will be shown on the right side regardless of the chevron property.\n *\n * @csspart base - The component's base wrapper including children.\n * @csspart children - The wrapper that holds the children\n * @csspart content-wrapper - The component's content wrapper.\n * @csspart content - The component's content excluding children.\n * @csspart current-indicator - The indicator used when current is set to true\n * @csspart chevron - The container that wraps the chevron.\n * @csspart details - The details element rendered when there are children available\n * @csspart divider - The components optional top divider.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n *\n * @cssproperty --indentation - Numeric value, indicating the level the item is placed at.\n * @cssproperty --indentation-stepping - The amount of pixels each level will indent.\n * @cssproperty --display-children - Display property of the children. Defaults to \"contents\"\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-nav-item--docs",
          "status": "stable",
          "since": "1.14.0",
          "dependencies": [
            "syn-divider",
            "syn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynNavItem",
            "module": "components/nav-item/nav-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/optgroup/optgroup.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynOptgroup",
          "cssProperties": [
            {
              "description": "Display property of the divider. Defaults to \"block\"",
              "name": "--display-divider"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps prefix, label and base",
              "name": "label-container"
            },
            {
              "description": "The divider that is displayed above the content",
              "name": "divider"
            },
            {
              "description": "The container that wraps the prefix.",
              "name": "prefix"
            },
            {
              "description": "The container that wraps the suffix.",
              "name": "suffix"
            },
            {
              "description": "The container that wraps the <syn-option> elements.",
              "name": "options"
            }
          ],
          "slots": [
            {
              "description": "The given options. Must be `<syn-option>` elements.",
              "name": ""
            },
            {
              "description": "A presentational prefix icon or similar element.",
              "name": "prefix"
            },
            {
              "description": "The label for the optgroup",
              "name": "label"
            },
            {
              "description": "A presentational suffix icon or similar element.",
              "name": "suffix"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-divider': SynDivider, }"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'prefix', 'suffix', 'label')"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "enableObserver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "assignedOptions",
              "type": {
                "text": "SynOption[]"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables all options in the optgroup.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The optgroups label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables all options in the optgroup.",
              "fieldName": "disabled"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The optgroups label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.",
          "tagNameWithoutPrefix": "optgroup",
          "tagName": "syn-optgroup",
          "customElement": true,
          "jsDoc": "/**\n * @summary The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs\n * @status stable\n * @since 1.3.0\n *\n * @dependency syn-divider\n *\n * @slot - The given options. Must be `<syn-option>` elements.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot label - The label for the optgroup\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label-container - The container that wraps prefix, label and base\n * @csspart divider - The divider that is displayed above the content\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart options - The container that wraps the <syn-option> elements.\n *\n * @cssproperty --display-divider - Display property of the divider. Defaults to \"block\"\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs",
          "status": "stable",
          "since": "1.3.0",
          "dependencies": [
            "syn-divider"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynOptgroup",
            "module": "components/optgroup/optgroup.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/option/option.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynOption",
          "cssParts": [
            {
              "description": "The checked icon, an `<syn-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The option's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the prefix.",
              "name": "prefix"
            },
            {
              "description": "The container that wraps the suffix.",
              "name": "suffix"
            }
          ],
          "slots": [
            {
              "description": "The option's label.",
              "name": ""
            },
            {
              "description": "Used to prepend an icon or similar element to the menu item.",
              "name": "prefix"
            },
            {
              "description": "Used to append an icon or similar element to the menu item.",
              "name": "suffix"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon }"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "originalValue",
              "type": {
                "text": "string | number"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "isInitialized",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "delimiter",
              "type": {
                "text": "string"
              },
              "default": "' '"
            },
            {
              "kind": "field",
              "name": "current",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasHover",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | number"
              },
              "default": "''",
              "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the option in a disabled state, preventing selection.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleMouseEnter",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleMouseLeave",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleSelectedChange"
            },
            {
              "kind": "method",
              "name": "handleDelimiterChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "sanitizeValueForDelimiter",
              "description": "Replaces any occurrences of the delimiter in the option's original value with underscores."
            },
            {
              "kind": "method",
              "name": "getTextLabel",
              "description": "Returns a plain text label based on the option's content."
            },
            {
              "kind": "method",
              "name": "triggerParentDefaultSlotChange",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string | number"
              },
              "default": "''",
              "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the option in a disabled state, preventing selection.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Options define the selectable items within various form controls such as [select](/components/select).",
          "tagNameWithoutPrefix": "option",
          "tagName": "syn-option",
          "customElement": true,
          "jsDoc": "/**\n * @summary Options define the selectable items within various form controls such as [select](/components/select).\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-option--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The option's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart base - The component's base wrapper.\n * @csspart label - The option's label.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-option--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynOption",
            "module": "components/option/option.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/popup/popup.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynPopup",
          "cssProperties": [
            {
              "description": "The size of the arrow. Note that an arrow won't be shown unless the `arrow` attribute is used.",
              "name": "--arrow-size",
              "default": "6px"
            },
            {
              "description": "The color of the arrow.",
              "name": "--arrow-color",
              "default": "var(--syn-color-neutral-0)"
            },
            {
              "description": "A read-only custom property that determines the amount of width the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
              "name": "--auto-size-available-width"
            },
            {
              "description": "A read-only custom property that determines the amount of height the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
              "name": "--auto-size-available-height"
            }
          ],
          "cssParts": [
            {
              "description": "The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and maybe a border or box shadow.",
              "name": "arrow"
            },
            {
              "description": "The popup's container. Useful for setting a background color, box shadow, etc.",
              "name": "popup"
            },
            {
              "description": "The hover bridge element. Only available when the `hover-bridge` option is enabled.",
              "name": "hover-bridge"
            }
          ],
          "slots": [
            {
              "description": "The popup's content.",
              "name": ""
            },
            {
              "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the `anchor` attribute or property instead.",
              "name": "anchor"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "anchorEl",
              "type": {
                "text": "Element | VirtualElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "cleanup",
              "type": {
                "text": "ReturnType<typeof autoUpdate> | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "HTMLElement"
              },
              "description": "A reference to the internal popup container. Useful for animating and styling the popup with JavaScript."
            },
            {
              "kind": "field",
              "name": "arrowEl",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "Element | string | VirtualElement"
              },
              "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
              "attribute": "anchor"
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from its anchor.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel along its anchor.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
              "attribute": "arrow"
            },
            {
              "kind": "field",
              "name": "arrowPlacement",
              "type": {
                "text": "'start' | 'end' | 'center' | 'anchor'"
              },
              "default": "'anchor'",
              "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
              "attribute": "arrow-placement"
            },
            {
              "kind": "field",
              "name": "arrowPadding",
              "type": {
                "text": "number"
              },
              "default": "10",
              "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
              "attribute": "arrow-padding"
            },
            {
              "kind": "field",
              "name": "flip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
              "attribute": "flip"
            },
            {
              "kind": "field",
              "name": "flipFallbackPlacements",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
              "attribute": "flip-fallback-placements"
            },
            {
              "kind": "field",
              "name": "flipFallbackStrategy",
              "type": {
                "text": "'best-fit' | 'initial'"
              },
              "default": "'best-fit'",
              "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
              "attribute": "flip-fallback-strategy"
            },
            {
              "kind": "field",
              "name": "flipBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "flipBoundary"
            },
            {
              "kind": "field",
              "name": "flipPadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
              "attribute": "flip-padding"
            },
            {
              "kind": "field",
              "name": "shift",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Moves the popup along the axis to keep it in view when clipped.",
              "attribute": "shift"
            },
            {
              "kind": "field",
              "name": "shiftBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "shiftBoundary"
            },
            {
              "kind": "field",
              "name": "shiftPadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
              "attribute": "shift-padding"
            },
            {
              "kind": "field",
              "name": "autoSize",
              "type": {
                "text": "'horizontal' | 'vertical' | 'both'"
              },
              "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
              "attribute": "auto-size"
            },
            {
              "kind": "field",
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both'"
              },
              "description": "Syncs the popup's width or height to that of the anchor element.",
              "attribute": "sync"
            },
            {
              "kind": "field",
              "name": "autoSizeBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "autoSizeBoundary"
            },
            {
              "kind": "field",
              "name": "autoSizePadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
              "attribute": "auto-size-padding"
            },
            {
              "kind": "field",
              "name": "hoverBridge",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
              "attribute": "hover-bridge"
            },
            {
              "kind": "method",
              "name": "handleAnchorChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "start",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stop",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              }
            },
            {
              "kind": "method",
              "name": "reposition",
              "description": "Forces the popup to recalculate and reposition itself."
            },
            {
              "kind": "field",
              "name": "updateHoverBridge",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive operations in your listener or consider debouncing it.",
              "name": "syn-reposition",
              "reactName": "onSynReposition",
              "eventName": "SynRepositionEvent"
            }
          ],
          "attributes": [
            {
              "name": "anchor",
              "type": {
                "text": "Element | string | VirtualElement"
              },
              "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
              "fieldName": "anchor"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
              "fieldName": "active"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from its anchor.",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel along its anchor.",
              "fieldName": "skidding"
            },
            {
              "name": "arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
              "fieldName": "arrow"
            },
            {
              "name": "arrow-placement",
              "type": {
                "text": "'start' | 'end' | 'center' | 'anchor'"
              },
              "default": "'anchor'",
              "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
              "fieldName": "arrowPlacement"
            },
            {
              "name": "arrow-padding",
              "type": {
                "text": "number"
              },
              "default": "10",
              "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
              "fieldName": "arrowPadding"
            },
            {
              "name": "flip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
              "fieldName": "flip"
            },
            {
              "name": "flip-fallback-placements",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
              "fieldName": "flipFallbackPlacements"
            },
            {
              "name": "flip-fallback-strategy",
              "type": {
                "text": "'best-fit' | 'initial'"
              },
              "default": "'best-fit'",
              "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
              "fieldName": "flipFallbackStrategy"
            },
            {
              "name": "flipBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "flipBoundary"
            },
            {
              "name": "flip-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
              "fieldName": "flipPadding"
            },
            {
              "name": "shift",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Moves the popup along the axis to keep it in view when clipped.",
              "fieldName": "shift"
            },
            {
              "name": "shiftBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "shiftBoundary"
            },
            {
              "name": "shift-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
              "fieldName": "shiftPadding"
            },
            {
              "name": "auto-size",
              "type": {
                "text": "'horizontal' | 'vertical' | 'both'"
              },
              "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
              "fieldName": "autoSize"
            },
            {
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both'"
              },
              "description": "Syncs the popup's width or height to that of the anchor element.",
              "fieldName": "sync"
            },
            {
              "name": "autoSizeBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "autoSizeBoundary"
            },
            {
              "name": "auto-size-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
              "fieldName": "autoSizePadding"
            },
            {
              "name": "hover-bridge",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
              "fieldName": "hoverBridge"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.",
          "tagNameWithoutPrefix": "popup",
          "tagName": "syn-popup",
          "customElement": true,
          "jsDoc": "/**\n * @summary Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-popup--docs\n * @status stable\n * @since 2.0\n *\n * @event syn-reposition - Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive\n *  operations in your listener or consider debouncing it.\n *\n * @slot - The popup's content.\n * @slot anchor - The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the\n *  `anchor` attribute or property instead.\n *\n * @csspart arrow - The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are\n *  assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and\n *  maybe a border or box shadow.\n * @csspart popup - The popup's container. Useful for setting a background color, box shadow, etc.\n * @csspart hover-bridge - The hover bridge element. Only available when the `hover-bridge` option is enabled.\n *\n * @cssproperty [--arrow-size=6px] - The size of the arrow. Note that an arrow won't be shown unless the `arrow`\n *  attribute is used.\n * @cssproperty [--arrow-color=var(--syn-color-neutral-0)] - The color of the arrow.\n * @cssproperty [--auto-size-available-width] - A read-only custom property that determines the amount of width the\n *  popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n *  available when using `auto-size`.\n * @cssproperty [--auto-size-available-height] - A read-only custom property that determines the amount of height the\n *  popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n *  available when using `auto-size`.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-popup--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynPopup",
            "module": "components/popup/popup.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/prio-nav/prio-nav.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynPrioNav",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The wrapper around the priority menu",
              "name": "priority-menu"
            },
            {
              "description": "The navigation item for the priority menu",
              "name": "priority-menu-nav-item"
            },
            {
              "description": "The label for the priority menu",
              "name": "priority-menu-label"
            },
            {
              "description": "The icon for the priority menu",
              "name": "priority-menu-icon"
            },
            {
              "description": "The container for the shifted navigation items, if there is not enough space.",
              "name": "priority-menu-container"
            }
          ],
          "slots": [
            {
              "description": "The given navigation items. Must be horizontal `<syn-nav-item>`s or have a role of \"menuitem\"",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-dropdown': SynDropdown, 'syn-icon': SynIcon, 'syn-menu': SynMenu, 'syn-nav-item': SynNavItem, }"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private",
              "description": "Internal resize observer"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "privacy": "private",
              "description": "Reference to the rendered children slot"
            },
            {
              "kind": "field",
              "name": "menuSlot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "privacy": "private",
              "description": "Reference to the slot where priority menu items are placed"
            },
            {
              "kind": "field",
              "name": "horizontalNav",
              "type": {
                "text": "HTMLDivElement"
              },
              "privacy": "private",
              "description": "The wrapper that holds the horizontal navigation items"
            },
            {
              "kind": "field",
              "name": "priorityMenu",
              "type": {
                "text": "SynDropdown"
              },
              "privacy": "private",
              "description": "The priority menu dropdown"
            },
            {
              "kind": "field",
              "name": "itemPositionsCached",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Internal state reflecting if the item positions have been cached"
            },
            {
              "kind": "field",
              "name": "amountOfNavItems",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "The amount of nav items that are currently slotted"
            },
            {
              "kind": "field",
              "name": "amountOfVisibleItems",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "The amount of items that are currently visible"
            },
            {
              "kind": "field",
              "name": "hasItemsInDropdown",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Internal state reflecting if there are items in the priority menu"
            },
            {
              "kind": "method",
              "name": "getSlottedNavItems",
              "privacy": "private",
              "description": "Get a list of all slotted `<syn-nav-item />` elements\nthat are either in the main slot or the priority menu slot"
            },
            {
              "kind": "method",
              "name": "cacheItemPositions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "SynNavItem[]"
                  },
                  "description": "The items to cache the position for"
                }
              ],
              "description": "Cache the items right offset position to make faster checks placement into priority menu"
            },
            {
              "kind": "method",
              "name": "handlePriorityMenu",
              "privacy": "private",
              "description": "Determines which items should be shown or hidden, depending on the current width"
            },
            {
              "kind": "method",
              "name": "renderPriorityMenu",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "slotChange",
              "privacy": "private"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "The `<syn-prio-nav />` element provides a generic navigation bar\nthat can be used to group multiple navigation items  (usually horizontal `<syn-nav-item />`s)\ntogether. It will automatically group all items not visible in the viewport into a custom\npriority menu.",
          "tagNameWithoutPrefix": "prio-nav",
          "tagName": "syn-prio-nav",
          "customElement": true,
          "jsDoc": "/**\n * @summary The `<syn-prio-nav />` element provides a generic navigation bar\n * that can be used to group multiple navigation items  (usually horizontal `<syn-nav-item />`s)\n * together. It will automatically group all items not visible in the viewport into a custom\n * priority menu.\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-prio-nav--docs\n * @example\n * <syn-prio-nav>\n *  <syn-nav-item current horizontal>Item 1</syn-nav-item>\n *  <button role=\"menuitem\">Item 2 (custom)</button>\n *  <syn-nav-item horizontal>Item 3</syn-nav-item>\n * </syn-prio-nav>\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-prio-nav--docs\n * @status stable\n * @since 1.14.0\n *\n * @dependency syn-dropdown\n * @dependency syn-icon\n * @dependency syn-menu\n * @dependency syn-nav-item\n *\n * @slot - The given navigation items. Must be horizontal `<syn-nav-item>`s\n *    or have a role of \"menuitem\"\n *\n * @csspart base - The component's base wrapper.\n * @csspart priority-menu - The wrapper around the priority menu\n * @csspart priority-menu-nav-item - The navigation item for the priority menu\n * @csspart priority-menu-label - The label for the priority menu\n * @csspart priority-menu-icon - The icon for the priority menu\n * @csspart priority-menu-container - The container for the shifted navigation items,\n *    if there is not enough space.\n *\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-prio-nav--docs",
          "status": "stable",
          "since": "1.14.0",
          "dependencies": [
            "syn-dropdown",
            "syn-icon",
            "syn-menu",
            "syn-nav-item"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynPrioNav",
            "module": "components/prio-nav/prio-nav.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/progress-bar/progress-bar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynProgressBar",
          "cssProperties": [
            {
              "description": "The progress bar's height.",
              "name": "--height"
            },
            {
              "description": "The color of the track.",
              "name": "--track-color"
            },
            {
              "description": "The color of the indicator.",
              "name": "--indicator-color"
            },
            {
              "description": "The color of the label.",
              "name": "--label-color"
            },
            {
              "description": "The speed of the progress bar when in indeterminate state.",
              "name": "--speed"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The progress bar's indicator.",
              "name": "indicator"
            },
            {
              "description": "The progress bar's label.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "A label to show inside the progress indicator.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label for assistive devices.",
              "attribute": "label"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "fieldName": "value"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state.",
              "fieldName": "indeterminate"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label for assistive devices.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Progress bars are used to show the status of an ongoing operation.",
          "tagNameWithoutPrefix": "progress-bar",
          "tagName": "syn-progress-bar",
          "customElement": true,
          "jsDoc": "/**\n * @summary Progress bars are used to show the status of an ongoing operation.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-progress-bar--docs\n * @status stable\n * @since 2.0\n *\n * @slot - A label to show inside the progress indicator.\n *\n * @csspart base - The component's base wrapper.\n * @csspart indicator - The progress bar's indicator.\n * @csspart label - The progress bar's label.\n *\n * @cssproperty --height - The progress bar's height.\n * @cssproperty --track-color - The color of the track.\n * @cssproperty --indicator-color - The color of the indicator.\n * @cssproperty --label-color - The color of the label.\n * @cssproperty --speed - The speed of the progress bar when in indeterminate state.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-progress-bar--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynProgressBar",
            "module": "components/progress-bar/progress-bar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/progress-ring/progress-ring.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynProgressRing",
          "cssProperties": [
            {
              "description": "The diameter of the progress ring (cannot be a percentage).",
              "name": "--size"
            },
            {
              "description": "The width of the track.",
              "name": "--track-width"
            },
            {
              "description": "The color of the track.",
              "name": "--track-color"
            },
            {
              "description": "The width of the indicator. Defaults to the track width.",
              "name": "--indicator-width"
            },
            {
              "description": "The color of the indicator.",
              "name": "--indicator-color"
            },
            {
              "description": "The duration of the indicator's transition when the value changes.",
              "name": "--indicator-transition-duration"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The progress ring label.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "A label to show inside the ring.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "indicator",
              "type": {
                "text": "SVGCircleElement"
              }
            },
            {
              "kind": "field",
              "name": "indicatorOffset",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label for assistive devices.",
              "attribute": "label"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label for assistive devices.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Progress rings are used to show the progress of a determinate operation in a circular fashion.",
          "tagNameWithoutPrefix": "progress-ring",
          "tagName": "syn-progress-ring",
          "customElement": true,
          "jsDoc": "/**\n * @summary Progress rings are used to show the progress of a determinate operation in a circular fashion.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-progress-ring--docs\n * @status stable\n * @since 2.0\n *\n * @slot - A label to show inside the ring.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label - The progress ring label.\n *\n * @cssproperty --size - The diameter of the progress ring (cannot be a percentage).\n * @cssproperty --track-width - The width of the track.\n * @cssproperty --track-color - The color of the track.\n * @cssproperty --indicator-width - The width of the indicator. Defaults to the track width.\n * @cssproperty --indicator-color - The color of the indicator.\n * @cssproperty --indicator-transition-duration - The duration of the indicator's transition when the value changes.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-progress-ring--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynProgressRing",
            "module": "components/progress-ring/progress-ring.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio/radio.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynRadio",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The circular container that wraps the radio's checked state.",
              "name": "control"
            },
            {
              "description": "The radio control when the radio is checked.",
              "name": "control--checked"
            },
            {
              "description": "The checked icon, an `<syn-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The container that wraps the radio's label.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "The radio's label.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon }"
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | number"
              },
              "description": "The radio's value. When selected, the radio group will receive this value.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the radio to a readonly state.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setInitialAttributes",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCheckedChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string | number"
              },
              "description": "The radio's value. When selected, the radio group will receive this value.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the radio to a readonly state.",
              "fieldName": "readonly"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Radios allow the user to select a single option from a group.",
          "tagNameWithoutPrefix": "radio",
          "tagName": "syn-radio",
          "customElement": true,
          "jsDoc": "/**\n * @summary Radios allow the user to select a single option from a group.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The radio's label.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-focus - Emitted when the control gains focus.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The circular container that wraps the radio's checked state.\n * @csspart control--checked - The radio control when the radio is checked.\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart label - The container that wraps the radio's label.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-radio--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynRadio",
            "module": "components/radio/radio.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio-button/radio-button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynRadioButton",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The internal `<button>` element.",
              "name": "button"
            },
            {
              "description": "The internal button element when the radio button is checked.",
              "name": "button--checked"
            },
            {
              "description": "The container that wraps the prefix.",
              "name": "prefix"
            },
            {
              "description": "The container that wraps the radio button's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the suffix.",
              "name": "suffix"
            }
          ],
          "slots": [
            {
              "description": "The radio button's label.",
              "name": ""
            },
            {
              "description": "A presentational prefix icon or similar element.",
              "name": "prefix"
            },
            {
              "description": "A presentational suffix icon or similar element.",
              "name": "suffix"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'prefix', 'suffix')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "hiddenInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | number"
              },
              "description": "The radio's value. When selected, the radio group will receive this value.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio button.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so\nthis attribute can typically be omitted.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style radio button with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the radio button."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the radio button."
            }
          ],
          "events": [
            {
              "description": "Emitted when the button loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the button gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string | number"
              },
              "description": "The radio's value. When selected, the radio group will receive this value.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio button.",
              "fieldName": "disabled"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so\nthis attribute can typically be omitted.",
              "fieldName": "size"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style radio button with rounded edges.",
              "fieldName": "pill"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Radios buttons allow the user to select a single option from a group using a button-like control.",
          "tagNameWithoutPrefix": "radio-button",
          "tagName": "syn-radio-button",
          "customElement": true,
          "jsDoc": "/**\n * @summary Radios buttons allow the user to select a single option from a group using a button-like control.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The radio button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @event syn-blur - Emitted when the button loses focus.\n * @event syn-focus - Emitted when the button gains focus.\n *\n * @csspart base - The component's base wrapper.\n * @csspart button - The internal `<button>` element.\n * @csspart button--checked - The internal button element when the radio button is checked.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The container that wraps the radio button's label.\n * @csspart suffix - The container that wraps the suffix.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynRadioButton",
            "module": "components/radio-button/radio-button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio-group/radio-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynRadioGroup",
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and help text.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The input's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The button group that wraps radio buttons.",
              "name": "button-group"
            },
            {
              "description": "The button group's `base` part.",
              "name": "button-group__base"
            }
          ],
          "slots": [
            {
              "description": "The default slot where `<syn-radio>` or `<syn-radio-button>` elements are placed.",
              "name": ""
            },
            {
              "description": "The radio group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the radio group. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-button-group': SynButtonGroup }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "protected",
              "readonly": true,
              "default": "new FormControlController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label')"
            },
            {
              "kind": "field",
              "name": "customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "validationTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "validationInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "hasButtonGroup",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "errorMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | number"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio groups's help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "'option'",
              "description": "The name of the radio group, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | number"
              },
              "default": "''",
              "description": "The current value of the radio group, submitted as a name/value pair with form data.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio group's size. This size will be applied to all child radios and radio buttons.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Ensures a child radio is checked before allowing the containing form to submit.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "getAllRadios",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleRadioClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleLabelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "syncRadioElements",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncRadios",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateCheckedRadio",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSizeChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "default": "''"
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the radio-group."
            }
          ],
          "events": [
            {
              "description": "Emitted when the radio group's selected value changes.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when the radio group receives user input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio groups's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "'option'",
              "description": "The name of the radio group, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string | number"
              },
              "default": "''",
              "description": "The current value of the radio group, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio group's size. This size will be applied to all child radios and radio buttons.",
              "fieldName": "size"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Ensures a child radio is checked before allowing the containing form to submit.",
              "fieldName": "required"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.",
          "tagNameWithoutPrefix": "radio-group",
          "tagName": "syn-radio-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio-group--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-button-group\n *\n * @slot - The default slot where `<syn-radio>` or `<syn-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n *  attribute.\n * @slot help-text - Text that describes how to use the radio group. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-change - Emitted when the radio group's selected value changes.\n * @event syn-input - Emitted when the radio group receives user input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-radio-group--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-button-group"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynRadioGroup",
            "module": "components/radio-group/radio-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/range/range.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynRange",
          "cssProperties": [
            {
              "description": "The size of a thumb.",
              "name": "--thumb-size"
            },
            {
              "description": "The clickable area around the thumb. Per default this is set to 140% of the thumb size. Must be a scale css value (defaults to 1.4).",
              "name": "--thumb-hit-area-size"
            },
            {
              "description": "The clickable area around the track (top and left).",
              "name": "--track-hit-area-size"
            },
            {
              "description": "Color of the track representing the current value.",
              "name": "--track-color-active"
            },
            {
              "description": "Color of the track that represents the remaining value.",
              "name": "--track-color-inactive"
            },
            {
              "description": "The height of the track.",
              "name": "--track-height"
            },
            {
              "description": "The point of origin of the active track, starting at the left side of the range.",
              "name": "--track-active-offset"
            }
          ],
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and help text.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the input track and ticks.",
              "name": "input-wrapper"
            },
            {
              "description": "The wrapper for the track.",
              "name": "track-wrapper"
            },
            {
              "description": "The inactive track.",
              "name": "track"
            },
            {
              "description": "The active track.",
              "name": "active-track"
            },
            {
              "description": "The container that wraps the prefix.",
              "name": "prefix"
            },
            {
              "description": "The container that wraps the suffix.",
              "name": "suffix"
            },
            {
              "description": "The container that wraps the tick marks.",
              "name": "ticks"
            },
            {
              "description": "The thumb(s) that the user can drag to change the range.",
              "name": "thumb"
            },
            {
              "description": "The base of the tooltip",
              "name": "tooltip__base"
            },
            {
              "description": "The arrow of the tooltip",
              "name": "tooltip__arrow"
            },
            {
              "description": "The popup of the tooltip",
              "name": "tooltip__popup"
            },
            {
              "description": "The body of the tooltip",
              "name": "tooltip__body"
            }
          ],
          "slots": [
            {
              "description": "The range's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to prepend a presentational icon or similar element to the range.",
              "name": "prefix"
            },
            {
              "description": "Used to append a presentational icon or similar element to the range.",
              "name": "suffix"
            },
            {
              "description": "Text that describes how to use the range. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            },
            {
              "description": "Used to display tick marks at specific intervals along the range.",
              "name": "ticks"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-tooltip': SynTooltip, }"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the range, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The range's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The range's help text. If you need to display HTML, use the help-text slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the range.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the range to a readonly state.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum acceptable value of the range.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "The maximum acceptable value of the range.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The interval at which the range will increase and decrease.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The range's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "tooltipPlacement",
              "type": {
                "text": "'top' | 'bottom' | 'none'"
              },
              "default": "'top'",
              "description": "The preferred placement of the range's tooltip. Use \"none\" to disable the tooltip",
              "attribute": "tooltip-placement"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current values of the input (in ascending order) as a string of space separated values",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "restrictMovement",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set to true to restrict the movement of a thumb to its next and previous thumb.\nThis only affects multi range components",
              "attribute": "restrict-movement"
            },
            {
              "kind": "field",
              "name": "valueAsArray",
              "description": "Gets or sets the current values of the range as an array of numbers"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "description": "The default value of the form control. Primarily used for resetting the form control."
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element.\nThis attribute allows you to place the form control outside of a form\nand associate it with the form that has this `id`.\nThe form must be in the same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "tooltipFormatter",
              "type": {
                "text": "(value: number) => string"
              },
              "description": "A function used to format the tooltip's value.\nThe value of the thumb is passed as the only argument.\nThe function should return a string to display in the tooltip.",
              "propertyOnly": true
            },
            {
              "kind": "field",
              "name": "baseDiv",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "baseControl",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "activeTrack",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "ticks",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "thumbs",
              "type": {
                "text": "NodeListOf<HTMLDivElement>"
              }
            },
            {
              "kind": "field",
              "name": "validationInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label', 'prefix', 'suffix', 'ticks')"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['syn-change'] })"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "ticksResizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "visibilityObserver",
              "type": {
                "text": "IntersectionObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#value",
              "privacy": "private",
              "type": {
                "text": "readonly number[]"
              },
              "default": "[0]"
            },
            {
              "kind": "field",
              "name": "#rangeValues",
              "privacy": "private",
              "default": "new Map<number, number>()"
            },
            {
              "kind": "field",
              "name": "#hasFocus",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#validationError",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "#validationTimeout",
              "privacy": "private",
              "type": {
                "text": "NodeJS.Timeout"
              }
            },
            {
              "kind": "field",
              "name": "#lastChangeValue",
              "privacy": "private",
              "type": {
                "text": "number []"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "#rtl",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "privacy": "public",
              "description": "Checks for validity but does not show a validation message.\nReturns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "privacy": "public",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            },
            {
              "kind": "method",
              "name": "getForm",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "privacy": "public",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "privacy": "public",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "#onClickTrack",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                },
                {
                  "name": "focusThumb",
                  "default": "true"
                }
              ]
            },
            {
              "kind": "method",
              "name": "#onClickTrackItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ],
              "description": "Special method for handling clicks on track items\nWhen clicking track items, we do not want the thumb to have focus"
            },
            {
              "kind": "method",
              "name": "#movementBoundariesForThumb",
              "privacy": "private",
              "parameters": [
                {
                  "name": "thumb",
                  "type": {
                    "text": "HTMLDivElement"
                  },
                  "description": "The thumb element that was moved"
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  },
                  "description": "The current value of a thumb"
                }
              ],
              "description": "Get the boundaries of a given thumb",
              "return": {
                "type": {
                  "text": ""
                }
              }
            },
            {
              "kind": "method",
              "name": "#onClickThumb",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#onDragThumb",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#onReleaseThumb",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#moveThumb",
              "privacy": "private",
              "parameters": [
                {
                  "name": "thumb",
                  "type": {
                    "text": "HTMLDivElement"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#updateActiveTrack",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#onKeyPress",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#onBlur",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#updateTooltip",
              "privacy": "private",
              "parameters": [
                {
                  "name": "thumb",
                  "type": {
                    "text": "HTMLDivElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#onFocusThumb",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#updateTicksHeight",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderThumbs",
              "privacy": "private",
              "parameters": [
                {
                  "name": "hasLabel",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            },
            {
              "description": "Emitted when the user moves a thumb, either via touch or keyboard. Use `Event.preventDefault()` to prevent movement.",
              "name": "syn-move",
              "reactName": "onSynMove",
              "eventName": "SynMoveEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the range, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The range's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The range's help text. If you need to display HTML, use the help-text slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the range.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the range to a readonly state.",
              "fieldName": "readonly"
            },
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum acceptable value of the range.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "The maximum acceptable value of the range.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The interval at which the range will increase and decrease.",
              "fieldName": "step"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The range's size.",
              "fieldName": "size"
            },
            {
              "name": "tooltip-placement",
              "type": {
                "text": "'top' | 'bottom' | 'none'"
              },
              "default": "'top'",
              "description": "The preferred placement of the range's tooltip. Use \"none\" to disable the tooltip",
              "fieldName": "tooltipPlacement"
            },
            {
              "name": "value",
              "description": "The current values of the input (in ascending order) as a string of space separated values",
              "fieldName": "value"
            },
            {
              "name": "restrict-movement",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set to true to restrict the movement of a thumb to its next and previous thumb.\nThis only affects multi range components",
              "fieldName": "restrictMovement"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element.\nThis attribute allows you to place the form control outside of a form\nand associate it with the form that has this `id`.\nThe form must be in the same document or shadow root for this to work.",
              "fieldName": "form"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Ranges allow the user to select values within a given range using one or two thumbs.",
          "tagNameWithoutPrefix": "range",
          "tagName": "syn-range",
          "customElement": true,
          "jsDoc": "/**\n * @summary Ranges allow the user to select values within a given range using one or two thumbs.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-range--docs\n * @status stable\n *\n * @dependency syn-tooltip\n *\n * @slot label - The range's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the range.\n * @slot suffix - Used to append a presentational icon or similar element to the range.\n * @slot help-text - Text that describes how to use the range.\n * Alternatively, you can use the `help-text` attribute.\n * @slot ticks - Used to display tick marks at specific intervals along the range.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity\n * and its constraints aren't satisfied.\n * @event syn-move - Emitted when the user moves a thumb, either via touch or keyboard.\n * Use `Event.preventDefault()` to prevent movement.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart input-wrapper - The container that wraps the input track and ticks.\n * @csspart track-wrapper - The wrapper for the track.\n * @csspart track - The inactive track.\n * @csspart active-track - The active track.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart ticks - The container that wraps the tick marks.\n * @csspart thumb - The thumb(s) that the user can drag to change the range.\n *\n * @csspart tooltip__base - The base of the tooltip\n * @csspart tooltip__arrow - The arrow of the tooltip\n * @csspart tooltip__popup - The popup of the tooltip\n * @csspart tooltip__body - The body of the tooltip\n *\n * @cssproperty --thumb-size - The size of a thumb.\n * @cssproperty --thumb-hit-area-size - The clickable area around the thumb.\n * Per default this is set to 140% of the thumb size. Must be a scale css value (defaults to 1.4).\n * @cssproperty --track-hit-area-size - The clickable area around the track (top and left).\n * @cssproperty --track-color-active - Color of the track representing the current value.\n * @cssproperty --track-color-inactive - Color of the track that represents the remaining value.\n * @cssproperty --track-height - The height of the track.\n * @cssproperty --track-active-offset - The point of origin of the active track,\n * starting at the left side of the range.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-range--docs",
          "status": "stable",
          "dependencies": [
            "syn-tooltip"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynRange",
            "module": "components/range/range.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/range-tick/range-tick.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynRangeTick",
          "cssProperties": [
            {
              "description": "The height of the tick marker.",
              "name": "--tick-height"
            },
            {
              "description": "The top offset of the tick label.",
              "name": "--tick-label-top"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The component's label.",
              "name": "label"
            },
            {
              "description": "The component's tick line.",
              "name": "line"
            }
          ],
          "slots": [
            {
              "description": "The tick's label",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "subdivision",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the tick should be shown as a subdivision.",
              "attribute": "subdivision",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "subdivision",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the tick should be shown as a subdivision.",
              "fieldName": "subdivision"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Ticks visually improve positioning on range sliders.",
          "tagNameWithoutPrefix": "range-tick",
          "tagName": "syn-range-tick",
          "customElement": true,
          "jsDoc": "/**\n * @summary Ticks visually improve positioning on range sliders.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-range-tick--docs\n * @status stable\n *\n * @slot - The tick's label\n *\n * @csspart base - The component's base wrapper.\n * @csspart label - The component's label.\n * @csspart line - The component's tick line.\n *\n * @cssproperty --tick-height - The height of the tick marker.\n * @cssproperty --tick-label-top - The top offset of the tick label.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-range-tick--docs",
          "status": "stable"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynRangeTick",
            "module": "components/range-tick/range-tick.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/resize-observer/resize-observer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynResizeObserver",
          "slots": [
            {
              "description": "One or more elements to watch for resizing.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "observedElements",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "startObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stopObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ entries: ResizeObserverEntry[] }"
              },
              "description": "Emitted when the element is resized.",
              "name": "syn-resize",
              "reactName": "onSynResize",
              "eventName": "SynResizeEvent"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).",
          "tagNameWithoutPrefix": "resize-observer",
          "tagName": "syn-resize-observer",
          "customElement": true,
          "jsDoc": "/**\n * @summary The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-resize-observer--docs\n * @status stable\n * @since 2.0\n *\n * @slot - One or more elements to watch for resizing.\n *\n * @event {{ entries: ResizeObserverEntry[] }} syn-resize - Emitted when the element is resized.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-resize-observer--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynResizeObserver",
            "module": "components/resize-observer/resize-observer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/select/select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynSelect",
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and help text.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The select's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The container the wraps the prefix, suffix, combobox, clear icon, and expand button.",
              "name": "combobox"
            },
            {
              "description": "The container that wraps the prefix slot.",
              "name": "prefix"
            },
            {
              "description": "The container that wraps the suffix slot.",
              "name": "suffix"
            },
            {
              "description": "The element that displays the selected option's label, an `<input>` element.",
              "name": "display-input"
            },
            {
              "description": "The listbox container where options are slotted.",
              "name": "listbox"
            },
            {
              "description": "The container that houses option tags when `multiselect` is used.",
              "name": "tags"
            },
            {
              "description": "The individual tags that represent each multiselect option.",
              "name": "tag"
            },
            {
              "description": "The tag's base part.",
              "name": "tag__base"
            },
            {
              "description": "The tag's content part.",
              "name": "tag__content"
            },
            {
              "description": "The tag's remove button.",
              "name": "tag__remove-button"
            },
            {
              "description": "The tag's remove button base part.",
              "name": "tag__remove-button__base"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the expand icon.",
              "name": "expand-icon"
            },
            {
              "description": "The popup's exported `popup` part. Use this to target the tooltip's popup container.",
              "name": "popup"
            }
          ],
          "slots": [
            {
              "description": "The listbox options. Must be `<syn-option>` elements. You can use `<syn-divider>` to group items visually.",
              "name": ""
            },
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to prepend a presentational icon or similar element to the combobox.",
              "name": "prefix"
            },
            {
              "description": "Used to append a presentational icon or similar element to the combobox.",
              "name": "suffix"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "The icon to show when the control is expanded and collapsed. Rotates on open and close.",
              "name": "expand-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon': SynIcon, 'syn-popup': SynPopup, 'syn-tag': SynTag }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['syn-blur', 'syn-input'] })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "typeToSelectString",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "typeToSelectTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "closeWatcher",
              "type": {
                "text": "CloseWatcher | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "isUserInput",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "SynPopup"
              }
            },
            {
              "kind": "field",
              "name": "combobox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "displayInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "valueInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "listbox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "tagContainer",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "displayLabel",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "currentOption",
              "type": {
                "text": "SynOption"
              }
            },
            {
              "kind": "field",
              "name": "selectedOptions",
              "type": {
                "text": "SynOption[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "delimiter",
              "type": {
                "text": "string"
              },
              "default": "' '",
              "description": "The delimiter to use when setting the value when `multiple` is enabled.\nThe default is a space, but you can set it to a comma or other character.",
              "attribute": "delimiter"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | number | Array<string | number>"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue attribute will be a space-delimited list of values based on the options selected, and the value property will\nbe an array. **For this reason, values must not contain spaces.**"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | number | Array<string | number>"
              },
              "default": "''",
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The select's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the select is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "maxOptionsVisible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "attribute": "max-options-visible"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the select to a readonly state.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the select is not empty.",
              "attribute": "clearable"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The select's required attribute.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "getTag",
              "type": {
                "text": "(option: SynOption, index: number) => TemplateResult | string | HTMLElement"
              },
              "description": "A function that customizes the tags to be rendered when multiple=true. The first argument is the option, the second\nis the current tag's index.  The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at\nthe specified value.",
              "attribute": "getTag"
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "enableResizeObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentFocusIn",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFormControlClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLabelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleComboboxMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleComboboxKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClearClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClearMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleOptionClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "public"
            },
            {
              "kind": "method",
              "name": "handleTagRemove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "SynRemoveEvent"
                  }
                },
                {
                  "name": "option",
                  "type": {
                    "text": "SynOption"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getFirstOption",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setCurrentOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "SynOption | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSelectedOptions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "SynOption | SynOption[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleOptionSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "SynOption"
                  }
                },
                {
                  "name": "force",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectionChanged",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "tags",
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDelimiterChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the listbox."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the listbox."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the control."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the control."
            }
          ],
          "events": [
            {
              "description": "Emitted when the control's value changes.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when the control's value is cleared.",
              "name": "syn-clear",
              "reactName": "onSynClear",
              "eventName": "SynClearEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the select's menu opens.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the select's menu opens and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the select's menu closes.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the select's menu closes and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "delimiter",
              "type": {
                "text": "string"
              },
              "default": "' '",
              "description": "The delimiter to use when setting the value when `multiple` is enabled.\nThe default is a space, but you can set it to a comma or other character.",
              "fieldName": "delimiter"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The select's size.",
              "fieldName": "size"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the select is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.",
              "fieldName": "multiple"
            },
            {
              "name": "max-options-visible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "fieldName": "maxOptionsVisible"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the select to a readonly state.",
              "fieldName": "readonly"
            },
            {
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the select is not empty.",
              "fieldName": "clearable"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The select's required attribute.",
              "fieldName": "required"
            },
            {
              "name": "getTag",
              "type": {
                "text": "(option: SynOption, index: number) => TemplateResult | string | HTMLElement"
              },
              "description": "A function that customizes the tags to be rendered when multiple=true. The first argument is the option, the second\nis the current tag's index.  The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at\nthe specified value.",
              "fieldName": "getTag"
            },
            {
              "name": "value",
              "type": {
                "text": "string | number | Array<string | number>"
              },
              "default": "''",
              "description": "The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue attribute will be a space-delimited list of values based on the options selected, and the value property will\nbe an array. **For this reason, values must not contain spaces.**",
              "fieldName": "value"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Selects allow you to choose items from a menu of predefined options.",
          "tagNameWithoutPrefix": "select",
          "tagName": "syn-select",
          "customElement": true,
          "jsDoc": "/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-select--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-tag\n *\n * @slot - The listbox options. Must be `<syn-option>` elements. You can use `<syn-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot suffix - Used to append a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-change - Emitted when the control's value changes.\n * @event syn-clear - Emitted when the control's value is cleared.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-show - Emitted when the select's menu opens.\n * @event syn-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event syn-hide - Emitted when the select's menu closes.\n * @event syn-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, suffix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart suffix - The container that wraps the suffix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-select--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon",
            "syn-popup",
            "syn-tag"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynSelect",
            "module": "components/select/select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/side-nav/side-nav.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynSideNav",
          "cssProperties": [
            {
              "description": "The width of the side-nav if in open state",
              "name": "--side-nav-open-width"
            }
          ],
          "cssParts": [
            {
              "description": "The components base wrapper",
              "name": "base"
            },
            {
              "description": "The drawer that is used under the hood for creating the side-nav",
              "name": "drawer"
            },
            {
              "description": "The components main content container",
              "name": "content-container"
            },
            {
              "description": "The components main content",
              "name": "content"
            },
            {
              "description": "The components footer content container (where the footer slot content is rendered)",
              "name": "footer-container"
            },
            {
              "description": "The components footer divider",
              "name": "footer-divider"
            },
            {
              "description": "The components footer content",
              "name": "footer"
            },
            {
              "description": "The overlay that covers the screen behind the side-nav.",
              "name": "overlay"
            },
            {
              "description": "The side-nav's panel (where the whole content is rendered).",
              "name": "panel"
            },
            {
              "description": "The side-nav's body (where the default slot content is rendered)",
              "name": "body"
            },
            {
              "description": "The drawer's base wrapper",
              "name": "drawer__base"
            },
            {
              "description": "The nav-item to toggle open state for variant=\"sticky\"",
              "name": "toggle-nav-item"
            },
            {
              "description": "The icon of the toggle nav-item for variant=\"sticky\"",
              "name": "toggle-icon"
            },
            {
              "description": "The label of the toggle nav-item for variant=\"sticky\".",
              "name": "toggle-label"
            }
          ],
          "slots": [
            {
              "description": "The main content of the side-nav. Used for <syn-nav-item /> elements.",
              "name": ""
            },
            {
              "description": "The footer content of the side-nav. Used for <syn-nav-item /> elements. Please avoid having to many nav-items as it can massively influence the user experience.",
              "name": "footer"
            },
            {
              "description": "The label of the toggle nav-item for variant=\"sticky\".",
              "name": "toggle-label"
            },
            {
              "description": "An icon to use in lieu of the default icon for the toggle nav-item for variant=\"sticky\".",
              "name": "toggle-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-divider': SynDivider, 'syn-drawer': SynDrawer, 'syn-icon': SynIcon, 'syn-nav-item': SynNavItem, }"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'footer')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "timeout",
              "type": {
                "text": "NodeJS.Timeout"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "isAnimationActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Current animation active state"
            },
            {
              "kind": "field",
              "name": "drawer",
              "type": {
                "text": "SynDrawer"
              },
              "privacy": "private",
              "description": "Reference to the drawer"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the side-nav is open.\nYou can toggle this attribute to show and hide the side-nav, or you can use the `show()` and\n`hide()` methods and this attribute will reflect the side-nav's open state.\n\nDepending on the \"variant\" attribute, the behavior will differ.\n\n__Default__:\nWith `open` will show the side-nav with an overlay.\nWithout `open`, the side-nav will be hidden.\n\n__Rail__:\nWith `open` will show the whole side-nav with an overlay for touch devices\nor without an overlay for non-touch devices.\nWithout `open`, the side-nav will only show the prefix of nav-item's.\n\n__Sticky__:\nWith `open` will show the whole side-nav with an overlay for touch devices\nor without an overlay for non-touch devices.\nWithout `open`, the side-nav will only show the prefix of nav-item's.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'default' | 'rail' | 'sticky'"
              },
              "default": "'default'",
              "description": "The variant that should be used to show the side navigation.\n\nThe following variants are supported:\n- **default** (default): Always shows the whole content and additionally an overlay.\nThis makes especially sense for applications, where you navigate to a place and stay\nthere for a longer time.\n- **rail**: Only show the prefix of navigation items in closed state.\nThis will open on hover on the rail navigation.\nOn touch devices the navigation opens on click and shows an overlay.\nNote: The rail variant is only an option if all Navigation Items on the first level\nhave an Icon.\nIf this is not the case you should use a burger navigation.\n- **sticky**: The side-nav has a pin button to show the side-nav in small (icon only)\nand full width. This variant is only possible for non-nested navigation items.\nNote: The sticky variant is only an option if all Navigation Items on the first level\nhave an Icon and if there are only \"first level\" items.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noFocusTrapping",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the side-nav traps the focus if in variant=\"default\" and open.\nTo disable the focus trapping, set this attribute.",
              "attribute": "no-focus-trapping",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "setDelayedCallback",
              "privacy": "private",
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseEnter",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleMouseLeave",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleRequestClose",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addMouseListener",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeMouseListener",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setDrawerAnimations",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleVariantChange"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "handleFocusTrapping"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the side-nav."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the side-nav"
            },
            {
              "kind": "method",
              "name": "toggleOpenState",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the side-nav opens.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the side-nav opens and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the side-nav closes.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the side-nav closes and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the side-nav is open.\nYou can toggle this attribute to show and hide the side-nav, or you can use the `show()` and\n`hide()` methods and this attribute will reflect the side-nav's open state.\n\nDepending on the \"variant\" attribute, the behavior will differ.\n\n__Default__:\nWith `open` will show the side-nav with an overlay.\nWithout `open`, the side-nav will be hidden.\n\n__Rail__:\nWith `open` will show the whole side-nav with an overlay for touch devices\nor without an overlay for non-touch devices.\nWithout `open`, the side-nav will only show the prefix of nav-item's.\n\n__Sticky__:\nWith `open` will show the whole side-nav with an overlay for touch devices\nor without an overlay for non-touch devices.\nWithout `open`, the side-nav will only show the prefix of nav-item's.",
              "fieldName": "open"
            },
            {
              "name": "variant",
              "type": {
                "text": "'default' | 'rail' | 'sticky'"
              },
              "default": "'default'",
              "description": "The variant that should be used to show the side navigation.\n\nThe following variants are supported:\n- **default** (default): Always shows the whole content and additionally an overlay.\nThis makes especially sense for applications, where you navigate to a place and stay\nthere for a longer time.\n- **rail**: Only show the prefix of navigation items in closed state.\nThis will open on hover on the rail navigation.\nOn touch devices the navigation opens on click and shows an overlay.\nNote: The rail variant is only an option if all Navigation Items on the first level\nhave an Icon.\nIf this is not the case you should use a burger navigation.\n- **sticky**: The side-nav has a pin button to show the side-nav in small (icon only)\nand full width. This variant is only possible for non-nested navigation items.\nNote: The sticky variant is only an option if all Navigation Items on the first level\nhave an Icon and if there are only \"first level\" items.",
              "fieldName": "variant"
            },
            {
              "name": "no-focus-trapping",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the side-nav traps the focus if in variant=\"default\" and open.\nTo disable the focus trapping, set this attribute.",
              "fieldName": "noFocusTrapping"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "The <syn-side-nav /> element contains secondary navigation and fits below the header.\nIt can be used to group multiple navigation items (<syn-nav-item />s) together.",
          "tagNameWithoutPrefix": "side-nav",
          "tagName": "syn-side-nav",
          "customElement": true,
          "jsDoc": "/**\n * @summary The <syn-side-nav /> element contains secondary navigation and fits below the header.\n * It can be used to group multiple navigation items (<syn-nav-item />s) together.\n *\n * @example\n * <syn-side-nav open>\n *  <syn-nav-item >Item 1</syn-nav-item>\n *  <syn-nav-item divider>Item 2</syn-nav-item>\n * </syn-side-nav>\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-side-nav--docs\n * @status stable\n * @since 1.14.0\n *\n * @dependency syn-divider\n * @dependency syn-drawer\n * @dependency syn-icon\n * @dependency syn-nav-item\n *\n * @slot - The main content of the side-nav. Used for <syn-nav-item /> elements.\n * @slot footer - The footer content of the side-nav. Used for <syn-nav-item /> elements.\n *    Please avoid having to many nav-items as it can massively influence the user experience.\n * @slot toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n * @slot toggle-icon - An icon to use in lieu of the default icon for the toggle nav-item\n * for variant=\"sticky\".\n *\n * @event syn-show - Emitted when the side-nav opens.\n * @event syn-after-show - Emitted after the side-nav opens and all animations are complete.\n * @event syn-hide - Emitted when the side-nav closes.\n * @event syn-after-hide - Emitted after the side-nav closes and all animations are complete.\n *\n * @csspart base - The components base wrapper\n * @csspart drawer - The drawer that is used under the hood for creating the side-nav\n * @csspart content-container - The components main content container\n * @csspart content - The components main content\n * @csspart footer-container - The components footer content container\n  (where the footer slot content is rendered)\n * @csspart footer-divider - The components footer divider\n * @csspart footer - The components footer content\n * @csspart overlay - The overlay that covers the screen behind the side-nav.\n * @csspart panel - The side-nav's panel (where the whole content is rendered).\n * @csspart body - The side-nav's body (where the default slot content is rendered)\n * @csspart drawer__base - The drawer's base wrapper\n * @csspart toggle-nav-item - The nav-item to toggle open state for variant=\"sticky\"\n * @csspart toggle-icon - The icon of the toggle nav-item for variant=\"sticky\"\n * @csspart toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n\n * @cssproperty  --side-nav-open-width - The width of the side-nav if in open state\n *\n * @animation sideNav.showNonRail - The animation to use when showing the side-nav\n *  in variant=\"default\".\n * @animation sideNav.showRail - The animation to use when showing the side-nav in variant=\"rail\"\n *  and variant=\"sticky\".\n * @animation sideNav.hideNonRail - The animation to use when hiding the side-nav\n *  in variant=\"default\".\n * @animation sideNav.hideRail - The animation to use when hiding the side-nav in variant=\"rail\"\n *  and variant=\"sticky\".\n * @animation sideNav.overlay.show - The animation to use when showing the side-nav's overlay.\n * @animation sideNav.overlay.hide - The animation to use when hiding the side-nav's overlay.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-side-nav--docs",
          "status": "stable",
          "since": "1.14.0",
          "dependencies": [
            "syn-divider",
            "syn-drawer",
            "syn-icon",
            "syn-nav-item"
          ],
          "animations": [
            {
              "name": "sideNav.showNonRail",
              "description": "The animation to use when showing the side-nav in variant=\"default\"."
            },
            {
              "name": "sideNav.showRail",
              "description": "The animation to use when showing the side-nav in variant=\"rail\" and variant=\"sticky\"."
            },
            {
              "name": "sideNav.hideNonRail",
              "description": "The animation to use when hiding the side-nav in variant=\"default\"."
            },
            {
              "name": "sideNav.hideRail",
              "description": "The animation to use when hiding the side-nav in variant=\"rail\" and variant=\"sticky\"."
            },
            {
              "name": "sideNav.overlay.show",
              "description": "The animation to use when showing the side-nav's overlay."
            },
            {
              "name": "sideNav.overlay.hide",
              "description": "The animation to use when hiding the side-nav's overlay."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynSideNav",
            "module": "components/side-nav/side-nav.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/spinner/spinner.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynSpinner",
          "cssProperties": [
            {
              "description": "The width of the track.",
              "name": "--track-width"
            },
            {
              "description": "The color of the spinner's indicator.",
              "name": "--indicator-color"
            },
            {
              "description": "The time it takes for the spinner to complete one animation cycle.",
              "name": "--speed"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Spinners are used to show the progress of an indeterminate operation.",
          "tagNameWithoutPrefix": "spinner",
          "tagName": "syn-spinner",
          "customElement": true,
          "jsDoc": "/**\n * @summary Spinners are used to show the progress of an indeterminate operation.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-spinner--docs\n * @status stable\n * @since 2.0\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --track-width - The width of the track.\n * @cssproperty --indicator-color - The color of the spinner's indicator.\n * @cssproperty --speed - The time it takes for the spinner to complete one animation cycle.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-spinner--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynSpinner",
            "module": "components/spinner/spinner.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/switch/switch.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynSwitch",
          "cssProperties": [
            {
              "description": "The width of the switch.",
              "name": "--width"
            },
            {
              "description": "The height of the switch.",
              "name": "--height"
            },
            {
              "description": "The size of the thumb.",
              "name": "--thumb-size"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The control that houses the switch's thumb.",
              "name": "control"
            },
            {
              "description": "The switch's thumb.",
              "name": "thumb"
            },
            {
              "description": "The switch's label.",
              "name": "label"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            }
          ],
          "slots": [
            {
              "description": "The switch's label.",
              "name": ""
            },
            {
              "description": "Text that describes how to use the switch. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { value: (control: SynSwitch) => (control.checked ? control.value || 'on' : undefined), defaultValue: (control: SynSwitch) => control.defaultChecked, setValue: (control: SynSwitch, checked: boolean) => (control.checked = checked) })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the switch, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The current value of the switch, submitted as a name/value pair with form data.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The switch's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the switch.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the switch to a readonly state.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the switch in a checked state.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The default value of the form control. Primarily used for resetting the form control."
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the switch a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The switch's help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleCheckedChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the switch."
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the switch."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the switch."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when the control's checked state changes.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the switch, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The current value of the switch, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The switch's size.",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the switch.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the switch to a readonly state.",
              "fieldName": "readonly"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the switch in a checked state.",
              "fieldName": "checked"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the switch a required field.",
              "fieldName": "required"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The switch's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Switches allow the user to toggle an option on or off.",
          "tagNameWithoutPrefix": "switch",
          "tagName": "syn-switch",
          "customElement": true,
          "jsDoc": "/**\n * @summary Switches allow the user to toggle an option on or off.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-switch--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The switch's label.\n * @slot help-text - Text that describes how to use the switch. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when the control's checked state changes.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The control that houses the switch's thumb.\n * @csspart thumb - The switch's thumb.\n * @csspart label - The switch's label.\n * @csspart form-control-help-text - The help text's wrapper.\n *\n * @cssproperty --width - The width of the switch.\n * @cssproperty --height - The height of the switch.\n * @cssproperty --thumb-size - The size of the thumb.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-switch--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynSwitch",
            "module": "components/switch/switch.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab/tab.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynTab",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The close button, an `<syn-icon-button>`.",
              "name": "close-button"
            },
            {
              "description": "The close button's exported `base` part.",
              "name": "close-button__base"
            }
          ],
          "slots": [
            {
              "description": "The tab's label.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon-button': SynIconButton }"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "attrId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true,
              "default": "++id"
            },
            {
              "kind": "field",
              "name": "componentId",
              "privacy": "private",
              "readonly": true,
              "default": "`syn-tab-${this.attrId}`"
            },
            {
              "kind": "field",
              "name": "tab",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the tab panel this tab is associated with. The panel must be located in the same tab group.",
              "attribute": "panel",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tab in an active state.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "closable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the tab closable and shows a close button.",
              "attribute": "closable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tab and prevents selection.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleCloseClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleActiveChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            }
          ],
          "events": [
            {
              "description": "Emitted when the tab is closable and the close button is activated.",
              "name": "syn-close",
              "reactName": "onSynClose",
              "eventName": "SynCloseEvent"
            }
          ],
          "attributes": [
            {
              "name": "panel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the tab panel this tab is associated with. The panel must be located in the same tab group.",
              "fieldName": "panel"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tab in an active state.",
              "fieldName": "active"
            },
            {
              "name": "closable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the tab closable and shows a close button.",
              "fieldName": "closable"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tab and prevents selection.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Tabs are used inside [tab groups](/components/tab-group) to represent and activate [tab panels](/components/tab-panel).",
          "tagNameWithoutPrefix": "tab",
          "tagName": "syn-tab",
          "customElement": true,
          "jsDoc": "/**\n * @summary Tabs are used inside [tab groups](/components/tab-group) to represent and activate [tab panels](/components/tab-panel).\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tab--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The tab's label.\n *\n * @event syn-close - Emitted when the tab is closable and the close button is activated.\n *\n * @csspart base - The component's base wrapper.\n * @csspart close-button - The close button, an `<syn-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-tab--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon-button"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynTab",
            "module": "components/tab/tab.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab-group/tab-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynTabGroup",
          "cssProperties": [
            {
              "description": "The color of the active tab indicator.",
              "name": "--indicator-color"
            },
            {
              "description": "The color of the indicator's track (the line that separates tabs from panels).",
              "name": "--track-color"
            },
            {
              "description": "The width of the indicator's track (the line that separates tabs from panels).",
              "name": "--track-width"
            },
            {
              "description": "The width of the active tab indicator.",
              "name": "--indicator-width"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The tab group's navigation container where tabs are slotted in.",
              "name": "nav"
            },
            {
              "description": "The container that wraps the tabs.",
              "name": "tabs"
            },
            {
              "description": "The line that highlights the currently selected tab.",
              "name": "active-tab-indicator"
            },
            {
              "description": "The tab group's body where tab panels are slotted in.",
              "name": "body"
            },
            {
              "description": "The previous/next scroll buttons that show when tabs are scrollable, an `<syn-icon-button>`.",
              "name": "scroll-button"
            },
            {
              "description": "The starting scroll button.",
              "name": "scroll-button--start"
            },
            {
              "description": "The ending scroll button.",
              "name": "scroll-button--end"
            },
            {
              "description": "The scroll button's exported `base` part.",
              "name": "scroll-button__base"
            }
          ],
          "slots": [
            {
              "description": "Used for grouping tab panels in the tab group. Must be `<syn-tab-panel>` elements.",
              "name": ""
            },
            {
              "description": "Used for grouping tabs in the tab group. Must be `<syn-tab>` elements.",
              "name": "nav"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon-button': SynIconButton, 'syn-resize-observer': SynResizeObserver }"
            },
            {
              "kind": "field",
              "name": "activeTab",
              "type": {
                "text": "SynTab | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "tabs",
              "type": {
                "text": "SynTab[]"
              }
            },
            {
              "kind": "field",
              "name": "focusableTabs",
              "type": {
                "text": "SynTab[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "panels",
              "type": {
                "text": "SynTabPanel[]"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "tabGroup",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "nav",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "indicator",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "hasScrollControls",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "shouldHideScrollStartButton",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "shouldHideScrollEndButton",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'start' | 'end'"
              },
              "default": "'top'",
              "description": "The placement of the tabs.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "activation",
              "type": {
                "text": "'auto' | 'manual'"
              },
              "default": "'auto'",
              "description": "When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\nmanual, the tab will receive focus but will not show until the user presses spacebar or enter.",
              "attribute": "activation"
            },
            {
              "kind": "field",
              "name": "noScrollControls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the scroll arrows that appear when tabs overflow.",
              "attribute": "no-scroll-controls"
            },
            {
              "kind": "field",
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tab group as a contained element.",
              "attribute": "contained"
            },
            {
              "kind": "field",
              "name": "sharp",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tab group with edges instead of roundings. Takes only effect if used with the 'contained' property",
              "attribute": "sharp"
            },
            {
              "kind": "field",
              "name": "fixedScrollControls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Prevent scroll buttons from being hidden when inactive.",
              "attribute": "fixed-scroll-controls"
            },
            {
              "kind": "method",
              "name": "getActiveTab",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleScrollToStart",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleScrollToEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setActiveTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tab",
                  "type": {
                    "text": "SynTab"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "{ emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setAriaLabels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "repositionIndicator",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncTabsAndPanels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "findNextFocusableTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "direction",
                  "type": {
                    "text": "'forward' | 'backward'"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "scrollOffset",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "1",
              "description": "The reality of the browser means that we can't expect the scroll position to be exactly what we want it to be, so\nwe add one pixel of wiggle room to our calculations."
            },
            {
              "kind": "method",
              "name": "updateScrollButtons",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isScrolledToEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "scrollFromStart",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateScrollControls"
            },
            {
              "kind": "method",
              "name": "syncIndicator"
            },
            {
              "kind": "method",
              "name": "show",
              "parameters": [
                {
                  "name": "panel",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Shows the specified tab panel."
            },
            {
              "kind": "method",
              "name": "preventFocus",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ name: String }"
              },
              "description": "Emitted when a tab is shown. The payload of the event returns the \"panel\" attribute of the shown tab.",
              "name": "syn-tab-show",
              "reactName": "onSynTabShow",
              "eventName": "SynTabShowEvent"
            },
            {
              "type": {
                "text": "{ name: String }"
              },
              "description": "Emitted when a tab is hidden. The payload of the event returns the \"panel\" attribute of the hidden tab.",
              "name": "syn-tab-hide",
              "reactName": "onSynTabHide",
              "eventName": "SynTabHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'start' | 'end'"
              },
              "default": "'top'",
              "description": "The placement of the tabs.",
              "fieldName": "placement"
            },
            {
              "name": "activation",
              "type": {
                "text": "'auto' | 'manual'"
              },
              "default": "'auto'",
              "description": "When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\nmanual, the tab will receive focus but will not show until the user presses spacebar or enter.",
              "fieldName": "activation"
            },
            {
              "name": "no-scroll-controls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the scroll arrows that appear when tabs overflow.",
              "fieldName": "noScrollControls"
            },
            {
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tab group as a contained element.",
              "fieldName": "contained"
            },
            {
              "name": "sharp",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tab group with edges instead of roundings. Takes only effect if used with the 'contained' property",
              "fieldName": "sharp"
            },
            {
              "name": "fixed-scroll-controls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Prevent scroll buttons from being hidden when inactive.",
              "fieldName": "fixedScrollControls"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Tab groups organize content into a container that shows one section at a time.",
          "tagNameWithoutPrefix": "tab-group",
          "tagName": "syn-tab-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Tab groups organize content into a container that shows one section at a time.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tab-group--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<syn-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<syn-tab>` elements.\n *\n * @event {{ name: String }} syn-tab-show - Emitted when a tab is shown. The payload of the event returns the \"panel\" attribute of the shown tab.\n * @event {{ name: String }} syn-tab-hide - Emitted when a tab is hidden. The payload of the event returns the \"panel\" attribute of the hidden tab.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<syn-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --indicator-width - The width of the active tab indicator.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-tab-group--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon-button"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynTabGroup",
            "module": "components/tab-group/tab-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab-panel/tab-panel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynTabPanel",
          "cssProperties": [
            {
              "description": "The tab panel's padding.",
              "name": "--padding"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The tab panel's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "attrId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true,
              "default": "++id"
            },
            {
              "kind": "field",
              "name": "componentId",
              "privacy": "private",
              "readonly": true,
              "default": "`syn-tab-panel-${this.attrId}`"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tab panel's name.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the tab panel will be shown.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleActiveChange"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tab panel's name.",
              "fieldName": "name"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the tab panel will be shown.",
              "fieldName": "active"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Tab panels are used inside [tab groups](/components/tab-group) to display tabbed content.",
          "tagNameWithoutPrefix": "tab-panel",
          "tagName": "syn-tab-panel",
          "customElement": true,
          "jsDoc": "/**\n * @summary Tab panels are used inside [tab groups](/components/tab-group) to display tabbed content.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tab-panel--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The tab panel's content.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --padding - The tab panel's padding.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-tab-panel--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynTabPanel",
            "module": "components/tab-panel/tab-panel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tag/tag.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynTag",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The tag's content.",
              "name": "content"
            },
            {
              "description": "The tag's remove button, an `<syn-icon-button>`.",
              "name": "remove-button"
            },
            {
              "description": "The remove button's exported `base` part.",
              "name": "remove-button__base"
            }
          ],
          "slots": [
            {
              "description": "The tag's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-icon-button': SynIconButton }"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The tag's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "removable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the tag removable and shows a remove button.",
              "attribute": "removable"
            },
            {
              "kind": "method",
              "name": "handleRemoveClick",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the remove button is activated.",
              "name": "syn-remove",
              "reactName": "onSynRemove",
              "eventName": "SynRemoveEvent"
            }
          ],
          "attributes": [
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The tag's size.",
              "fieldName": "size"
            },
            {
              "name": "removable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the tag removable and shows a remove button.",
              "fieldName": "removable"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Tags are used as labels to organize things or to indicate a selection.",
          "tagNameWithoutPrefix": "tag",
          "tagName": "syn-tag",
          "customElement": true,
          "jsDoc": "/**\n * @summary Tags are used as labels to organize things or to indicate a selection.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tag--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The tag's content.\n *\n * @event syn-remove - Emitted when the remove button is activated.\n *\n * @csspart base - The component's base wrapper.\n * @csspart content - The tag's content.\n * @csspart remove-button - The tag's remove button, an `<syn-icon-button>`.\n * @csspart remove-button__base - The remove button's exported `base` part.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-tag--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-icon-button"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynTag",
            "module": "components/tag/tag.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tag-group/tag-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynTagGroup",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The tag group's label.",
              "name": "tag-label"
            }
          ],
          "slots": [
            {
              "description": "The tag group's main content. Must be `<syn-tag />` elements.",
              "name": ""
            },
            {
              "description": "The tag group's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "tagsInDefaultSlot",
              "type": {
                "text": "SynTag[]"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tag group's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelPosition",
              "type": {
                "text": "'top' | 'start'"
              },
              "default": "'top'",
              "description": "Controls the label position. Use 'top' to place the label above the tags, or 'start' to place it to the begin of the tag group.",
              "attribute": "label-position",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The size that should be applied to all slotted `<syn-tag>` elements",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "adjustTagSize",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSizeChange"
            },
            {
              "kind": "method",
              "name": "handleSlotChange"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tag group's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "label-position",
              "type": {
                "text": "'top' | 'start'"
              },
              "default": "'top'",
              "description": "Controls the label position. Use 'top' to place the label above the tags, or 'start' to place it to the begin of the tag group.",
              "fieldName": "labelPosition"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The size that should be applied to all slotted `<syn-tag>` elements",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "A tag group is used to display multiple tags that belong together, often representing selected filters, categories, or user‑generated labels.\nIt arranges tags in flexible rows and supports different sizes and layouts.\nTags can be removable, icon‑based, or purely textual.",
          "tagNameWithoutPrefix": "tag-group",
          "tagName": "syn-tag-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary A tag group is used to display multiple tags that belong together, often representing selected filters, categories, or user‑generated labels.\n * It arranges tags in flexible rows and supports different sizes and layouts.\n * Tags can be removable, icon‑based, or purely textual.\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tag-group--docs\n * @status stable\n *\n * @slot - The tag group's main content. Must be `<syn-tag />` elements.\n * @slot label - The tag group's label. Alternatively, you can use the `label` attribute.\n *\n * @csspart base - The component's base wrapper.\n * @csspart tag-label - The tag group's label.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-tag-group--docs",
          "status": "stable"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynTagGroup",
            "module": "components/tag-group/tag-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/textarea/textarea.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynTextarea",
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and help text.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The input's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The internal `<textarea>` control.",
              "name": "textarea"
            }
          ],
          "slots": [
            {
              "description": "The textarea's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['syn-blur', 'syn-input'] })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label')"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLTextAreaElement"
              }
            },
            {
              "kind": "field",
              "name": "sizeAdjuster",
              "type": {
                "text": "HTMLTextAreaElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the textarea, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current value of the textarea, submitted as a name/value pair with form data.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The textarea's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "rows",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The number of rows to display by default.",
              "attribute": "rows"
            },
            {
              "kind": "field",
              "name": "resize",
              "type": {
                "text": "'none' | 'vertical' | 'auto'"
              },
              "default": "'vertical'",
              "description": "Controls how the textarea can be resized.",
              "attribute": "resize"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the textarea.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "attribute": "minlength"
            },
            {
              "kind": "field",
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "attribute": "autocapitalize"
            },
            {
              "kind": "field",
              "name": "autocorrect",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "attribute": "autocorrect",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "attribute": "autocomplete"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "attribute": "enterkeyhint"
            },
            {
              "kind": "field",
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the textarea.",
              "attribute": "spellcheck"
            },
            {
              "kind": "field",
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "attribute": "inputmode"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The default value of the form control. Primarily used for resetting the form control."
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setTextareaHeight",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleRowsChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the textarea."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the textarea."
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects all the text in the textarea."
            },
            {
              "kind": "method",
              "name": "scrollPosition",
              "return": {
                "type": {
                  "text": "{ top: number; left: number } | undefined"
                }
              },
              "parameters": [
                {
                  "name": "position",
                  "optional": true,
                  "type": {
                    "text": "{ top?: number; left?: number }"
                  }
                }
              ],
              "description": "Gets or sets the textarea's scroll position."
            },
            {
              "kind": "method",
              "name": "setSelectionRange",
              "parameters": [
                {
                  "name": "selectionStart",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionEnd",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionDirection",
                  "default": "'none'",
                  "type": {
                    "text": "'forward' | 'backward' | 'none'"
                  }
                }
              ],
              "description": "Sets the start and end positions of the text selection (0-based)."
            },
            {
              "kind": "method",
              "name": "setRangeText",
              "parameters": [
                {
                  "name": "replacement",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "start",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "end",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectMode",
                  "default": "'preserve'",
                  "type": {
                    "text": "'select' | 'start' | 'end' | 'preserve'"
                  }
                }
              ],
              "description": "Replaces a range of text with a new string."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "description": "Gets the associated form, if one exists."
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "syn-blur",
              "reactName": "onSynBlur",
              "eventName": "SynBlurEvent"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "syn-change",
              "reactName": "onSynChange",
              "eventName": "SynChangeEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "syn-focus",
              "reactName": "onSynFocus",
              "eventName": "SynFocusEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "syn-input",
              "reactName": "onSynInput",
              "eventName": "SynInputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "syn-invalid",
              "reactName": "onSynInvalid",
              "eventName": "SynInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the textarea, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current value of the textarea, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The textarea's size.",
              "fieldName": "size"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "rows",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The number of rows to display by default.",
              "fieldName": "rows"
            },
            {
              "name": "resize",
              "type": {
                "text": "'none' | 'vertical' | 'auto'"
              },
              "default": "'vertical'",
              "description": "Controls how the textarea can be resized.",
              "fieldName": "resize"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the textarea.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea a required field.",
              "fieldName": "required"
            },
            {
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "fieldName": "minlength"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "fieldName": "maxlength"
            },
            {
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "fieldName": "autocapitalize"
            },
            {
              "name": "autocorrect",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "fieldName": "autocorrect"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "fieldName": "autocomplete"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "fieldName": "enterkeyhint"
            },
            {
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the textarea.",
              "fieldName": "spellcheck"
            },
            {
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "fieldName": "inputmode"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Textareas collect data from the user and allow multiple lines of text.",
          "tagNameWithoutPrefix": "textarea",
          "tagName": "syn-textarea",
          "customElement": true,
          "jsDoc": "/**\n * @summary Textareas collect data from the user and allow multiple lines of text.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-textarea--docs\n * @status stable\n * @since 2.0\n *\n * @slot label - The textarea's label. Alternatively, you can use the `label` attribute.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart textarea - The internal `<textarea>` control.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-textarea--docs",
          "status": "stable",
          "since": "2.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynTextarea",
            "module": "components/textarea/textarea.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tooltip/tooltip.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynTooltip",
          "cssProperties": [
            {
              "description": "The maximum width of the tooltip before its content will wrap.",
              "name": "--max-width"
            },
            {
              "description": "The amount of time to wait before hiding the tooltip when hovering.",
              "name": "--hide-delay"
            },
            {
              "description": "The amount of time to wait before showing the tooltip when hovering.",
              "name": "--show-delay"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper, an `<syn-popup>` element.",
              "name": "base"
            },
            {
              "description": "The popup's exported `popup` part. Use this to target the tooltip's popup container.",
              "name": "base__popup"
            },
            {
              "description": "The popup's exported `arrow` part. Use this to target the tooltip's arrow.",
              "name": "base__arrow"
            },
            {
              "description": "The tooltip's body where its content is rendered.",
              "name": "body"
            }
          ],
          "slots": [
            {
              "description": "The tooltip's target element. Avoid slotting in more than one element, as subsequent ones will be ignored.",
              "name": ""
            },
            {
              "description": "The content to render in the tooltip. Alternatively, you can use the `content` attribute.",
              "name": "content"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-popup': SynPopup }"
            },
            {
              "kind": "field",
              "name": "hoverTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "closeWatcher",
              "type": {
                "text": "CloseWatcher | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "SynPopup"
              }
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "Element | string | VirtualElement | undefined"
              },
              "privacy": "private",
              "default": "undefined",
              "description": "The element the tooltip will be anchored to. If the anchor lives outside of the tooltip, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the tooltip, use the\n`anchor` slot instead."
            },
            {
              "kind": "field",
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tooltip's content. If you need to display HTML, use the `content` slot instead.",
              "attribute": "content"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tooltip so it won't show when triggered.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "13",
              "description": "The distance in pixels from which to offset the tooltip away from its target.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the tooltip along its target.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "description": "Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.",
              "attribute": "trigger"
            },
            {
              "kind": "field",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseOver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseOut",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hasTrigger",
              "privacy": "private",
              "parameters": [
                {
                  "name": "triggerType",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "handleOptionsChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the tooltip."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the tooltip"
            }
          ],
          "events": [
            {
              "description": "Emitted when the tooltip begins to show.",
              "name": "syn-show",
              "reactName": "onSynShow",
              "eventName": "SynShowEvent"
            },
            {
              "description": "Emitted after the tooltip has shown and all animations are complete.",
              "name": "syn-after-show",
              "reactName": "onSynAfterShow",
              "eventName": "SynAfterShowEvent"
            },
            {
              "description": "Emitted when the tooltip begins to hide.",
              "name": "syn-hide",
              "reactName": "onSynHide",
              "eventName": "SynHideEvent"
            },
            {
              "description": "Emitted after the tooltip has hidden and all animations are complete.",
              "name": "syn-after-hide",
              "reactName": "onSynAfterHide",
              "eventName": "SynAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tooltip's content. If you need to display HTML, use the `content` slot instead.",
              "fieldName": "content"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tooltip so it won't show when triggered.",
              "fieldName": "disabled"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "13",
              "description": "The distance in pixels from which to offset the tooltip away from its target.",
              "fieldName": "distance"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.",
              "fieldName": "open"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the tooltip along its target.",
              "fieldName": "skidding"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "description": "Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.",
              "fieldName": "trigger"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Tooltips display additional information based on a specific action.",
          "tagNameWithoutPrefix": "tooltip",
          "tagName": "syn-tooltip",
          "customElement": true,
          "jsDoc": "/**\n * @summary Tooltips display additional information based on a specific action.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tooltip--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-popup\n *\n * @slot - The tooltip's target element. Avoid slotting in more than one element, as subsequent ones will be ignored.\n * @slot content - The content to render in the tooltip. Alternatively, you can use the `content` attribute.\n *\n * @event syn-show - Emitted when the tooltip begins to show.\n * @event syn-after-show - Emitted after the tooltip has shown and all animations are complete.\n * @event syn-hide - Emitted when the tooltip begins to hide.\n * @event syn-after-hide - Emitted after the tooltip has hidden and all animations are complete.\n *\n * @csspart base - The component's base wrapper, an `<syn-popup>` element.\n * @csspart base__popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n * @csspart base__arrow - The popup's exported `arrow` part. Use this to target the tooltip's arrow.\n * @csspart body - The tooltip's body where its content is rendered.\n *\n * @cssproperty --max-width - The maximum width of the tooltip before its content will wrap.\n * @cssproperty --hide-delay - The amount of time to wait before hiding the tooltip when hovering.\n * @cssproperty --show-delay - The amount of time to wait before showing the tooltip when hovering.\n *\n * @animation tooltip.show - The animation to use when showing the tooltip.\n * @animation tooltip.hide - The animation to use when hiding the tooltip.\n */",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-tooltip--docs",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "syn-popup"
          ],
          "animations": [
            {
              "name": "tooltip.show",
              "description": "The animation to use when showing the tooltip."
            },
            {
              "name": "tooltip.hide",
              "description": "The animation to use when hiding the tooltip."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynTooltip",
            "module": "components/tooltip/tooltip.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/validate/validate.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SynValidate",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the form field.",
              "name": "input-wrapper"
            },
            {
              "description": "The syn-alert that is shown when the variant is set to \"inline\".",
              "name": "alert"
            },
            {
              "description": "The container that wraps the alert.",
              "name": "alert__base"
            },
            {
              "description": "The container that wraps the alert message.",
              "name": "alert__message"
            },
            {
              "description": "The container that wraps the alert icon.",
              "name": "alert__icon"
            },
            {
              "description": "The syn-tooltip that is shown when the variant is set to \"tooltip\".",
              "name": "tooltip"
            },
            {
              "description": "The container that wraps the tooltip.",
              "name": "tooltip__base"
            },
            {
              "description": "The container that wraps the tooltip popup.",
              "name": "tooltip__popup"
            },
            {
              "description": "The container that wraps the tooltip arrow.",
              "name": "tooltip__arrow"
            },
            {
              "description": "The container that wraps the tooltip body.",
              "name": "tooltip__body"
            }
          ],
          "slots": [
            {
              "description": "The form field that should be validated. Avoid slotting in more than one element, as subsequent ones will be ignored.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'syn-alert': SynAlert, 'syn-tooltip': SynTooltip, }"
            },
            {
              "kind": "field",
              "name": "controller",
              "default": "new AbortController()"
            },
            {
              "kind": "field",
              "name": "observer",
              "type": {
                "text": "MutationObserver"
              }
            },
            {
              "kind": "field",
              "name": "sizeObserver",
              "type": {
                "text": "MutationObserver"
              }
            },
            {
              "kind": "field",
              "name": "slottedChildren",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "tooltipElement",
              "type": {
                "text": "SynTooltip | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "eagerFirstMount",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "field",
              "name": "isInternalTriggeredInvalid",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isValid",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "field",
              "name": "alertSize",
              "type": {
                "text": "SynInput['size'] | undefined"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'native' | 'tooltip' | 'inline'"
              },
              "default": "'native'",
              "description": "The variant that should be used to show validation alerts.\n\nThe following variants are supported:\n- **native** (default): Uses the native browser validation, usually a browser tooltip.\n- **tooltip**: Show the validation message as a tooltip using a `<syn-tooltip>`.\n- **inline**: Show the validation message underneath the element, using a `<syn-alert>`",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hideIcon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Do not show the error icon when using the inline variant validation",
              "attribute": "hide-icon",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "on",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Defines the events that trigger the validation.\n`invalid` will always automatically be included.\nYou may also use the `live` keyword to validate on every input change.\n`live` will make sure to listen to the `invalid`, `input` and `blur` events.\n\nPlease have a look at the [documentation for native form validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation)\nand [the use of form invalid events](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event) for further information.",
              "attribute": "on",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "customValidationMessage",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Custom validation message to be displayed when the input is invalid.\nWill override the default browser validation message.\nSet to an empty string to reset the validation message.",
              "attribute": "custom-validation-message"
            },
            {
              "kind": "field",
              "name": "eager",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set this to true to validate the input immediately when it is rendered.\nBest used with a `variant` of `inline`.\nWhen setting eager, the input will not be focused automatically.\n\nWhen using a `variant` of `native` the browser will focus\nthe last eager field as it is using a tooltip.\nIn this case it is better to just provide one eager field.",
              "attribute": "eager"
            },
            {
              "kind": "method",
              "name": "handleListenerChange"
            },
            {
              "kind": "method",
              "name": "handleEagerChange"
            },
            {
              "kind": "method",
              "name": "handleCustomValidationMessageChange"
            },
            {
              "kind": "method",
              "name": "getValidity",
              "description": "Returns the validity state of the input component.\n`true` for valid and `false` for invalid."
            },
            {
              "kind": "method",
              "name": "getInput",
              "privacy": "private",
              "description": "Get the input element to validate. Defined as the first slotted element",
              "return": {
                "type": {
                  "text": ""
                }
              }
            },
            {
              "kind": "method",
              "name": "setAlertSize",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getUsedEventNames",
              "privacy": "private",
              "description": "Get the event names to listen for.\nIf the input is a synergy element, will use syn- prefixes.",
              "return": {
                "type": {
                  "text": ""
                }
              }
            },
            {
              "kind": "method",
              "name": "updateEvents",
              "privacy": "private",
              "description": "Update the events on the input element."
            },
            {
              "kind": "method",
              "name": "getDisplayValidationMessage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "#851: Get the validation message that should be displayed to the user.\nPrioritizes customValidationMessage over the internal validationMessage state.\nThis is needed because frameworks may clear the internal validation message on\ndynamically rendered elements, but the customValidationMessage is still valid."
            },
            {
              "kind": "method",
              "name": "setValidationMessage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "HTMLInputElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setCustomValidationMessage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "HTMLInputElement"
                  }
                }
              ],
              "description": "Set the custom validation message to the input. This will make sure to either:\n- use the custom message if one is set or\n- use the default message if the custom message is empty"
            },
            {
              "kind": "field",
              "name": "internalRevalidate",
              "privacy": "private",
              "description": "Set the validation message from the input element",
              "parameters": [
                {
                  "description": "The event that was received",
                  "name": "e"
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleInputFocus",
              "privacy": "private",
              "description": "Handle focus/blur events for tooltip variant"
            },
            {
              "kind": "field",
              "name": "handleInputBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "HTMLInputElement"
                  }
                }
              ],
              "description": "Handle the blur event during validation"
            },
            {
              "kind": "field",
              "name": "validate",
              "privacy": "private",
              "description": "Triggers a validation run, showing the validation message if needed."
            },
            {
              "kind": "method",
              "name": "renderInlineValidation",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'native' | 'tooltip' | 'inline'"
              },
              "default": "'native'",
              "description": "The variant that should be used to show validation alerts.\n\nThe following variants are supported:\n- **native** (default): Uses the native browser validation, usually a browser tooltip.\n- **tooltip**: Show the validation message as a tooltip using a `<syn-tooltip>`.\n- **inline**: Show the validation message underneath the element, using a `<syn-alert>`",
              "fieldName": "variant"
            },
            {
              "name": "hide-icon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Do not show the error icon when using the inline variant validation",
              "fieldName": "hideIcon"
            },
            {
              "name": "on",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Defines the events that trigger the validation.\n`invalid` will always automatically be included.\nYou may also use the `live` keyword to validate on every input change.\n`live` will make sure to listen to the `invalid`, `input` and `blur` events.\n\nPlease have a look at the [documentation for native form validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation)\nand [the use of form invalid events](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event) for further information.",
              "fieldName": "on"
            },
            {
              "name": "custom-validation-message",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Custom validation message to be displayed when the input is invalid.\nWill override the default browser validation message.\nSet to an empty string to reset the validation message.",
              "fieldName": "customValidationMessage"
            },
            {
              "name": "eager",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set this to true to validate the input immediately when it is rendered.\nBest used with a `variant` of `inline`.\nWhen setting eager, the input will not be focused automatically.\n\nWhen using a `variant` of `native` the browser will focus\nthe last eager field as it is using a tooltip.\nIn this case it is better to just provide one eager field.",
              "fieldName": "eager"
            }
          ],
          "superclass": {
            "name": "SynergyElement",
            "module": "/src/internal/synergy-element.js"
          },
          "summary": "Validate provides form field validation messages in a unified way.\nIt does this by using [the native browser validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation)\nand showing the validation message in a consistent, user defined way.",
          "tagNameWithoutPrefix": "validate",
          "tagName": "syn-validate",
          "customElement": true,
          "jsDoc": "/**\n * @summary Validate provides form field validation messages in a unified way.\n * It does this by using [the native browser validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation)\n * and showing the validation message in a consistent, user defined way.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-validate--docs\n * @dependency syn-alert\n * @dependency syn-tooltip\n *\n * @slot - The form field that should be validated.\n * Avoid slotting in more than one element, as subsequent ones will be ignored.\n *\n * @csspart base - The component's base wrapper.\n * @csspart input-wrapper - The container that wraps the form field.\n *\n * @csspart alert - The syn-alert that is shown when the variant is set to \"inline\".\n * @csspart alert__base - The container that wraps the alert.\n * @csspart alert__message - The container that wraps the alert message.\n * @csspart alert__icon - The container that wraps the alert icon.\n *\n * @csspart tooltip - The syn-tooltip that is shown when the variant is set to \"tooltip\".\n * @csspart tooltip__base - The container that wraps the tooltip.\n * @csspart tooltip__popup - The container that wraps the tooltip popup.\n * @csspart tooltip__arrow - The container that wraps the tooltip arrow.\n * @csspart tooltip__body - The container that wraps the tooltip body.\n*/",
          "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-validate--docs",
          "dependencies": [
            "syn-alert",
            "syn-tooltip"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "SynValidate",
            "module": "components/validate/validate.js"
          }
        }
      ]
    }
  ],
  "package": {
    "name": "@synergy-design-system/components",
    "description": "",
    "version": "3.11.0",
    "author": {
      "name": "SICK Global UX Foundation",
      "url": "https://www.sick.com"
    },
    "homepage": "https://synergy-design-system.github.io",
    "license": "MIT"
  }
}
